leads

List leads

List leads for the team, with optional filters. Pass linkedinUrl to find the lead IDs for one LinkedIn profile — the usual first step before DELETE /v1/leads/{id} when a prospect has replied somewhere else.

get/v1/leads

Request

  • Base URL: https://api.botdog.co
  • URL: https://api.botdog.co/v1/leads
  • Auth: API key in header x-api-key

Query parameters

campaignIdstring

Filter by campaign ID

linkedinUrlstring
Example:https://www.linkedin.com/in/jane-doe

Find the leads for one LinkedIn profile. The URL is normalized before matching, so any spelling works — http/https, with or without www., a trailing slash, or tracking parameters. Sales Navigator and private (39-character) profile URLs are matched too.

The same person can hold one lead per campaign and one per list, so this can return several leads — combine it with campaignId to narrow to the sequence you mean. Returns 400 if the value is not a LinkedIn profile URL.

listIdstring

Filter by list ID

campaignStatus'CREATED' | 'ACTIVE' | 'PAUSED' | 'ERROR' | 'ARCHIVED' | 'COMPLETED'

Filter by campaignStatus: the campaign's status when the lead was added. It does not reflect where the lead is in its sequence.

repliedboolean

Filter to leads that have / have not replied

unreadboolean

Filter to leads with / without an unread reply

skippedboolean

Filter to leads that were / were not skipped

skippedReason'DUPLICATE_IN_ANOTHER_CAMPAIGN_AT_IMPORT' | 'DUPLICATE_IN_ANOTHER_TEAM_CAMPAIGN_AT_IMPORT'

Filter by skip reason

limitnumber

Maximum number of leads to return (1-100)

cursorstring

Cursor from a previous response, to fetch the next page

Response

nextCursorstring nullable required

Opaque cursor for the next page; null when there are no more results. Pass it back as the cursor query parameter.

Example response

{
  "data": [
    {
      "name": "Jane Doe",
      "linkedinProfile": "https://www.linkedin.com/in/jane-doe"
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.