<!-- twin of https://specstream.ai/migrate/metaso -->
# Metaso Search API compatible: change the address, keep the code

Compared on Nov 12, 2026. The page: https://specstream.ai/migrate/metaso

SpecStream answers the Metaso (秘塔AI搜索) Search API's `POST /api/v1/search` and `POST /api/v1/reader` in Metaso's own JSON. A search of up to 10 results costs $0.001, and a page read costs $0.0008.

The switch is one address: `https://api.specstream.ai/metaso/api/v1` in place of `https://metaso.cn/api/v1`, with a SpecStream key as the Bearer token. Your code reads `webpages[]` as before.

SpecStream scores 97.9 F-score on all 1,000 SimpleQA Verified questions and 64.0 item F1 on all 200 WideSearch tasks. New accounts get $10 of credit, no card.

[Get an API key](https://specstream.ai/signup?src=alternatives-migrate-metaso&utm_source=alternatives-md&utm_campaign=migrate-metaso&returnTo=%2Fworkspace%2Fsearch%3Froute%3Dmetaso) New accounts get $10 of credit, no card. It covers 10,000 searches.

## Metaso Search API to SpecStream, parameter by parameter and field by field

| | SpecStream | Metaso Search API |
|---|---|---|
| Search address | `POST https://api.specstream.ai/metaso/api/v1/search` | `POST https://metaso.cn/api/v1/search` |
| Reader address | `POST https://api.specstream.ai/metaso/api/v1/reader`, the page as Markdown or JSON | `POST https://metaso.cn/api/v1/reader`, the page's full text as Markdown or JSON |
| The key | A SpecStream key as `Authorization: Bearer` | A Metaso key as `Authorization: Bearer`, made under API Keys on metaso.cn |
| `scope` | `webpage` (the default), `document` and `image` | `webpage`, `document`, `paper`, `image`, `video` and `podcast` |
| `size` | 1 to 100, 10 when you send none | 1 to 100, default 10 in metaso-search-mcp |
| `includeSummary`, `includeRawContent` | The text of each page closest to the query, up to about 3,500 characters, at no extra cost | Recall enhanced with page summaries, and the original text of every source page |
| Question answering | `GET /v1/web-search` returns an `answer` with the page it was read from, at $0.005 a call | An answer to the question, with `format` `chat_completions` |
| Price | $0.001 a search of up to 10 results, $0.0008 a page read | 0.03 yuan a call with 5,000 free calls, in a Woshipm review of August 2025 |

## The Metaso Search API reference, on SpecStream

### The call, before and after

```
# Before
curl -X POST https://metaso.cn/api/v1/search \
  -H "Authorization: Bearer $METASO_API_KEY" -H "Content-Type: application/json" \
  -d '{"q": "Who founded Mistral AI and when?", "scope": "webpage", "size": 10, "includeSummary": true}'

# After
curl -X POST https://api.specstream.ai/metaso/api/v1/search \
  -H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
  -d '{"q": "Who founded Mistral AI and when?", "scope": "webpage", "size": 10, "includeSummary": true}'
```

The body and the parser stay. The base address changes to `https://api.specstream.ai/metaso/api/v1`, and the key changes. Every parameter and field below is what the route answers on November 12, 2026.

### The MCP server that takes the address as a setting

metaso-search-mcp, the community MCP server for Metaso's API, reads its base address from `METASO_BASE_URL`. Set it to SpecStream's address and put your SpecStream key in `METASO_API_KEY`:

```
{
  "mcpServers": {
    "metaso-search-mcp": {
      "command": "npx",
      "args": ["metaso-search-mcp"],
      "env": {
        "METASO_API_KEY": "YOUR_SPECSTREAM_KEY",
        "METASO_BASE_URL": "https://api.specstream.ai/metaso/api/v1"
      }
    }
  }
}
```

Its `metaso_search` and `metaso_reader` tools then call SpecStream. Its `paper`, `video` and `podcast` scopes answer `400`.

### Every parameter the route uses

Used in the search: `q`, `scope` (`webpage` by default, `document` for PDF files, `image` for images), `size` (1 to 100, sent as a number or a string) and `page` (from 1, each page continuing the same ranked list).

Used to shape the reply: `includeSummary` or `includeRawContent` set to `true` reads each result's page and fills `summary` or `rawContent` with the text of that page closest to the query, up to about 3,500 characters. A page not read in time keeps its snippet. For a whole page, send its URL to the reader. `conciseSnippet` comes back in `searchParameters`.

### Every field that comes back

The search reply has `searchParameters` (`q`, `scope`, `size`, `includeSummary`, `includeRawContent`, `conciseSnippet`), `total`, and the list for the scope: `webpages`, `documents` or `images`. Each item has `title`, `link`, `snippet` and `position`, `date` when the page states one, and `summary` or `rawContent` when you ask for them. An image item adds `imageUrl` and `thumbnail`.

Not returned: `credits`, Metaso's count of the credits a call used.

One field is added: `specstream`, with what the Search API returns beyond Metaso's fields, including the call's `price_usd`. A parser that reads Metaso's fields never sees it.

### The reader

```
curl -X POST https://api.specstream.ai/metaso/api/v1/reader \
  -H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"url": "https://www.python.org/downloads/"}'
```

With `Accept: text/plain` the reply is the page as Markdown. With `Accept: application/json` it is `title`, `url`, `date` when the page states one, and `markdown`. Each page read is one Extract API page at $0.0008. A page that cannot be read answers `422` and is not charged.

### Errors in Metaso's form

A refused key keeps its HTTP status, `401`, and answers in Metaso's body: `errCode` 2005 with `errMsg`, plus `message`, which metaso-search-mcp prints. A scope this route does not search answers `400`. When search is busy, the route answers `429` with `Retry-After`, and nothing is charged.

### $1 per 1,000 searches, page text included

A search of up to 10 results costs $0.001, with or without `includeSummary` and `includeRawContent`. Each started block of 10 more results adds $0.0012: `size` 20 costs $0.0022, `size` 50 costs $0.0058 and `size` 100 costs $0.0118. A reader call costs $0.0008 a page. A call stopped by a `429` charges nothing.

### The most accurate web search API

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](https://specstream.ai/benchmarks?utm_source=alternatives&utm_campaign=migrate-metaso) page.

### You decide what is kept, on each key

Create the key with `zero_retention` and a search made with it keeps no request text and no answer after the reply: it is not in the history, its answer is not reused for another call, and its log lines carry neither. `spend_cap_cents` is the most the key can spend.

```
curl -X POST https://api.specstream.ai/v1/account/keys \
  -H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
  -d '{"name": "production", "scopes": ["account:read", "finds:spend"], "spend_cap_cents": 500000, "zero_retention": true}'
```

### Search, pages and rows on one key

The same key reads up to 20 pages or documents a call with the [Extract API](https://specstream.ai/extract-api?utm_source=alternatives&utm_campaign=migrate-metaso) at $0.80 per 1,000 pages, and a page with no text is not charged. [Deep Search](https://specstream.ai/deep-search?utm_source=alternatives&utm_campaign=migrate-metaso) returns every match for a request in plain words as structured rows, at 5¢, 15¢ or $1 a row, with a source URL on every value. The most a run can cost is approved before it starts.

## What else Metaso Search API users price

### Exa

A search API on Exa's own index, at $7 per 1,000 requests on `auto` and $4 on `lite` for up to 10 results, with its own request and reply. SpecStream answers Exa's call as well, at `https://api.specstream.ai/exa`, for $0.001 a search.

### Tavily

A search API sold in credits at $0.008 each pay as you go: a basic search takes 1 credit and an advanced search 2. SpecStream answers Tavily's `POST /search` at `https://api.specstream.ai/tavily` for $0.001 a basic search.

### Brave Search API

A search API on Brave's own index at $5 per 1,000 requests and 50 queries per second. SpecStream answers Brave's call at `https://api.specstream.ai/res/v1/web/search` at $1 per 1,000, a fifth of Brave's rate.

## How to migrate, step by step

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/metaso/api/v1` where your code has `https://metaso.cn/api/v1`, and send the SpecStream key as the Bearer token. In Python:

```
import requests

BASE = "https://api.specstream.ai/metaso/api/v1"  # was https://metaso.cn/api/v1

reply = requests.post(
    f"{BASE}/search",
    headers={"Authorization": f"Bearer {SPECSTREAM_KEY}"},
    json={"q": "Who founded Mistral AI and when?", "scope": "webpage", "size": 10, "includeSummary": True},
    timeout=30,
)
reply.raise_for_status()
for page in reply.json()["webpages"]:
    print(page["title"], page["link"], page.get("date"))
```

3. In JavaScript:

```
const res = await fetch("https://api.specstream.ai/metaso/api/v1/search", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.SPECSTREAM_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ q: "Who founded Mistral AI and when?", scope: "webpage", size: 10 }),
});
const data = await res.json();
for (const page of data.webpages) console.log(page.title, page.link);
```

4. Read `401` as a refused key, `402` as an empty balance and `429` as a call to send again after `Retry-After`; none of them is charged.

5. When your product needs every match in place of a results page, write the request in plain words. SpecStream reads it back as the conditions every row must meet and the facts to bring back, quotes the most it can cost, and delivers the rows after you approve.

## Frequently asked questions

### Is there a Metaso Search API compatible API?

Yes. SpecStream answers Metaso's `POST /api/v1/search` and `POST /api/v1/reader` at `https://api.specstream.ai/metaso/api/v1` in Metaso's JSON, for $0.001 a search of up to 10 results and $0.0008 a page read.

### How do I migrate from the Metaso API?

Change one base address: `https://api.specstream.ai/metaso/api/v1` in place of `https://metaso.cn/api/v1`, and a SpecStream key as the Bearer token. The body and the code that reads `webpages[]` stay as they are.

### How much does the Metaso API cost?

A Woshipm review of August 2025 put it at 0.03 yuan a call, with 5,000 free calls by default. On SpecStream a search of up to 10 results is $0.001 and a page read is $0.0008, and new accounts get $10 of credit with no card.

### Which Metaso scopes work?

Three: `webpage`, `document` and `image`. `scholar`, `paper`, `video` and `podcast` answer `400`.

### Does includeRawContent return the whole page?

No. It returns the text of each page closest to the query, up to about 3,500 characters, at no extra cost. For a whole page, send its URL to `/reader` at $0.0008 a page.

### Does metaso-search-mcp work with SpecStream?

Yes. Set `METASO_BASE_URL` to `https://api.specstream.ai/metaso/api/v1` and `METASO_API_KEY` to your SpecStream key, and its search and reader tools call SpecStream.

### Does Metaso's question answering API work?

No. The call with `model` and `format` `chat_completions` has no route here. SpecStream's own Search API at `GET /v1/web-search` returns an `answer` with the page it was read from, at $0.005 a call.

## Sources

SpecStream wrote this page. Each Metaso fact comes from Metaso's own API pages and the source of the community server metaso-search-mcp, Metaso's price from a review on Woshipm, and each other provider's figure from that company's own page. The route's behavior is taken from its code, read on November 12, 2026.

- [Metaso Search API playground](https://metaso.cn/search-api/playground), read Nov 12, 2026
- [Metaso API Keys](https://metaso.cn/search-api/api-keys), read Nov 12, 2026
- [metaso-search-mcp README](https://raw.githubusercontent.com/SecretRichGarden/metasota-API-MCP/main/README.md), read Nov 12, 2026
- [metaso-search-mcp source](https://raw.githubusercontent.com/SecretRichGarden/metasota-API-MCP/main/src/index.ts), read Nov 12, 2026
- [Woshipm review of the Metaso API](https://www.woshipm.com/evaluating/6252191.html), read Nov 12, 2026
- [Exa pricing](https://exa.ai/docs/admin/pricing.md), read Nov 12, 2026
- [Tavily API credits](https://docs.tavily.com/documentation/api-credits.md), read Nov 12, 2026
- [Brave Search API](https://brave.com/search/api/), read Nov 12, 2026
- [SpecStream benchmarks](https://specstream.ai/benchmarks), read Nov 12, 2026
- [SpecStream pricing](https://specstream.ai/pricing), read Nov 12, 2026
- [SpecStream for agents](https://specstream.ai/agents.md), read Nov 12, 2026
