SDKs
Official clients for TypeScript and Python, and the SDKs you already use.
TypeScript / JavaScript
npm install typesearch-js — Node 18+, Bun, Deno and edge runtimes. No dependencies.
Python
pip install typesearch — Python 3.9+, sync and async.
Both SDKs cover the whole API, with the same names as the HTTP API, typed responses, streaming, jobs,
automatic retries and typed errors. They read your key from TYPESEARCH_API_KEY.
| TypeScript | Python | |
|---|---|---|
| Search | search(query, options) | search(query, **options) |
| Stream a search | searchStream(query, options) | search_stream(query, **options) |
| Similar | similar(url, options) | similar(url, **options) |
| Contents | contents(urls, options) | contents(urls, query=…) |
| Live site search | siteSearch() · siteSearchAndWait() · siteSearchStream() | site_search() · site_search_and_wait() |
| Jobs | jobs.get(id) · jobs.wait(id) | jobs.get(id) · jobs.wait(id) |
| Sources and usage | sources() · usage() | sources() · usage() |
Already on Exa, Tako or Perplexity?
Their official SDKs work against typesearch as they are: point them at our compatibility layer and use a typesearch key. See Migrate from Exa, Tako or Perplexity.
Any other language
The API is plain JSON over HTTPS, described by an OpenAPI 3.1 document you can feed to any client generator.