EnrichmentEnrich leads

Enrich leads

Triggers enrichment jobs for the specified leads. Creates one job per enrichment type and queues them for background processing by the enrichment worker.

Supported enrichment types:

  • email - Email verification (0.2 credits per lead beyond FUP allowance)
  • phoneEnrichment - Multi-provider phone enrichment (20 credits per lead with built-in provider)
  • segGateway - Secure Email Gateway detection (free)
  • espDetection - Email Service Provider detection via MX records (free) — detects Gmail, Outlook, Yahoo, Apple, Zoho, etc.

Provider handling:

  • The built-in enrich provider is always available at no extra configuration.
  • External providers (leadmagic, icypeas, hunter, etc.) must be configured via POST /v1/enrichment-settings/{provider} before use. External providers use your own API key credits - no Enrich credits are charged.

Credits are deducted upfront when using the built-in provider.

Already-enriched leads can optionally be skipped so credits are not spent twice: leads with an existing email verification result are excluded from email jobs, and leads that already have a phone number are excluded from phoneEnrichment jobs. The behavior is controlled by the skipAlreadyEnriched request flag (default false); set it to true to skip already-enriched leads. By default every matched lead is re-enriched and charged. The applied value is echoed back as data.skipAlreadyEnriched, and skip counts are returned in data.alreadyEnriched. If skipping is on and every matched lead is already enriched for all requested types, the request fails with ALREADY_ENRICHED. segGateway and espDetection are free and always re-run.

curl -X POST "https://api.sendkit.ai/v1/enrichment/enrich" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -d '{
  "leadIds": [
    "507f1f77bcf86cd799439011",
    "507f1f77bcf86cd799439012"
  ],
  "enrichmentTypes": [
    "email",
    "phoneEnrichment",
    "segGateway",
    "espDetection"
  ]
}'
{
  "success": true,
  "data": {
    "jobs": [
      {
        "jobId": "bulk_email_verification_1710000000000_abc1234",
        "type": "email_verification",
        "status": "pending",
        "totalItems": 2,
        "creditsUsed": 2
      }
    ],
    "totalLeads": 3,
    "totalCreditsCharged": 2,
    "skipAlreadyEnriched": true,
    "alreadyEnriched": {
      "email": 1
    }
  }
}
POST
/v1/enrichment/enrich
POST
Base URLstring

Target server for requests. Edit to use your own host.

API Key (header: X-Api-Key)
X-Api-Keystring
Required

Platform API key (sk_user_...) or Workspace API key (sk_...)

Platform API key (sk_user_...) or Workspace API key (sk_...)
Content-Typestring
Required

The media type of the request body

Options: application/json
leadIdsarray
Required

MongoDB ObjectIds of leads to enrich

enrichmentTypesarray
Required

Types of enrichment to perform

providerstring

Email verification provider (enrich, leadmagic, icypeas, hunter, etc.)

phoneProviderstring

Phone enrichment provider (enrich, leadmagic, aleads, fullenrich, bettercontact, enrow)

skipAlreadyEnrichedboolean

When true, leads that are already enriched are skipped and not charged. Defaults to false (re-enrich and charge every matched lead).

Request Preview
Response

Response will appear here after sending the request

Authentication

header
X-Api-Keystring
Required

API Key for authentication. Platform API key (sk_user_...) or Workspace API key (sk_...)

Body

application/json
leadIdsarray
Required

MongoDB ObjectIds of leads to enrich

enrichmentTypesarray
Required

Types of enrichment to perform

providerstring

Email verification provider (enrich, leadmagic, icypeas, hunter, etc.)

phoneProviderstring

Phone enrichment provider (enrich, leadmagic, aleads, fullenrich, bettercontact, enrow)

skipAlreadyEnrichedboolean

When true, leads that are already enriched are skipped and not charged. Defaults to false (re-enrich and charge every matched lead).

Responses