USAJOBS Scraper
JOBSAUTOMATION
USAJOBS Scraper
Scrape federal job listings from USAJOBS.gov — the official U.S. government employment portal. Search by keyword, location, agency, department, salary range, GS grade, work schedule, remote/telework status, and hiring path.
What it does
The actor queries the USAJOBS internal search API to retrieve structured job listing data. No authentication is required — the actor uses standard browser headers to access the same data the USAJOBS website shows in its search results.
For each job posting, the actor extracts:
- Job identification: Document ID, position ID, direct URL
- Position details: Title, agency, department, sub-agency
- Location: Primary duty location, number of duty locations
- Compensation: Salary display string, minimum salary amount
- Work details: Schedule type, appointment type (permanent/temporary/intern)
- Grade: Pay grade system (GS, FV, ND), grade range
- Eligibility: Comma-separated hiring paths (public, veterans, current federal employees, etc.)
- Occupational series: OPM job category codes and names
- Dates: Open date, close date, human-readable date display
- Benefits: Relocation indicator
Input
| Field | Type | Description |
|---|---|---|
keyword |
string | Job title, occupation, or keyword (required; e.g. "software engineer", "nurse") |
location |
string | City, state, or "remote" to filter by duty location |
agency |
string | Federal agency to filter (e.g. "Department of Defense") |
department |
string | Department code to filter (e.g. "DD" for Defense) |
remoteOnly |
boolean | Return only remote/telework positions |
salaryMin |
integer | Minimum annual salary in USD |
salaryMax |
integer | Maximum annual salary in USD |
gradeBucket |
string | GS grade range filter (e.g. "GS13_15") |
hiringPath |
string | Eligibility filter (e.g. "public", "fed-competitive", "vet") |
sortField |
string | Sort by: OpenDate (default), CloseDate, Salary, JobTitle |
sortDirection |
string | Desc (default) or Asc |
maxItems |
integer | Maximum number of results (0 = all, default 15) |
At least one of keyword, location, agency, or department is required.
Output
Each result is a flat JSON object. Example:
{
"jobId": "871388500",
"positionId": "DFAS-ML-12970137-26",
"title": "TECHNICAL SOFTWARE ENGINEERING LEAD",
"agency": "Defense Finance and Accounting Service",
"department": "Department of Defense",
"subAgency": "IT DIR OFFICE, ACCOUNTING SERVICES...",
"location": "Indianapolis, Indiana",
"locationCount": 3,
"salaryDisplay": "Starting at $107,428 Per year (GS 13)",
"salaryMin": 107428,
"workSchedule": "Full-time",
"workType": "Permanent",
"jobGrade": "GS",
"lowGrade": "13",
"highGrade": "13",
"hiringPaths": "fed-internal-search",
"jobCategories": "2210 - Information Technology Management",
"openDate": "",
"closeDate": "2026-06-18T23:59:59.997Z",
"dateDisplay": "Open 06/04/2026 to 06/18/2026",
"relocation": "True",
"jobUrl": "https://www.usajobs.gov/job/871388500",
"scrapedAt": "2026-06-04T16:28:37.753Z"
}
Notes
- USAJOBS.gov is operated by the U.S. Office of Personnel Management (OPM). Data is public and freely accessible.
- Results reflect open job announcements at scrape time. Closed announcements are not returned.
- The
hiringPathsfield controls eligibility: "public" = any U.S. citizen; "fed-competitive" = current federal employee; "vet" = veterans' preference eligible. - GS grades 1-15 are the General Schedule; "ES" = Senior Executive Service; "FV" (FAA) and "ND" (Naval Sea Systems) are agency-specific pay systems.