v1

latestOpenAPI 3.0.32026-07-222085264.6 KB
Batch APIs

Submit a batch job-listings search job

Retrieve every job listing in the dataset for up to 10 companies in a single asynchronous job. Where the non-batch /job/search returns one cursor page per call, the batch job walks every page for you and delivers the complete result set as one file.

<Note> An account may have at most 5 active (`pending` or `processing`) batch jobs at a time; submitting a sixth returns `429`. </Note>

Unlike the other batch search jobs, this endpoint does not take a filters group — provide a crustdata_company_ids list (a JSON array of integers; comma-separated strings are rejected) and the job returns all listings for those companies. To search listings by arbitrary filters, use the non-batch /job/search. Records in the downloaded results file are flat, identical to the non-batch /job/search record shape.

Billing is per listing delivered, at the same rate as the non-batch /job/search — see Pricing.

post/batch/job/search

Headers

x-api-version'2025-11-01' required
Example:2025-11-01

API version to use. This endpoint currently requires 2025-11-01.

Request body

crustdata_company_idsinteger[] required

Crustdata company IDs whose job listings to retrieve. Maximum 10 per job — larger submissions are rejected with 400. Must be a JSON array of integers; a comma-separated string returns 400. Resolve IDs from a name, domain, or profile URL with the free /company/identify endpoint.

webhook_urlstring uri

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

Example request

{
  "crustdata_company_ids": [
    6036032
  ],
  "fields": [
    "job_details.title",
    "job_details.url"
  ]
}

Response

Batch job accepted for processing

batch_idstring uuid required

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

status'pending' required

Initial job status. Always pending at submit time.

entity'company' | 'person' | 'social_post' required

Entity type the job operates on.

action'enrich' | 'enrich_live' | 'contact_enrich' | 'search' | 'search_live' required

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

identifier_countinteger required

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

entities_requestedinteger 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.

status_urlstring required

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

Example response

{
  "batch_id": "53ab686b-c054-496b-8baf-baff5ecc85cf",
  "status": "pending",
  "entity": "company",
  "action": "enrich",
  "identifier_count": 2,
  "entities_requested": 2,
  "status_url": "/batch/53ab686b-c054-496b-8baf-baff5ecc85cf"
}