USAJOBS data: official APIs, not scraping¶
Technical version: USAJOBS API surface + auth/rate-limit recon
Verdict in plain English¶
Go for pure JSON integration with USAJOBS. There are official Search, Historic, and Announcement Text APIs plus public codelists. The core discovery pipeline does not need a browser bot against the website.
Live jobs vs research history¶
| Need | Approach |
|---|---|
| Open jobs you can actually pursue | Search API with your free developer key (bring-your-own-key) |
| Past announcements, demos, offline practice | Historic + text APIs (no key) with honest “not live” labeling |
| Dropdowns and code lists | Unauthenticated codelist endpoints, cached |
Why BYO key matters¶
A single company key searching for every user is a terms-of-use and redistribution risk. Letting each person request a free OPM key and store it locally aligns better: you are the requesting party; the app is a client that never shares keys across users.
Getting a key is a short form plus waiting for email — minutes of work, unknown email lag. Do not promise “instant” until measured.
What we will not claim¶
- That Historic rows labeled “accepting” are a substitute for live Search.
- That WorkWingman scrapes usajobs.gov HTML for core features.
- That status/internal job search is available without special authorization.