Lead Enrichment Overview
Lead Enrichment (LE) is Dealsignal’s asynchronous bulk-enrichment product. You submit a list of contacts in a columnar format, Dealsignal matches each row against its verified B2B database, runs the enrichment pipeline, and returns paginated results.
A single LE job can process from a handful to tens of thousands of leads. The pipeline runs in the background — poll status or use a webhook.
Lifecycle
Quickstart
Poll until complete
The job is wrapped in lead_enrichment. The response carries more keys than shown; see the API Reference for the documented ones.
Key request fields
About lead_data
lead_data is columnar, not row-of-objects: keys defines the field names, each entry in values is one lead’s data in the same order.
Allowed keys: first_name, last_name, company_name, email, linkedin_url, title, city, state, country, unique_identifier.
Webhooks
Provide a webhook URL on job creation and Dealsignal will POST a notification when the job finishes. The body is the job object — the same fields as lead_enrichment in GET /api/v1/lead_enrichments/{id}, without the wrapper. It does not carry the leads; fetch them from final_result.
The notification is sent once, while the job is being finalized, so its payload shows status: "Completion Running" and is_completed: false — treat the webhook’s arrival as the completion signal. Acknowledge with any 2xx first, then fetch results; if final_result returns a message instead of enriched_leads, retry after a few seconds. If the job reads is_completed: true and final_result still returns a message, stop retrying and check page / page_size. If your endpoint was unavailable, poll GET /api/v1/lead_enrichments/{id} instead.