Answers from the documentation; checking which model is on duty
Hi - I answer from the OpenSmartRoute documentation: routing, the API, plans and quotas, self-hosting. Ask away, or open a support ticket if you need a person.
Grounded in the docs - follow a source before acting on it.
exa-entities - Skill - OpenSmartRoute
Skillv1.0.0
exa-entities
Exa.ai company and people search for lead generation, competitive intelligence, and data enrichment. Use when searching for companies, finding people profiles, building lead gen tools, or…
Imported from ejirocodes/agent-skills (exa/skills/exa-entities/SKILL.md). Install upstream with npx skills add ejirocodes/agent-skills --skill exa-entities. Copyright stays with the author (MIT).
from exa_py import Exaexa = Exa()results = exa.search_and_contents( "AI startups in healthcare series A funding", category="company", num_results=20, text=True)for company in results.results: print(f"{company.title}: {company.url}")
People Search
results = exa.search_and_contents( "machine learning engineers San Francisco", category="linkedin_profile", num_results=20, text=True)for profile in results.results: print(f"{profile.title}: {profile.url}")
Websets for Lead Generation
# Create a webset for company collectionwebset = exa.websets.create( name="AI Healthcare Companies", search_query="AI healthcare startups", category="company", max_results=100)# Monitor for new matchesexa.websets.add_monitor( webset_id=webset.id, schedule="daily")
Category Reference
Category
Use Case
Index Size
company
Company websites, about pages
Millions
linkedin_profile
Professional profiles
1B+ profiles
personal_site
Individual blogs, portfolios
Millions
github
Repositories, developer profiles
Millions
Common Mistakes
Not using category filter - Always set category="company" or category="linkedin_profile" for entity search
Expecting structured data - Exa returns web pages; parse text for structured fields
Over-broad queries - Add location, industry, or role specifics for better results
Ignoring rate limits - Batch requests and implement backoff for large-scale collection
Missing domain filters - Use include_domains=["linkedin.com"] for profile-only results
Installed into a catalogue, chosen by a router
Install exa-entities and it becomes one more candidate the router can pick - when it fits.
A listing is a routing target with a manifest: what it does, which domains it covers, what it costs and who publishes it. Once installed it sits beside your own models and tools, is scored like any other candidate for each request, and shows up in the trace when it wins. Ratings come from workspaces that installed it, one per account.
When a provider is down or over quota the request moves on; the trace says it did.
Use it
Copy one of these into your project. Installing also returns the manifest and these snippets.
# after Install: the listing is in your workspace's routing pool - a plan picks it for its slotcurl-s-X POST https://osr-api.kindrock-caaab1a2.centralindia.azurecontainerapps.io/api/v1/route -H 'Authorization: Bearer $OSR_API_KEY' -H 'Content-Type: application/json' -d '{"text": "...", "plan": true}'
Manifest
An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.
ejirocodes-agent-skills-exa-entities.ocm.jsonjson
{
"ocm": "1",
"id": "ejirocodes-agent-skills-exa-entities",
"kind": "skill",
"name": "exa-entities",
"description": "Exa.ai company and people search for lead generation, competitive intelligence, and data enrichment. Use when searching for companies, finding people profiles, building lead gen tools, or implementing Websets for data collection at scale. Triggers on: Exa company search, Exa people search, category company, lead generation, company research, profile search, LinkedIn profiles, Websets API, data enrichment, company lookup, find companies, competitive intelligence, recruiting, talent search, 1B profiles.",
"publisher": "ejirocodes",
"version": "1.0.0",
"capabilities": {
"domains": [
"coding"
],
"tags": [
"skill-md",
"skills-sh"
],
"languages": [
"en"
]
},
"quality_prior": 0.6,
"examples": [
"Exa.ai company and people search for lead generation, competitive intelligence, and data enrichment. Use when searching for companies, finding people profiles, building lead gen tools, or implementing Websets for data collection at scale. Triggers on: Exa company search, Exa people search, category company, lead generation, company research, profile search, LinkedIn profiles, Websets API, data enrichment, company lookup, find companies, competitive intelligence, recruiting, talent search, 1B profiles."
],
"primary": false,
"metadata": {
"source": {
"provider": "skills.sh",
"repository": "https://github.com/ejirocodes/agent-skills",
"path": "exa/skills/exa-entities/SKILL.md",
"ref": "HEAD",
"url": "https://github.com/ejirocodes/agent-skills/blob/HEAD/exa/skills/exa-entities/SKILL.md",
"key": "ejirocodes/agent-skills/exa/skills/exa-entities/SKILL.md"
},
"license": "MIT"
},
"instructions": "# Exa Entity Search\n\n## Quick Reference\n\n| Topic | When to Use | Reference |\n|-------|-------------|-----------|\n| **Company Search** | Finding companies, competitive research | [company-search.md](references/company-search.md) |\n| **People Search** | Finding profiles, recruiting | [people-search.md](references/people-search.md) |\n| **Websets** | Data collection at scale, monitoring | [websets.md](references/websets.md) |\n\n## Essential Patterns\n\n### Company Search\n\n```python\nfrom exa_py import Exa\n\nexa = Exa()\n\nresults = exa.search_and_contents(\n \"AI startups in healthcare series A funding\"",
"cost": {
"context_tokens": 549
}
}
Fetch it by URL: GET /api/v1/registry/ejirocodes-agent-skills-exa-entities/manifest?version=1.0.0
Reviews
Star ratings from people who tried it. One review per account; edit yours any time.
No reviews yet. Install it, try it, and be the first to rate it.