NewSearch millions of jobs from your AI agent with MCP

USAJOBS API: the developer’s guide

Jobs data is a category full of deprecated feeds and partner-gated programs. USAJOBS is the exception: a real, free, official API for every federal job announcement in the United States. Here is how to use it well - and where its federal-only scope runs out.

Guide·Updated July 2026·9 min read

On this page

  1. The short answer
  2. What the USAJOBS API covers
  3. Getting an API key
  4. The search endpoint
  5. Codelist endpoints
  6. Where it runs out
  7. Beyond federal jobs
  8. FAQ

The short answer

The USAJOBS API is the official REST API for USAJOBS, the U.S. federal government’s hiring site, operated by the Office of Personnel Management. It is public, free, and self-serve: register for a key at developer.usajobs.gov, call data.usajobs.gov/api/search, and you get current federal job announcements back as JSON.

If you have read our guides on the Google Jobs API or the LinkedIn Jobs API, you know the usual punchline: the API you searched for does not exist, or you cannot have it. USAJOBS is the rare opposite case. The API exists, it is official, and anyone can use it. The catch is scope, not access - it covers federal government positions only.

What the USAJOBS API covers

USAJOBS is the front door for competitive-service federal hiring, which means the API sees the job announcements of essentially every major federal agency and department - plus excepted-service and legislative postings that agencies choose to list. In practice that is tens of thousands of open announcements at any moment.

Each announcement is unusually well structured:

  • Structured salary, always. Federal pay is scale-based (GS grades and equivalents), so announcements carry real minimum and maximum remuneration figures instead of free-text ranges.
  • Agency and organization hierarchy. Every posting maps to a department and sub-agency through stable organization codes.
  • Occupational series. Federal roles are classified by a numeric series taxonomy (2210 is IT management, 0343 is management analysis), which makes category filtering more reliable than keyword matching.
  • Hiring paths and dates. Open-to-public versus veterans versus students, plus explicit open and close dates for every announcement.

For labor-market researchers, policy analysts, and anyone building tools around government hiring, this is the cleanest single jobs feed in the United States.

Getting an API key

Request a key at developer.usajobs.gov/apirequest. You register an email address and receive an authorization key by return. Every request then needs three headers:

  • Host: data.usajobs.gov
  • User-Agent - the email address you registered with, not a browser string.
  • Authorization-Key - the key you were issued.

The User-Agent convention trips people up because it inverts the usual meaning of the header. If you get authorization errors with a valid key, this is almost always why.

The search endpoint

The workhorse is GET /api/search. A minimal query looks like this:

curl "https://data.usajobs.gov/api/search?Keyword=data+engineer&LocationName=Washington,+DC&ResultsPerPage=100" \
  -H "Host: data.usajobs.gov" \
  -H "User-Agent: you@example.com" \
  -H "Authorization-Key: $USAJOBS_KEY"

The parameters you will actually use: Keyword, PositionTitle, LocationName, Organization (agency codes), JobCategoryCode (occupational series), RemunerationMinimumAmount, and DatePosted. Results come back under SearchResult.SearchResultItems with the full announcement in each item’s MatchedObjectDescriptor.

Paging works through ResultsPerPage (up to 500) and Page. For anything beyond a one-off query, treat the API as a snapshot source: poll on a schedule, key announcements by their control number, and diff against your previous crawl to detect new and closed postings. The API serves current openings only, so history is whatever you accumulate yourself.

Codelist endpoints

Alongside search, the API publishes codelists - the reference taxonomies the announcements are classified with. The two you will reach for first are the agency subelements list (every department and sub-agency with its organization code) and the occupational series list. Fetch them once, cache them, and use the codes for filtering rather than fragile keyword matches on agency names.

Where it runs out

The USAJOBS API is excellent at its job, and its job is narrow. Three boundaries to plan around:

  • Federal only. No state or municipal government roles, and no private sector. USAJOBS is one employer domain - a big one, but one.
  • Current openings only. Closed announcements leave the search index. Longitudinal datasets require your own snapshot pipeline.
  • Query-shaped access. There is no firehose or webhook. Freshness is bounded by how often you poll and how you enumerate queries.

Beyond federal jobs

Most products that need federal jobs data need private-sector data too - a job board that covers the whole market, a compensation tool comparing government and industry pay, a sourcing product that does not stop at agency walls. The private-sector half of that picture does not have an official API. It lives on tens of thousands of company career sites run by ATS platforms: Workday, Greenhouse, Lever, iCIMS, and their peers.

That is the layer JobsPipe covers. One API reads 30+ ATS and job-board sources and returns postings in a single normalized schema - structured salary, resolved locations, deduplication across mirrored postings, and webhooks for new listings. Pair it with the official USAJOBS API and you cover both halves of the U.S. labor market with two integrations, each reading from its original source.

Need the private-sector half? Free tier, monthly credits included, API key in 30 seconds.

Get a free API key

FAQ

Is the USAJOBS API free?+

Yes. The USAJOBS API is free to use. You register for an API key at developer.usajobs.gov, and there is no paid tier - it is a public service operated by the U.S. Office of Personnel Management (OPM). The only constraints are the documented request etiquette and result-paging limits.

How do I get a USAJOBS API key?+

Request one at developer.usajobs.gov/apirequest. You supply an email address and receive an authorization key. Every request must then send three headers: Host (data.usajobs.gov), User-Agent (the email you registered with), and Authorization-Key (the key you were issued). Keys are self-serve - no sales process.

What data does the USAJOBS API return?+

Current federal job announcements: position title, hiring agency and department, locations, structured salary ranges tied to federal pay scales, employment type, open and close dates, hiring paths (public, veterans, students, and so on), qualification summaries, and the application URL on usajobs.gov. Because federal pay is scale-based, the salary data is more consistently structured than almost any private-sector source.

Does the USAJOBS API include private-sector jobs?+

No. USAJOBS is the federal government's official hiring site, so the API covers federal positions only - plus some excepted-service and legislative postings agencies choose to list. Private-sector postings live on company career sites and ATS platforms like Workday, Greenhouse, and Lever, which is the surface a jobs API like JobsPipe covers.

Can I get historical USAJOBS data?+

Not from the search API - it serves current openings. Closed announcements drop out of search results. Community projects have archived historical USAJOBS announcements by collecting the API over time, and researchers often build their own snapshot pipeline for longitudinal work: poll the search endpoint on a schedule and store what you see.

What is the best way to combine federal and private-sector jobs data?+

Use both sources for what each is best at: the official USAJOBS API for federal announcements, and an ATS-level jobs API for the private sector. The join is straightforward because both sides give you structured title, location, salary, and posting-date fields. JobsPipe normalizes 30+ private-sector sources into one schema, which leaves USAJOBS as the one extra integration.

Related