Back to docs

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.

Request header
Authorization: Bearer YOUR_API_KEY

Find your API key at Dashboard → Settings → API Keys. Keep it secret — treat it like a password.

Base URLhttps://myicp.website

Prospects

GET/api/prospects

Returns 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 | unqualified

Response

200 OK — application/json
{
  "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
}
POST/api/prospects

Creates 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

200 OK — application/json
{
  "id": 43,
  "firstName": "Alex",
  "lastName": "Rivera",
  "email": "[email protected]",
  "title": "Head of Sales",
  "status": "new",
  "score": 0,
  "createdAt": "2026-09-05T14:00:00Z"
}
POST/api/exa/prospect-research

Triggers 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

200 OK — application/json
{
  "research": "Sarah Chen is VP Engineering at Stripe...",
  "intentSignals": ["Actively Hiring", "Recently Funded"],
  "prospect": {
    "score": 82,
    "signals": ["Actively Hiring", "Recently Funded"]
  }
}

Outreach

POST/api/outreach/send

Sends 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

200 OK — application/json
{
  "ok": true,
  "emailId": 17,
  "sentAt": "2026-09-05T14:32:00Z"
}
POST/api/outreach/sequence

Adds 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

200 OK — application/json
{
  "ok": true,
  "enrollmentId": 9,
  "nextSendAt": "2026-09-07T09:00:00Z"
}

Notion Sync

POST/api/notion/sync-prospect

Upserts 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

200 OK — application/json
{
  "ok": true,
  "notionPageId": "3d3facff-f714-8141-83e7-d4cd32f37233"
}
POST/api/notion/sync-deal

Pushes a deal record to your connected Notion Deals database.

Parameters

dealIdintegerRequired. ID of the deal to sync.

Response

200 OK — application/json
{
  "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.

Contact support