USA Jobs Scraper
Pricing
from $0.90 / 1,000 results
USA Jobs Scraper
Scrape USAJOBS listings fast and reliably. Extract federal job titles, agencies, locations, salaries, descriptions, requirements, and application links. Ideal for job boards, recruitment data, market research, and career analytics.
Pricing
from $0.90 / 1,000 results
Rating
5.0
(6)
Developer
Shahid Irfan
Maintained by CommunityActor stats
3
Bookmarked
66
Total users
5
Monthly active users
4 days ago
Last modified
Categories
Share
What does USA Jobs Scraper do?
USA Jobs Scraper collects public federal job listings from USAJobs.gov and saves them as structured records. Enter a keyword, location, or USAJobs search URL, then set the date window and result limit. Each result can include the job title, hiring agency, location, salary range, application dates, eligibility, work details, description, and application links.
Use the dataset for federal hiring intelligence, salary benchmarking, workforce research, recruitment workflows, career services, and recurring monitoring of public-sector opportunities.
Why use USA Jobs Scraper?
- Federal job coverage - Collect positions published by U.S. departments, agencies, and sub-agencies from one search workflow.
- Practical search controls - Filter by job keyword, location, posting recency, and whether closed positions should be included.
- Detailed job records - Review compensation, pay grade, appointment type, work schedule, candidate eligibility, security clearance, telework, travel, and descriptions.
- Flexible collection size - Start with a small test run or collect a larger dataset by increasing
maxJobs. - Automation-ready results - Download JSON, CSV, Excel, or XML data, schedule recurring runs, send webhooks, or connect the dataset to another application.
What data can you extract from USAJobs.gov?
| Field | Type | Description |
|---|---|---|
source | String | Source identifier, returned as usajobs. |
title | String | Job title shown in the listing. |
company | String | Hiring agency or organization. |
location | String | Display location for the position. |
salary | String | Human-readable salary range and pay period. |
job_type | String | Appointment type or work schedule label. |
date_posted | String | Publication start date. |
url | String | Direct USAJobs detail page URL. |
controlNumber | String | USAJobs control number for the listing. |
positionId | String | Position identifier supplied by USAJobs. |
positionTitle | String | Official job title from the announcement. |
organizationName | String | Hiring organization. |
departmentName | String | Parent department. |
subAgencyName | String | Sub-agency when available. |
locationDisplay | String | Full display-friendly location string. |
positionLocations | Array | Location objects returned for the position. |
positionOpenDate | String | Date when the announcement opened. |
positionCloseDate | String | Application closing date. |
open_close_dates | String | Combined opening and closing dates. |
detailUrl | String | Detailed job announcement URL. |
applyUrl | String | Direct application URL when available. |
minimumSalary | Number | Lower salary value. |
maximumSalary | Number | Upper salary value. |
payGrade | String | Pay grade range, such as 13-13. |
pay_scale_grade | String | Compatibility copy of the pay grade range. |
workSchedule | String | Work schedule, such as full-time. |
work_schedule | String | Compatibility copy of the work schedule. |
appointmentType | String | Appointment type, such as permanent. |
appointment_type | String | Compatibility copy of the appointment type. |
whoMayApply | String | Candidate eligibility category. |
service | String | Service type when available. |
promotion_potential | String | Promotion potential value. |
securityClearance | String | Security clearance information. |
security_clearance | String | Compatibility copy of the security clearance. |
supervisory_status | String | Supervisory status when available. |
telework_eligible | String | Telework eligibility information. |
travel_required | String | Travel requirement information. |
jobCategories | Array | Job category codes and names. |
description_html | String | Structured description content. |
description_text | String | Plain-text description for analysis and search. |
The dataset also includes compatibility fields such as pay_scale_grade, work_schedule, appointment_type, and security_clearance. The overview fields title, company, location, salary, job_type, date_posted, and url make the dataset easy to scan in Apify.
How to scrape USAJobs data
- Open USA Jobs Scraper in Apify Console.
- Enter a keyword, location, or public USAJobs search URL.
- Set
daysBackto define the posting recency window. - Choose whether to include closed positions and set
maxJobs. - Start the run, review the dataset preview, and download or connect the results.
If both searchUrl and keyword or location values are provided, the keyword and location parsed from the search URL take priority.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchUrl | String | No | None | Public USAJobs search results URL. The Actor reads keyword and location values from its query parameters. |
keyword | String | No | None | Job title, skill, or phrase such as software engineer or data analyst. |
location | String | No | None | City, state, region, or other USAJobs location filter. |
daysBack | Integer | No | 30 | Number of days back to search for recently posted jobs. Values are limited to a maximum 60-day search window. |
includeClosed | Boolean | No | false | Set to true to keep positions whose application closing date has passed. |
maxJobs | Integer | No | 20 | Maximum number of job records to save. Must be at least 1. |
proxyConfiguration | Object | No | {"useApifyProxy": false} | Optional Apify proxy settings for request routing. |
You can run a search with only a keyword, only a location, both values, or a USAJobs search URL. A search URL is useful when you already prepared filters on USAJobs.gov.
Usage Examples
Basic keyword and location search
Collect up to 50 current data analyst positions in Washington, DC.
{"keyword": "data analyst","location": "Washington, DC","maxJobs": 50}
Reuse a USAJobs search URL
Use an existing search URL and limit results to positions posted during the last two weeks.
{"searchUrl": "https://www.usajobs.gov/Search/Results?k=cybersecurity&l=Texas","daysBack": 14,"maxJobs": 100}
Recurring federal hiring monitor
Collect a larger set of open program manager positions for a scheduled monitoring workflow.
{"keyword": "program manager","daysBack": 30,"includeClosed": false,"maxJobs": 500,"proxyConfiguration": {"useApifyProxy": true}}
Sample Output
The following example shows one dataset item. Optional values can be null when USAJobs does not publish them for a particular announcement.
{"source": "usajobs","title": "IT Specialist (Application Software)","company": "Department of Veterans Affairs","location": "Washington, District of Columbia","salary": "$112,015 - $145,617 Per Year","job_type": "Permanent","date_posted": "2026-03-01T00:00:00Z","url": "https://www.usajobs.gov/job/826008100","controlNumber": "826008100","positionId": "ABCD-1234","positionTitle": "IT Specialist (Application Software)","organizationName": "Department of Veterans Affairs","departmentName": "Department of Veterans Affairs","subAgencyName": "Office of Information and Technology","locationDisplay": "Washington, District of Columbia","positionLocations": [{"LocationName": "Washington, District of Columbia"}],"positionOpenDate": "2026-03-01T00:00:00Z","positionCloseDate": "2026-04-01T23:59:59Z","open_close_dates": "2026-03-01T00:00:00Z - 2026-04-01T23:59:59Z","detailUrl": "https://www.usajobs.gov/job/826008100","applyUrl": "https://www.usajobs.gov/job/826008100/apply","minimumSalary": 112015,"maximumSalary": 145617,"payGrade": "13-13","pay_scale_grade": "13-13","workSchedule": "Full-time","work_schedule": "Full-time","appointmentType": "Permanent","appointment_type": "Permanent","whoMayApply": "Public","service": "Competitive service","promotion_potential": "13","securityClearance": "Not Required","security_clearance": "Not Required","supervisory_status": "No","telework_eligible": "Yes","travel_required": "Occasional travel","jobCategories": [{"code": "2210","name": "Information Technology Management"}],"description_html": "<h2>Summary</h2><div>Serve as an IT specialist supporting federal applications and services.</div>","description_text": "Summary Serve as an IT specialist supporting federal applications and services."}
Tips for best results
- Start with a focused search - Test a specific keyword and one location with
maxJobsbetween 20 and 50 before expanding the collection. - Choose the right date window - Use a small
daysBackvalue for fresh job alerts and a larger value for labor-market analysis. - Use search URLs for repeatable filters - Save a USAJobs search URL when you want to reuse a prepared search in a schedule.
- Check closing dates - Keep
includeClosedset tofalsefor active opportunity lists. Set it totruewhen building an announcement history. - Review optional fields - Salary, telework, clearance, travel, and application links may be absent from individual source listings.
- Increase the limit gradually - Validate the dataset preview before scheduling larger runs or sending results to another system.
Integrations and export formats
- Google Sheets - Review jobs, compare agencies, and share hiring reports.
- Airtable - Create a searchable federal opportunity database.
- Webhooks - Send completed run notifications and dataset links to another service.
- Make or Zapier - Route new job records into alerts, spreadsheets, email, or internal workflows.
- Apify API - Start runs and read dataset items from your own application.
- JSON, CSV, Excel, and XML - Download the dataset in a format suited to analysis or data pipelines.
Frequently Asked Questions
Can I collect USAJobs listings without a keyword?
Yes. Provide a location, use a prepared searchUrl, or leave both filters broad when you want a wider federal jobs dataset.
How many jobs can I collect in one run?
You can request any positive maxJobs value. The final count cannot exceed the number of matching USAJobs listings and may be lower when listings lack the required identifying fields.
Can I include closed federal positions?
Yes. Set includeClosed to true. The default false value keeps positions with past closing dates out of the saved dataset.
Why are some salary or description fields empty?
USAJobs does not publish every field for every announcement. Missing values usually reflect the source listing rather than a problem with the run.
Can I schedule recurring USAJobs searches?
Yes. Create an Apify schedule to run the Actor hourly, daily, weekly, or on a custom interval, then connect the dataset to a webhook or export workflow.
Can I export USAJobs data to CSV or Excel?
Yes. Apify datasets can be downloaded as CSV, Excel, JSON, XML, and other supported formats.
Is collecting USAJobs data legal?
Public data collection can be subject to applicable laws, privacy requirements, and USAJobs.gov terms. You are responsible for using the data lawfully, respecting access restrictions, and handling job-seeker information responsibly.
Related Actors
- LinkedIn Job Scraper - Collect job listings with titles, companies, locations, salary information, and direct job URLs.
- Talent Job Scraper - Gather structured job postings from Talent.com for hiring research and market monitoring.
- Naukri Jobs Scraper - Collect job listings with company, salary, experience, location, skills, and description fields.
Support
For issues, feature requests, or source changes, use the Issues tab on the Actor page or contact the developer through Apify.
Legal Notice
This Actor is designed for legitimate collection of publicly available USAJobs listings. Users are responsible for complying with applicable laws, website terms, privacy requirements, and internal data-handling policies.