$HEADLESS SYSTEMS
$ cat /blog/cloudflare-web-search-api-agents

Cloudflare's web search API, and which search provider an agent can actually operate

Petr Pátek··9 min·systems
Cloudflare's web search API, and which search provider an agent can actually operate

Of the four web search APIs The Headless Index scores, two are measured on complete evidence, Brave Search at 62 of 100 and Linkup at 56, and neither lets an agent obtain the key it needs to start. The other two, Tavily and Exa, carry grades of F that say more about how their records were collected than about what their APIs offer. That matters this month because Cloudflare now documents a web search tool for agents (Cloudflare’s agents documentation), served by search providers it does not build. The Web Search API is in open beta since its launch on 2 October 2026, and it runs through AI Gateway, so every search gets the gateway’s logging, analytics, billing and access controls. A gateway changes who holds the provider key. It does not change what the provider behind it exposes to a machine, and that is what this comparison measures.

What a gateway changes, and what it leaves with the provider

Cloudflare’s web search API puts more than one search provider behind its gateway. It launched with three, Ceramic.ai, Exa and Linkup, and a caller picks one with a single provider parameter; without one, the request goes to Ceramic.ai (Cloudflare’s providers page). Paid with AI Gateway credits, each search is billed at the provider’s list price with no markup: $0.25 per 1,000 requests for Ceramic.ai, $5.00 for Linkup and $7.00 for Exa, as Cloudflare listed them on 13 October 2026.

The part a gateway can fix is the account. Brave Search issues keys and sells plans only in the browser, and offers no key provisioning API. The Index’s Brave scorecard puts it in one line: “An agent can query Brave all day, and cannot obtain the credential it needs to start.” Linkup is the same shape: credit top-ups and key creation live in its console with no programmatic equivalent, according to its scorecard. A gateway that holds the provider accounts itself moves that step to one place. Cloudflare offers both routes: pay for searches with AI Gateway credits, or bring your own provider key, in which case the provider bills you directly under your own agreement with it.

The part a gateway cannot fix is the contract. An agent behind a gateway still sends a query and parses what comes back, and Brave’s response objects, Linkup’s two endpoints and Tavily’s seven operations stay each provider’s design. So the useful question for a builder is not which gateway, but which provider a machine can read, call and reason about without a person in the loop.

Brave and Linkup: the two complete records

Brave Search and Linkup are the only two of the four that the Index scored on all five criteria, each out of 20, in an editorial review dated 2026-08-19. In the Search & Vector DBs category, 20 of 28 vendors are complete and their median is 63, so both sit below the middle.

Criterion, of 20Brave SearchLinkup
API-first1616
Headless operation1212
MCP posture2016
Schema and observability108
Webhooks and events44
Headless Index score62, band B56, band C

Both APIs are small. Brave exposes web and news search, among other endpoints, under api.search.brave.com, behind a single X-Subscription-Token header. Linkup exposes two, /v1/search and /v1/fetch, behind a bearer key at api.linkup.so. Neither serves a machine-readable spec: Brave answers an unauthenticated probe with 422, and docs.linkup.so/openapi.json returns 404. That leaves both without a JAIRF score, the Index’s separate grade of an OpenAPI file, and a vendor without one is capped at band B whatever its other numbers say.

MCP posture is where they separate. Brave’s server, brave/brave-search-mcp-server, is owned by Brave, had 1,496 stars on 2026-10-13 and was pushed that day. Linkup publishes three MCP servers in its own organisation with no canonical one; the most visible, LinkupPlatform/linkup-mcp-server, had 29 stars. For an agent that already speaks MCP, Brave is the shorter path in.

Both score 4 on webhooks and events, and for a synchronous search API that is close to expected. It bites in one place: Linkup’s deep search mode holds the HTTP connection open instead of calling back, so an agent running a long query waits on a socket.

Tavily: the only machine-readable contract, graded F

Tavily is the one provider of the four with an OpenAPI file in the Index, and the Index grades it F. Both facts sit in the same scorecard.

The file, served at tavily.com/.well-known/openapi.json and scored on 2026-08-20, earns a JAIRF score of 84.4, level “AI-Ready”. It declares seven operations on api.tavily.com, all behind one bearer key:

POST /search
POST /extract
POST /crawl
POST /map
POST /research
GET  /research/{request_id}
GET  /usage

The last one matters for an agent that pays its own way. GET /usage returns “API key and account usage details”, so an agent can check its own consumption by API instead of asking a person to read a dashboard. It cannot create a key: no operation in the file does.

The thesis-fit side tells another story. Tavily scores 25 of 100 on 20 points of 80 scored: API-first 5, headless operation 5, MCP posture 0, schema and observability 10, and webhooks Unknown. Those five numbers come from editorial overrides dated 2026-05-20, and the MCP one contradicts its own rationale, which reads “Tavily publishes an MCP server.” It does: tavily-ai/tavily-mcp, in Tavily’s organisation, had 2,429 stars on 2026-10-13, more than Brave’s server, which scores 20.

A score of 5 for API-first on the only vendor in this group whose contract a machine can fetch is not a measurement of the API. The overrides are dated 2026-05-20 and the JAIRF score 2026-08-20, and nothing in the record shows the overrides were revisited after the file was scored, so the grade is best read as out of date until they are.

Exa: unmeasured, not failed

Exa scores 13 of 100, band F, on 5 points of 40 scored (scorecard). Three of its five criteria, API-first, headless operation and webhooks, are Unknown, so the 13 is 5 divided by 40, scaled to 100 and rounded. It is a figure about missing evidence.

Exa’s MCP record contradicts itself. Its rationale says Exa publishes an official MCP server, its collector signal reports none in Exa’s GitHub organisation or the official MCP registry, and the scorer gave it 0. The server exists: exa-labs/exa-mcp-server sits in the exa-labs organisation, whose verified GitHub profile links exa.ai, and it had 5,120 stars on 2026-10-13, the most of the four. The Index repository does not hold the raw collector file the score names, from 2026-05-21, so nobody can trace the miss past the scorecard’s own signals.

This is the same weakness our agent-ready APIs measurement found across the whole Index, where MCP posture is the weakest of five criteria on complete records, at a mean of 9.8 of 20. For Exa and Tavily the zero MCP scores are recording faults, and both vendors ship the server an agent would use.

The four side by side

The table states what an agent can do at each provider, from the scorecards and the stored spec, with each cell sourced above.

An agent canBrave SearchLinkupTavilyExa
Send a query with one keyyesyesyesnot scored
Fetch a machine-readable contractnonoyes, JAIRF 84.4no
Read its own usage by APIquota headers onlynot documented in the Indexyes, GET /usagenot scored
Obtain or top up its keyno, browser onlyno, console onlyno operation declarednot scored
Connect through a vendor MCP serveryesyes, three serversyes, scored 0yes, scored 0
Index score62, B56, C25, F13, F

Read it by row, not by the last line. On what a machine can verify before it calls, Tavily leads the group, and on what the Index has fully measured, Brave and Linkup are the only two with a complete total.

A direct provider beats the gateway when the agent needs the provider’s own surface: Tavily’s crawl, map and research operations, or Linkup’s fetch endpoint, which a common search interface may not carry. Cloudflare documents no provider-specific options: Exa requests run in Exa’s auto search type, Linkup requests at its fast depth with raw results, and provider is the one choice the caller makes (providers page, 13 October 2026). The gateway wins when the hard part is the account, because Brave, Linkup and Tavily all leave key creation to a person, and Exa’s account model is not recorded.

What this comparison does not show

The Index does not measure result quality, freshness, latency or price, so nothing here ranks the answers these APIs return. Ceramic.ai is not in the Index at all, and the only Cloudflare product it scores is R2, so the gateway itself is unscored. Tavily’s and Exa’s thesis-fit records come from May collection with editorial overrides, while Brave and Linkup were reviewed in August; the two pairs are not measured to the same standard, and their totals should not be compared directly. GitHub stars count attention, not the quality of an MCP server’s tools.

What changes for a builder choosing search for agents

Pick the provider on its contract and its account model, and treat the gateway as billing and routing. A gateway can hide several provider signups behind one, and that removes a real obstacle, because no provider with a recorded account model lets an agent obtain its own key. It cannot give Brave or Linkup a spec, and it cannot make Exa’s record complete.

For a builder who wants an agent to discover the API from cold, Tavily’s OpenAPI file is the only one of the four a machine can read, whatever its grade says. For a builder who wants the most completely measured option, Brave Search leads Linkup on MCP posture and schema and ties it on the other three criteria. As our comparison of browser agents and APIs argued, the contract is what an agent integrates against, and a grade is worth reading only where the Index measured that contract.