US Government Jobs API
Pricing
from $1.50 / 1,000 job records
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.
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 hours ago
Last modified
Categories
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 Stateswhat = @(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
| Parameter | Description | Example |
|---|---|---|
salary | Salary amount or range filter. | 20h-30h |
what | Optional role/category search within US government jobs. The Actor appends this to the internal .gov/.mil source preset. | police |
where | Free-text location search. Prefer structured location fields for exact filters. | Virginia |
country | Fixed preset. Runtime always uses United States; changes are ignored. | United States |
region | State, province, or region. | California |
city | City filter. | Sacramento |
postal_code | Postal or ZIP code filter. | 95814 |
metro_area | Metropolitan area filter. | Sacramento-Roseville-Folsom, CA |
title | Job title filter. | Police Officer |
company_name | Public employer name filter. | Town of Leesburg, VA |
company_domain | Employer domain filter. | leesburgva.gov |
category | Job category filter. | Security |
sub_category | More specific job function or role group. | Security Officer |
industry | Company industry filter. | Government |
posted | Relative posting age or ISO date. Empty by default to cover the broader live public jobs index. | 1w |
employment_type | Employment type. | Full-Time |
remote | Work arrangement filter. Supported values: remote, on-site, hybrid. | on-site |
seniority | Seniority level. | Senior |
page | Page number, starting from 0. | 0 |
size | Number of results per page. Default 5, min 1, max 100. | 5 |
Search Behavior
The internal government-jobs preset searches across:
url_sourcecompany_domain
When a user provides what, the Actor searches that value across:
titletitle_rawcategorysub_category
This keeps user search focused on the role or job family while preserving the government-jobs filter.
Examples:
what = policewhat = nursewhat = engineerwhat = 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 healthwhere = 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 analystwhere = @country United States
To search a custom group of location fields, use @(field1,field2) (query):
what = police OR emergency managementwhere = @(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 ascountry,region,city,postal_code, andmetro_areatake priority and can override or narrow the free-text location query. The Actor always enforcescountry = United States. - For
what, the Actor appends the user query to its internal.gov/.milpreset. Structured job filters such astitle,company_name,company_domain,category,sub_category,industry,posted,salary,employment_type,remote, andsenioritythen take priority and can override or narrow the keyword query. For example,sub_category = Registered Nursetakes priority overwhat = 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_domaincategory,sub_category,seniority,industryemployment_type,remote,posted,salaryid
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:
countryis always enforced asUnited Statesregioncitypostal_codemetro_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.
| Parameter | Default | Min | Max |
|---|---|---|---|
page | 0 | 0 | Depends on size and the item cap |
size | 5 | 1 | 100 |
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 shape | Max items | Effective max size | Over-size behavior |
|---|---|---|---|
| No company filter | 1000 | 100 | Validation error; not silently capped |
| Company filter plus another keyword or filter | 20 | 20 | Silent cap with capping metadata |
| Company filter only | 5 | 5 | Silent 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 requestedsizesize_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.