---
title: "Search the jobs dataset (all companies' live postings)"
method: GET
path: "/datasets/jobs/search"
tags: ["Datasets"]
---

# Search the jobs dataset (all companies' live postings)

`GET /datasets/jobs/search`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/datasets/jobs/search`
- Auth: API key in header `x-api-key`

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`. Billing: this search 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).

## Query parameters

- `q` string
- `company` string
- `provider` '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'
- `department` string
- `location` string
- `city` string
- `state` string
- `country` string
- `employment_type` string
- `job_family` string
- `remote` boolean
- `workplace_type` 'onsite' | 'hybrid' | 'remote'
- `include_closed` boolean
- `min_salary` number
- `max_salary` number
- `salary_currency` string
- `sort` 'relevance' | 'posted_desc' | 'company_asc'
- `page` integer
- `page_size` integer

## Headers

- `x-api-key` string, required

## Response `200`

OK

- DatasetsJobsSearchResponseDoc
  - `code` integer
  - `data` DatasetsJobsSearchResponse
    - `jobs` object[]: Matching job postings on this page.
    - `page` integer: Page number returned.
    - `page_size` integer: Number of items per page.
    - `total` integer: Total number of postings matching the filters.
  - `msg` string

## Other responses

- `400`: Bad Request
- `500`: Internal Server Error

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/028417aa35bb?raw)
