company-research
Company research using Exa. Finds company info, competitors, news, financials, LinkedIn profiles, builds company lists. Use when researching companies, doing competitor analysis, market research, or building company lists.
By exa-labs · 412 installs
npx skills add exa-labs/agent-skills --skill company-research
Source repository · Upstream listing
Company Research
Tool Selection (Critical)
Two Exa surfaces, two jobs:
Exa Agent ( agent run ) — the default for company research. Use it for deep dives, competitor analysis, multi angle research (product + funding + news + people), and building company lists. One Agent run handles query decomposition, multi step searching, and synthesis internally — do not orchestrate many manual searches for work an Agent run covers.
web search advanced exa — quick, low latency lookups: a fast category: "company" discovery pass, a single news check, or finding a homepage.
Do NOT use other Exa tools.
Deep Dives and Lists: Exa Agent
Agent runs may stream to completion in one call. If a run outlives the MCP call window, continue waiting with its returned run ID.
1. Call agent run with a natural language query and, when you want repeatable structure, an outputSchema (bound arrays with maxItems ).
2. If it returns status: "running" with a runId , call agent run again with only that runId until outputReady is true.
3. Read output.text or output.structured , plus output.grounding citations, from the agent run result.
Useful inputs: systemPrompt (source preferences, dedup rules), input.exclusion (companies to avoid), previousRunId (a new follow up run based on a completed run), effort ( "low" default; "auto" or "high" for more depth).
Example: company deep dive
Example: build a company list
Quick Lookups: Advanced Search
Use web search advanced exa when a single fast search answers the question. Tune numResults to intent (a few → 10 20; comprehensive → 50 100; specified → match it).
Categories
company → homepages, rich metadata (headcount, location, funding, revenue)
news → press coverage, announcements
people → public professional profiles
No category ( type: "auto" ) → general web results, broader context
Default to type: "auto" . Prefer highlights for content extraction; do not stack text + highlights + summary in one call.
Category Specific Filter Restrictions
Unsupported category/filter combinations return 400 errors:
category: "company" does not support published date or crawl date filters, excludeDomains , or exact text filters; express constraints like "founded after 2020" in the query instead
category: "people" does not support published date, crawl date, domain, or exact text filters; put all filtering in the natural language query
Without a category (or with news ), domain and date filters work fine
Examples
Discovery pass:
News check:
Key people:
Token Isolation
Never dump raw search results into main context. Spawn Task agents for Advanced Search calls; for Agent runs, go straight from output.structured to the final answer.
Browser Fallback
Fall back to Claude in Chrome only when content is auth gated or requires JavaScript rendering.
Output Format
Return:
1) Results (structured list; one company per row)
2) Sources (URLs; 1 line relevance each — use output.grounding from Agent runs)
3) Notes (uncertainty/conflicts)
References
Exa Agent guide: https://docs.exa.ai/reference/agent api guide
Company Search reference: https://docs.exa.ai/reference/verticals/company for coding agents
Exa MCP setup: https://docs.exa.ai/reference/exa mcp
Full docs for LLMs: https://docs.exa.ai/llms.txt