$ man exa
Exa
AI-native search API. Find companies, people, news, and content using natural language queries instead of keyword matching. Available as both an MCP server (for Claude) and a Python SDK (for scripts).
traditional search APIs return keyword matches. Exa returns meaning matches. when I search "CPG brands struggling with 3PL fulfillment," I don't get SEO-optimized blog posts — I get actual companies dealing with that problem. that's a fundamentally different search. it also has a find_similar() function that takes a seed URL and returns companies like it. that's TAM expansion in one API call. I went from manually researching companies one by one to enriching 73 companies in a single session — icebreakers, trigger signals, and new contacts — all from Exa.
I use Exa two ways. first, the MCP server — Claude connects directly to Exa for real-time research during conversations. I ask "find recent news about this company" and Claude searches Exa and returns results inline. second, the Python SDK — I wrote 4 enrichment scripts that run at scale: (1) icebreaker enrichment — crawls each company's domain for case studies and thought leadership, outputs contextual icebreakers. (2) signal detection — sweeps for 6 trigger types (funding, M&A, hiring, expansion, tech adoption, complaints) with date filters. (3) persona widening — searches LinkedIn for specific job titles at target companies to fill persona gaps. (4) TAM expansion — uses find_similar() with seed company URLs to discover net-new lookalike companies. 73 companies processed, 342 signals detected, 122 new contacts found, 19 new TAM companies discovered. one session. the SDK does what would take a human researcher weeks.
Needed contextual icebreakers for 73 partner-play companies before ShopTalk. Manual research would take days.
Python script using Exa SDK that crawls each domain for case studies, news, and thought leadership with site:{domain} queries and date-filtered news searches.
73 companies enriched, 150KB of contextual research, ~4 hours saved vs manual research.
Needed to find trigger events (funding, hiring, expansion) across 73 target accounts to fuel personalized outreach.
Script sweeps 6 signal types per company with date filters (last 6 months). Each signal is categorized, timestamped, and matched to a pain point.
342 signals detected across 73 companies. Signals mapped directly to {pain_point} and {poke_the_bear} variables.
Partner needed to expand their target account list beyond known companies. Traditional list building was slow.
Used find_similar() with 10 diverse seed company URLs to discover lookalike companies based on semantic similarity.
19 net-new TAM companies discovered from 10 seed URLs. Companies scored against ICP and added to pipeline.