Skip to the page

Exa Lite search API

The same call at $1 per 1,000, pages read live.

Exa released lite on October 19, 2026 as its low-cost search type: $4 per 1,000 requests with up to 10 results, plus $1 per 1,000 results above 10. It serves page text only from Exa's cache and never fetches a page live.

SpecStream answers the same call. Change https://api.exa.ai to https://api.specstream.ai/exa and send a SpecStream key in x-api-key. Keep type: "lite" in the body: the search costs $1 per 1,000, and each page is read when your call arrives.

It is the most accurate web search API in the world: 97.9 F-score on all 1,000 SimpleQA Verified questions (978 correct) and 64.0 item F1 on all 200 WideSearch tasks, on the benchmarks page.

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

SpecStream and Exa Lite side by side

SpecStreamExa Lite
What you changeOne line. The base address https://api.specstream.ai/exa in place of https://api.exa.ai, and a SpecStream key in x-api-key or as a Bearer token. In exa-py: Exa(api_key=..., base_url="https://api.specstream.ai/exa")POST /search with type: "lite", and an Exa key in x-api-key or as a Bearer token
Price per 1,000 searches$1 for up to 10 results on lite, auto, fast and instant, and $5 on a deep type. numResults: 100 costs $0.0118 a call$4 for up to 10 results, plus $1 per 1,000 results above 10. auto costs $7
Page textRead from the live page when your call arrives. Send contents.text and each result carries the text of its page closest to the query, up to about 3,500 characters, in the price of the searchFrom Exa's cache only: lite never fetches a page live. When you ask for text or highlights, results with no cached copy are left out of the response
The requestquery, numResults (1 to 100), includeDomains, excludeDomains, includeText, excludeText, startPublishedDate, endPublishedDate, contents.text and contents.highlights work as on Exa. type, category and userLocation are accepted, so the body needs no editA smaller set than auto. outputSchema, systemPrompt, stream, contents.summary, contents.subpages, contents.maxAgeHours, contents.livecrawl, includeText and excludeText return 400 INVALID_REQUEST_BODY
The replyExa's JSON: requestId, results[] with id, url, title, publishedDate, and text and highlights when asked, searchTime and costDollars.totalThe same shape as Exa's other search types
RateNo limit per key and no daily limit. A busy call gets a 429 with Retry-After and is not charged10 queries a second on a default account
Free to start$10 of credit, no card. That is 10,000 searches, and credit you buy never expires$10 in credits, up to 2,500 Lite searches, reset on the first of every month
Whole pagesThe Extract API reads whole pages, PDF, Word and Excel files at $0.80 per 1,000 pages, and POST /exa/contents answers Exa's Contents call. A page with no text is not chargedContents costs $1 per 1,000 pages per content type
Every match as structured rowsDeep Search: a request in plain words returns every match on the live web as rows that meet each condition you wrote, at 5¢, 15¢ or $1 a row, plus 5¢ for an email and 15¢ for a phone. The most a run can cost is quoted before it startsAgent: $0.012 a request at minimal effort up to $1.00 at xhigh

Why Lite users move to SpecStream

Other Exa Lite alternatives

How SpecStream scores

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

How to switch from Exa Lite

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/exa where your code has https://api.exa.ai, and send the SpecStream key in x-api-key or as a Bearer token. In exa-py it is the base_url argument.

from exa_py import Exa

exa = Exa(api_key=SPECSTREAM_KEY, base_url="https://api.specstream.ai/exa")  # was https://api.exa.ai

result = exa.search(
    "latest chip export rules",
    type="lite",
    num_results=5,
    start_published_date="2026-01-01T00:00:00.000Z",
    contents={"text": True},
)

for r in result.results:
    print(r.title, r.url, r.published_date)

3. Leave the rest. A call of up to 10 results is one search at $0.001, and costDollars.total shows what each call cost. The key carries the spending limit you give it.

The Exa migration guide lists every parameter the route reads and every field it returns.

Frequently asked questions

Something we didn't answer? Talk to a human

How much does Exa Lite cost?
$4 per 1,000 requests with up to 10 results, plus $1 per 1,000 results above 10, since October 19, 2026. auto costs $7, and Contents $1 per 1,000 pages per content type. The free tier gives $10 in credits, up to 2,500 Lite searches, reset on the first of every month.
What is the difference between Exa Lite and Exa auto?
Price and page freshness. lite costs $4 per 1,000 and serves page content only from Exa's cache; auto costs $7 and fetches a page when its cache has none. Lite also refuses outputSchema, contents.summary and the freshness controls with a 400. On SpecStream both types cost $1 per 1,000, and every page is read live.
Is Exa Lite the same as Exa fast?
Yes. Exa's changelog of October 19, 2026 says lite runs the same search as fast, and marks fast, instant and deep-reasoning as legacy at their current prices. SpecStream's Exa route answers all of these types, at $1 per 1,000 for every type except deep.
How fast is Exa Lite?
Exa puts lite at about 450 ms for the search itself with cached content. SpecStream's fast search, which answers the Exa route, had a median of 0.82 seconds at one search a second and 1.07 seconds at 20 a second, measured on production on November 9, 2026, with no limit per key.
How do I switch from Exa Lite to SpecStream?
Change one line. Set the base address to https://api.specstream.ai/exa in place of https://api.exa.ai, and send a SpecStream key in x-api-key or as a Bearer token. POST /exa/search answers in Exa's JSON, so the code that reads results[] stays as it is.
Which Exa parameters work on SpecStream?
numResults up to 100, query, includeDomains, excludeDomains, includeText, excludeText, startPublishedDate, endPublishedDate, contents.text and contents.highlights. type, category and userLocation are accepted, so a request your code sends today needs no edit. The reply leaves out score, summary, image and favicon.
Does SpecStream have an MCP server?
Yes, at https://api.specstream.ai/mcp over Streamable HTTP, with OAuth or an API key. The search_web tool runs a search, and the agent spends from the same balance as your team, inside the limits you set on its key.

Sources

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

  1. Exa pricingexa.ai/docs/admin/pricing.md, read Nov 12, 2026
  2. Exa search types and Liteexa.ai/docs/search/quickstart.md, read Nov 12, 2026
  3. Exa changelogexa.ai/docs/changelog.md, read Nov 12, 2026
  4. Exa billing and rate limitsexa.ai/docs/admin/billing.md, read Nov 12, 2026
  5. Parallel search modesdocs.parallel.ai/search/modes.md, read Nov 12, 2026
  6. Perplexity pricingdocs.perplexity.ai/docs/getting-started/pricing, read Nov 12, 2026
  7. Brave Search APIbrave.com/search/api/, read Nov 12, 2026
  8. Tavily credits and pricingdocs.tavily.com/documentation/api-credits.md, read Nov 12, 2026
  9. SpecStream benchmarksspecstream.ai/benchmarks, read Nov 12, 2026
  10. SpecStream pricingspecstream.ai/pricing, read Nov 12, 2026
  11. SpecStream for agentsspecstream.ai/agents.md, read Nov 12, 2026