Skip to main content

Overview

Endpoint: POST https://api.exa.ai/search with "category": "company" What it searches: 50M+ company pages including LinkedIn company profiles, official websites, and Crunchbase-style data. Semantic search over industry, funding stage, headcount, geography, and technology attributes. Natural language queries return relevance-ranked company results. For creating lists or enriching over many companies at scale, use Websets.

Minimal Working Example

curl -X POST "https://api.exa.ai/search" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{"query": "fintech companies in Switzerland", "category": "company", "contents": {"highlights": {"maxCharacters": 4000}}}'
from exa_py import Exa
exa = Exa(api_key="YOUR_API_KEY")
result = exa.search("fintech companies in Switzerland", category="company", contents={"highlights": {"max_characters": 4000}})
import Exa from "exa-js";
const exa = new Exa("YOUR_API_KEY");
const result = await exa.search("fintech companies in Switzerland", { category: "company", contents: { highlights: { maxCharacters: 4000 } } });

Parameter Restrictions

The company category does not support the following parameters. Using them returns a 400 error:
Unsupported ParameterWorkaround
startPublishedDateNot available. Use natural language (e.g. “founded after 2020”).
endPublishedDateNot available.
excludeDomainsNot available.

Supported Parameters

ParameterTypeNotes
querystringNatural language. Supports industry, geography, funding, headcount, technology, similarity.
categorystringMust be "company".
typestring"auto" recommended. "deep" and "deep-reasoning" also work.
numResultsinteger1–100. Default 10.
contentsobjecttext, highlights, summary, all nested under contents.

Query Patterns

Named lookup:
"Sakana AI company"
"Tell me about exa.ai"
Attribute filtering:
"fintech companies in Switzerland"
"Japanese AI companies founded in 2023"
Funding queries:
"agtech companies in the US that have raised series A"
"startups that raised 30M to 80M"
Composite queries:
"Israeli security companies founded after 2015"
"German enterprise SaaS companies with more than 500 employees"
Semantic / similarity:
"Companies like Bell Labs"
"Companies working on making space travel cheaper"
"competitors of Notion"

Common Mistakes

WrongCorrect
excludeDomains: [...] with category: "company"Remove excludeDomains. Not supported for company. Returns 400.
startPublishedDate: "2023-01-01" with category: "company"Remove date filters. Use natural language like “founded after 2023” in query.
Missing category: "company"Without category, the search runs against the general web index. Always include "category": "company".

Patterns and Gotchas

  • Always set category: "company". Without it, you search the general web index and won’t get company-specific results.
  • Natural language handles what filters can’t. Since date/text/exclude filters aren’t supported, put all constraints in your query: “Series A fintech companies in Europe with 50-200 employees founded after 2020”.
  • Use highlights for agent workflows. Company pages are long. Highlights extract key details (industry, funding, headcount) efficiently.
  • Similarity queries work well. “Companies like X” and “competitors of X” leverage semantic understanding of the company index.
  • Python SDK uses snake_case. numResultsnum_results, maxCharactersmax_characters.
  • Combine with deep search for structured extraction. Use type: "deep" with outputSchema to extract fields like company name, industry, funding, employee count.