Job Opportunity Index
Endpoints

Count

How many postings active-jobs would return for the same filters: {"count": n}. time_frame=1m counts everything indexed in the last 31 days, including postings closed since, which is the monthly volume for sizing. Counts stop after 25 seconds; narrow very broad ones.

Request

GET /api/v1/active-jobs-count · API reference →

All parameters

ParameterDescription
Window
time_frame1h (hourly polling), 24h (daily, the default), 7d (a week), 6m (every open posting, for a backfill). Counts also accept 1m: everything indexed in 31 days, closed or not. No ingestion delay: a posting is in the window the moment it is indexed. Every window holds only postings their source still lists; roles first posted more than 12 months ago are left out.
Response
include_duplicatestrue: also the same opening found on a second channel.
Text search
titleGoogle-style search of the title: software engineer (both words), "software engineer" (phrase), python OR rust, -senior (exclude).
descriptionThe same syntax over the title and the complete description.
locationThe same syntax over the location, raw and normalised: Munich also finds München; "London, England, United Kingdom"; "United States" OR Canada.
title_advancedBoolean: & and, | or, ! not, <-> followed by, <N> within N words, 'exact phrase', manag:* prefix, parentheses. E.g. (python | rust) & senior & !staff.
description_advancedBoolean expression over title and description.
location_advancedBoolean expression over the location: Germany & !(Berlin | Munich).
organization_advancedBoolean expression over the employer's name.
skillComma-separated skills, all required: Python,SQL.
Dates
date_posted_gtePosted on or after (ISO 8601, UTC).
date_posted_ltPosted before.
date_created_gteFirst indexed on or after: the safe cursor for incremental syncs.
date_created_ltFirst indexed before.
Source
sourceComma-separated sources: greenhouse, lever (or lever.co), ashby, workday, oracle, smartrecruiters, workable, recruitee, personio, bamboohr, teamtailor, breezy, adp, arbeitsagentur, eures, career_site. See Supported sources.
exclude_sourceSources to leave out.
source_typeats, career_site, public_employment_service.
Employer
organizationExact employer names, comma-separated.
exclude_organizationEmployers to leave out.
domainEmployer domains: nvidia.com,microsoft.com.
exclude_domainDomains to leave out.
organization_agencyonly staffing / placement agencies, or exclude them (direct employers only).
organization_industrySector, e.g. technology, finance, healthcare.
organization_sizeCompany size buckets, comma-separated: 1, 2-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+.
organization_headcount_gteAt least this many employees.
organization_headcount_ltFewer than this many employees.
company_countryEmployer's home country (ISO code).
Derived
experience_level0-2, 2-5, 5-10, 10+ years (also as ai_experience_level).
work_arrangementOn-site, Hybrid, Remote OK, Remote Solely.
employment_typeFULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY, INTERN, VOLUNTEER.
languageLanguage the posting is written in: English, German, French, Spanish…
educationhigh school, associate degree, bachelor degree, postgraduate degree.
taxonomiesJob function, e.g. Software Engineering, Data & AI, Sales (also ai_taxonomies_a, function).
exclude_taxonomiesFunctions to leave out.
visa_sponsorshiponly postings that offer sponsorship, or exclude them.
seniorityinternship, entry, mid, senior, lead, manager, director, executive.
Other
has_salarytrue: only postings that state pay.
salary_minMinimum yearly pay (hourly, daily, weekly and monthly pay are converted).
currencyUSD, EUR, GBP…
countryISO country codes of the job's location: US,CA.
has_no_locationtrue: only postings without a recognisable place.
full_text_onlytrue: only postings whose complete text is stored.

Try it

Try itGET/api/v1/active-jobs-count
All parameters (36)
Press “Send request” to call the live API.

Sample response

Live, from this index.

{
  "count": 940321,
  "time_frame": "24h"
}