Choose this for a higher fill rate. Submit a bulk list and get results
as a file, typically within 2–3 minutes. For a quick, synchronous response
on a few people, use Contact Enrich instead.
Availability: requires contact-enrich access (enterprise or
higher-tier plans).
Limits: up to 300 profile URLs per submission.
Pricing
Billed per contact type returned, per matched person — the same prices as Person Contact Enrich, with a maximum of 5 per person.
Counted per type, not per record — a person with four business-email
candidates bills once. Persons with no contact data found are not billed for
any type. Result rows contain only the contact types you requested; a
requested type with no data appears as an empty list. See
Pricing for all endpoints.
How it works
Batch contact enrichment is an asynchronous, two-call flow — you submit a job, then fetch the results once it finishes:1
Submit your profile URLs
POST /batch/person/contact/enrich with your list of profile URLs and
the contact fields you want. You get a batch_id back immediately.2
Poll, or wait for a webhook
GET /batch/{batch_id} to check the job status — or pass a
webhook_url on submit and we call you when it finishes.3
Download the results
Once
status is completed, the status response includes a
download_url: a gzipped JSONL file with one record per URL, valid for
5 days.Replace
YOUR_API_KEY in each example with your actual API key. All
requests require the x-api-version: 2025-11-01 header.Pricing: no per-profile base fee — you are charged only for
the contact values that are delivered. See Pricing for
per-field credit costs.
Limits: up to 5 active batch jobs per user at a time.
1. Submit your profile URLs
Send your profile URLs inprofessional_network_profile_urls along with the
contact fields you want. The response returns a batch_id immediately — the
job runs asynchronously.
To be notified when the job finishes instead of polling, include a
webhook_url in the request body. Crustdata sends a callback to that URL
when the batch completes.2. Get the results
Poll thestatus_url (or GET /batch/{batch_id}). While the job runs, status
is pending or processing. When it is completed, the response includes a
download_url.
download_url points to gzipped JSONL (.jsonl.gz) with one record per
submitted profile URL. The link is valid for 5 days.
Fields
Request any combination of these contact fields. Only professional network profile URLs are supported as identifiers for this endpoint.Request parameters
Job lifecycle
Errors
API reference summary
For credit pricing, see Pricing. For throughput guidance, see
Rate limits.
See the full API reference for the complete OpenAPI schema.
What to do next
- Enrich interactively — Contact Enrich returns contact data synchronously for up to 25 URLs per request.
- Find people first — use Person Search to build the list of profile URLs to enrich.

