exa

Exa

Free tierUpdated 2026-05

Neural search API that finds what you mean, not just what you typed.

🟡Intermediate10 min to set upTry Exa

What is Exa?

Exa (formerly Metaphor) is a search API built for AI applications. Where traditional search APIs return a ranked list of links based on keyword matching, Exa uses neural search — it understands what you're looking for conceptually and returns results that are semantically relevant, even if they don't contain the exact words you used.

This makes a significant difference when building AI agents and research tools. If you ask a standard search API "find companies building AI-powered customer support tools", it will match those words literally. Exa will understand that you want live companies in that space and return relevant results even if their websites use different terminology. It finds things that mean what you mean, not just things that contain your search terms.

For developers building AI-powered research tools, agents, or RAG (retrieval-augmented generation) pipelines, Exa solves one of the hardest problems: getting structured, clean, semantically relevant web data into your application without writing brittle web scrapers.

Who is it for?

  • Developers and AI builders adding real-time web search to LLM applications or agents
  • Researchers who want programmatic access to semantically filtered web results
  • Product teams building competitive intelligence or market research automation
  • AI agent builders using frameworks like LangChain, LlamaIndex, or Claude's tool use — Exa has native integrations with all of them
  • Indie hackers building AI-powered newsletters, briefing tools, or content aggregators

Key features

  • Neural search: finds semantically similar content, not just keyword matches
  • Auto-highlights: extracts the most relevant sentence or paragraph from each result, skipping full page reads
  • Auto-summary: generates a brief summary of each result using the page content
  • Category filters: limit results to research papers, news, company sites, PDFs, or LinkedIn profiles
  • Date filters: restrict results to a specific time window (great for "what happened in the last 7 days on topic X")
  • Find similar: pass a URL and get a list of semantically similar pages — useful for competitive research
  • Contents API: retrieve full cleaned text from any URL, removing boilerplate and ads

Step-by-step setup

  1. Go to exa.ai and click Get started — create an account with your email or Google
  2. Navigate to the API Keys section in your dashboard and generate a new key
  3. You start with 1,000 free searches per month (no credit card required to begin)
  4. Install the SDK if you're using Python or Node.js:
    • Python: pip install exa-py
    • Node: npm install exa-js
  5. Make your first search:
from exa_py import Exa
exa = Exa("your-api-key")

results = exa.search(
  "AI tools for automating customer support",
  num_results=5,
  use_autoprompt=True,
  text=True
)

for r in results.results:
    print(r.title, r.url)
    print(r.text[:200])
  1. Add filters to narrow results: start_published_date="2025-01-01", category="news", or include_domains=["techcrunch.com"]
  2. To use Exa in an AI agent, add it as a tool using the Claude tool use API, LangChain, or a similar framework

Tips for getting the most out of it

  • Use use_autoprompt=True. This instructs Exa to rewrite your query to be more semantically effective before running it. It almost always improves results.
  • Use highlights instead of full text for speed. If you're feeding results into an LLM, highlights=True returns just the most relevant sentences — dramatically reducing token usage compared to sending full page text.
  • Combine with date filters for freshness. When building news or trend tools, always set start_published_date to avoid getting outdated results buried in the ranking.
  • Use find_similar for competitive research. Pass a competitor's URL and get a list of similar companies or products instantly — much faster than manual Google searches.
  • Use it inside Claude tool use. Exa's Python SDK integrates cleanly with Anthropic's tool use API. Define Exa search as a tool, and Claude will call it automatically when it needs current information to answer a question.