Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.cyanheads/usaspending-mcp-server

REMOTE · USASPENDING.CASEYJHAND.COM · 2 COMPONENTS · SCANNED AUG 3

Access US federal award, recipient, agency, and spending analytics data from USAspending.gov.

+4 this week 67 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security66
  • The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
  • Authorisation not fully verified: no authorisation is required to call this server, and 18 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
  • HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
  • The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
  • DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
Schema Quality & AI Usability64
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 4559 tokens (~253/item across 18 items; 18 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management21
  • Stability check failed: schema churn in the 8 days we've observed: 1 tool removals, 0 breaking changes, 0 auth/transport breaks, 1 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · usaspending.caseyjhand.com

# add to Claude Code
claude mcp add --transport http cyanheads-usaspending-mcp-server https://usaspending.caseyjhand.com/mcp
# ~/.codex/config.toml
[mcp_servers.cyanheads-usaspending-mcp-server]
url = "https://usaspending.caseyjhand.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "cyanheads-usaspending-mcp-server": {
      "type": "remote",
      "url": "https://usaspending.caseyjhand.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add cyanheads-usaspending-mcp-server --url https://usaspending.caseyjhand.com/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  cyanheads-usaspending-mcp-server:
    url: "https://usaspending.caseyjhand.com/mcp"
// mcp.json
{
  "mcpServers": {
    "cyanheads-usaspending-mcp-server": {
      "type": "http",
      "url": "https://usaspending.caseyjhand.com/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 14 to 18.

  • 31 Jul 26 +2
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 27 Jul 26 +1
    • Stability: unverified → fail security
    • Tool “usaspending_autocomplete” was removed security
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “usaspending_spending_by_category” rewrote its description, which is the text the model reads security
    • Tool “usaspending_spending_over_time” rewrote its description, which is the text the model reads security
    • Stability: unverified → 0.03 functional
    • Schema quality: excellent → good functional
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
    • Server version: 0.4.0 → 0.4.1 functional
    • Server version: 0.3.2 → 0.4.0 functional
    • Server version: 0.3.0 → 0.3.2 functional
    • New tool “usaspending_autocomplete_filters” functional
    • “usaspending_spending_by_geography” added an optional parameter “limit” cosmetic
    • “usaspending_search_awards” reworded the description of “naics_codes” cosmetic
    • “usaspending_search_awards” reworded the description of “agency_name” cosmetic
    • “usaspending_search_awards” reworded the description of “last_record_sort_value” cosmetic
    • “usaspending_search_awards” reworded the description of “page” cosmetic
  • 26 Jul 26 62

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://usaspending.caseyjhand.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=caseyjhand.com CN=WE1,O=Google Trust Services,C=US 7 Jul 2026 5 Oct 2026 ECDSA 256 ECDSA-SHA256 5aad900eb2055a0b0ea55912ec19680c
SANs: caseyjhand.com, *.caseyjhand.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b
DNSSEC secure

Validation of usaspending.caseyjhand.com. Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
caseyjhand.com. present 2371 13 Verified
usaspending.caseyjhand.com. Verified address RRset verified with the apex keys
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
x-content-type-options nosniff
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://usaspending.caseyjhand.com/mcp Verified 200
http (plaintext) http://usaspending.caseyjhand.com/mcp HTTPS enforced 301 https://usaspending.caseyjhand.com/mcp
MCP tools — 18 exposed · ~4,435 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
usaspending_autocomplete_filters ~303

Look up valid code values for filter fields by searching free-text descriptions. Use the type parameter to select the lookup table: naics (NAICS industry codes), psc (product/service codes), cfda (CFDA/Assistance Listing program numbers), awarding_agency (agency names and IDs), or recipient (recipient names with UEI/DUNS). Call this before filtering awards when you know a description but not the exact code. Returns matching codes and names for use in other tool filters.

NameTypeReqDescription
limitintegerMaximum number of results to return (1–500), enforced client-side. The recipient lookup unions three upstream match buckets (name, UEI, DUNS) and can return up to 3x this value, so its results are ca…
search_textstringyesFree-text search string — use a description, keyword, or partial code to find matches
typestringyesLookup table to search: naics (industry codes), psc (product/service codes), cfda (assistance programs), awarding_agency (agency names), recipient (recipient names)
NameTypeReqDescription
capnumberThe limit that was applied.
lookup_typestringyesLookup table that was searched
querystringyesSearch text sent to the autocomplete API
result_countnumberyesNumber of matching results returned
resultsarrayyesMatching codes and names
search_textstringyesSearch text used
shownnumberNumber of results returned.
totalnumberyesNumber of results returned
truncatedbooleanTrue when results were capped at the limit.
typestringyesLookup table searched

No examples provided.

usaspending_disaster_spending ~302

Fetch disaster and emergency supplemental spending (COVID-19, hurricanes, infrastructure law, etc.) broken down by agency, CFDA assistance program, recipient, or geography. Use the dimension parameter to select the breakdown axis: overview (top-level totals), agency, cfda, recipient, or geography. Filter by DEF codes (Disaster/Emergency Funding codes) to isolate a specific emergency appropriation. DEF codes appear in usaspending_get_award account_obligations_by_defc and usaspending_get_agency def_codes fields.

NameTypeReqDescription
dimensionstringyesBreakdown axis: overview (top-level totals and DEF code funding), agency (by awarding agency), cfda (by assistance program), recipient (by recipient), geography (by state/county)
filtersobjectFilters — def_codes is required for all non-overview dimensions (agency, cfda, recipient, geography)
limitintegerMaximum results per page (1–100). Applies to the agency, cfda, and recipient dimensions; ignored for overview and geography, which are not paginated.
pageintegerPage number (1-based)
spending_typestringData type for the agency and recipient dimensions: award (award-level obligations and outlays) or total (includes direct non-award spending). Ignored for cfda and overview; the geography dimension is…
NameTypeReqDescription
applied_dimensionstringyesBreakdown dimension applied
capnumberThe result-set ceiling the upstream applied.
current_pagenumberCurrent page (non-overview dimensions)
dimensionstringyesBreakdown dimension returned
has_next_pagebooleanWhether there are more pages
noticestringCaveat explaining a capped total and how to bring the set under the cap.
overviewobjectTop-level overview totals (dimension=overview only)
page_metadataobjectPagination metadata (non-overview dimensions)
resultsarrayyesBreakdown results (empty for overview dimension)
shownnumberNumber of results returned on this page.
spending_typestringyesData type returned — award/total for agency, cfda, and recipient; obligation for geography; spending for overview
totalCountnumberTotal items for paginated dimensions (when available)
truncatedbooleanTrue when the upstream capped the reachable result set rather than counting it.

No examples provided.

usaspending_get_agency ~252

Fetch an agency's fiscal-year overview including mission, budgetary resources, obligation and outlay totals (for the most recent fiscal year), sub-agency count, and DEF codes for disaster/emergency funding. Also returns a paginated sub-agency breakdown with obligation and transaction counts. Accepts either a 3-digit toptier_code (e.g., 097 for DoD, 012 for Agriculture) or an agency_slug (e.g., department-of-defense) — both appear in usaspending_list_agencies results and award search results.

NameTypeReqDescription
agency_slugstringURL-friendly agency slug (e.g., department-of-defense) — from usaspending_list_agencies or award search results. Use either toptier_code or agency_slug, not both.
pageintegerSub-agency breakdown page (1-based, 10 per page). Use with sub_agency_page_metadata.has_next to page through the full list.
toptier_codestring3-digit toptier agency code (e.g., 097, 012) — from usaspending_list_agencies. Use either toptier_code or agency_slug, not both.
NameTypeReqDescription
abbreviationstringAgency abbreviation
agency_idnumberInternal agency ID
budgetary_resources_amountnumberTotal budgetary resources in USD for the fiscal year
def_codesarrayDisaster/Emergency Funding (DEF) codes applicable to this agency
fiscal_yearnumberFiscal year the budgetary totals below reflect (most recent available)
has_more_sub_agenciesbooleanyesWhether more sub-agency pages are available
missionstringAgency mission statement
namestringAgency full name
noticestringGuidance when the sub-agency breakdown is truncated — how to page for the rest. Absent when the last page is shown.
obligated_amountnumberTotal amount obligated in USD for the fiscal year
outlay_amountnumberTotal outlays in USD for the fiscal year
sub_agenciesarraySub-agency breakdown within this toptier agency (one page)
sub_agency_pagenumberyesCurrent sub-agency page returned
sub_agency_page_metadataobjectPagination metadata for the sub-agency breakdown
sub_agency_totalnumberTotal sub-agencies across all pages (when available)
subtier_agency_countnumberNumber of sub-agencies within this toptier agency
toptier_codestring3-digit toptier agency code
websitestringAgency website URL

No examples provided.

usaspending_get_award ~197

Fetch full details of a federal award by its generated unique award ID. Returns contract or assistance award data including recipient info, agency hierarchy, period of performance, place of performance, funding account linkages (account_obligations_by_defc), parent IDV information, and subaward count. Use generated_internal_id values from usaspending_search_awards as input. Recipient hashes can be passed to usaspending_get_recipient; NAICS codes can be used in usaspending_search_awards filters. For IDV-category awards (category="idv"), use usaspending_get_idv_awards to list the child contracts and task/delivery orders placed under them.

NameTypeReqDescription
award_idstringyesGenerated unique award ID (e.g., CONT_AWD_FA862118F6251_9700_FA862115D6276_9700) — use generated_internal_id from usaspending_search_awards
NameTypeReqDescription
account_obligations_by_defcarrayFunding breakdown by Disaster/Emergency Funding (DEF) code — links to disaster appropriations
awarding_agencyobjectAwarding agency hierarchy
base_and_all_options_valuenumberBase and all options value in USD (contracts)
categorystringAward category (contract, grant, direct_payment, loan, idv, other)
cfdaobjectCFDA program (grants/assistance)
date_signedstringDate award was signed (YYYY-MM-DD)
descriptionstringAward description
fainstringFederal Award Identification Number (for assistance)
funding_agencyobjectFunding agency hierarchy
generated_unique_award_idstringGenerated unique award ID
naicsobjectNAICS code (contracts)
parent_awardobjectParent IDV information (contracts only)
period_of_performanceobjectPeriod of performance dates
piidstringProcurement Instrument Identifier (for contracts)
place_of_performanceobjectPlace of performance
product_or_service_codeobjectProduct or service code (contracts)
recipientobjectRecipient details
subaward_countnumberNumber of subawards; use with usaspending_get_award_subawards
total_obligationnumberTotal obligation amount in USD
total_outlaysnumberTotal outlay amount in USD
typestringAward type code
type_descriptionstringHuman-readable award type

No examples provided.

usaspending_get_award_federal_accounts ~258

List the Treasury federal accounts that funded an award, with the amount obligated from each and the funding agency behind it. This is the award → appropriation link: each row returns federal_account (AGENCY-MAIN format, e.g. 080-0120) to chain into usaspending_get_federal_account for the account budget detail. The award_id must be a generated_unique_award_id — from usaspending_search_awards (generated_internal_id field) or usaspending_get_award. Distinct from usaspending_get_award account_obligations_by_defc, which breaks funding down by Disaster/Emergency Funding code rather than by account. An award_id that does not exist returns an empty list rather than an error.

NameTypeReqDescription
award_idstringyesAward generated_unique_award_id (e.g., CONT_AWD_GSFC0198106DNAS526555_8000_-NONE-_-NONE-) — use generated_internal_id from usaspending_search_awards or generated_unique_award_id from usaspending_get_…
limitintegerMaximum results per page (1–100)
pageintegerPage number (1-based)
NameTypeReqDescription
award_idstringyesAward ID queried
current_pagenumberyesCurrent page returned
has_next_pagebooleanyesWhether there are more pages of funding accounts
noticestringRecovery hint when results are empty — the award_id may not exist or may have no account linkage. Absent when results are present.
page_metadataobjectyesPagination metadata
resultsarrayyesFederal accounts funding this award
totalCountnumberTotal number of funding accounts across all pages (when available)

No examples provided.

usaspending_get_award_subawards ~162

List subaward contracts or grants under a prime federal award. Reveals the sub-contractor or sub-grantee layer — the organizations that actually perform the work. Each row shows the subaward number, amount, description, action date, and recipient. Check subaward_count on usaspending_get_award first to confirm subawards exist before calling this tool.

NameTypeReqDescription
award_idstringyesGenerated unique award ID (generated_internal_id from usaspending_search_awards)
limitintegerMaximum subawards per page (1–100)
orderstringSort direction
pageintegerPage number (1-based)
sortstringSort field for subawards
NameTypeReqDescription
award_idstringyesPrime award ID queried
current_pagenumberyesCurrent page returned
has_next_pagebooleanyesWhether there are more pages of subawards
noticestringGuidance when no subawards were returned — suggests checking subaward_count from usaspending_get_award first. Absent when results are present.
page_metadataobjectyesPagination metadata
prime_award_idstringyesPrime award ID whose subawards were listed
resultsarrayyesList of subawards under this prime award
totalCountnumberTotal subaward count across all pages (when available)

No examples provided.

usaspending_get_award_transactions ~150

List individual transactions (contract modifications, grant amendments) on a federal award. Each transaction represents a change event — obligation modifications, performance period extensions, scope changes, etc. Use this to trace the spending history and obligation changes over the life of an award. Award IDs come from usaspending_search_awards (generated_internal_id field).

NameTypeReqDescription
award_idstringyesGenerated unique award ID (generated_internal_id from usaspending_search_awards)
limitintegerMaximum transactions per page (1–100)
orderstringSort direction
pageintegerPage number (1-based)
sortstringSort field for transactions
NameTypeReqDescription
award_idstringyesAward ID queried
current_pagenumberyesCurrent page returned
has_next_pagebooleanyesWhether there are more pages of transactions
noticestringGuidance when no transactions were returned — helps confirm the award_id is a valid generated_internal_id. Absent when results are present.
page_metadataobjectyesPagination metadata
queried_award_idstringyesAward ID whose transactions were listed
resultsarrayyesList of transactions for this award
totalCountnumberTotal transaction count across all pages (when available)

No examples provided.

usaspending_get_federal_account ~196

Fetch a federal account's budget data: total obligations, gross outlays, and budgetary resources, plus the per-Treasury-Account-Symbol (TAS) component breakdown in children. Federal accounts connect appropriations law to actual agency spending. Account codes come from usaspending_search_federal_accounts (its account_number output field) or usaspending_get_award_federal_accounts (its federal_account field), and are formatted as AGENCY-MAIN (e.g., 097-0100 for DoD Operation and Maintenance). For obligations broken down by program activity or object class, use usaspending_get_federal_account_breakdown.

NameTypeReqDescription
account_codestringyesFederal account code in AGENCY-MAIN format (e.g., 097-0100). Returned as account_number by usaspending_search_federal_accounts and as federal_account by usaspending_get_award_federal_accounts.
NameTypeReqDescription
account_titlestringFull account title
agency_identifierstringAgency identifier code
bureau_namestringBureau name within the agency
childrenarrayTreasury Account Symbol (TAS) components that make up this federal account, each with its own obligated, outlay, and budgetary-resource amounts. Omitted when the upstream returns none.
federal_account_codestringFederal account code
fiscal_yearnumberFiscal year of the financial data
main_account_codestringMain account code
parent_agency_namestringManaging parent agency name
total_budgetary_resourcesnumberTotal budgetary resources in USD
total_gross_outlay_amountnumberTotal gross outlay amount in USD
total_obligated_amountnumberTotal obligated amount in USD

No examples provided.

usaspending_get_federal_account_breakdown ~249

Fetch a federal account's obligations broken down by program activity (what the money funds) or object class (what it buys — personnel, supplies, contracts). Use the dimension parameter to select the axis. Account codes are AGENCY-MAIN format and come from usaspending_search_federal_accounts (its account_number output field), usaspending_get_award_federal_accounts (its federal_account field), or usaspending_get_federal_account. Paginated with an honest total count. For the account's own metadata and top-level totals, use usaspending_get_federal_account.

NameTypeReqDescription
account_codestringyesFederal account code in AGENCY-MAIN format (e.g., 097-0100). Returned as account_number by usaspending_search_federal_accounts and as federal_account by usaspending_get_award_federal_accounts.
dimensionstringyesBreakdown axis: program_activity (obligations by the program the funds support) or object_class (obligations by the category of goods/services purchased)
limitintegerMaximum results per page (1–100)
pageintegerPage number (1-based)
NameTypeReqDescription
account_codestringyesFederal account code queried
applied_dimensionstringyesBreakdown dimension applied
current_pagenumberyesCurrent page returned
dimensionstringyesBreakdown dimension returned
has_next_pagebooleanyesWhether there are more pages of breakdown rows
noticestringRecovery hint when results are empty — the account code may not exist or may have no obligations on this axis. Absent when results are present.
page_metadataobjectyesPagination metadata
resultsarrayyesBreakdown rows for the requested dimension
totalCountnumberTotal number of breakdown rows across all pages (when available)

No examples provided.

usaspending_get_idv_awards ~279

List child contracts and task/delivery orders placed under an IDV (Indefinite Delivery Vehicle) award. Each row includes the generated_unique_award_id to chain into usaspending_get_award for full detail. The award_id must be the generated_unique_award_id of the parent IDV — obtainable from usaspending_search_awards (generated_internal_id field) or from usaspending_get_award. IDV category awards returned by usaspending_get_award have child orders accessible via this tool.

NameTypeReqDescription
award_idstringyesParent IDV generated_unique_award_id (e.g., CONT_IDV_NNK14MA74C_8000) — use generated_internal_id from usaspending_search_awards or generated_unique_award_id from usaspending_get_award
limitintegerMaximum results per page (1–100)
orderstringSort direction
pageintegerPage number (1-based)
sortstringField to sort child awards by (e.g., obligated_amount, period_of_performance_start_date)
typestringType of child awards to list: child_awards = task/delivery orders, child_idvs = sub-IDVs, grandchild_awards = orders under sub-IDVs
NameTypeReqDescription
award_idstringyesParent IDV award ID queried
capnumberThe per-page limit that was applied.
current_pagenumberyesCurrent page returned
has_next_pagebooleanyesWhether more pages of child awards may remain — set on a full page even when the upstream flag reports none.
noticestringRecovery hint when results are empty — the award may have no children of the requested type. Absent when results are present.
page_metadataobjectyesPagination metadata (no total count available from this endpoint)
parent_award_idstringyesParent IDV award ID whose children were listed
resultsarrayyesChild awards placed under this IDV
shownnumberNumber of child awards returned on this page.
truncatedbooleanTrue when this page was full and more child awards may remain beyond it.

No examples provided.

usaspending_get_recipient ~210

Fetch a recipient's full profile including address, business type codes, parent organization, alternate names, and total transaction and loan amounts. Recipient IDs are UUID hashes with a level suffix (-P parent, -C child, -R standalone) from usaspending_search_recipients or usaspending_get_award. Optionally scope the totals to a specific fiscal year and award type. UEI and DUNS values can be used to cross-reference with SAM.gov and SEC EDGAR.

NameTypeReqDescription
award_typestringAward type category to scope award totals
fiscal_yearintegerFiscal year to scope award totals (e.g., 2024)
recipient_idstringyesRecipient hash ID (UUID with level suffix, e.g., b97d19b0-833c-8d8f-3a2c-157d04ea55ef-P) — from usaspending_search_recipients or usaspending_get_award
NameTypeReqDescription
alternate_namesarrayAlternate business names
business_typesarrayBusiness type codes
dunsstringDUNS number (legacy)
locationobjectRecipient address
namestringRecipient legal business name
parent_namestringParent organization name
parent_ueistringParent organization UEI
recipient_idstringRecipient hash ID
recipient_levelstringHierarchy level: P = parent, C = child, R = standalone
total_face_value_loan_amountnumberTotal face value of loans in USD
total_face_value_loan_transactionsnumberNumber of face-value loan transactions
total_transaction_amountnumberTotal transaction (award) amount in USD; scoped by fiscal_year/award_type when provided
total_transactionsnumberTotal number of award transactions
ueistringUnique Entity Identifier (SAM.gov)

No examples provided.

usaspending_list_agencies ~119

List all top-tier federal agencies with toptier codes, agency slugs, budget authority amounts, and obligation totals for the current fiscal year. Use this as the entry point for agency navigation — toptier codes and agency slugs are required inputs for usaspending_get_agency and agency-based filters on spending analysis tools.

NameTypeReqDescription
orderstringSort direction: asc or desc
sortstringSort field: agency_name (alphabetical), budget_authority_amount, obligated_amount, or outlay_amount
NameTypeReqDescription
agency_countnumberyesTotal number of top-tier federal agencies returned
resultsarrayyesList of top-tier federal agencies with budget and obligation data
totalnumberyesTotal number of agencies returned

No examples provided.

usaspending_search_awards ~740

Search federal awards by keyword, recipient, agency, award type, NAICS code, location, or date range. Returns ranked award summaries including recipient names, amounts, awarding agencies, and generated award IDs for use with usaspending_get_award. Award types: A/B/C/D = contracts, 02/03/04/05 = grants, 06/10 = direct payments, 07/08 = loans, IDV_A/IDV_B/IDV_C/IDV_D/IDV_E = IDVs. Dates must be ISO 8601 (YYYY-MM-DD). Earliest data: 2007-10-01 via search API. DoD contracts have a 90-day publication lag.

NameTypeReqDescription
agency_namestringFilter to a specific awarding agency by name (e.g., "Department of Defense"). Use usaspending_autocomplete_filters type=awarding_agency to find exact names.
award_type_codesarrayFilter by award type codes. All codes must belong to a single group: A/B/C/D (contracts), 02/03/04/05 (grants), 06/10 (direct payments), 07/08 (loans), IDV_A–IDV_E (IDVs). Defaults to contracts. Mixi…
filtersobjectOptional analytics-style filter object mirroring the shape the spending analytics tools accept, for reusing one filter set across tools. When both this object and the equivalent top-level flat filter…
keywordstringFull-text search across award descriptions, recipient names, and place names
last_record_sort_valuestringKeyset-pagination cursor: the last_record_sort_value from a prior response page_metadata. Provide together with last_record_unique_id to fetch the next page past the 50,000-result page-number cap. Th…
last_record_unique_idintegerKeyset-pagination cursor: the last_record_unique_id from a prior response page_metadata. Provide together with last_record_sort_value.
limitintegerMaximum results per page (1–100)
location_filterobjectFilter by place of performance location. Uses FIPS codes and 2-letter state abbreviations, not place names — use a geocoding server to resolve names to codes first.
naics_codesarrayFilter by NAICS industry codes (e.g., ["541512"]). Use usaspending_autocomplete_filters type=naics to look up codes.
orderstringSort direction
pageintegerPage number (1-based). Page-number pagination caps at a 50,000-result offset (page × limit), but the keyset cursor below is only returned while the offset stays under 10,000 — capture the cursor pair…
recipient_namestringFilter by recipient name (partial match); maps to this endpoint's recipient_search_text. This endpoint has no recipient_id filter — use usaspending_search_recipients to look up a recipient by name.
sortstringSort field for results
time_periodobjectFilter awards by date range (action date)
NameTypeReqDescription
applied_agency_namestringAwarding agency name filter applied
applied_keywordstringKeyword filter applied to this search
applied_naics_codesstringNAICS codes filter applied (comma-separated)
applied_time_period_endstringEnd date filter applied (YYYY-MM-DD)
applied_time_period_startstringStart date filter applied (YYYY-MM-DD)
capnumberPer-page cap (limit) applied to this page.
has_nextbooleanyesWhether more results may remain — set on a full page even when the upstream flag reports none.
noticestringRecovery hint when results are empty — echoes applied filters and suggests how to broaden. Absent when results are present.
pagenumberyesCurrent page number returned
page_metadataobjectyesPagination metadata. This endpoint does not return a total match count; use has_next and the cursor pair to page.
resultsarrayyesMatching award summaries
shownnumberNumber of awards returned on this page.
truncatedbooleanTrue when this page was capped at `limit` and more results may remain (continue via page or the cursor).
upstream_messagesarrayNotices the USAspending API returned with this response — e.g. a supplied filter it ignored because this endpoint does not support it. Every successful response also carries a standing advisory that…

No examples provided.

usaspending_search_federal_accounts ~200

List and keyword-search federal accounts by agency identifier or title keyword. Returns account numbers, names, managing agencies, and budgetary resources. Use account_number from results as input to usaspending_get_federal_account for full budget detail. Use usaspending_list_agencies to look up agency_identifier codes (3-digit strings, e.g. "097" for DoD).

NameTypeReqDescription
agency_identifierstring3-digit agency identifier code (e.g., "097" for Department of Defense). Use usaspending_list_agencies to look up codes.
keywordstringFilter accounts by name or title keyword (e.g., "defense", "transportation")
limitintegerMaximum results per page (1–100)
pageintegerPage number (1-based)
sort_directionstringSort direction
sort_fieldstringField to sort results by
NameTypeReqDescription
has_nextbooleanyesWhether there are more pages of results
noticestringRecovery hint when results are empty — echoes applied filters and suggests how to broaden. Absent when results are present.
pagenumberyesCurrent page number returned
page_metadataobjectyesPagination metadata
resultsarrayyesMatching federal accounts
totalCountnumberTotal number of matching accounts across all pages (when available)

No examples provided.

usaspending_search_recipients ~201

Search for organizations or individuals receiving federal funds by name, UEI (Unique Entity Identifier), or DUNS. Returns recipient hash IDs, UEI/DUNS identifiers, total award amounts, and hierarchy level. Results are paginated — use page to retrieve matches beyond the first page; page_metadata.total reports the full match count. Recipient hash IDs from this tool can be passed to usaspending_get_recipient for full profiles. Recipient level: P = parent organization, C = child entity, R = standalone.

NameTypeReqDescription
award_typestringFilter by award type category to scope the total amounts returned
keywordstringyesName, UEI, DUNS, or keyword to search for — partial matches are supported
limitintegerMaximum results per page (1–100)
pageintegerPage number (1-based) — request the next page to retrieve matches beyond the first
NameTypeReqDescription
has_nextbooleanyesWhether there are more pages of results
noticestringRecovery hint — how to continue to the next page when more results exist, or how to broaden the search when empty. Absent when the full match set fits on this page.
pagenumberyesCurrent page number returned
page_metadataobjectyesPagination metadata — page through with the page input to reach later matches
recipient_countnumberyesNumber of matching recipients returned on this page
resultsarrayyesMatching recipients
totalCountnumberTotal matching recipients across all pages

No examples provided.

usaspending_spending_by_category ~176

Aggregate federal spending grouped by a specific dimension: NAICS industry code, PSC product/service code, awarding agency, funding agency, CFDA assistance program, or recipient. Returns top items with obligation amounts — useful for trend and breakdown analysis. Chain NAICS codes into usaspending_search_awards filters or usaspending_autocomplete_filters lookups.

NameTypeReqDescription
categorystringyesBreakdown dimension: naics (industry), psc (product/service code), awarding_agency, awarding_subagency, funding_agency, funding_subagency, cfda (assistance programs), recipient_duns, or recipient_par…
filtersobjectOptional filters to scope the aggregation
limitintegerMaximum items to return (1–100)
pageintegerPage number (1-based)
NameTypeReqDescription
applied_agency_namestringAwarding agency name filter applied
applied_keywordsstringKeyword filters applied (comma-separated)
applied_naics_codesstringNAICS code filters applied (comma-separated)
applied_time_period_endstringEnd date filter applied (YYYY-MM-DD)
applied_time_period_startstringStart date filter applied (YYYY-MM-DD)
categorystringyesBreakdown dimension used
has_nextbooleanyesWhether there are more pages
noticestringRecovery hint when results are empty — suggests how to broaden filters. Absent when results are present.
pagenumberyesCurrent page returned
page_metadataobjectyesPagination metadata
resultsarrayyesTop items in this category by obligation amount
totalCountnumberTotal number of items in this category (when available)

No examples provided.

usaspending_spending_by_geography ~249

Aggregate federal spending by state, county, or congressional district. Useful for per-capita analysis, regional comparisons, and mapping federal investment patterns. Geographic filters accept FIPS codes and 2-letter state abbreviations — NOT place names. Resolve place names to FIPS codes using a geocoding server (Census or OpenStreetMap) before applying location filters. Chain per-capita results with Census population data for meaningful comparisons.

NameTypeReqDescription
filtersobjectOptional filters to scope the spending aggregation
geo_layerstringyesGeographic granularity: state (50 states), county (county-level), or district (congressional district)
limitintegerMaximum geographic areas to return, ranked by aggregated_amount descending (1–500). The upstream endpoint is not paginated — it returns every matching area in one response — so this caps client-side.…
scopestringyesWhich location to aggregate by: place_of_performance (where work is done) or recipient_location (where the recipient is based)
subawardsbooleanInclude subaward data instead of prime award data
NameTypeReqDescription
applied_agency_namestringAwarding agency name filter applied
applied_award_type_defaultstringDisclosure that no filters were supplied, so award_type_codes defaulted to the complete set. Absent when the caller supplied at least one filter.
applied_geo_layerstringyesGeographic granularity applied: state, county, or district
applied_keywordsstringKeyword filters applied (comma-separated)
applied_naics_codesstringNAICS code filters applied (comma-separated)
applied_scopestringyesLocation scope applied: place_of_performance or recipient_location
applied_time_period_endstringEnd date filter applied (YYYY-MM-DD)
applied_time_period_startstringStart date filter applied (YYYY-MM-DD)
area_countnumberyesNumber of geographic areas returned
capnumberThe limit that was applied.
geo_layerstringyesGeographic granularity used
noticestringRecovery hint when results are empty — suggests how to broaden filters. Absent when results are present.
resultsarrayyesSpending totals by geographic area
scopestringyesLocation scope used for aggregation
shownnumberNumber of geographic areas returned.
totalnumberyesNumber of geographic areas returned
total_areas_availablenumberyesNumber of geographic areas the filters matched, before limit was applied
truncatedbooleanTrue when the area list was capped at limit.
truncationCeilingnumberObligation amount of the lowest-ranked area shown — an upper bound on omitted ones.

No examples provided.

usaspending_spending_over_time ~192

Fetch aggregated federal obligation amounts grouped by fiscal year, fiscal quarter, or fiscal month. All grouping is relative to the US government fiscal year (Oct–Sep), so fiscal month 1 is October, not January. Filter by award type, agency, recipient, keyword, or NAICS code to trace spending trends in a specific area. Returns per-period totals and optional breakdowns by award category (contracts, grants, direct payments, IDVs, loans, other).

NameTypeReqDescription
filtersobjectFilters to scope the time-series aggregation. Defaults to contract awards when omitted.
groupstringyesTime grouping: fiscal_year (annual US govt FY: Oct–Sep), quarter (fiscal quarter), or month (fiscal month — an ordinal within the fiscal year, where 1 = October)
subawardsbooleanAggregate subaward data instead of prime award data
NameTypeReqDescription
applied_agency_namestringAwarding agency name filter applied
applied_keywordsstringKeyword filters applied (comma-separated)
applied_naics_codesstringNAICS code filters applied (comma-separated)
applied_time_period_endstringEnd date filter applied (YYYY-MM-DD)
applied_time_period_startstringStart date filter applied (YYYY-MM-DD)
groupstringyesTime grouping used
noticestringRecovery hint when no periods are returned — suggests broadening filters. Absent when results are present.
period_countnumberyesNumber of time periods returned
resultsarrayyesTime-series of obligation totals
time_groupstringyesTime grouping applied: fiscal_year, quarter, or month
total_periodsnumberyesNumber of time periods returned

No examples provided.