Search companies
POST/api/v2/bulk/companies/search
This request is queued, not processed while you wait. The response carries a correlation id — poll the bulk task until it reports a terminal state. See How asynchronous processing works.
Queued, not immediate — the response carries a correlation id to poll on GET /api/v2/bulk/tasks/{correlationId}. The finished task lists one entry per result page: gzipped JSON files of at most pageSize companies (default 5000), each a complete document on its own, with custom-property descriptions declared once at the top and referenced by id. Narrow the search by certification id, by a group your profile owns, or ask for every standard your API key can reach; at least one of those is required. Certifications and their validations are not part of this result — fetch them from POST /api/v2/bulk/standards/holders/search, joined on the company id. A holding qualifies a company for inclusion when it is validated; includeExpired / includeInProgress widen that to expired or in-progress holdings as well, and addresses are left out unless includeAddresses does. Custom properties are returned only for the ids listed in customPropertyIds — omitting it returns no fields at all, where the v1 search returned every property your profile owns.
Request
Responses
- 200
- 400
- 403
Queued. The correlation id means the search has started, not that a result file exists yet.
Returned when the request narrows by nothing, carries an empty array where ids are required, or asks for a page size outside 100–10000.
Group-ownership denials are not returned here: the search is queued before the group check runs, and a request naming a group your profile doesn't own completes with that denial in the finished task's errors.