API reference
Updated
Federal procurement data from SAM.gov, FPDS, USAspending, SBA, GAO and DOL, in one API. Every dataset returns the same JSON shape, with the same search, paging and field options, and every value exactly as its source published it.
New here? Start with the quickstart
Get started takes you from no account to a working call. It is the only page you need to read first.
curl -X POST "https://govconapi.com/api/v1/keys?email=YOUR_EMAIL&plan=free"
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://govconapi.com/api/v1/contracts/search?naics=541512&limit=5"
Once that returns data, two things decide what you can build: Plans and limits for what your key may call and how often, and Search window for how far back each dataset goes. Read those two next.
Then pick your dataset
The API tab lists all 65 endpoints, grouped by what they describe: Contracts, Opportunities, Companies, Entities, Subawards, Exclusions, Vehicles, Wage Determinations and ten more. Each page documents one call, with its parameters, its response fields and its errors.
If you do not know which dataset answers your question, the Capabilities tab is organised by job instead of by endpoint, and each one names the calls it uses.
Four things that apply to every endpoint
You do not need these to make a first call, but you will want them before you ship.
| Authentication | keys, headers, and what a 401 actually means |
| Response shaping | ?fields= to cut a response to what you use |
| Response metadata | the envelope, _sources, and Pro enrichment |
| Error codes | every status this API returns, and what causes it |
Before you go to production
Performance and reliability covers latency, paging at scale and retries. Data freshness says how current each source is and what we deliberately do not clean. Tested integration examples is working code against real records.
For machines
/openapi.json is the full schema. /llms.txt and /docs/all.md are the whole reference as
plain text, for retrieval.