Public APIv1
CXFWD API
Search 105M+ companies and 80M+ decision makers, run deep-research enrichment, and drive the outreach agent from your own stack. The API is JSON over HTTPS; every response is UTF-8 and every list endpoint is cursor-paginated.
https://api.cxfwd.com/public/api/Authentication
Authenticate with an API key
Authenticate every request with an API key in the X-API-Key header. Keys are created in the app under Settings → API keys and can be scoped to read-only. Never ship a key in client-side code.
curl https://api.cxfwd.com/public/api/me \
-H "X-API-Key: $CXFWD_API_KEY"
{
"account": "larksilk.com",
"plan": "pay_as_you_go",
"credits_remaining": 27.4,
"daily_budget": 25
}Errors6
Errors & rate limits
Errors use conventional HTTP status codes with a JSON body. Default limits are 600 requests per minute for search and 60 per minute for enrichment jobs; current usage is returned in X-RateLimit-Remaining.
{
"error": {
"type": "invalid_request",
"message": "filters.employees.min must be a positive integer",
"status": 400
}
}| Status | Meaning |
|---|---|
| 400 | Malformed request or invalid filter |
| 401 | Missing or invalid API key |
| 402 | Insufficient credits |
| 404 | Resource not found |
| 429 | Rate limit exceeded – retry after the header value |
| 500 | Something went wrong on our side |
/public/api/companies/searchCompanies search
Semantic search over 105M+ companies. Describe the segment in plain language and optionally add structured filters.
curl -X POST https://api.cxfwd.com/public/api/companies/search \
-H "X-API-Key: $CXFWD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "wedding floral design studios",
"filters": { "country": ["US"], "employees": { "min": 5, "max": 200 } },
"limit": 25
}'{
"total": 76371,
"items": [
{
"id": "cmp_8f2k1q",
"name": "Sweet Pea Events",
"domain": "sweetpeaevents.com",
"description": "Boutique wedding and event design studio ...",
"nace": "N82.30",
"country": "US",
"employees": 12,
"b2b_score": 0.72,
"fit_score": 92
}
],
"next_cursor": "eyJvZmZzZXQiOjI1fQ"
}/public/api/people/searchPeople search
Find decision makers at a company or across a segment. Emails are verified on request and billed per verified contact.
curl -X POST https://api.cxfwd.com/public/api/people/search \
-H "X-API-Key: $CXFWD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"company_ids": ["cmp_8f2k1q"],
"seniority": ["owner", "c-level", "director"],
"verify_emails": true
}'{
"items": [
{
"id": "ppl_2ab9x",
"name": "Rachel Whitfield",
"title": "Owner",
"email": "rachel@sweetpeaevents.com",
"email_status": "verified",
"linkedin": "https://linkedin.com/in/...",
"company_id": "cmp_8f2k1q"
}
],
"credits_used": 0.01
}/public/api/enrichment/jobsEnrichment
Run a deep-research agent over a list of domains with your own criteria. Jobs are asynchronous; poll or use a webhook.
curl -X POST https://api.cxfwd.com/public/api/enrichment/jobs \
-H "X-API-Key: $CXFWD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"domains": ["tupelohoneyflower.com", "thebloomlab.co"],
"fields": [
{ "name": "uses_fresh_flowers", "type": "boolean",
"prompt": "Does the company buy fresh flowers for events?" }
],
"webhook_url": "https://example.com/hooks/cxfwd"
}'{
"job_id": "job_61hd0",
"status": "queued",
"domains": 2,
"estimated_cost": 0.01,
"poll_url": "https://api.cxfwd.com/public/api/enrichment/jobs/job_61hd0"
}/public/api/campaignsCampaigns
List campaigns with live performance metrics. Use POST to create one from a saved segment and PATCH to pause, resume or change the budget.
curl https://api.cxfwd.com/public/api/campaigns?status=scaling \
-H "X-API-Key: $CXFWD_API_KEY"{
"items": [
{
"id": "k1",
"name": "Event designers",
"status": "scaling",
"daily_budget": 10,
"sent": 1840,
"replies": 61,
"hot_leads": 31,
"meetings": 9,
"cost_per_lead": 1.69
}
]
}/public/api/conversationsConversations
Read every thread the agent is handling, including intent classification. Filter by status to pull hot leads into your CRM.
curl "https://api.cxfwd.com/public/api/conversations?status=hot&unread=true" \
-H "X-API-Key: $CXFWD_API_KEY"{
"items": [
{
"id": "v1",
"subject": "Larksilk x Tupelo Honey Flower",
"status": "hot",
"intent": "positive",
"person_id": "ppl_7d1m2",
"campaign_id": "k2",
"last_message_at": "2026-11-14T09:12:00Z",
"messages": 5
}
]
}/public/api/budgetsBudgets
Set the account-wide daily budget and per-campaign caps. The agent never spends above the lower of the two.
curl -X PATCH https://api.cxfwd.com/public/api/budgets \
-H "X-API-Key: $CXFWD_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "daily_budget": 25, "campaigns": { "k1": 10, "k2": 8 } }'{
"daily_budget": 25,
"spent_today": 11.84,
"credits_remaining": 27.4,
"campaigns": { "k1": 10, "k2": 8 }
}/public/api/autopilotAutopilot
Turn the fully autonomous mode on or off. When on, the agent creates new segments and campaigns by itself within your budget.
curl -X POST https://api.cxfwd.com/public/api/autopilot \
-H "X-API-Key: $CXFWD_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "enabled": true, "max_new_campaigns_per_week": 2 }'{
"enabled": true,
"max_new_campaigns_per_week": 2,
"next_review_at": "2026-11-17T08:00:00Z"
}/public/api/analytics/dailyAnalytics
Daily time series of sent, replies, hot leads, meetings and cost. Ideal for dashboards and attribution.
curl "https://api.cxfwd.com/public/api/analytics/daily?from=2026-10-16&to=2026-11-14" \
-H "X-API-Key: $CXFWD_API_KEY"{
"series": [
{ "date": "2026-11-13", "sent": 132, "replies": 5, "hot": 3, "meetings": 1, "cost": 5.28 },
{ "date": "2026-11-14", "sent": 140, "replies": 6, "hot": 3, "meetings": 1, "cost": 5.6 }
],
"totals": { "sent": 3140, "replies": 108, "hot": 55, "meetings": 17, "cost": 125.6 }
}