Endpoint Playground
Test Crawlora's Search the jobs dataset API with realistic prefilled filters. Generate a cURL request, inspect stored structured JSON records, and open the full docs or pricing page when you are ready to integrate dataset search. Dataset Playground requests query indexed data and do not apply proxy routing.
curl "https://api.crawlora.net/api/v1/datasets/jobs/search?provider=greenhouse&workplace_type=onsite&sort=relevance" \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| q | string | No | Full-text over title, company, description | |
| company | string | No | Company name match | |
| provider | string | No | greenhouse | Provider filter |
| department | string | No | Exact department filter | |
| location | string | No | Location match | |
| city | string | No | Exact city filter (parsed location component) | |
| state | string | No | Exact state/region filter (parsed location component) | |
| country | string | No | Exact country filter (parsed location component); ISO country code or name, matched case-insensitively | |
| employment_type | string | No | Exact employment-type filter | |
| job_family | string | No | Exact ESCO/ISCO job-family label filter | |
| remote | boolean | No | Filter by remote (true or false) | |
| workplace_type | string | No | onsite | Workplace type filter |
| include_closed | boolean | No | Include closed/filled roles (default false = open only) | |
| min_salary | number | No | Minimum salary (matches postings whose range reaches at least this); requires salary_currency | |
| max_salary | number | No | Maximum salary (matches postings whose range starts at or below this); requires salary_currency | |
| salary_currency | string | No | 3-letter ISO currency code (e.g. USD) the min_salary/max_salary bounds are in; required when either bound is set | |
| sort | string | No | relevance | Sort enum: relevance, posted_desc, company_asc |
| page | integer | No | Page number, default 1 | |
| page_size | integer | No | Page size, default 20, max 100; page*page_size must be <= 10000 |
{
"code": 200,
"msg": "OK",
"data": {
"total": 1,
"page": 1,
"page_size": 20,
"jobs": [
{
"posting_id": "greenhouse:ab12cd:9f0e",
"provider": "greenhouse",
"company": "Stripe",
"title": "Staff Software Engineer",
"seniority_level": "senior",
"occupation_label": "software developer",
"job_family": "Information and communications technology professionals",
"occupation_confidence": 0.88,
"location": "US Remote",
"remote": true,
"employment_type": "Full-time",
"url": "https://stripe.com/jobs/listing/5501234",
"posted_at": "2026-07-01T00:00:00Z",
"is_open": true
}
]
}
}Public Playground
Sample responses, schemas, request previews, and code snippets are visible before sign in. Create an account when you are ready to save an API key and run authenticated requests.
Full-text + faceted search over every job posting crawled from every discovered company ATS board (Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable, Recruitee, Rippling, Personio, Teamtailor, Oracle, UKG, iCIMS, Eightfold, Gem, Pinpoint) plus 5 single-company big-tech careers platforms (Amazon, Apple, Google, Meta, Tesla). Open roles only by default (set include_closed=true for historical/filled roles). Salary is parsed from a structured field when the provider has one, or from an explicit pay figure stated in the description otherwise, so coverage varies by posting rather than by provider; min_salary/max_salary filter on it and require salary_currency, since comparing raw compensation numbers across currencies is meaningless. Location is also exposed as structured city/state/country fields alongside the free-text location string, so city/state/country filter on an exact match of those parsed components rather than substring-matching the display string. job_family is an exact level-2 ISCO family label assigned from ESCO occupation evidence; ambiguous postings remain unclassified and do not match that filter. employment_type is never populated for google-jobs/meta-jobs, and posted_at (so sort=posted_desc) is never populated for meta-jobs/tesla-jobs -- their upstream APIs expose no such field. 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`. workplace_type enum: `onsite`, `hybrid`, `remote`. sort enum: `relevance`, `posted_desc`, `company_asc`. Dataset endpoints are built for repeatable structured search, facets, geo queries, pagination, and item lookup over indexed records. They do not trigger live scraping or proxy routing.
{
"code": 200,
"msg": "OK",
"data": {
"total": 1,
"page": 1,
"page_size": 20,
"jobs": [
{
"posting_id": "greenhouse:ab12cd:9f0e",
"provider": "greenhouse",
"company": "Stripe",
"title": "Staff Software Engineer",
"seniority_level": "senior",
"occupation_label": "software developer",
"job_family": "Information and communications technology professionals",
"occupation_confidence": 0.88,
"location": "US Remote",
"remote": true,
"employment_type": "Full-time",
"url": "https://stripe.com/jobs/listing/5501234",
"posted_at": "2026-07-01T00:00:00Z",
"is_open": true
}
]
}
}curl "https://api.crawlora.net/api/v1/datasets/jobs/search" \
-H "x-api-key: $CRAWLORA_API_KEY"