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.
How do I install this agent skill?
npx skills add https://github.com/exa-labs/agent-skills --skill company-researchIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides clear instructions for conducting company research using Exa's search and agentic tools. It incorporates security best practices, such as token isolation and the use of structured output schemas, to safely handle external data retrieved from the web.
- Socketpass
No alerts
- Snykwarn
Risk: MEDIUM · 1 issue
What does this agent skill do?
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 fastcategory: "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.
- Call
agent_runwith a natural-languagequeryand, when you want repeatable structure, anoutputSchema(bound arrays withmaxItems). - If it returns
status: "running"with arunId, callagent_runagain with only thatrunIduntiloutputReadyis true. - Read
output.textoroutput.structured, plusoutput.groundingcitations, from theagent_runresult.
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
agent_run {
"query": "Research Anthropic: product lines, funding history and valuation, key executives, main competitors, and notable news from the last 6 months.",
"effort": "auto",
"outputSchema": {
"type": "object",
"properties": {
"overview": { "type": "string" },
"funding": { "type": "array", "maxItems": 10, "items": { "type": "object", "properties": { "round": { "type": "string" }, "amount": { "type": "string" }, "date": { "type": "string" } }, "required": ["round"] } },
"competitors": { "type": "array", "maxItems": 10, "items": { "type": "string" } },
"key_people": { "type": "array", "maxItems": 10, "items": { "type": "object", "properties": { "name": { "type": "string" }, "title": { "type": "string" } }, "required": ["name", "title"] } }
},
"required": ["overview", "competitors"]
}
}
Example: build a company list
agent_run {
"query": "Find 25 AI infrastructure startups headquartered in San Francisco. For each, include what they build and their latest funding stage.",
"effort": "auto",
"outputSchema": {
"type": "object",
"properties": {
"companies": {
"type": "array",
"maxItems": 25,
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"website": { "type": "string", "format": "uri" },
"description": { "type": "string", "description": "in 12 words or less" },
"funding_stage": { "type": "string" }
},
"required": ["name", "website", "description"]
}
}
},
"required": ["companies"]
}
}
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, announcementspeople→ 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 insteadcategory: "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:
web_search_advanced_exa {
"query": "AI infrastructure startups San Francisco",
"category": "company",
"numResults": 20,
"type": "auto"
}
News check:
web_search_advanced_exa {
"query": "Anthropic AI safety",
"category": "news",
"numResults": 15,
"startPublishedDate": "2025-01-01"
}
Key people:
web_search_advanced_exa {
"query": "VP Engineering AI infrastructure",
"category": "people",
"numResults": 20
}
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:
- Results (structured list; one company per row)
- Sources (URLs; 1-line relevance each — use
output.groundingfrom Agent runs) - 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
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/exa-labs/agent-skills/company-research">View company-research on skillZs</a>