Introduction
Search for AI agents, with a calibrated relevance score on every result. Faster, and a fraction of the price.
typesearch is a search API built for agents that can’t afford to guess. It searches our own index of news and editorial content — refreshed every few minutes — and returns results your agent can act on: each one with a calibrated probability of being relevant, the top ones read and verified, and typed answers to your own questions when you ask for them.
It returns evidence, not prose. No generated summaries, nothing to hallucinate: ranked articles, verbatim excerpts, and numbers you can threshold on.
Quickstart
Your first search in under five minutes.
API reference
Every endpoint, field and error.
TypeScript SDK
npm install typesearch-js
Python SDK
pip install typesearch
Endpoints
| Endpoint | What it does |
|---|---|
POST /v1/search | Search the index. One query, or up to five judged together. JSON or a stream of events. |
POST /v1/search/site | Search a live site — its homepage, sections and its own search box. Returns a job. |
GET /v1/jobs/{id} | The status and result of a live site search. |
POST /v1/similar | Articles about the same story as a URL. |
POST /v1/contents | Metadata and short verbatim excerpts of up to 10 URLs. |
GET /v1/sources | The sources in the index and their status. |
GET /v1/usage | Usage and limits of your key. |
How a search works
Retrieve
Candidates come from the index, filtered by the domains, sections and dates you set before anything is judged — what you filter out costs nothing.
Judge
A relevance model scores every candidate headline against your query and returns a calibrated probability. Results start streaming at this point, about a second in.
Verify
In normal and deep modes the best candidates are opened and read. A headline that promised more than
the article delivers drops out and is reported in rejected.
Enrich
On request: tone relative to your query, same-story grouping, who published first, verbatim essentials and answers to your typed questions — all in the same call.
Coming from Exa, Tako or Perplexity?
The API speaks their SDKs. Change the base URL and the key, keep the rest of your code: see Migrate from Exa, Tako or Perplexity.