Adding web search to an agent without a key to manage
FreeSerp is a free search API built for AI agents: no API key, no signup, no published rate plan. It runs 2 sources, its own 3.1-billion-page index and a 20-million-profile set with LLM-written summaries, reachable through a JSON REST API or an MCP connector.
An agent that needs to check something on the web usually means a credential to store and rotate before the actual feature works. FreeSerp removes that step: the endpoint you call while testing is the same one your deployed agent calls, with nothing to configure in between.
Related tools
On this page
2 sources, 2 different jobs
FreeSerp Global is the tool's own index of more than 3.1 billion web pages, built for a broad search over raw pages. FreeSerp Main covers over 20 million site profiles with summaries already written by an LLM, useful when your agent needs a quick description of a site rather than a page to parse itself.
What no key changes about your build
There is no registration step, no key rotation to schedule, and nothing secret to keep out of your repository for this particular call. That removes an entire category of setup work and of things that can silently expire in production, though it also means there is no dashboard usage log tied to a key if you need to audit calls later.
Wiring it into an agent
Use the JSON REST API directly for a custom integration, or the MCP connector if your framework already speaks MCP, in which case search becomes another tool the agent can call the same way it calls any other. Either path returns structured results you parse the normal way, snippet, source, and whatever fields the source type provides.
What it explicitly does not claim
FreeSerp does not scrape Google and does not claim to mirror Google's results in real time, it positions itself as a keyless alternative to the Google and Bing search APIs, built on its own index. It does not publish a freshness guarantee or a rate limit either, so plan your retry logic without assuming either is documented somewhere.
A build pattern worth using
Query, take the top few results, and pass only the snippet text your model actually needs, not the full response object, into the prompt. An agent given 3 relevant snippets reasons more reliably than one handed a raw JSON dump, and it costs fewer tokens per call, which matters once the agent is running many searches a day.
Choosing between the 2 sources in code
Query FreeSerp Main first when you need a fast, already-summarised description of a known site, and fall back to FreeSerp Global when the task needs a broader crawl across pages you cannot name in advance. Building that branch into your retrieval logic once saves reworking it later as the agent takes on more varied questions.