API & MCP Docs
Company intelligence for AI agents and growth teams. Access verified emails, tech stacks, and web signals via REST or our MCP server.
Endpoints
| Method | Path | Description | Cost |
|---|---|---|---|
| GET | /api/v1/lookup?domain={domain} | Full company enrichment — verified emails, tech stack, people, signals | 1 lookup |
| GET | /api/v1/companies?sector=&size=&tech= | Filtered company list | 1 lookup per result |
| GET | /api/v1/people | Filtered people list | 1 lookup per result |
| GET | /api/v1/people/{id} | Single person enrichment | 1 lookup |
| GET | /api/v1/search?q={query} | Search companies by name or domain | 1 lookup per result |
| GET | /api/v1/tech | Top 100 technologies with company counts | 1 lookup |
| GET | /api/v1/tech/{slug} | Companies using a specific technology | 1 lookup per result |
| GET | /api/v1/signals | Technology change signals | 1 lookup per result |
| GET | /api/v1/career-moves | People changing companies | 1 lookup per result |
| GET | /api/v1/me | Your plan, usage, and API key info | Free |
| POST | /api/v1/api-key/regenerate | Generate or regenerate your API key | Free |
Authentication
All API requests require a Bearer token. Sign up free at agentdata.run/signup to get your API key.
curl https://agentdata.run/api/v1/lookup?domain=stripe.com \
-H "Authorization: Bearer YOUR_API_KEY"Email Filtering
The /v1/lookup endpoint returns SMTP-verified emails. Free provider emails (Gmail, Yahoo, etc.) are always excluded. By default, only emails with confidence ≥ 50 are returned.
| Parameter | Default | Description |
|---|---|---|
| min_confidence | 50 | Minimum confidence score (0-95). Use 90 for outreach-safe emails only. |
| verification_status | all | Filter by status. Comma-separated: valid, catch-all, catch-all-unknown, unknown. |
# Only outreach-safe emails (confidence 90+, verified or catch-all)
curl "https://agentdata.run/api/v1/lookup?domain=stripe.com&min_confidence=90&verification_status=valid,catch-all" \
-H "Authorization: Bearer YOUR_API_KEY"Email Verification
Every email is SMTP-verified against the receiving mail server. Free provider emails (Gmail, Yahoo, Hotmail) are excluded from all responses.
| Status | Confidence | Meaning |
|---|---|---|
| valid | 90-95 | SMTP confirmed — mailbox exists and server is not catch-all |
| catch-all | 55-85 | Server accepts all addresses — email likely valid but can't be individually confirmed |
| catch-all-unknown | 65-80 | SMTP accepted but catch-all detection was inconclusive |
| unknown | 45-75 | Server didn't respond or returned an inconclusive result |
| unverified | 50 | Not yet verified — queued for SMTP check |
Invalid and disposable emails are filtered out by default (confidence below 50). Emails are re-verified every 30-90 days.
Rate Limits
All users: 5 requests per second. All endpoints including signals and career moves are available on every account.
Lookup Costs
Every API call that returns company or people data consumes lookups from your monthly allowance. Re-visiting a domain you've already looked up within the last 30 days is free.
- /v1/lookup — 1 lookup per domain. Re-visits within 30 days are free.
- /v1/companies, /v1/people, /v1/search — 1 lookup per result returned. Results are capped to your remaining lookups.
- /v1/tech/{slug} — 1 lookup per company in the response.
- /v1/tech — 1 lookup (flat fee for the index).
- /v1/me, /v1/api-key/regenerate — Free.
Response Headers
All data endpoints return usage headers so you can track consumption programmatically.
| Header | Description |
|---|---|
| X-Plan | Your current plan |
| X-Lookups-Remaining | Lookups remaining after this request |
| X-Lookups-Consumed | Lookups consumed by this request |
Example: /v1/lookup
Full company enrichment in a single call.
curl https://agentdata.run/api/v1/lookup?domain=stripe.com \
-H "Authorization: Bearer YOUR_API_KEY"{
"domain": "stripe.com",
"company": {
"name": "Stripe",
"description": "Financial infrastructure for the internet",
"sector": "Financial Services & Fintech",
"vertical": "Payments",
"b2b_b2c": "b2b",
"business_model": "saas",
"sales_motion": "plg",
"size": "large",
"founded_year": 2010,
"headquarters_city": "San Francisco",
"headquarters_country": "US",
"employee_count": 8000,
"linkedin": "https://linkedin.com/company/stripe",
"email_pattern": "first.last",
"is_catch_all": false,
"mx_provider": "google-workspace",
"signals": {
"has_pricing_page": true,
"has_api_docs": true,
"has_blog": true,
"has_careers_page": true
}
},
"emails": {
"data": [
{
"email": "jane.smith@stripe.com",
"name": "Jane Smith",
"title": "VP Engineering",
"confidence": 95,
"verification_status": "valid",
"verified_at": "2026-04-14T10:30:00Z",
"source": "found",
"is_role_based": false
}
],
"total": 42,
"verified": 38,
"returned": 10,
"capped": true
},
"technologies": [
{ "name": "React", "category": "Framework", "confidence": "high" }
],
"people": {
"data": [
{ "id": "...", "name": "...", "title": "CTO", "seniority": "c_level" }
],
"total": 156,
"returned": 10,
"capped": true
},
"lookup": {
"consumed": true,
"remaining": 249,
"cached_until": null
}
}Error Codes
| Status | Meaning | Action |
|---|---|---|
| 400 | Bad request | Check required parameters (e.g. domain, q) |
| 401 | Authentication required | Add Bearer token header |
| 403 | Subscription or feature required | Sign up free at agentdata.run/signup |
| 404 | Not found | Domain or person not in our database |
| 429 | Rate limit or lookup limit | Slow down or try again later |
| 500 | Internal error | Retry or contact support |
MCP Server
Add AgentData to Claude Desktop, Cursor, or any MCP-compatible client.
{
"mcpServers": {
"agentdata": {
"command": "npx",
"args": ["agentdata-mcp-server", "--api-key", "YOUR_API_KEY"]
}
}
}Or use the hosted server:
{
"mcpServers": {
"agentdata": {
"transport": "http",
"url": "https://mcp.agentdata.run/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}The MCP server exposes the same email filters. Agents can ask for outreach-safe emails:
"Look up stripe.com and only show me verified emails with confidence above 90"Ready to start?
Sign up free and get your API key in seconds.