Batch contact enrichment

Resolve a batch of email addresses to enriched contact records — the same identity data as GET /api/v1/lookup, but up to 1000 emails per call. Each email is normalized and SHA-256 hashed before lookup.

Filtering and billing. Provide an optional filter (same grammar as the lookup endpoint) to receive only records that match; non-matching records are dropped from the response and are not billed. Billing is on egress as contact_record — only records that carry a business email are billed, so a filtered-out or non-resolving email costs nothing. To receive and be billed for only records with a current business email, set filter to current_business_email:ne:"".

Pagination. page_size (default 100, max 1000) bounds the page; a non-empty cursor in the response means more records remain — pass it back to fetch the next page.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
emails
array of strings
required
length ≤ 1000

Email addresses to enrich (max 1000 per request).

emails*
integer
1 to 1000
Defaults to 100
string

Opaque pagination cursor from a previous response.

string

Optional predicate applied to each resolved record. Same grammar as the lookup endpoint: field:op:value, , = AND, | = OR, ops eq/ne/like/not_null. Non-matching records are dropped from the response and never billed.

boolean
Defaults to false

When true, returns the cost of this exact request instead of the records: the meter and the number of records a live run would charge. Nothing is billed and no contact data is returned. A non-empty cursor means more pages remain; each page would charge its own records_to_charge.

Responses

400

Invalid request (no emails, too many emails, or a malformed filter).

401

Missing or invalid authentication.

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json