API Reference
The ProspectIQ REST API gives you programmatic access to prospects, outreach, sequences, and CRM sync. All endpoints return JSON.
Authentication
All API requests must include your API key in the Authorization header.
Authorization: Bearer YOUR_API_KEY
Find your API key at Dashboard → Settings → API Keys. Keep it secret — treat it like a password.
https://myicp.websiteProspects
/api/prospectsReturns a paginated list of prospects in your account, sorted by creation date descending.
Parameters
pageintegerPage number (default: 1)limitintegerResults per page (default: 20, max: 100)statusstringFilter by status: new | contacted | qualified | unqualifiedResponse
{
"prospects": [
{
"id": 1,
"firstName": "Sarah",
"lastName": "Chen",
"email": "[email protected]",
"title": "VP Engineering",
"status": "new",
"score": 82,
"intentSignals": ["Actively Hiring", "Recently Funded"],
"companyName": "Stripe",
"createdAt": "2026-09-01T10:00:00Z"
}
],
"total": 142,
"page": 1,
"limit": 20
}/api/prospectsCreates a new prospect and automatically triggers AI research in the background.
Parameters
firstNamestringRequired. Prospect first name.lastNamestringRequired. Prospect last name.emailstringProspect email address.titlestringJob title.companyIdintegerID of an existing company record.Response
{
"id": 43,
"firstName": "Alex",
"lastName": "Rivera",
"email": "[email protected]",
"title": "Head of Sales",
"status": "new",
"score": 0,
"createdAt": "2026-09-05T14:00:00Z"
}/api/exa/prospect-researchTriggers real-time Exa AI research for a prospect. Returns intent signals, a lead score, and enriched profile data. Takes 3–8 seconds.
Parameters
namestringRequired. Full name of the prospect.companystringRequired. Company name.titlestringJob title for more accurate research.Response
{
"research": "Sarah Chen is VP Engineering at Stripe...",
"intentSignals": ["Actively Hiring", "Recently Funded"],
"prospect": {
"score": 82,
"signals": ["Actively Hiring", "Recently Funded"]
}
}Outreach
/api/outreach/sendSends a single outreach email to a prospect and logs it in the outreach_emails table.
Parameters
prospectIdintegerRequired. ID of the prospect to email.subjectstringRequired. Email subject line.bodystringRequired. Email body (plain text or HTML).Response
{
"ok": true,
"emailId": 17,
"sentAt": "2026-09-05T14:32:00Z"
}/api/outreach/sequenceAdds a prospect to an existing email sequence. The first step sends immediately; subsequent steps follow the sequence schedule.
Parameters
prospectIdintegerRequired. ID of the prospect.sequenceIdintegerRequired. ID of the sequence.Response
{
"ok": true,
"enrollmentId": 9,
"nextSendAt": "2026-09-07T09:00:00Z"
}Notion Sync
/api/notion/sync-prospectUpserts a prospect into your connected Notion Prospects database. Re-syncing a prospect with the same email updates the existing page rather than creating a duplicate.
Parameters
prospectIdintegerRequired. ID of the prospect to sync.Response
{
"ok": true,
"notionPageId": "3d3facff-f714-8141-83e7-d4cd32f37233"
}/api/notion/sync-dealPushes a deal record to your connected Notion Deals database.
Parameters
dealIdintegerRequired. ID of the deal to sync.Response
{
"ok": true,
"notionPageId": "4e4gbdgg-g825-9252-94f8-e5de43g48344"
}Questions about the API?
Our team can help with integration questions, custom use cases, and enterprise API access.