> SpecStream is the live web data engine for teams and agents. This is the Markdown copy of https://specstream.ai/search-api. Every page, with what SpecStream does and costs: https://specstream.ai/llms.txt

# The most accurate web search API in the world

Ask in plain words, in any language, and get an answer from the live web in a few seconds. One GET request returns the answer, the matching rows, and the search results read.

[Get an API key](https://specstream.ai/signup)[Read the docs](https://specstream.ai/docs/search-api.md)

cURLPythonTypeScriptMCP

GET /v1/web-searchCopy

```
curl -G https://api.specstream.ai/v1/web-search \
  -H "Authorization: Bearer $SPECSTREAM_API_KEY" \
  --data-urlencode "q=Who is the CEO of Stripe?"
```

Reply, cut shortCopy

```
{
  "data": {
    "kind": "fact",
    "query": "Who is the CEO of Stripe",
    "answer": {
      "value": "Patrick Collison",
      "page": "https://en.wikipedia.org/wiki/Patrick_Collison",
      "seen_at": "2026-11-05T01:06:52+00:00"
    },
    "rows": [
      {
        "name": "Patrick Collison",
        "page": "https://en.wikipedia.org/wiki/Patrick_Collison",
        "probability": 0.64
      }
    ],
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Patrick_Collison",
        "title": "Patrick Collison - Wikipedia",
        "site": "en.wikipedia.org",
        "cited": true
      },
      {
        "url": "https://www.forbes.com/profile/patrick-collison/",
        "title": "Patrick Collison - Forbes",
        "site": "forbes.com",
        "cited": false
      }
    ],
    "took_ms": 2404,
    "price_usd": 0.005
  }
}
```

## The search API on WideSearch and SimpleQA Verified

The SpecStream search API leads both benchmarks.

|  | SpecStream | ![](https://specstream.ai/images/benchmarks/parallel.svg)Parallel | ![](https://specstream.ai/images/benchmarks/exa.svg)Exa | ![](https://specstream.ai/images/benchmarks/tavily.svg)Tavily | ![](https://specstream.ai/images/benchmarks/perplexity.svg)Perplexity |
| --- | --- | --- | --- | --- | --- |
| **Web research**WideSearch, GPT-5.6 Luna | 60.9 | 45.5 | 53.0 | 47.9 | 47.0 |
| **Factual accuracy**SimpleQA Verified, GPT-5.6 Luna | 96 | 94 | 91 | 94 | 94 |
| **Factual accuracy**SimpleQA Verified, GPT-5.6 Sol | 99 | 97 | 91 | 92 | 95 |

[Scores and method](https://specstream.ai/benchmarks.md)

$5

## per 1,000 searches

Each search comes out of your balance. It needs no quote and no approval.

Any language

Write q in plain words, up to 2,000 characters. Quoted phrases are searched as phrases.

Idempotency-Key

Send the header to retry safely. A call is charged once per key.

## What a call returns

Each reply has a kind: fact for a question with one answer, list for a request with many results. Every charged call stays in your account's history, and reading the history costs nothing.

answer

The value, when the question has one answer. It stays null unless two sites print the value or it rates as likelier than not. Every value found stays in rows.

rows

Each result with its name, page, snippet, the probability that it matches, and the facts the request asks for. Source URL and read time on every value.

sources

The search results read, in rank order, each with its URL, title, site, snippet, and published date when the result gives one.

handoff

For a request with many results: the estimated size of the full set and the next call to make, which prices it as a Deep Search.

passages

Add passages=true to get the text of the top pages closest to the request, each with its URL and title. The call takes up to about a second more.

## Search API questions

Something we didn't answer? [Talk to a human](https://specstream.ai/talk-to-a-human.md)

What makes it the most accurate web search API?

It leads WideSearch and SimpleQA Verified. Scores and method are on the [benchmarks page](https://specstream.ai/benchmarks.md).

How is a search charged?

Each call comes out of your balance at $5 per 1,000 searches, with no quote and no approval. A call stopped by a 503 is not charged. Wait the seconds in Retry-After and send it again.

What if my request has many results?

The reply has kind list, with the rows found so far and a handoff. The handoff gives the estimated size and the next call, and that call prices the full request as a Deep Search.

How do I call it?

Send GET /v1/web-search with your API key, or use search\_web on MCP, web\_search in Python, webSearch in TypeScript, or specstream web-search in the CLI.

## Run your first search

Sign up and get $10 of credit, no card.

[Start free](https://specstream.ai/signup)[Talk to a human](https://specstream.ai/talk-to-a-human.md)
