USAJobs Jobs Search Scraper
Pricing
from $2.99 / 1,000 job details
USAJobs Jobs Search Scraper
Scrape rich, identity-verified federal job announcements from USAJOBS.
Pricing
from $2.99 / 1,000 job details
Rating
0.0
(0)
Developer
Jobs API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 hours ago
Last modified
Categories
Share
What does USAJOBS Jobs Search Scraper do?
USAJOBS Jobs Search Scraper extracts identity-verified federal job announcements from USAJOBS. It combines the public first-party search endpoint with each public announcement page to produce rich records without an applicant account or API credential.
Every emitted record verifies the numeric control number, title, agency, canonical URL, and substantial announcement sections. Search mode supports keyword/location pagination; single and multiple modes enrich known public announcement URLs.
Why use USAJOBS Jobs Search Scraper?
- Build rich federal vacancy feeds with summary, duties, requirements, qualifications, evaluation, documents, and application instructions.
- Track agencies, departments, locations, pay, schedules, appointment types, closing dates, and hiring paths.
- Resolve known USAJOBS control numbers into canonical, source-verified records.
- Schedule runs, use the Apify API, connect datasets to integrations, and monitor machine-readable diagnostics.
- Preserve valid partial results when one detail fails or a bounded search exposes fewer jobs than requested.
The Actor uses native public HTTPS only. It does not use authenticated pages, private applicant data, browser automation, or private API credentials.
What data can USAJOBS Jobs Search Scraper extract?
| Field | Type | Description |
|---|---|---|
jobId, controlNumber, announcementNumber | string | Official announcement identity. |
title, agency, department | string | Verified position and organisation. |
location, locations | string/array | Public duty locations. |
summary, duties, requirements | string | Rich announcement sections. |
qualifications, evaluation, requiredDocuments | string | Eligibility and selection content. |
salaryMin, salaryMax, payScaleGrade | number/string | Published pay data. |
datePosted, validThrough | date-time | Opening and closing timestamps. |
hiringPaths, jobSeries | array | Public applicant paths and categories. |
applicationUrl, applicationMethods | string/array | External application destinations only when published. |
detailVerified, verificationEvidence | boolean/object | Identity, canonical, and richness checks. |
The public announcement URL is jobUrl; it is never reused as an application URL. Empty optional fields are omitted.
How to scrape USAJOBS announcements
- Open the Actor input tab in Apify Console.
- Select
search,single, ormultiple. - For search mode, enter keywords and an optional location.
- For direct modes, provide official
usajobs.gov/job/<control-number>URLs. - Set
maxPages,maxItems,pageSize, andmaxRequeststo bounded values. - Start the run and inspect the dataset,
RUN_SUMMARY, andRUN_DIAGNOSTICS. - Export results or connect the dataset to an Apify integration.
One search page consumes one request and each inspected announcement consumes one request. The Actor stops at maxRequests.
How much will it cost to scrape USAJOBS?
Native HTTPS is efficient compared with browser automation. Actual cost depends on your Apify plan, memory, page count, detail count, response latency, and current platform pricing. Start with one page and five items, then use the run estimate in Apify Console before scaling. A practical request budget is maxPages + maxItems plus a small margin for rejected candidates.
Input
See the input tab for full configuration options.
{"mode": "search","query": "software engineer","location": "","maxPages": 1,"maxItems": 5,"pageSize": 25,"maxRequests": 12,"requestDelayMs": 100,"requestTimeoutSecs": 30}
Direct URLs must use the USAJOBS host and contain a numeric control number. Duplicate URLs are removed. requestDelayMs applies between detail requests.
Output
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. Simplified examples:
[{"jobId": "882002700","title": "Software Engineer II","agency": "House of Representatives","location": "Washington, DC","detailVerified": true,"jobUrl": "https://www.usajobs.gov/job/882002700"},{"jobId": "881802100","title": "Computer Scientist (Enterprise Architect)","agency": "Defense Counterintelligence and Security Agency","applicationUrl": "https://agency.example.gov/application/881802100","detailVerified": true,"jobUrl": "https://www.usajobs.gov/job/881802100"}]
Application URLs shown above are illustrative; runtime output includes only destinations actually published outside USAJOBS. RUN_SUMMARY reports page, candidate, request, result, rejection, runtime, and completion status. RUN_DIAGNOSTICS explains individual search, detail, or validation failures and never becomes a job record.
Tips and advanced options
- Use
singlemode for the cheapest rich lookup. - Keep
pageSizehigh enough to findmaxItemswithin few pages. - Raise
maxRequestswhen increasing pages or direct URLs. - A
succeeded_with_limitationsstatus means valid records were preserved despite fewer results or diagnostics. - Verify consequential hiring decisions against the canonical announcement.
- Avoid collecting or retaining public contact details unless they are necessary for your lawful use.
Local development
npm ci --no-audit --no-fundnpm run checknpm testapify validate-schemaapify run --purge --input-file INPUT.jsonnpm run validate
Local data remains under storage/ and is not uploaded to Apify Console.
FAQ, disclaimers, and support
Why did I receive fewer records than maxItems?
The query may expose fewer matching announcements, a detail page may fail strict verification, or the request budget may be reached. Valid records are retained with a limitation status; inspect diagnostics before raising limits.
Does the Actor submit applications?
No. It extracts public announcement data only and does not log in or submit forms.
Is scraping USAJOBS legal?
Our Actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our Actors, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
Respect USAJOBS terms, robots guidance, rate limits, and applicable law. Use the Actor API tab for programmatic access. Report issues with a redacted input and run ID in the Issues tab.