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.

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

Business email addresses to reverse-look-up. Maximum 300 identifiers per job. Prefer emails if any address may be personal — business_emails matches business addresses only.

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.

Available options:
enrich,
enrich_live,
contact_enrich,
search,
search_live
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"