US Government Jobs API avatar

US Government Jobs API

Pricing

from $1.50 / 1,000 job records

Go to Apify Store
US Government Jobs API

US Government Jobs API

Find US government job postings from .gov and .mil source or employer domains by role, location, company, salary, posting age, employment type, remote status, and seniority.

Pricing

from $1.50 / 1,000 job records

Rating

0.0

(0)

Developer

Aspen Technology Labs, Inc.

Aspen Technology Labs, Inc.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

Share

US Government Jobs API - JobsIndex by Aspen Tech Labs

Access US government job postings through the JobsIndex API, built by Aspen Tech Labs. This Actor searches jobs whose source URL or employer domain indicates a US government source, including .gov and .mil domains.

The JobsIndex API, built by Aspen Tech Labs, collects over 70K government job postings in the US. Part of a broader index aggregating 11M+ active job listings daily from 300K+ employer source sites globally.

The Actor is fixed internally to US public-sector jobs (including local government jobs). Users can narrow the dataset by role keywords, location, salary, company, posting age, employment type, remote status, seniority, and pagination fields.

Need more or something different?

If this actor is working well for you, we'd love a review. For more data, custom feeds, feedback, or any questions, reach out via our website or email. You can also explore JobMarketPulse, our labor and job market intelligence platform.

Built-In Search Preset

This Actor always applies:

country = United States
what = @(url_source,company_domain)(".gov" OR ".mil")

The user-facing what field does not replace that preset. Instead, if a user enters what, the Actor appends it to the internal government-jobs query.

For example, user input:

{
"what": "police",
"region": "Virginia",
"size": 5
}

is sent to the JobsIndex API as:

{
"what": "@(url_source,company_domain)(\".gov\" OR \".mil\") AND @(title,title_raw,category,sub_category) (police)",
"country": "United States",
"region": "Virginia",
"size": 5
}

If what is empty, the Actor sends only the internal government-jobs preset.

Quick Start

{
"what": "engineer",
"region": "California",
"size": 5
}

Input Parameters

ParameterDescriptionExample
salarySalary amount or range filter.20h-30h
whatOptional role/category search within US government jobs. The Actor appends this to the internal .gov/.mil source preset.police
whereFree-text location search. Prefer structured location fields for exact filters.Virginia
countryFixed preset. Runtime always uses United States; changes are ignored.United States
regionState, province, or region.California
cityCity filter.Sacramento
postal_codePostal or ZIP code filter.95814
metro_areaMetropolitan area filter.Sacramento-Roseville-Folsom, CA
titleJob title filter.Police Officer
company_namePublic employer name filter.Town of Leesburg, VA
company_domainEmployer domain filter.leesburgva.gov
categoryJob category filter.Security
sub_categoryMore specific job function or role group.Security Officer
industryCompany industry filter.Government
postedRelative posting age or ISO date. Empty by default to cover the broader live public jobs index.1w
employment_typeEmployment type.Full-Time
remoteWork arrangement filter. Supported values: remote, on-site, hybrid.on-site
senioritySeniority level.Senior
pagePage number, starting from 0.0
sizeNumber of results per page. Default 5, min 1, max 100.5

Search Behavior

The internal government-jobs preset searches across:

  • url_source
  • company_domain

When a user provides what, the Actor searches that value across:

  • title
  • title_raw
  • category
  • sub_category

This keeps user search focused on the role or job family while preserving the government-jobs filter.

Examples:

what = police
what = nurse
what = engineer
what = software engineer OR data analyst

Advanced Filters

what searches role and job-family terms across title, title_raw, category, and sub_category. It supports plain-text search and boolean logic. where supports plain-text location search, boolean logic, and field-targeted location search.

Plain keyword examples:

what = police OR public health
where = United States

For exact role or job metadata matching, use structured fields. For field-targeted location search, prefix the location query with @field:

title = budget analyst
where = @country United States

To search a custom group of location fields, use @(field1,field2) (query):

what = police OR emergency management
where = @(country,region,city,metro_area,county,sub_city) (United States)
where = @(city,region,metro_area) (Washington OR Virginia)
where = @(city,region,metro_area) (Virginia)

Structured Filter Precedence

The built-in government-jobs preset is always retained. When you use what or where, avoid sending separate structured filters for the same search unless you want those structured filters to take priority.

  • For where, location fields such as country, region, city, postal_code, and metro_area take priority and can override or narrow the free-text location query. The Actor always enforces country = United States.
  • For what, the Actor appends the user query to its internal .gov/.mil preset. Structured job filters such as title, company_name, company_domain, category, sub_category, industry, posted, salary, employment_type, remote, and seniority then take priority and can override or narrow the keyword query. For example, sub_category = Registered Nurse takes priority over what = engineer.

Use what and where as free-text searches when their corresponding structured filters are not set.

Use structured job fields to narrow the government-jobs preset:

  • title, company_name, company_domain
  • category, sub_category, seniority, industry
  • employment_type, remote, posted, salary
  • id

Common location fields for where:

  • country, region, city, metro_area, county, sub_city, postal_code

Location Filtering

For precise location matching, use structured filters when possible:

  • country is always enforced as United States
  • region
  • city
  • postal_code
  • metro_area

Use where as a free-text location search when structured location filters are not set. If where is provided together with structured location filters, the structured filters take priority and where may be ignored or narrowed.

Limits and Pagination

This Actor uses the JobsIndex jobs API. Results are paginated with page and size.

ParameterDefaultMinMax
page00Depends on size and the item cap
size51100

Invalid page or size values can return 400 Invalid page or size parameters.

Item Caps

The maximum number of retrievable jobs depends on the query shape:

Query shapeMax itemsEffective max sizeOver-size behavior
No company filter1000100Validation error; not silently capped
Company filter plus another keyword or filter2020Silent cap with capping metadata
Company filter only55Silent cap with capping metadata

When a company-filtered request asks for size greater than the effective cap, the API returns up to the capped number of results instead of erroring. The response metadata includes:

  • size_requested - the original requested size
  • size_capped_by - "company" for the 5-item cap or "company|keywords" for the 20-item cap

On uncapped responses, size_requested and size_capped_by are not present.

Output

Each run stores job records in the default Apify dataset. The dataset schema includes an Overview table for the most useful fields and a Raw data (all fields) table for the complete JobsIndex record.

Example dataset item:

{
"id": "17494984349364375915",
"title": "Police Officer",
"company_name": "Town of Leesburg, VA",
"company_domain": "leesburgva.gov",
"category": "Security",
"sub_category": "Security Officer",
"country": "United States",
"region": "Virginia",
"city": "Leesburg",
"employment_type": "Full-Time",
"remote": "n/a",
"posted": "2026-02-20",
"url_source": "https://www.governmentjobs.com/careers/leesburgva/jobs/5231856"
}

Field availability depends on the source job posting.