Skip to the page

Keenable alternative

The same calls at $1 per 1,000 searches.

Keenable sells search over its own index at $4 per 1,000 requests after 100,000 free a month. The $1 rate is for dedicated capacity at 100 or more requests per second. A fetch costs the same credit as a search.

SpecStream answers Keenable's own /v1/search and /v1/fetch at https://api.specstream.ai/keenable, so the switch is the base address and the key. A search of up to 10 results costs $1 per 1,000 from the first call, and a page $0.80 per 1,000.

New accounts get $10 of credit, no card. It covers 10,000 searches.

SpecStream and Keenable side by side

SpecStreamKeenable
What you changeTwo values: the base address https://api.specstream.ai/keenable in place of https://api.keenable.ai, and a SpecStream key in X-API-Key or as a Bearer tokenPOST /v1/search and GET /v1/fetch on https://api.keenable.ai, with the key in X-API-Key or as a Bearer token
Price per 1,000 searches$1 for up to 10 results, from the first call. A call with Keenable's default of 10 results costs $0.001, and 50 results cost $0.0058$4 per 1,000 requests pay as you go, 1 to 50 results each. $1 per 1,000 on dedicated capacity at 100+ requests per second, about 8.6 million requests a day
Price per 1,000 pages read$0.80. GET /keenable/v1/fetch is one Extract API page, read from the site at the moment of the call. A page with no text is not chargedOne credit per fetch, the same as a search: $4 per 1,000 pay as you go
What answers the callThe whole live web, read at the moment of the call. 97.9 F-score on all 1,000 SimpleQA Verified questions (978 correct) and 64.0 item F1 on all 200 WideSearch tasksKeenable's own index. A fetch returns Keenable's indexed copy of a page, or a live read of the source with live=true
Free to start$10 of credit, no card. That is 10,000 searches of up to 10 results100,000 requests a month free. A card is needed to buy credits
The replyKeenable's JSON: query, mode and results[] with title, url, snippet and published_at. The code that reads results stays as it isRanked results with a title, a URL and a snippet for each page
Limits and retriesA busy call answers 429 with Retry-After in Keenable's own error form, and charges nothing. With an Idempotency-Key, a retried call is charged once10 requests per second per organization with a key. Without a key, 1,000 requests an hour and 10 a second per IP address
Keeping resultsZero retention is set per API key: a search made with such a key keeps no request text and no answer after the replyZero data retention comes with dedicated capacity
A full datasetDeep Search: structured rows, one record per company, place or filing, with facts from many sites joined. The most a run can cost is quoted before it starts, and only delivered rows are chargedOne request returns 1 to 50 results for one query
Where the data goesGoogle Sheets, Excel, Airtable, Notion, HubSpot, Salesforce, Pipedrive, Attio, Slack, Teams, Zapier, Make, n8n and signed webhooks, besides the API, SDKs and the MCP server at https://api.specstream.ai/mcpThe API response, the MCP server and the CLI

Why teams move from Keenable to SpecStream

Other Keenable alternatives

How SpecStream scores

The same numbers as the benchmarks page, from the official tasks and scorers.

How to switch from Keenable

1. Create a key under Agents & API in the workspace. A new account gets $10 of credit, no card, which covers 10,000 searches.

2. Set the base address to https://api.specstream.ai/keenable where your code has https://api.keenable.ai, in base_url or KEENABLE_API_URL, and send the SpecStream key in X-API-Key or as a Bearer token.

from keenable import Keenable

# was Keenable(), which calls https://api.keenable.ai
client = Keenable(
    api_key=SPECSTREAM_KEY,
    base_url="https://api.specstream.ai/keenable",
)

results = client.search("Which US banks failed in 2026", max_results=10)
print(results.to_context())

page = client.fetch("https://www.fdic.gov/bank-failures")

3. Keep your parameters. query, max_results (1 to 50), site, published_after, published_before and snippet_max_length work as on Keenable, and a fetch takes url and max_chars. mode is accepted, and every search reads the live web. To leave a site out, write -site:example.com in query. The keyless /public paths answer with your key too.

The Keenable route and every other API SpecStream answers in its own shape are on the migration guides page.

Frequently asked questions

Something we didn't answer? Talk to a human

How much does Keenable cost?
$4 per 1,000 requests pay as you go, after 100,000 free requests a month. Dedicated capacity costs $1 per 1,000 requests at 100 or more requests per second. A search and a fetch each cost one credit, and an agent with no account pays $0.01 a call in USDC over x402.
What is the best Keenable alternative?
SpecStream, at $1 per 1,000 searches of up to 10 results and $0.80 per 1,000 pages. It answers Keenable's own /v1/search and /v1/fetch at https://api.specstream.ai/keenable, reads the live web for each call, and scores 97.9 F-score on all 1,000 SimpleQA Verified questions. New accounts get $10 of credit, no card.
How do I move from Keenable to SpecStream?
Change two values. Set base_url (or KEENABLE_API_URL) to https://api.specstream.ai/keenable and send a SpecStream key in X-API-Key. The SDK keeps calling /v1/search and /v1/fetch, and the reply keeps Keenable's results[] with title, url and snippet.
What is Keenable?
A search API over its own web index, for AI agents. Keenable came out of stealth on August 25, 2026 with a $26 million seed round led by Accel, and an index of more than 100 billion documents.
How many results does one search return?
10 by default and up to 50 with max_results, on Keenable and on SpecStream's Keenable route. Keenable bills a search as one request at any count. SpecStream charges $0.001 for up to 10 results and $0.0058 for 50.
What does reading a page cost?
$0.80 per 1,000 pages on SpecStream: GET /keenable/v1/fetch is one Extract API page, and a page with no text is not charged. On Keenable a fetch costs one credit, the same as a search, so $4 per 1,000 pay as you go.
Does SpecStream have an API and an MCP server?
Yes. The Search API is GET https://api.specstream.ai/v1/web-search at $5 per 1,000 searches, or $1 with speed=fast, and the MCP server is at https://api.specstream.ai/mcp over Streamable HTTP, with OAuth or an API key. Your agent searches with search_web, reads pages with read_pages, and prices and runs a full dataset inside the limits you set on its key.

Sources

SpecStream wrote this page. Each rival figure comes from that company's own page.

  1. SpecStream pricingspecstream.ai/pricing, read Nov 12, 2026
  2. SpecStream for agentsspecstream.ai/agents.md, read Nov 12, 2026
  3. SpecStream benchmarksspecstream.ai/benchmarks, read Nov 12, 2026
  4. Keenable pricingkeenable.ai/pricing, read Nov 12, 2026
  5. Keenable creditsdocs.keenable.ai/credits.md, read Nov 12, 2026
  6. Keenable rate limitsdocs.keenable.ai/rate-limits.md, read Nov 12, 2026
  7. Keenable search referencedocs.keenable.ai/api-reference/search.md, read Nov 12, 2026
  8. Keenable SDKsdocs.keenable.ai/sdks.md, read Nov 12, 2026
  9. AI2Work, Keenable raises $26Mai2.work/blog/keenable-raises-26m-to-build-a-web-search-index-for-ai-agents, read Nov 12, 2026
  10. Brave Search APIbrave.com/search/api/, read Nov 12, 2026
  11. Exa pricingexa.ai/docs/admin/pricing.md, read Nov 12, 2026
  12. Tavily creditsdocs.tavily.com/documentation/api-credits.md, read Nov 12, 2026
  13. Parallel search modesdocs.parallel.ai/search/modes.md, read Nov 12, 2026