Exa Agent API
Every match as rows at 5¢ to $1, priced before the run.
Exa Agent, released June 16, 2026, is Exa's async research API. A run costs $0.012 to $1.00 at a fixed effort, or is metered at $0.10 per compute unit plus $0.005 a search, up to a $5 cap on auto and $20 on ultra.
SpecStream is the live web data engine for teams and agents. Deep Search takes the same job in plain words and returns every match as rows, at 5¢, 15¢ or $1 a row. The most the run can cost is approved before it starts.
Source URL and read time on every value. On the same key, the Search API is the most accurate web search API in the world: 97.9 F-score on all 1,000 SimpleQA Verified questions, on the benchmarks page.
New accounts get $10 of credit, no card. At 5¢ a row, that is up to 200 rows.
SpecStream and Exa Agent side by side
| SpecStream | Exa Agent | |
|---|---|---|
| What you send | The job in plain words. SpecStream reads it back as the conditions every row must meet and the columns to bring back, and you can change each one before it runs | A natural-language query, an effort mode, an outputSchema for structured output, and input.data to build on a dataset you have |
| What comes back | One row per match, with facts from many sites joined into one record. Source URL and read time on every value, and each condition shows the page that states it | output.text, output.structured (validated JSON when you send outputSchema), output.grounding citations when emitted, and costDollars |
| The unit you pay for | A delivered row: 5¢, 15¢ or $1 by how much the row needs, plus 5¢ for an email and 15¢ for a phone. Duplicates and rows a page contradicts are not charged, and a run that finds nothing costs nothing | A run: $0.012 at minimal, $0.025 at low, $0.10 at medium, $0.50 at high, $1.00 at xhigh. auto and ultra are metered: $0.10 per Agent Compute Unit, $0.005 a search, $0.02 an email, $0.07 a phone |
| The price before a run | The most the run can cost, quoted for that exact request and approved before it starts. A run never costs more, and what it does not use goes back to the balance | A set price per run on a fixed effort. auto stops at $5 and ultra at $20 by default. budget.maxCostDollars takes $1 to $100, and on a fixed effort it caps only contact enrichment |
| How long a run works | Until it reaches the count, up to four hours on the largest lists. The rows can be read as they arrive | Async by design. ultra takes a time budget of 5 minutes to 3 hours, and 50 runs can be in progress at a time |
| Reruns | A saved request reruns hourly to yearly. Each row comes back labeled changed, unchanged or no longer matching; a changed or new row costs half its rate and an unchanged row 1¢ | Monitors run scheduled searches at $2 per 1,000 requests |
| Where the rows go | Google Sheets, Excel, Airtable, Notion, monday.com, HubSpot, Salesforce, Pipedrive, Attio, Slack, Teams, Zapier, Make, n8n and signed webhooks, or your agent through https://api.specstream.ai/mcp | JSON through the API, and the agent_run tool on Exa's MCP server |
| Without an account | An agent buys one list with no account and no key: by card through MPP, or in USDC on Base, Arbitrum or Polygon through x402. It pays for the results found | An Exa key in x-api-key or as a Bearer token |
| Search and pages alone | Search API: $5 per 1,000 searches with the answer, $1 per 1,000 on the fast tier. Extract API: $0.80 per 1,000 pages, and a page with no text is not charged | Search: $4 per 1,000 on lite, $7 on auto, $12 on deep. Contents: $1 per 1,000 pages per content type |
Why teams move from Exa Agent to SpecStream
The same job as one request
An Exa Agent run takes a query and an effort. A SpecStream request takes the job in plain words and answers with the price first.
# Exa Agent: a run at an effort, priced by the effort or metered to a cap
curl -X POST https://api.exa.ai/agent/runs \
-H "x-api-key: $EXA_API_KEY" -H "Content-Type: application/json" \
-d '{"query": "Engineering leaders at AI infrastructure companies that raised a Series A or B in the last 6 months", "effort": "auto"}'
# SpecStream Deep Search: the same job, read back with its price before anything runs
curl -i -X POST https://api.specstream.ai/v1/agent/lists \
-H "Content-Type: application/json" \
-d '{"request": "Engineering leaders at AI infrastructure companies that raised a Series A or B in the last 6 months, with their title and company", "count": 25}'The first reply is 402 Payment Required. Its body shows how SpecStream read the request, the columns and the most it can cost, and nothing is spent. Pay that maximum and send the same request again: you get a status_url, and the rows are there when the run ends.
A price per row, approved before the run
Exa prices a fixed effort per run, whatever the run finds, and meters auto and ultra in compute units and searches up to the cap. On a fixed effort, budget.maxCostDollars limits only contact enrichment, and Exa's docs say the cap does not limit research or reasoning steps. SpecStream bills the rows it delivers. At 5¢ a row and 5¢ for each work email, 200 companies with an email cost $20, a result that fails a condition is not billed, and the most the run can cost is approved before it starts.
Source URL and read time on every value
Exa returns grounding for text or structured fields when it emits it. On SpecStream each row carries the source URL and the time it was read, and each condition of the request shows the page that states it, or that no page states it yet. SpecStream reads each page and joins what it finds into one record per company or person.
The rows stay up to date in your tools
Save a request and it reruns hourly to yearly, inside the spending limits you set. Each row comes back labeled changed, unchanged or no longer matching. A changed or new row costs half its rate, an unchanged row costs 1¢, and new matches land in HubSpot, Salesforce, Pipedrive, Attio, Sheets, Slack or Teams, or in a signed webhook.
From your agent over MCP
Connect https://api.specstream.ai/mcp over Streamable HTTP, with OAuth or a SpecStream key. compile reads the request into editable parts, quote_capacity_work prices it, authorize_capacity_work runs it inside the maximum your person approved, and list_find_rows reads the rows with their sources. The MCP guide covers each client.
The most accurate web search API on the same key
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.
Other Exa Agent alternatives
Parallel Task API and FindAll
Task runs are priced per 1,000 by processor: $5 on lite and $300 on ultra, which is 30¢ a run. FindAll costs $0.25 a run plus $0.03 a match on base. On SpecStream the price is set per delivered row and quoted for the whole request before it starts.
Tavily Research
A research endpoint billed in credits at $0.008 each pay as you go: 4 to 110 credits a request on mini and 15 to 250 on pro, so 3¢ to $2 a request. SpecStream delivers rows, each value with its source URL and read time.
Perplexity Agent API
Billed by model tokens plus tool calls, with web search at $2.50 per 1,000 calls; Perplexity's pricing page says effort costs vary with the model, token usage and tool invocations. SpecStream names the most a run can cost before it runs.
Exa Deep Search
The deep search type costs $12 per 1,000 requests and returns synthesized output from one search call. The SpecStream Search API returns the answer with the page it was read from at $5 per 1,000, and Deep Search returns every match as rows.
How SpecStream scores
The same numbers as the benchmarks page, from the official tasks and scorers.
How to move a workload from Exa Agent
1. Sign up and you get $10 of credit, no card. At 5¢ a row, that is up to 200 rows. Create a key under Agents & API in the workspace and give it the spending limit the job needs.
2. Write the job as you wrote Exa's query, and name the columns in the same sentence in place of an outputSchema. SpecStream reads it back as conditions and columns, and you change any of them before it runs.
3. From an agent, connect the MCP server and call compile, quote_capacity_work and authorize_capacity_work, then read the rows with list_find_rows. From code with no account, send the request to /v1/agent/lists:
curl -i https://api.specstream.ai/v1/agent/lists \
-H "Content-Type: application/json" \
-d '{"request": "Engineering leaders at AI infrastructure companies that raised a Series A or B in the last 6 months, with their title and company", "count": 25}'4. Approve the maximum in the 402 by card through Stripe's Link agent wallet, or in USDC, and you pay for the rows found. The agent payments guide has every step.
Frequently asked questions
Something we didn't answer? Talk to a human
How much does the Exa Agent API cost?
minimal, $0.025 at low, $0.10 at medium, $0.50 at high and $1.00 at xhigh. auto and ultra are metered at $0.10 per Agent Compute Unit, $0.005 a search, $0.02 an email and $0.07 a phone, up to a $5 or $20 cap by default.What does budget.maxCostDollars cap?
auto and ultra it sets the most a run can cost, from $1 to $100. On a fixed effort it caps only contact enrichment after the fixed price, and Exa's docs say the cap does not limit research or reasoning steps. A SpecStream quote caps the whole run, and the run never costs more.What is the best Exa Agent alternative?
What does Exa Agent Ultra cost?
budget.maxCostDollars moves the cap from $1 to $100, and budget.maxDurationSeconds sets 5 minutes to 3 hours.How long does an Exa Agent run take?
ultra takes a time budget of up to 3 hours. A SpecStream run keeps working until it reaches the count, up to four hours on the largest lists, and its rows can be read as they arrive.Can an agent use SpecStream without an account?
POST https://api.specstream.ai/v1/agent/lists with the request answers 402 with how SpecStream read it and the most it can cost. The agent pays by card through MPP or in USDC through x402, and pays only for the results found.Does SpecStream have an MCP server?
https://api.specstream.ai/mcp over Streamable HTTP, with OAuth or an API key. The agent reads the request with compile, prices it with quote_capacity_work and runs it with authorize_capacity_work inside the maximum its person approved.Sources
SpecStream wrote this page. Each rival figure comes from that company's own page.
- Exa pricingexa.ai/docs/admin/pricing.md, read Nov 12, 2026
- Exa Agentexa.ai/docs/agent/quickstart.md, read Nov 12, 2026
- Exa changelogexa.ai/docs/changelog.md, read Nov 12, 2026
- Exa billing and Agent limitsexa.ai/docs/admin/billing.md, read Nov 12, 2026
- Parallel pricingdocs.parallel.ai/getting-started/pricing.md, read Nov 12, 2026
- Tavily credits and pricingdocs.tavily.com/documentation/api-credits.md, read Nov 12, 2026
- Perplexity pricingdocs.perplexity.ai/guides/pricing, read Nov 12, 2026
- SpecStream Deep Searchspecstream.ai/deep-search, read Nov 12, 2026
- SpecStream pricingspecstream.ai/pricing, read Nov 12, 2026
- SpecStream benchmarksspecstream.ai/benchmarks, read Nov 12, 2026
- SpecStream for agentsspecstream.ai/agents.md, read Nov 12, 2026




