Datasets API endpoint
Searches the discovered company board registry — which companies are hiring, on which ATS (or, for the 5 single-company big-tech providers, which platform), with how many open roles. Set sponsors_visa=true to keep companies with certified employer filings in recent public U.S. Department of Labor LCA disclosure data. This is company-level historical evidence, not a guarantee for a specific role or candidate. provider enum: `greenhouse`, `lever`, `ashby`, `workday`, `smartrecruiters`, `workable`, `recruitee`, `rippling`, `personio`, `teamtailor`, `oracle`, `ukg`, `icims`, `eightfold`, `gem`, `pinpoint`, `amazon-jobs`, `apple-jobs`, `google-jobs`, `meta-jobs`, `tesla-jobs`. status enum: `active`, `empty`, `gone`, `blocked`, `pending`, `invalid`. sort enum: `open_desc`, `company_asc`, `crawled_desc`. Billing: this endpoint costs 1 credit per 10 records returned, rounded up, with a minimum of 1 (up to 10 records cost 1, a full page of 100 costs 10).
/datasets/jobs/companiesSearches the discovered company board registry — which companies are hiring, on which ATS (or, for the 5 single-company big-tech providers, which platform), with how many open roles. It can optionally keep only companies with recent certified U.S. Department of Labor Labor Condition Application (LCA) filings. Sponsorship data is historical company-level evidence, not a guarantee that a specific role or candidate will be sponsored.
Query parameters:
q — match on company name / domain.provider — provider filter. Enum: greenhouse, lever, ashby, workday, smartrecruiters, workable, recruitee, rippling, personio, teamtailor, oracle, ukg, icims, eightfold, gem, pinpoint, amazon-jobs, apple-jobs, google-jobs, meta-jobs, tesla-jobs.status — board status. Enum: active, empty, gone, blocked, pending, invalid (invalid means the stored board coordinates fail the provider's own input validation — e.g. a malformed Oracle site id — and will never succeed without a fix or re-discovery, unlike blocked which is a transient upstream failure worth retrying).min_open_roles (int) — minimum open roles.sponsors_visa (bool) — when true, keep companies with at least one certified or certified-withdrawn filing in the recent DOL LCA disclosure window. Default false.sort — enum: open_desc, company_asc, crawled_desc.page, page_size — 1-based; page_size default 20, max 100.Returns total, page, page_size, and companies[] (board registry rows: provider, company_name, domain, careers_url, open_roles_count, sponsors_visa, status, last_crawled).
1 credit per 10 records returned, rounded up, minimum 1. A call that returns up to 10 records costs 1 credit, 20 records cost 2, a full page of 100 costs 10, and an empty result costs 1. You are charged for what comes back, not for the page_size you ask for, but your balance must cover the requested page_size for the call to be accepted. The response header x-credit-cost shows what a call was charged.
| Field | Filled in, of 2 checked | Values in the sample |
|---|---|---|
| board_id | 2 | |
| company_name | 2 | |
| company_normalized | 2 | |
| coords | 2 | |
| discovery_source | 2 | |
| first_seen | 2 | 2026-07-29 to 2026-08-18 |
| last_crawled | 2 | 2026-10-10 |
| last_crawled_ms | 2 | 1,791,603,759,141 to 1,791,606,052,409, median 1,791,603,759,141 |
| open_roles_count | 2 | 7 to 729, median 7 |
| provider | 2 | |
| sponsors_visa | 2 | true in 1 of 2 |
| status | 2 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| q | string | No | Match on company name / domain | ||
| provider | string | No | Provider filter Allowed values: greenhouse, lever, ashby, workday, smartrecruiters, workable, recruitee, rippling, personio, teamtailor, oracle, ukg, icims, eightfold, gem, pinpoint, amazon-jobs, apple-jobs, google-jobs, meta-jobs, tesla-jobs. | ||
| status | string | No | Board status. Enum: active, empty, gone, blocked, pending, invalid Allowed values: active, empty, gone, blocked, pending, invalid. | ||
| min_open_roles | integer | No | Minimum open roles | ||
| sponsors_visa | boolean | No | Keep companies with recent certified DOL LCA filings (default false) | ||
| sort | string | No | Sort enum: open_desc, company_asc, crawled_desc Allowed values: open_desc, company_asc, crawled_desc. | ||
| page | integer | No | Page number, default 1 | ||
| page_size | integer | No | Page size, default 20, max 100 | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/datasets/jobs/companies?q=coffee&provider=greenhouse&status=active&sponsors_visa=true&sort=open_desc&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"total": 1,
"page": 1,
"page_size": 20,
"companies": [
{
"board_id": "greenhouse:ab12cd",
"provider": "greenhouse",
"company_name": "Stripe",
"domain": "stripe.com",
"careers_url": "https://boards.greenhouse.io/stripe",
"open_roles_count": 511,
"sponsors_visa": true,
"status": "active",
"last_crawled": "2026-07-17T00:00:00Z"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/datasets.jobsCompaniesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | datasets.JobCompaniesResponse | No | ||||
| data.companies | array | No | ||||
| data.page | integer | No | ||||
| data.page_size | integer | No | ||||
| data.total | integer | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/datasets/jobs/companies?q=coffee&provider=greenhouse&status=active&sponsors_visa=true&sort=open_desc&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"