NewSearch millions of jobs from your AI agent with MCP
All posts
Guide·Jul 19, 2026·6 min read

USAJOBS API: the free federal jobs API, explained for developers

USAJOBS runs one of the best truly free jobs APIs anywhere - documented, keyed in minutes, no billing page. How auth works (the User-Agent trick), what the search endpoint returns, the federal-only boundary most tutorials skip, and how to combine it with private-sector sources.

Dvir Atias

Dvir Atias

Founder, JobsPipe

The USAJOBS API is the rare government API developers actually enjoy: documented, free, keyed in minutes, and backed by the official listing of every federal job in the United States. If your product touches government hiring - or you just want a real, unmetered jobs feed to build against - it belongs in your stack. Here is how it works and where its boundary sits.

Auth: the User-Agent trick

Request a key at USAJOBS’ developer site and it arrives by email. Authentication is two headers - your key, plus your email in User-Agent, which trips up nearly everyone on their first call:

curl "https://data.usajobs.gov/api/search?Keyword=software%20engineer&LocationName=Remote" \
  -H "Host: data.usajobs.gov" \
  -H "User-Agent: you@example.com" \
  -H "Authorization-Key: $USAJOBS_KEY"

The search endpoint takes Keyword, LocationName, PositionTitle, pay grade and schedule filters, and pagination via Page / ResultsPerPage. Responses are JSON with full position details: title, agency, locations, open/close dates, and structured pay ranges under PositionRemuneration - stated ranges, not estimates, because federal pay scales are public.

What makes it genuinely good

  • Authoritative and complete for its domain - every openly advertised federal position is here, first.
  • Structured pay data. GS scales mean real salary ranges on nearly every record, a luxury no private-sector source matches.
  • Free without a catch. No call metering that matters for normal use, no upsell tier, no link-back scheme.

The boundary: federal only

The limits are the flip side of the charter. USAJOBS carries federal civil-service positions - no private sector, no state or municipal roles, no contractors (the engineer working on a federal project via Booz Allen is posted on Workday, not USAJOBS). Fields follow federal HR conventions (pay plans, series codes, hiring paths), so mapping to a commercial schema takes real work. And postings close on hard deadlines, so stale caches show applicants jobs they can no longer apply to.

Combining it with everything else

Most products need federal and private-sector coverage in one schema. JobsPipe indexes USAJOBS as a source alongside Workday, Greenhouse, Lever and 30+ others, normalizing everything - including federal pay ranges - into the same JSON shape with one key. Query source=usajobs when you want federal only, or drop the filter and search the whole market. If you are collecting free options first, our free jobs API roundup ranks USAJOBS against the other seven.

Federal and private-sector postings, one schema - free tier included.

Get a free API key

Frequently asked questions

Is the USAJOBS API free?

Yes. You request an API key from the USAJOBS developer site, it arrives by email, and there is no paid tier or meaningful call metering for normal use. It is one of the few genuinely free, documented jobs APIs.

Why does the USAJOBS API return a 401 error?

Almost always the headers: USAJOBS requires your registered email address in the User-Agent header alongside the Authorization-Key header. Sending a normal browser-style User-Agent instead of your email is the most common first-call mistake.

Does the USAJOBS API include private-sector jobs?

No - it covers openly advertised federal civil-service positions only. No private companies, no state or municipal roles, and no federal contractors, whose jobs are posted on their own ATSs. For federal plus private-sector coverage in one schema, JobsPipe indexes USAJOBS alongside 30+ ATS and job-board sources.