NewYour Exa or Tako SDK, 5× cheaper.

The Exa alternative

vsExa

typesearch vs Exa

Everything you use Exa for in news and web search — at a fifth of the price, with the exa-py and exa-js SDKs you already have.

Same job, 5× cheaper

  • Search

    $1.40

    Exa: $7−80%

  • Deep search

    $2.40

    Exa: $12–15−80–84%

  • Contents · per 1k pages

    $0.20

    Exa: $1−80%

What stays the same

Your SDK, your parameters, your response parsing. Here is how each Exa parameter maps.

Exa parameterStatusOn typesearch
query, numResultsSameSame. Up to 50 results.
typeMappedinstant → Ultra · fast → Fast · auto, neural, keyword → Normal · deep → Deep
includeDomains, excludeDomainsSameSame, up to 20. *.domain.com works too.
startPublishedDate, endPublishedDateSameSame.
includeText, excludeTextMappedApplied to title, standfirst and highlights.
contents.highlightsSameVerbatim excerpts from verified results.
contents.textLimitedA short excerpt, never the full page.
contents.summaryNot supportedWe don’t write summaries. Use essentials instead.
/findSimilar, /contentsSameSame endpoints, same shapes.

What you gain

  • A calibrated relevance probability on every result
  • Top results read and verified before they’re ranked
  • Typed questions answered per result, in the same call
  • Tone, same-story dedupe and who-published-first
  • Up to five queries per request
  • Hard cost caps per request

When Exa is still the better fit

We’d rather you stay than churn in a month. Keep Exa for these:

  • You need full page text for every result.
  • You rely on people, company or research-paper indexes.
  • You want the API itself to write answers or summaries.

Migration

The whole migration

One compatibility layer per provider: same parameters, same response shape, same errors. Point your official SDK at us and ship.

from exa_py import Exa
 
-exa = Exa(api_key=EXA_API_KEY)
+exa = Exa(api_key=TYPESEARCH_API_KEY, base_url="https://api.typesearch.ai/compat/exa")
 
results = exa.search("lithium royalties in Chile", num_results=10, type="fast")
similar = exa.find_similar(results.results[0].url, exclude_source_domain=True)
pages = exa.get_contents([r.url for r in results.results], highlights=True)
beforeafter

Switch from Exa

Free key, same SDK, 5× cheaper.