Skip to main content
POST

Authorizations

Authorization
string
header
required

API key passed as a Bearer token in the Authorization header.

Headers

x-api-version
enum<string>
default:2025-11-01
required

API version to use. Batch job submission requires 2025-11-01; requests without this header are rejected with 400.

Available options:
2025-11-01
Example:

"2025-11-01"

Body

application/json

Exactly one identifier type — a list of emails or profile URLs — plus an optional webhook.

Request body for a batch person identify (reverse email lookup) job. Provide exactly one identifier type — emails, business_emails, or professional_network_profile_urls. Providing none, or more than one, returns 400. emails accepts business or personal addresses; a personal address resolves here even though the synchronous endpoints match business emails only. The endpoint does not accept fields and returns 400 when the body includes it. Every match returns the same sections.

emails

Emails to reverse-look-up — business or personal addresses. Maximum 300 identifiers per job — larger submissions are rejected with 400. Result rows carry match_type "email".

Example:
business_emails

Emails to reverse-look-up, resolved the same way as emails. Business and personal addresses both resolve. Maximum 300 identifiers per job. Result rows carry match_type "business_email".

Example:
professional_network_profile_urls

Person profile URLs to resolve to their crustdata_person_id. Maximum 300 identifiers per job — larger submissions are rejected with 400.

Example:
webhook_url
string<uri>

Optional URL that receives a POST notification when the job finishes, so you do not have to poll.

Example:

"https://example.com/webhooks/crustdata-batch"

Response

Batch job accepted for processing

Returned immediately when a batch job is accepted. No data is returned at submit time — poll status_url for progress and download links.

batch_id
string<uuid>
required

Unique ID of the batch job. Use it to poll GET /batch/{batch_id}.

Example:

"53ab686b-c054-496b-8baf-baff5ecc85cf"

status
enum<string>
required

Initial job status. Always pending at submit time.

Available options:
pending
Example:

"pending"

entity
enum<string>
required

Entity type the job operates on.

Available options:
company,
person,
social_post
Example:

"company"

action
enum<string>
required

Internal action name for the job. Live endpoints report enrich_live / search_live; the person contact enrichment endpoint reports contact_enrich; the person verification endpoint reports verify.

Available options:
enrich,
enrich_live,
contact_enrich,
search,
search_live,
verify
Example:

"enrich"

identifier_count
integer
required

Number of identifiers submitted. Search jobs always report 1 (the query).

Example:

2

entities_requested
integer
required

Number of entities the job was asked to produce. For enrich jobs this equals identifier_count; for search jobs it is 1 until results are known.

Example:

2

status_url
string
required

Relative URL to poll for the job status (GET /batch/{batch_id}).

Example:

"/batch/53ab686b-c054-496b-8baf-baff5ecc85cf"