v0.2.0 on the Go module proxy
Web search that answers to no one but you.
No API key. No SDK. No account. gosearch queries DuckDuckGo, Bing, Google and Yandex by parsing their public result pages directly — then reads the pages it finds and hands you the content as Markdown.
go get github.com/BugraAkdemir/gosearch
page, err := gosearch.Fetch(ctx, url,
gosearch.WithMarkdown())
# Kurulum
Paketi kurmak icin [Go 1.25+](https://go.dev) gerekir.
- Depoyu klonla
- Testleri çalıştır01 · status, honestly
We tell you which engines actually work — before you find out the hard way.
Search engines run anti-bot systems and most wrappers hide that. This is the real picture from live probes of this library.
last live probe: 2026-08-24 · reliability depends more on your network's IP reputation than on client behavior
02 · built for agents
From question to model context in two calls.
Search finds candidate sources across four engines. Fetch reads them and returns clean Markdown — structure intact, boilerplate gone. That is the entire retrieval layer.
STEP / 01
Search
Fallback chain crosses DuckDuckGo → Bing → Google → Yandex. Duplicates collapse; your domain policy applies.
STEP / 02
Fetch + Markdown
WithMarkdown() returns headings, lists, tables and code fences — not a flattened text soup.
STEP / 03
Context
Concatenate top pages and hand them to the model. Freshness stamps (WithDates()) let it prefer current sources.
results, _ := gosearch.Search(ctx, question, gosearch.DuckDuckGo,
gosearch.WithFallback(gosearch.Bing),
gosearch.WithMaxResults(5),
gosearch.WithDates(),
)
var ctx strings.Builder
for _, r := range results[:2] {
page, err := gosearch.Fetch(ctx2, r.URL,
gosearch.WithMarkdown(), // headings, lists, links preserved
)
if err != nil { continue }
fmt.Fprintf(&ctx, "# %s\n%s\n", page.Title, page.Content)
}
// ctx.String() -> model context03 · the other way
What you stop dealing with
Hosted search APIs solve reliability by putting a paywall between you and the engine. gosearch solves it with an honest fallback chain instead.
04 · what's in the box