Discover/USASpending API
live

USASpending APIusaspending.gov

Access US federal government spending data via the USASpending.gov API. Search awards, contracts, subawards, agencies, and recipients with 6 endpoints.

This API takes change requests — .
Endpoint health
verified 2d ago
list_agencies
1/1 passing latest checkself-healing
Endpoints
6
Updated
1mo ago

What is the USASpending API?

This API exposes 6 endpoints covering US federal government spending data from USASpending.gov, including contracts, grants, subawards, and agency budget authority. The search_awards endpoint accepts keyword and structured filters to return paginated award records with recipient names, award amounts, and IDs. The get_award_details endpoint retrieves full award records including period of performance, funding agency hierarchy, and recipient business categories.

This call costs1 credit / call— charged only on success
Try it
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).
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.
api.parse.bot/scraper/5b0e32c7-a0f5-44e5-b985-35a41a088f63/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
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 '{
  "filters": "{\"keywords\": [\"Salesforce\"]}",
  "keywords": "Salesforce"
}'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace usaspending-gov-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: USASpending SDK — bounded, re-runnable; every call capped."""
from parse_apis.USASpending_gov_Data_API import USASpending, SpendingCategory, AgencySortField, SortOrder, AwardNotFound

client = USASpending()

# List top agencies by budget authority
for agency in client.toptier_agencies.list(sort=AgencySortField.BUDGET_AUTHORITY_AMOUNT, order=SortOrder.DESC, limit=3):
    print(agency.agency_name, agency.budget_authority_amount, agency.abbreviation)

# Search for contract awards related to Salesforce
award = client.award_summaries.search(keywords="Salesforce", limit=1).first()
try:
    detail = award.details()
    print(detail.description, detail.total_obligation)
    print(detail.recipient.recipient_name)
    print(detail.period_of_performance.start_date, detail.period_of_performance.end_date)
except AwardNotFound as e:
    print("award gone:", e.award_id)

# Search subawards
for sub in client.subawards.search(keywords="Salesforce", limit=3):
    print(sub.prime_award_id, sub.subawardee_name, sub.subaward_amount)

# Spending by category
for item in client.spending_by_categories.search(category=SpendingCategory.FUNDING_AGENCY, limit=3):
    print(item.name, item.amount, item.code)

# Find recipients matching a name
for match in client.recipient_matches.search(search_text="Microsoft", limit=3):
    print(match.recipient_name, match.uei)

print("exercised: toptier_agencies.list, award_summaries.search, award.details, subawards.search, spending_by_categories.search, recipient_matches.search")
All endpoints · 6 totalmissing one? ·

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).

Input
ParamTypeDescription
filtersobjectJSON 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).
keywordsstringComma-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.
Response
{
  "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, and agencies parameters. Results are paginated via page_metadata which includes hasNext, last_record_unique_id, and last_record_sort_value for cursor-style iteration. Each result exposes generated_internal_id, which feeds directly into get_award_details to retrieve the full award record. That detail response includes recipient (with recipient_uei, location, and business_categories), funding_agency and awarding_agency (each with toptier_agency and subtier_agency), total_obligation, and period_of_performance dates.

Subawards and Category Spending

The search_subawards endpoint returns subcontracts and subgrants under prime awards. Filters include prime_award_id, prime_recipient_name, and subawardee_name, allowing drill-down from a prime award into its sub-recipients. The search_spending_by_category endpoint groups spending totals by a chosen category — accepted values include awarding_agency, recipient, county, state_territory, and others — returning ranked name, id, code, and amount fields. A default one-year time_period filter is applied automatically when none is provided.

Agencies and Recipients

The list_agencies endpoint 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. Results are sortable by agency_name or budget_authority_amount. The search_recipients endpoint is an autocomplete lookup that returns recipient_name, recipient_level, uei, and duns identifiers — useful for resolving exact recipient strings before constructing award search filters.

Reliability & maintenanceVerified

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.

Last verified
2d ago
Latest check
1/1 endpoint passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Identify all federal contracts awarded to a specific company by filtering search_awards with the company name as a keyword.
  • Build a federal budget dashboard using list_agencies to display each agency's budget_authority_amount and share of total budget.
  • Audit subcontracting relationships by querying search_subawards with a prime_award_id to list all subawardees under a specific prime contract.
  • Map federal spending by geography using search_spending_by_category with category set to state_territory or county.
  • Resolve a recipient's UEI before searching awards by running an autocomplete lookup against search_recipients for a company name.
  • Track agency-level contract spending trends by filtering search_spending_by_category by awarding_agency over custom time_period ranges.
  • Pull full contract terms including period_of_performance and type_description for a known award using get_award_details.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 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.

Frequently asked questions
Does USASpending.gov have an official developer API?+
Yes. USASpending.gov publishes an official public API documented at https://api.usaspending.gov. It is free to use and does not require authentication for most endpoints. The Parse API surfaces a structured subset of that data with consistent request/response shapes.
What does `search_awards` return and how do I paginate through results?+
search_awards returns an array of award summary objects, each containing Award ID, Recipient Name, Award Amount, and generated_internal_id. The page_metadata object in each response includes hasNext (boolean), last_record_unique_id, and last_record_sort_value, which you pass on subsequent requests to step through additional pages.
What award fields does `get_award_details` expose that `search_awards` does not?+
get_award_details returns the full award record including recipient.business_categories, recipient.location, the complete funding_agency and awarding_agency hierarchies (toptier and subtier), description, type_description, and all three period_of_performance dates. search_awards returns only summary fields sufficient for listing and linking.
Does the API expose individual spending transactions or contract line items beneath an award?+
Not currently. The API covers award-level and subaward-level records. Individual transactions (modifications, incremental obligations) are not returned by any current endpoint. You can fork this API on Parse and revise it to add a transaction-level endpoint targeting the relevant USASpending.gov data.
How current is the spending data, and does it cover all fiscal years?+
list_agencies data reflects the current active fiscal year and quarter only. search_awards and search_subawards support time_period filters, so you can query historical fiscal years, but data freshness depends on how frequently USASpending.gov updates its records — typically within a few days of agency reporting deadlines.
Page content last updated . Spec covers 6 endpoints from usaspending.gov.
Related APIs in Government PublicSee all →
simpler.grants.gov API
Search and discover federal funding opportunities available through Grants.gov, then retrieve detailed information about grants, loans, and other financial assistance programs that match your needs. Access comprehensive opportunity details including eligibility requirements, funding amounts, and application deadlines all in one place.
grantwatch.com API
Search and browse thousands of grants from GrantWatch.com to find funding opportunities tailored to individuals, nonprofits, small businesses, and foundations. Get detailed grant information, filter by category, and discover newly posted grants to match your eligibility and funding needs.
portaltransparencia.gov.br API
Search and analyze Brazilian government spending, including public expenses, contracts, civil servant salaries, benefits, travel records, and sanctions data. Track government transparency information by department, budget programs, and public tenders all in one place.
usajobs.gov API
Search federal job openings and view detailed job announcements from USAJobs.gov, plus access historical job data and reference codes to help you find the right government position. Filter and explore thousands of federal career opportunities with comprehensive job details all in one place.
gsaelibrary.gsa.gov API
Access data from gsaelibrary.gsa.gov.
offenevergaben.at API
Search and explore Austrian public procurement contracts, including details about contracting authorities, suppliers, and product categories. Track government spending by accessing comprehensive information about individual contracts, the organizations that issue them, and the vendors that supply them.
webgate.ec.europa.eu API
Search for EU state aid grants awarded to companies by country and beneficiary details to track public funding and subsidies. Find comprehensive transparency data on who received grants, where, and when to monitor government financial support across Europe.
justice.gov API
Search and retrieve official U.S. Department of Justice press releases. Find information on DOJ announcements, enforcement actions, settlements, and legal proceedings across all topic areas. Access full press release details including case summaries, entities involved, and filing dates.