Skip to main content
POST
Submit a batch company enrichment job

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 company identifier type, plus optional field selection, webhook, and chunking options.

Request body for a batch company enrichment job. Provide exactly one identifier type — names, domains, professional_network_profile_urls, or crustdata_company_ids. Providing none, or more than one, returns 400. Each identifier list may also be sent as a single comma-separated string.

names

Company names to enrich. Maximum 10,000 identifiers per job — larger submissions are rejected with 400.

Example:
domains

Company website domains to enrich. Maximum 10,000 identifiers per job — larger submissions are rejected with 400.

Example:
professional_network_profile_urls

Company profile URLs to enrich. Maximum 10,000 identifiers per job — larger submissions are rejected with 400.

Example:
crustdata_company_ids

Crustdata company IDs to enrich. Maximum 10,000 identifiers per job — larger submissions are rejected with 400.

Example:
fields

Optional list of dotted field paths to include in each company record (also accepted as a single comma-separated string). When omitted, the default basic_info field set is returned; requested fields are returned in addition to the defaults. An unsupported value returns 400 with the full list of selectable fields in metadata.available_fields. The selectable fields are the same as the non-batch /company/enrich endpoint.

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"

chunk_size
integer
default:100

Optional internal processing chunk size (number of identifiers per processing unit). Values outside 10-1000 return 400.

Required range: 10 <= x <= 1000
Example:

100

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"