POST /api/v1/public/lead-lists/:id/enrichment/
Enrich email addresses or phone numbers for prospects in a lead list. Credits are deducted upfront and enrichment happens asynchronously in the background. Auth:X-API-Key
Path Parameters
id(integer, required): Lead list ID
Request Body
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
enrichment_type | string | No | FIND_EMAIL | Type: FIND_EMAIL, FIND_EMAIL_WATERFALL, or FIND_PHONE |
prospect_limit | integer | No | 100 | Maximum number of prospects to enrich |
mode | string | No | async | Either sync (return results immediately) or async (background processing) |
webhook_url | string | No | null | URL to send results to when enrichment completes (async mode only) |
filters | object | No | {} | Additional filters to apply |
sort_field | string | No | id | Field to sort by |
sort_direction | string | No | asc | Sort direction (asc or desc) |
Enrichment Types
| Type | Description | Cost per Lead | When to Use |
|---|---|---|---|
FIND_EMAIL | Basic email finding | 3 credits | Fast, cost-effective email discovery |
FIND_EMAIL_WATERFALL | Multi-provider email finding | 6 credits | Higher success rate, more comprehensive |
FIND_PHONE | Phone number finding | 30 credits | Mobile and direct phone numbers |
Response (Async Mode)
Response (Sync Mode)
Response Fields
| Field | Type | Description |
|---|---|---|
success | boolean | Whether the enrichment was initiated successfully |
mode | string | sync or async |
enrichment_type | string | The enrichment type used |
enriched_count / total_count | integer | Number of prospects enriched |
success_count | integer | (Sync only) Number of successfully enriched prospects |
credits_deducted | integer | Total credits deducted |
remaining_credits | integer | Your remaining credit balance |
webhook_url | string | (Async only) Webhook URL if provided |
results | array | (Sync only) Enrichment results for each prospect |
How It Works
- Validation: Checks if you have enough credits
- Credit Deduction: Deducts credits upfront from your account
- Status Update: Sets prospects to “Loading…” status
- Background Processing: Enrichment happens asynchronously
- Auto-Update: Prospects are automatically updated when data is found
Important Notes
- Asynchronous: Enrichment happens in the background. Results appear gradually.
- Credit Deduction: Credits are deducted immediately, even if enrichment fails for some leads
- Automatic Filtering: Only prospects without valid emails/phones are enriched
- PEOPLE Lists Only: This endpoint only works for people lists, not company lists
- Refunds: If an email/phone is not found, credits may be refunded (varies by type)
Error Responses
400 Bad Request - Insufficient Credits
400 Bad Request - Wrong List Type
400 Bad Request - Invalid Enrichment Type
404 Not Found
Example Usage
Async Mode (Default)
Sync Mode (Immediate Results)
Python Example: Async Mode with Webhook
Python Example: Sync Mode (Immediate Results)
Complete Workflow Example
Monitoring Enrichment Progress
Since enrichment happens asynchronously, you can poll the lead list to check progress:Best Practices
- Check Cost First: Always use the count endpoint before enriching
- Start Small: Test with a small batch before enriching thousands
- Monitor Credits: Keep track of your credit balance
- Batch Processing: Enrich in batches rather than all at once
- Waterfall for Higher Success: Use
FIND_EMAIL_WATERFALLfor better results (costs more) - Phone Last: Phone enrichment is expensive (30 credits) - use sparingly
- Check Results: Poll the lead list to verify enrichment completed successfully
