Batch search
How batch job search differs from non-batch search
- Companies, not filters. Provide a
crustdata_company_idslist — a JSON array of integers (a comma-separated string is rejected). The job returns all listings for those companies. To search listings by arbitrary filters, use the non-batch Search Jobs instead. - Up to 10 companies per job. More than 10 IDs returns
400. Resolve IDs from a name, domain, or profile URL with the free Company Identify endpoint. - Whole result set. The job paginates server-side and delivers every listing — there is no
max_resultsor cursor control. - Flat records. Each line in the results file has exactly the non-batch Search Jobs record shape. No envelope.
- Exact field projection. When you pass
fields, each record contains exactly those dotted paths — nothing more. Omitfieldsto get every field your account can read. The selectable fields are the same as non-batch Search Jobs.
status: "pending" means the
job is queued. Poll it with GET /batch/{batch_id} until status reaches
completed, then download the results file, as described in Working with batch
jobs below. (Search jobs always report
identifier_count: 1 — the one submission.)
To keep each record small, project just the fields you need:
Request body — and URL only
The results file (title and URL only)
Errors
400 — no company IDs
400 — comma-separated string instead of a JSON array
400 — more than 10 company IDs
What to do next
- Build queries interactively first — iterate with Search Jobs page by page, then pull the full set for your target companies as a batch job.
- Look up fields — see the Search reference.
- Resolve company IDs — use the free Company Identify endpoint.
- Search people or companies in batch — see Batch Person Search or Batch Company Search.
- Full schema — see the API reference.

