Cloudflare AI Gateway web search in 2026
Prices, limits, SpecStream.
Cloudflare's Web Search API, in beta since October 2, 2026, sends a query through your AI Gateway to Ceramic.ai at $0.25 per 1,000, Linkup at $5.00 or Exa at $7.00. A call returns 10 results at most, and gateway credits carry a 5% fee.
SpecStream is the live web data engine for teams and agents. Add it to the same gateway as a custom provider: $1 per 1,000 searches with speed=fast, up to 100 results a call, and page reading and structured rows on the same key.
New accounts get $10 of credit, no card. It covers 10,000 fast searches.
Web search through AI Gateway, provider by provider
| SpecStream | Ceramic.ai | Linkup | Exa | |
|---|---|---|---|---|
| Price per 1,000 searches | $1 with speed=fast, $5 on the default search, which also answers from the pages. Up to 10 results each | $0.25 per 1,000 requests at list price | $5.00 per 1,000 requests, fast search depth | $7.00 per 1,000 requests, auto search type |
| What you pay on top | Nothing. The gateway passes the call to SpecStream as a custom provider, and your SpecStream balance pays | List price with no markup. Credits bought through Unified Billing carry a 5% fee, or the provider bills your own key | List price with no markup. Credits bought through Unified Billing carry a 5% fee, or the provider bills your own key | List price with no markup. Credits bought through Unified Billing carry a 5% fee, or the provider bills your own key |
| 10,000 searches a day | $10 a day with speed=fast, $50 on the default search | $2.63 a day with the 5% credit fee | $52.50 a day with the 5% credit fee | $73.50 a day with the 5% credit fee |
| Results per call | 1 to 100, set with num, and page 1 to 10 continues the same ranked list | 1 to 10 | 1 to 10 | 1 to 10 |
| What comes back | Each source's url, title, site, snippet and published date. passages=true adds the text of each page closest to the question. The default search adds the answer with the page it was read from and its read time | URL and title, with a description of each page up to 8,000 characters | URL and title, with raw search results and no generated answer | URL and title, with Exa's highlights as the description |
| Data kept | Set per key: a zero_retention key keeps no request text and no answer after the reply, and an eu_egress_only key sends its searches out only from Madrid | Zero Data Retention: Yes | Zero Data Retention: Yes | Zero Data Retention: No |
| Reading the pages | Extract API on the same key: up to 20 pages, PDFs, Word and Excel files a call at $0.80 per 1,000 pages, and a page with no text is not charged | Search results only: a URL, a title and an optional description, image, favicon and last modified date | Search results only: a URL, a title and an optional description, image, favicon and last modified date | Search results only: a URL, a title and an optional description, image, favicon and last modified date |
| Structured rows | Deep Search: a request in plain words returns every match on the live web as structured rows, with a source URL and read time on every value, at 5¢, 15¢ or $1 a row | A list of results for each query | A list of results for each query | A list of results for each query |
Why teams on AI Gateway add SpecStream
SpecStream on the same gateway, in two steps
The /ai/websearch/ endpoint takes three providers: ceramic, exa and linkup. AI Gateway also takes any HTTPS API as a custom provider, with its logs, caching and rate limits. Add SpecStream once, under **Compute & AI** > **AI Gateway** > **Custom Providers** > **Add Custom Provider** in the dashboard, or by API:
curl -X POST "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/ai-gateway/custom-providers" \
-H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "SpecStream", "slug": "specstream", "base_url": "https://api.specstream.ai", "enable": true}'Then search through the gateway. Everything after custom-specstream/ is added to the base URL, so this call reaches https://api.specstream.ai/v1/web-search and shows in your gateway logs beside your model calls:
curl "https://gateway.ai.cloudflare.com/v1/$ACCOUNT_ID/$GATEWAY_ID/custom-specstream/v1/web-search" \
-H "Authorization: Bearer $SPECSTREAM_API_KEY" \
-H "cf-aig-authorization: Bearer $CF_AIG_TOKEN" \
-H "Content-Type: application/json" \
-d '{"q": "Cloudflare Workers changes in November 2026", "speed": "fast", "num": 10}'The reply is {"data": {...}} with the results in data.sources, and data.price_usd says what the call cost: $0.001 for up to 10 results on the fast search.
The most accurate web search API in the world
On SimpleQA Verified the SpecStream Search API scores 97.9 F-score on all 1,000 official questions, 978 of them correct. On WideSearch it scores 64.0 item F1 and 43.4 row F1 on all 200 official tasks. The Extract API scores 0.908 F1 on WCXB. Every score and its method is on the benchmarks page.
Up to 100 results, and the text of the pages
The gateway's providers stop at 10 results a call. SpecStream returns up to 100 for one search with num: 50 results are $0.0058 and 100 are $0.0118 with speed=fast. Add passages=true and each of the first sources carries an excerpt, the text of its page closest to the question, up to about 3,500 characters, so the model reads the page's own words.
Search, pages and rows on one key
An agent that searches reads pages next. On the same key the Extract API reads up to 20 pages or documents a call at $0.80 per 1,000 pages, and Deep Search turns a request in plain words into structured rows that meet every condition you wrote, with a source URL and read time on every value. The most a run can cost is quoted before it starts, and a saved request reruns hourly to yearly.
You decide what is kept, on each key
Create a key with zero_retention and a search made with it keeps no request text and no answer after the reply. The charge keeps the account, the key, the request ID, the price and the time. spend_cap_cents is the most the key can spend, and eu_egress_only sends its searches out only from our server in Madrid.
curl -X POST https://api.specstream.ai/v1/account/keys \
-H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
-d '{"name": "ai-gateway", "scopes": ["account:read", "finds:spend"], "spend_cap_cents": 50000, "zero_retention": true}'The web search providers in AI Gateway
SpecStream
The live web data engine for teams and agents, and the most accurate web search API in the world. $1 per 1,000 searches with speed=fast or $5 on the default search, up to 100 results a call, through AI Gateway as a custom provider, over the API or over MCP at https://api.specstream.ai/mcp. New accounts get $10 of credit, no card.
Ceramic.ai
The gateway's default provider, at $0.25 per 1,000 requests, from its own index of more than 40 billion pages, with a description of each page up to 8,000 characters. A call returns 10 results at most. SpecStream reads the live web at that second, returns up to 100 results and answers from the pages.
Linkup
$5.00 per 1,000 requests through the gateway, on fast search depth with raw results and no generated answer. SpecStream answers the same call at $1 per 1,000 with speed=fast, and Linkup code moves with one address: see Linkup alternatives.
Exa
$7.00 per 1,000 requests through the gateway, on Exa's auto search type, marked No for Zero Data Retention. SpecStream costs $1 per 1,000 with speed=fast, and a zero_retention key keeps no request text. See Exa alternatives.
How SpecStream scores
The same numbers as the benchmarks page, from the official tasks and scorers.
How to search with SpecStream from a Worker
1. Create a key under Agents & API in the workspace, with finds:spend and a spending limit. A new account gets $10 of credit, no card, which covers 10,000 fast searches.
2. Store it as a Worker secret (npx wrangler secret put SPECSTREAM_API_KEY) and call SpecStream where your Worker calls env.AI.websearch() today, for example inside the web_search tool your model calls:
const reply = await fetch("https://api.specstream.ai/v1/web-search", {
method: "POST",
headers: {
Authorization: `Bearer ${env.SPECSTREAM_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ q: toolCall.arguments.query, speed: "fast", num: 10 }),
});
const { data } = await reply.json();
const results = data.sources.map((s) => ({ url: s.url, title: s.title, description: s.snippet }));3. To keep the call in your gateway logs, send it to the gateway address of the custom provider above in place of https://api.specstream.ai. An agent built with the Cloudflare Agents SDK can also use SpecStream over MCP: see the Cloudflare Agents guide.
Frequently asked questions
Something we didn't answer? Talk to a human
How much does web search cost in Cloudflare AI Gateway?
speed=fast and $5 on the default search, through the gateway as a custom provider.Which search providers does Cloudflare's Web Search API support?
ceramic, the default), Exa (exa) and Linkup (linkup). Any other HTTPS API, SpecStream included, goes through AI Gateway as a custom provider, with the same logs.How many results does Cloudflare's Web Search API return?
page continues the same ranked list.Is Cloudflare's Web Search API generally available?
Can I bring my own search key to AI Gateway?
Does SpecStream work in a Cloudflare Worker?
fetch to https://api.specstream.ai/v1/web-search costs $0.001 for up to 10 results with speed=fast. Agents built with the Cloudflare Agents SDK can also use the MCP server at https://api.specstream.ai/mcp.Sources
SpecStream wrote this page. Each figure about Cloudflare and its providers comes from Cloudflare's own documentation.
- Cloudflare Web Search API, providers and pricingdevelopers.cloudflare.com/web-search/providers/, read Nov 12, 2026
- Cloudflare Web Search API, how to usedevelopers.cloudflare.com/web-search/how-to-use/, read Nov 12, 2026
- Cloudflare Web Search API, aboutdevelopers.cloudflare.com/web-search/about/, read Nov 12, 2026
- Cloudflare changelog, Web Search APIdevelopers.cloudflare.com/changelog/product/web-search/, read Nov 12, 2026
- AI Gateway, Unified Billingdevelopers.cloudflare.com/ai-gateway/features/unified-billing/, read Nov 12, 2026
- AI Gateway, custom providersdevelopers.cloudflare.com/ai-gateway/configuration/custom-providers/, read Nov 12, 2026




