How batch search differs from non-batch search
- One query, whole result set. You submit a single query; the job paginates server-side until
max_resultsis reached or the matches run out. max_resultsis the only volume control. It clamps to 10,000 and defaults to that cap when omitted. Values above the cap are silently clamped; zero or negative values return400. The non-batch paging knobs —limit,page,preview— are silently ignored.- Flat records. Each line in the results file has exactly the non-batch search record shape. No envelope.
- Exact field projection. When you pass
fields, each record contains exactly those fields — nothing more. Omitfieldsto get every field your account can read.
Database batch search
POST /batch/company/search takes the same filter fields and operators as
Company Search, with one extra rule: the top
level of filters must be an {op, conditions} group — a bare
{field, type, value} condition is rejected with 400. Groups nest inside
conditions for complex queries.
This finds companies with more than 1,000 employees:
identifier_count: 1 — the one query. When the job
completes, the downloaded file contains flat records with exactly the
requested fields:
The results file (all records)
Two warnings before you submit large jobs
Errors
400 — no filters
400 — invalid max_results
What to do next
- Build queries interactively first — iterate with Company Search page by page, then submit the final query as a batch job.
- Look up operators and fields — see the search reference.
- Enrich the companies you found — see Batch Company Enrich.
- Search people in batch — see Batch Person Search.
- Full schema — see the API reference.

