USASpending APIusaspending.gov ↗
Access US federal government spending data: search contracts, grants, subawards, agencies, and recipients from USASpending.gov via a structured REST API.
What is the USASpending API?
This API exposes 7 endpoints covering US federal government awards, contracts, subawards, agency budgets, and recipient data sourced from USASpending.gov. You can search awards by keyword, filter by agency or award type, retrieve full award records via get_award_details, look up recipients with search_recipients, and pull subaward data down to the prime award level — all returning structured JSON with documented field shapes.
curl -X POST 'https://api.parse.bot/scraper/5b0e32c7-a0f5-44e5-b985-35a41a088f63/search_awards' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"keywords": "Salesforce",
"filters": "{\"keywords\": [\"Salesforce\"]}"
}'Search for government awards with advanced filtering. Returns paginated results of contracts and other award types. Supports keyword search and complex filter objects including time_period, award_type_codes, and agencies. If award_type_codes is not specified in filters, defaults to contracts (A, B, C, D).
| Param | Type | Description |
|---|---|---|
| filters | object | JSON object of filters including keywords, time_period, award_type_codes, agencies, etc. If award_type_codes is not specified, defaults to contracts (A, B, C, D). |
| keywords | string | Comma-separated search keywords to filter awards by (e.g. 'Salesforce' or 'Microsoft,Amazon'). Applied as keyword filter if no keywords are present in the filters object. |
{
"type": "object",
"fields": {
"results": "array of award summary objects containing internal_id, Award ID, Recipient Name, Award Amount, generated_internal_id",
"page_metadata": "object with page, hasNext, last_record_unique_id, last_record_sort_value",
"spending_level": "string indicating the spending level"
},
"sample": {
"data": {
"results": [
{
"Award ID": "W91ZLK23F0033",
"internal_id": 350571756,
"Award Amount": 214096.6,
"Recipient Name": "CARAHSOFT TECHNOLOGY CORP",
"generated_internal_id": "CONT_AWD_W91ZLK23F0033_9700_W52P1J20D0042_9700"
}
],
"page_metadata": {
"page": 1,
"hasNext": true,
"last_record_unique_id": 349975873,
"last_record_sort_value": "W912JM25FA023"
},
"spending_level": "awards"
},
"status": "success"
}
}About the USASpending API
Award Search and Detail
The search_awards endpoint accepts a filters object supporting keywords, time_period, award_type_codes (contracts: A–D; grants: 02–05; and others), and agencies. Results include Award ID, Recipient Name, Award Amount, and generated_internal_id, which feeds directly into get_award_details. That detail endpoint returns the full award record: recipient (with recipient_name, recipient_uei, location, business_categories), funding_agency, awarding_agency, total_obligation, period_of_performance (start, end, last modified), and type_description.
Recipient and Category Search
search_recipients provides autocomplete lookup by name and returns recipient_name, recipient_level, uei, and duns — useful for resolving the exact UEI before passing it to get_awards_by_recipients. That endpoint accepts a comma-separated ueis parameter plus a start_date/end_date range and returns full award detail records matching transaction activity within that window, along with a coverage object reporting matched_on_page, fetched, and failed counts and a per-award errors array for any failed detail lookups.
Agency and Spending Category Data
list_agencies returns all federal toptier agencies with budget_authority_amount, percentage_of_total_budget_authority, and agency_slug for the current active fiscal year and quarter. Sorting is available by agency_name, budget_authority_amount, or percentage_of_total_budget_authority. search_spending_by_category groups spending totals by categories including awarding_agency, recipient, funding_agency, and geographic groupings, returning name, id, code, amount, and agency_slug per result.
Subawards
search_subawards targets subcontracts and subgrants under prime awards. Filters include prime_award_id, prime_recipient_name, subawardee_name, time_period, and keywords. Each result includes prime_award_id, prime_recipient_name, subawardee_name, subaward_amount, action_date, and awarding agency fields. Pagination is controlled via page and limit (max 100 per page), with page_metadata returning page, hasNext, and total.
The USASpending API is a managed, monitored endpoint for usaspending.gov — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when usaspending.gov changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official usaspending.gov API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Tracking all federal contracts awarded to a specific company by searching with
search_recipientsto resolve UEI then callingget_awards_by_recipients - Building agency budget dashboards using
list_agenciesfieldsbudget_authority_amountandpercentage_of_total_budget_authority - Monitoring new contract awards in a technology category by filtering
search_awardswithaward_type_codesand keyword filters - Analyzing which recipients receive the most federal spending in a time window using
search_spending_by_categorygrouped byrecipient - Auditing subcontractor relationships by querying
search_subawardswith a knownprime_award_id - Mapping federal spending by geography by using
search_spending_by_categorywith county or state-level category groupings - Pulling complete award histories for a set of vendors by supplying multiple UEIs to
get_awards_by_recipientswith a multi-year date range
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does USASpending.gov have an official developer API?+
What does `get_awards_by_recipients` return for awards that predate the start_date?+
start_date/end_date range, not the original award signing date. An award executed before start_date still appears if it had a modification or transaction within the range. Each returned record has the same shape as get_award_details, and the coverage object reports how many awards matched, were fetched successfully, and how many failed.Does the API return individual transaction-level records within an award?+
What award type codes are supported in `search_awards` and `get_awards_by_recipients`?+
get_awards_by_recipients call must belong to the same award type group — mixing contracts and grants in one call is not supported.Does the API cover federal loan or IDV (indefinite delivery vehicle) data?+
search_awards may return them if they match submitted filters and the default award type behavior applies. Dedicated filtering and detail retrieval for those types is not currently built out. You can fork this API on Parse and revise it to add loan or IDV-specific endpoints.