io.github.cyanheads/usaspending-mcp-server
REMOTE · USASPENDING.CASEYJHAND.COM · 2 COMPONENTS
Access US federal award, recipient, agency, and spending analytics data from USAspending.gov.
Available components
Last scanned (10 hours ago)
Scores higher than 97% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Finance and Payments
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 → Why this is hard to score →
Endpoint Security83
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Nothing on it is marked destructive, but we can't show that an anonymous caller can only read: full credit needs the server to list at least one tool and every tool to be verifiably read-only. We use a best-effort check of tool names and descriptions to tell read-only tools from tools that change things, so some genuinely read-only tools may not get full credit. Names that start with a read verb (get, list, read, search and similar) and accurate readOnlyHint annotations help. Meet that to earn full credit, or require authorisation. See how to fix → View diagnostics → Partial
- 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
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability75
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 6321 tokens (~332/item across 19 items; 18 tools + 1 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 Management100
- No destabilizing schema changes in the last 30 days.Pass
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
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 18 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 20 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Checks we ran (13)
- TLS certificate
- Authorization
- HTTPS
- HSTS header
- DNSSEC
- Transport
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
Does not apply to this hosted endpoint (2)
- Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
- Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
The score does not measure everything. What the score does not measure →
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.
- 3 Nov 26 0
- Tool “usaspending_get_recipient” rewrote its description, which is the text the model reads security
- Tool “usaspending_get_agency” rewrote its description, which is the text the model reads security
- Tool “usaspending_search_federal_accounts” rewrote its description, which is the text the model reads security
- Tool “usaspending_disaster_spending” rewrote its description, which is the text the model reads security
- Server version: 0.7.0 → 0.7.1 functional
- “usaspending_get_recipient” reworded the description of “recipient_id” cosmetic
- “usaspending_search_awards” reworded the description of “naics_codes” cosmetic
- “usaspending_disaster_spending” reworded the description of “limit” cosmetic
- “usaspending_get_agency” reworded the description of “toptier_code” cosmetic
- “usaspending_search_awards” reworded the description of “keyword” cosmetic
- “usaspending_search_federal_accounts” reworded the description of “agency_identifier” cosmetic
- 26 Oct 26 +3
- Schema quality: unverified → 100 ▲ functional
- New resource “usaspending-guide” functional
- Server version: 0.6.0 → 0.7.0 functional
- 24 Oct 26 0
- Tool “usaspending_search_federal_accounts” rewrote its description, which is the text the model reads security
- Tool “usaspending_list_agencies” rewrote its description, which is the text the model reads security
- Tool “usaspending_get_federal_account_breakdown” rewrote its description, which is the text the model reads security
- Tool “usaspending_get_federal_account” rewrote its description, which is the text the model reads security
- Tool “usaspending_autocomplete_filters” rewrote its description, which is the text the model reads security
- Server version: 0.5.1 → 0.6.0 functional
- Server version: 0.5.0 → 0.5.1 functional
- “usaspending_search_federal_accounts” added an optional parameter “fiscal_year” cosmetic
- “usaspending_list_agencies” added an optional parameter “page” cosmetic
- “usaspending_list_agencies” added an optional parameter “limit” cosmetic
- “usaspending_get_federal_account_breakdown” added an optional parameter “fiscal_year” cosmetic
- “usaspending_get_federal_account” added an optional parameter “fiscal_year” cosmetic
- “usaspending_search_awards” reworded the description of “agency_name” cosmetic
- “usaspending_autocomplete_filters” reworded the description of “limit” cosmetic
- “usaspending_search_recipients” reworded the description of “keyword” cosmetic
- 12 Oct 26 −1
- The server rewrote its instructions, which are the text every model session reads security
- Tool “usaspending_spending_over_time” rewrote its description, which is the text the model reads security
- Tool “usaspending_spending_by_geography” rewrote its description, which is the text the model reads security
- Tool “usaspending_spending_by_category” rewrote its description, which is the text the model reads security
- Tool “usaspending_search_awards” rewrote its description, which is the text the model reads security
- Tool “usaspending_get_recipient” rewrote its description, which is the text the model reads security
- Tool “usaspending_autocomplete_filters” rewrote its description, which is the text the model reads security
- Tool “usaspending_get_agency” rewrote its description, which is the text the model reads security
- Tool “usaspending_get_award” rewrote its description, which is the text the model reads security
- Schema quality: 275 → 324 ▼ functional
- Server version: 0.4.5 → 0.5.0 functional
- “usaspending_spending_by_geography” added an optional parameter “shape_codes” cosmetic
- “usaspending_search_awards” added an optional parameter “psc_codes” cosmetic
- “usaspending_search_awards” added an optional parameter “def_codes” cosmetic
- “usaspending_get_recipient” reworded the description of “fiscal_year” cosmetic
- “usaspending_spending_by_geography” reworded the description of “limit” cosmetic
- “usaspending_spending_by_geography” reworded the description of “geo_layer” cosmetic
- “usaspending_spending_by_category” reworded the description of “category” cosmetic
- “usaspending_search_awards” reworded the description of “location_filter” cosmetic
- “usaspending_search_awards” reworded the description of “filters” cosmetic
- “usaspending_search_awards” reworded the description of “assistance_listings” cosmetic
- “usaspending_search_awards” reworded the description of “agency_name” cosmetic
- “usaspending_autocomplete_filters” reworded the description of “type” cosmetic
- “usaspending_disaster_spending” reworded the description of “limit” cosmetic
- “usaspending_get_recipient” dropped the optional parameter “award_type” cosmetic
- 8 Oct 26 0
- Server version: 0.4.4 → 0.4.5 functional
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “usaspending_search_awards” rewrote its description, which is the text the model reads security
- 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.3 → 0.4.4 functional
- “usaspending_search_awards” added an optional parameter “assistance_listings” cosmetic
- “usaspending_search_awards” reworded the description of “sort” cosmetic
- “usaspending_search_awards” reworded the description of “award_type_codes” cosmetic
- “usaspending_autocomplete_filters” reworded the description of “type” cosmetic
- “usaspending_disaster_spending” reworded the description of “spending_type” cosmetic
- “usaspending_search_awards” reworded the description of “time_period” cosmetic
- 20 Sept 26 0
- Server version: 0.4.2 → 0.4.3 functional
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 5 Nov 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 | 2 Nov 2026 | 31 Jan 2027 | ECDSA 256 | ECDSA-SHA256 | 995a30681ab772540e934241ca1d576c |
| 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 |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of usaspending.caseyjhand.com. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | Trust anchor | 20326, 38696 | 8, 8 | Verified |
| com. | DS published | 19718 | 13 | Verified |
| caseyjhand.com. | DS published | 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 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
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 |
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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
usaspending_autocomplete_filters Autocomplete Codes and Names ~414
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 and sub-agency names, each with its tier and top-tier parent — agency_name filters take the matched name; a sub-tier name shared by several parents matches under all parents), 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum number of results to return (1–500), enforced client-side. Agency matches combine independently capped top-tier then sub-tier buckets, preserving their order without deduplicating names; offi… |
| search_text | string | yes | Free-text search string — use a description, keyword, or partial code to find matches |
| type | string | yes | Lookup table to search: naics (industry codes), psc (product/service codes, for the psc_codes filter), cfda (Assistance Listing program numbers, for the assistance_listings filter), awarding_agency (… |
| Name | Type | Req | Description |
|---|---|---|---|
| cap | number | – | The limit that was applied, when truncated. |
| error | object | – | Present when the call failed. Absent on success. |
| lookup_type | string | – | Lookup table that was searched |
| notice | string | – | How to reach the matches left out when truncated, or — when limit is 500 and all 500 slots filled — that the upstream maximum was reached and more matches may exist. Absent otherwise. |
| query | string | – | Search text sent to the autocomplete API |
| result_count | number | – | Number of matching results returned |
| results | array | – | Matching codes and names |
| search_text | string | – | Search text used |
| shown | number | – | Number of results returned, when truncated. |
| total | number | – | Number of results returned |
| truncated | boolean | – | True when more matches exist beyond the limit and were left out. Absent when every match was returned. |
| type | string | – | Lookup table searched |
No examples provided.
usaspending_disaster_spending Disaster and Emergency Spending ~333
Fetch disaster and emergency supplemental spending broken down by agency, CFDA assistance program, recipient, or geography, or request an overview. Filter by DEF codes to select emergency appropriations, then check amount_coverage before interpreting amounts: award breakdowns and geography cover the provider COVID grouping, while overview and agency total cover all requested codes. Rows and award counts can match codes outside the monetary scope. DEF codes appear in usaspending_get_award account_obligations_by_defc and usaspending_get_agency def_codes fields.
| Name | Type | Req | Description |
|---|---|---|---|
| dimension | string | yes | Breakdown axis: overview (top-level totals and DEF code funding), agency (by awarding agency), cfda (by assistance program), recipient (by recipient), geography (by state/county) |
| filters | object | – | Filters — def_codes is required for all non-overview dimensions (agency, cfda, recipient, geography) |
| limit | integer | – | Maximum results per page (1–100). Breakdowns rank obligations descending before pagination; geography ranks aggregated_amount. Agency award without award_type_codes collects all provider pages before… |
| page | integer | – | Page number (1-based) |
| spending_type | string | – | Data type for the agency dimension: award (award-level obligations and outlays) or total (includes direct non-award spending, plus total budgetary resources). Ignored for cfda, recipient, and overvie… |
| Name | Type | Req | Description |
|---|---|---|---|
| amount_coverage | object | – | Scope of all monetary fields, including geography amounts/per-capita and totals; independent of row membership and counts |
| applied_def_codes | string | – | DEF codes applied (comma-separated) |
| applied_dimension | string | – | Breakdown dimension applied |
| applied_query | string | – | Trimmed recipient query sent upstream |
| cap | number | – | recipient: the result-set ceiling the upstream applied. geography: the page size (limit). |
| current_page | number | – | Current page (non-overview dimensions) |
| dimension | string | – | Breakdown dimension returned |
| error | object | – | Present when the call failed. Absent on success. |
| has_next_page | boolean | – | Whether there are more pages |
| notice | string | – | Upstream messages, ignored filters, empty-page recovery, and guidance for recipient ceilings or remaining geography areas. |
| overview | object | – | Top-level overview totals (dimension=overview only) |
| page_metadata | object | – | Pagination metadata (non-overview dimensions) |
| results | array | – | Breakdown results (empty for overview dimension) |
| shown | number | – | Number of results returned on this page. |
| spending_type | string | – | Data type returned — award/total for agency; the requested value echoed for cfda and recipient, whose amounts do not vary with it; obligation for geography; spending for overview |
| totalCount | number | – | Total items for paginated dimensions (when available) |
| totals | object | – | Totals across every matching row, as reported upstream — not a sum of this page. Present for the agency, cfda, and recipient dimensions; the members depend on dimension and spending_type. Absent for… |
| truncated | boolean | – | recipient: true when the upstream capped the reachable result set rather than counting it. geography: true when more areas rank below this page. |
| truncationCeiling | number | – | geography: the lowest aggregated_amount on this page within amount_coverage — no area on a later page has a higher reported value. |
No examples provided.
usaspending_get_agency Get Agency Overview ~357
Fetch an agency's fiscal-year overview including mission, budgetary resources, obligation and outlay totals (for the most recent fiscal year with reported budget data), sub-agency count, and DEF codes for disaster/emergency funding. Also returns a paginated sub-agency breakdown with obligation and transaction counts for the same fiscal year as the budget totals (the current fiscal year when no budget year is available within 5 seconds); sub_agency_fiscal_year names the year it covers. Accepts exactly one directory toptier_code (e.g., 097 for DoD, 1601 for Labor; one/two-digit numeric inputs are zero-padded to three digits) or an agency_slug (e.g., department-of-defense) — both appear in usaspending_list_agencies results and award search results. When the budget or sub-agency request fails, the overview is still returned and unavailable_sections names each missing section with its reason.
| Name | Type | Req | Description |
|---|---|---|---|
| agency_slug | string | – | URL-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. |
| page | integer | – | Sub-agency breakdown page (1-based, 10 per page). Use with sub_agency_page_metadata.has_next to page through the full list. |
| toptier_code | string | – | Directory toptier agency code (e.g., 097, 012, 1601) from usaspending_list_agencies. One/two-digit numeric values are padded to three digits (80 becomes 080); three/four-digit codes are preserved. Us… |
| Name | Type | Req | Description |
|---|---|---|---|
| abbreviation | string | – | Agency abbreviation |
| agency_id | number | – | Internal agency ID |
| budgetary_resources_amount | number | – | Total budgetary resources in USD for the fiscal year |
| def_codes | array | – | Disaster/Emergency Funding (DEF) codes applicable to this agency |
| error | object | – | Present when the call failed. Absent on success. |
| fiscal_year | number | – | Fiscal year the budgetary totals below reflect: the most recent year with reported budget data, which can trail the current fiscal year (a new year has no amounts until the agency first reports in it) |
| has_more_sub_agencies | boolean | – | Whether more sub-agency pages are available. Absent when the sub-agency request failed, since pagination is then unknown. |
| mission | string | – | Agency mission statement |
| name | string | – | Agency full name |
| notice | string | – | How to page for more sub-agencies when the breakdown is truncated, and which sections failed to load and whether a retry may recover them. Absent when neither applies. |
| obligated_amount | number | – | Total amount obligated in USD for the fiscal year |
| outlay_amount | number | – | Total outlays in USD for the fiscal year |
| sub_agencies | array | – | Sub-agency breakdown within this toptier agency (one page) |
| sub_agency_fiscal_year | number | – | Fiscal year the sub-agency breakdown covers, as upstream reports it: the same year as fiscal_year, or the current fiscal year when no budget year was available within 5 seconds — so it can differ fro… |
| sub_agency_page | number | – | Current sub-agency page returned. Absent when the sub-agency request failed. |
| sub_agency_page_metadata | object | – | Pagination metadata for the sub-agency breakdown |
| sub_agency_total | number | – | Total sub-agencies across all pages (when available) |
| subtier_agency_count | number | – | Number of sub-agencies within this toptier agency |
| toptier_code | string | – | Directory toptier agency code, which can have three or four digits |
| unavailable_sections | array | – | Sections omitted because their request failed while the agency overview loaded. Absent when every section loaded. |
| website | string | – | Agency website URL |
No examples provided.
usaspending_get_award Get Award Details ~237
Fetch full details of a federal award by its generated unique award ID. Returns contract or assistance award data including recipient identity (UEI, parent organization, business categories), agency hierarchy, period of performance, place of performance, Assistance Listings with the obligation under each, loan face value and subsidy cost for loans, 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 and parent recipient hashes can be passed to usaspending_get_recipient; NAICS codes can be used in usaspending_search_awards filters, and Assistance Listing numbers in its assistance_listings filter. For IDV-category awards (category="idv"), use usaspending_get_idv_awards to list the child contracts and task/delivery orders placed under them.
| Name | Type | Req | Description |
|---|---|---|---|
| award_id | string | yes | Generated unique award ID (e.g., CONT_AWD_FA862118F6251_9700_FA862115D6276_9700) — use generated_internal_id from usaspending_search_awards |
| Name | Type | Req | Description |
|---|---|---|---|
| account_obligations_by_defc | array | – | Funding breakdown by Disaster/Emergency Funding (DEF) code — links to disaster appropriations |
| account_outlays_by_defc | array | – | Federal-account outlays by Disaster/Emergency Funding code in upstream order |
| assistance_listings | array | – | Every Assistance Listing (CFDA program) funding the award, in upstream order; absent for contracts and IDVs |
| awarding_agency | object | – | Awarding agency hierarchy |
| base_and_all_options_value | number | – | Base and all options value in USD (contracts) |
| base_exercised_options | number | – | Base and exercised options value in USD when reported for contracts or IDVs |
| category | string | – | Award category: contract, idv, grant, loans, direct payment, insurance, or other |
| date_signed | string | – | Date award was signed (YYYY-MM-DD) |
| description | string | – | Award description |
| error | object | – | Present when the call failed. Absent on success. |
| fain | string | – | Federal Award Identification Number (for assistance) |
| funding_agency | object | – | Funding agency hierarchy |
| generated_unique_award_id | string | – | Generated unique award ID |
| naics | object | – | NAICS code (contracts) |
| parent_award | object | – | Parent IDV information (contracts only) |
| period_of_performance | object | – | Period of performance dates |
| piid | string | – | Procurement Instrument Identifier (for contracts) |
| place_of_performance | object | – | Place of performance; absent when upstream reports no location fields |
| product_or_service_code | object | – | Product or service code (contracts) |
| recipient | object | – | Recipient details |
| subaward_count | number | – | Number of subawards; use with usaspending_get_award_subawards |
| total_account_obligation | number | – | Total federal-account obligation in USD |
| total_account_outlay | number | – | Total federal-account outlay in USD |
| total_loan_value | number | – | Face value of the loan in USD (category "loans" only). A loan reports its value here, not in total_obligation, which is often 0. |
| total_obligation | number | – | Total obligation amount in USD |
| total_outlays | number | – | Total outlay amount in USD |
| total_subsidy_cost | number | – | Estimated cost to the government of the loan subsidy in USD (category "loans" only) |
| type | string | – | Award type code |
| type_description | string | – | Human-readable award type |
No examples provided.
usaspending_get_award_federal_accounts 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.
| Name | Type | Req | Description |
|---|---|---|---|
| award_id | string | yes | Award 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_… |
| limit | integer | – | Maximum results per page (1–100) |
| page | integer | – | Page number (1-based) |
| Name | Type | Req | Description |
|---|---|---|---|
| award_id | string | – | Award ID queried |
| current_page | number | – | Current page returned |
| error | object | – | Present when the call failed. Absent on success. |
| has_next_page | boolean | – | Whether there are more pages of funding accounts |
| notice | string | – | Recovery for an empty page, distinguished from a known zero total; absent when results are present. |
| page_metadata | object | – | Pagination metadata |
| results | array | – | Federal accounts funding this award |
| totalCount | number | – | Total number of funding accounts across all pages (when available) |
No examples provided.
usaspending_get_award_subawards 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.
| Name | Type | Req | Description |
|---|---|---|---|
| award_id | string | yes | Generated unique award ID (generated_internal_id from usaspending_search_awards) |
| limit | integer | – | Maximum subawards per page (1–100) |
| order | string | – | Sort direction |
| page | integer | – | Page number (1-based) |
| sort | string | – | Sort field for subawards |
| Name | Type | Req | Description |
|---|---|---|---|
| award_id | string | – | Prime award ID queried |
| current_page | number | – | Current page returned |
| error | object | – | Present when the call failed. Absent on success. |
| has_next_page | boolean | – | Whether there are more pages of subawards |
| notice | string | – | Guidance when no subawards were returned — suggests checking subaward_count from usaspending_get_award first. Absent when results are present. |
| page_metadata | object | – | Pagination metadata |
| prime_award_id | string | – | Prime award ID whose subawards were listed |
| results | array | – | List of subawards under this prime award |
| totalCount | number | – | Total subaward count across all pages (when available) |
No examples provided.
usaspending_get_award_transactions 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).
| Name | Type | Req | Description |
|---|---|---|---|
| award_id | string | yes | Generated unique award ID (generated_internal_id from usaspending_search_awards) |
| limit | integer | – | Maximum transactions per page (1–100) |
| order | string | – | Sort direction |
| page | integer | – | Page number (1-based) |
| sort | string | – | Sort field for transactions |
| Name | Type | Req | Description |
|---|---|---|---|
| award_id | string | – | Award ID queried |
| current_page | number | – | Current page returned |
| error | object | – | Present when the call failed. Absent on success. |
| has_next_page | boolean | – | Whether there are more pages of transactions |
| notice | string | – | Guidance when no transactions were returned — helps confirm the award_id is a valid generated_internal_id. Absent when results are present. |
| page_metadata | object | – | Pagination metadata |
| queried_award_id | string | – | Award ID whose transactions were listed |
| results | array | – | List of transactions for this award |
| totalCount | number | – | Total transaction count across all pages (when available) |
No examples provided.
usaspending_get_federal_account Get Federal Account ~261
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. fiscal_year selects a reporting year; omit it for the current federal fiscal year. An empty year retains metadata and a notice, without substituting another year. 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.
| Name | Type | Req | Description |
|---|---|---|---|
| account_code | string | yes | Federal 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. |
| fiscal_year | – | – | Federal fiscal year (2001 through the current federal fiscal year; October 1 rollover). Omit or leave blank to preserve the endpoint default. |
| Name | Type | Req | Description |
|---|---|---|---|
| account_title | string | – | Full account title |
| agency_identifier | string | – | Agency identifier code |
| bureau_name | string | – | Bureau name within the agency |
| children | array | – | Treasury 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. |
| error | object | – | Present when the call failed. Absent on success. |
| federal_account_code | string | – | Federal account code |
| fiscal_year | number | – | Fiscal year of the financial data |
| main_account_code | string | – | Main account code |
| notice | string | – | Explains when the selected fiscal year has no financial totals or Treasury Account Symbol components; no alternative year is substituted |
| parent_agency_name | string | – | Managing parent agency name |
| total_budgetary_resources | number | – | Total budgetary resources in USD |
| total_gross_outlay_amount | number | – | Total gross outlay amount in USD |
| total_obligated_amount | number | – | Total obligated amount in USD |
No examples provided.
usaspending_get_federal_account_breakdown Get Federal Account Breakdown ~309
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. fiscal_year scopes financial reporting periods to the full October–September year, not award action dates; omit it for all available periods. 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.
| Name | Type | Req | Description |
|---|---|---|---|
| account_code | string | yes | Federal 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. |
| dimension | string | yes | Breakdown axis: program_activity (obligations by the program the funds support) or object_class (obligations by the category of goods/services purchased) |
| fiscal_year | – | – | Federal fiscal year (2001 through the current federal fiscal year; October 1 rollover). Omit or leave blank to preserve the endpoint default. |
| limit | integer | – | Maximum results per page (1–100) |
| page | integer | – | Page number (1-based) |
| Name | Type | Req | Description |
|---|---|---|---|
| account_code | string | – | Federal account code queried |
| applied_dimension | string | – | Breakdown dimension applied |
| current_page | number | – | Current page returned |
| dimension | string | – | Breakdown dimension returned |
| error | object | – | Present when the call failed. Absent on success. |
| fiscal_year | integer | – | Fiscal year selected by the caller; omitted for all available periods |
| has_next_page | boolean | – | Whether there are more pages of breakdown rows |
| notice | string | – | Recovery for an empty page, distinguished from a known zero total; absent when results are present. |
| page_metadata | object | – | Pagination metadata |
| period | string | – | FY<year> for a selected year, otherwise all available periods |
| results | array | – | Breakdown rows for the requested dimension |
| time_period | object | – | Full fiscal-year range applied to financial reporting periods, not award action dates; omitted for all available periods |
| totalCount | number | – | Total number of breakdown rows across all pages (when available) |
No examples provided.
usaspending_get_idv_awards Get IDV Child 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.
| Name | Type | Req | Description |
|---|---|---|---|
| award_id | string | yes | Parent 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 |
| limit | integer | – | Maximum results per page (1–100) |
| order | string | – | Sort direction |
| page | integer | – | Page number (1-based) |
| sort | string | – | Field to sort child awards by (e.g., obligated_amount, period_of_performance_start_date) |
| type | string | – | Type of child awards to list: child_awards = task/delivery orders, child_idvs = sub-IDVs, grandchild_awards = orders under sub-IDVs |
| Name | Type | Req | Description |
|---|---|---|---|
| award_id | string | – | Parent IDV award ID queried |
| cap | number | – | The per-page limit that was applied, when truncated. |
| current_page | number | – | Current page returned |
| error | object | – | Present when the call failed. Absent on success. |
| has_next_page | boolean | – | Whether more pages of child awards may remain — set on a full page even when the upstream flag reports none. |
| notice | string | – | How to continue when truncated, or a recovery hint when results are empty — the award may have no children of the requested type. Absent otherwise. |
| page_metadata | object | – | Pagination metadata (no total count available from this endpoint) |
| parent_award_id | string | – | Parent IDV award ID whose children were listed |
| results | array | – | Child awards placed under this IDV |
| shown | number | – | Number of child awards returned on this page, when truncated. |
| truncated | boolean | – | True when the upstream reports more child awards beyond this page. Absent on a full page the upstream marks as last — has_next_page still says whether to request another. |
No examples provided.
usaspending_get_recipient Get Recipient Profile ~269
Fetch a recipient's full profile including address, business type codes, parent organization, alternate names, and total transaction and loan amounts. Recipient IDs are hexadecimal 8-4-4-4-12 hashes with a level suffix (-P parent, -C child, -R standalone) from usaspending_search_recipients or usaspending_get_award. Totals cover the trailing 12 months unless fiscal_year selects one fiscal year, and period names the window. For a recipient's totals by award type, use usaspending_spending_over_time with filters.recipient_id and award_type_codes. UEI and DUNS values can be used to cross-reference with SAM.gov and SEC EDGAR.
| Name | Type | Req | Description |
|---|---|---|---|
| fiscal_year | integer | – | Fiscal year to scope the totals to (e.g., 2024, which runs October 2023 through September 2024). Omit for the trailing 12 months. |
| recipient_id | string | yes | Recipient hexadecimal 8-4-4-4-12 hash with level suffix, e.g., b97d19b0-833c-8d8f-3a2c-157d04ea55ef-P — from usaspending_search_recipients or usaspending_get_award |
| Name | Type | Req | Description |
|---|---|---|---|
| alternate_names | array | – | Alternate business names |
| business_types | array | – | Business type codes |
| duns | string | – | DUNS number (legacy) |
| error | object | – | Present when the call failed. Absent on success. |
| location | object | – | Recipient address |
| name | string | – | Recipient legal business name |
| parent_name | string | – | Parent organization name |
| parent_uei | string | – | Parent organization UEI |
| period | string | – | Window the totals cover: FY<year> when fiscal_year was given, otherwise "trailing 12 months" |
| recipient_id | string | – | Recipient hash ID |
| recipient_level | string | – | Hierarchy level: P = parent, C = child, R = standalone |
| total_face_value_loan_amount | number | – | Total face value of loans in USD over period |
| total_face_value_loan_transactions | number | – | Number of face-value loan transactions over period |
| total_transaction_amount | number | – | Total transaction (award) amount in USD over period, across all award types |
| total_transactions | number | – | Total number of award transactions over period |
| uei | string | – | Unique Entity Identifier (SAM.gov) |
No examples provided.
usaspending_list_agencies List Federal Agencies ~178
List top-tier federal agencies with toptier codes, agency slugs, budget authority amounts, and obligation totals for the latest reported period. Returns the full directory unless limit is supplied; optional pagination slices the provider-sorted directory. 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Agencies per page; omitted returns the full directory. No maximum. |
| order | string | – | Sort direction: asc or desc |
| page | integer | – | Page number when limit is supplied (defaults to page 1); ignored without limit. |
| sort | string | – | Sort field: agency_name (alphabetical), budget_authority_amount, obligated_amount, or outlay_amount |
| Name | Type | Req | Description |
|---|---|---|---|
| agency_count | number | – | Total number of top-tier federal agencies returned |
| error | object | – | Present when the call failed. Absent on success. |
| has_next | boolean | – | Whether another page exists; present only when limit is supplied |
| results | array | – | List of top-tier federal agencies with budget and obligation data |
| total | number | – | Total number of agencies in the full directory before pagination |
| totalCount | number | – | Total number of agencies in the full directory before pagination |
No examples provided.
usaspending_search_awards Search Federal Awards ~1,442
Search federal awards by keyword, recipient, agency, award type, NAICS code, assistance listing (CFDA) number, PSC, DEF 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; loan rows carry loan value, subsidy cost, and issue date in place of award amount and dates. Award types: A/B/C/D = contracts, IDV_A–IDV_E = IDVs, 02/03/04/05/F001/F002 = grants, 06/10/F006/F007 = direct payments, 07/08/F003/F004 = loans, 09/11/-1/F005/F008/F009/F010 = other assistance. Dates must be ISO 8601 (YYYY-MM-DD). Earliest data: 2007-10-01 via search API. DoD contracts have a 90-day publication lag.
| Name | Type | Req | Description |
|---|---|---|---|
| agency_name | string | – | Awarding top-tier or sub-tier agency name — use the matched name from usaspending_autocomplete_filters type=awarding_agency; use toptier_name to select the whole parent department. A sub-tier name sh… |
| assistance_listings | array | – | Filter by Assistance Listing (CFDA) program numbers, e.g. ["15.507"]: two digits, a dot, then three digits or capital letters (11.67A). Matches an award when any of its listings equals one of these e… |
| award_type_codes | array | – | Filter by award type codes. All codes must belong to a single group: A/B/C/D (contracts), IDV_A/IDV_B/IDV_B_A/IDV_B_B/IDV_B_C/IDV_C/IDV_D/IDV_E (IDVs), 02/03/04/05/F001/F002 (grants), 06/10/F006/F007… |
| def_codes | array | – | Filter by Disaster Emergency Fund Codes (DEF), e.g. ["Z"], or ["L", "M", "N", "O", "P"] for COVID-19: 1–3 letters or digits, sent uppercased — the codes usaspending_disaster_spending takes and usaspe… |
| filters | object | – | Optional 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… |
| keyword | string | – | Full-text search across award descriptions, recipient names, and place names; effective keywords need at least three characters without trimming; empty is unset |
| last_record_sort_value | string | – | Keyset-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_id | integer | – | Keyset-pagination cursor: the last_record_unique_id from a prior response page_metadata. Provide together with last_record_sort_value. |
| limit | integer | – | Maximum results per page (1–100) |
| location_filter | object | – | Filter by place of performance. Takes codes, not place names — use a geocoding server to resolve names to codes first. Blank fields are ignored, and an all-blank object is no location filter. The loc… |
| naics_codes | array | – | NAICS codes: canonical 2, 4, or 6 digits; recognized ASCII integer aliases normalize whitespace, plus, leading zeros and digit underscores; unclassified spellings remain provider-validated. Use usasp… |
| order | string | – | Sort direction |
| page | integer | – | Page 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… |
| psc_codes | array | – | Filter by Product and Service Codes (PSC), e.g. ["Y1NE"]: 1–4 letters or digits, sent uppercased. A shorter code covers every code under it ("Y1" covers "Y1NE"); several values match any of them. Onl… |
| recipient_name | string | – | Filter 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. |
| sort | string | – | Sort field for results. Loans (07/08/F003/F004) sort by Loan Value, Subsidy Cost, Issued Date, Recipient Name, or Awarding Agency, defaulting to Loan Value. Every other group sorts by Award Amount, T… |
| time_period | object | – | Filter awards by date range (action date). Both blank means no date filter; one blank end is filled and named in the notice. |
| Name | Type | Req | Description |
|---|---|---|---|
| applied_agency_name | string | – | Awarding agency name filter applied |
| applied_assistance_listings | string | – | Assistance Listing numbers filter applied (comma-separated) |
| applied_def_codes | string | – | DEF codes sent, uppercased (comma-separated) |
| applied_keyword | string | – | Keyword filter applied to this search |
| applied_location | string | – | Place of performance location sent, as normalized (e.g. country=USA, state=NM, county=049) |
| applied_naics_codes | string | – | NAICS codes filter applied (comma-separated) |
| applied_psc_codes | string | – | PSC codes sent, uppercased (comma-separated) |
| applied_time_period_end | string | – | End of the date range sent (YYYY-MM-DD), including a filled-in end |
| applied_time_period_start | string | – | Start of the date range sent (YYYY-MM-DD), including a filled-in start |
| cap | number | – | Per-page cap (limit) applied to this page, when truncated. |
| error | object | – | Present when the call failed. Absent on success. |
| has_next | boolean | – | Whether more results may remain — set on a full page even when the upstream flag reports none. |
| notice | string | – | How to page on when more results may remain, which date bound was filled in when only the other was supplied, and the applied filters on an empty page. This endpoint supplies no total, so an empty pa… |
| page | number | – | Current page number returned |
| page_metadata | object | – | Pagination metadata. This endpoint does not return a total match count; use has_next and the cursor pair to page. |
| results | array | – | Matching award summaries |
| shown | number | – | Number of awards returned on this page, when truncated. |
| truncated | boolean | – | True when the upstream reports more results beyond this page (continue via page or the cursor). Absent on a full page the upstream marks as last, including every page past a 10,000-result offset wher… |
| upstream_messages | array | – | Notices 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 Search Federal Accounts ~321
List and keyword-search federal accounts by directory toptier code or title keyword. Returns account numbers, names, managing agencies, and budgetary resources. fiscal_year selects the resource amounts, not account membership; omit it for the latest available submission year. Search and detail totals use different calculations and can differ for the same year. Use account_number from results as input to usaspending_get_federal_account for full budget detail. Use usaspending_list_agencies to look up the input agency_identifier (directory toptier_code, e.g. "097" for DoD or "1601" for Labor); account rows return their account-prefix agency_identifier, e.g. "016" for Labor.
| Name | Type | Req | Description |
|---|---|---|---|
| agency_identifier | string | – | Directory toptier_code from usaspending_list_agencies (e.g., "097" for Defense, "1601" for Labor). This differs from the account-prefix agency_identifier returned in account rows (e.g., "016" for Lab… |
| fiscal_year | – | – | Federal fiscal year (2001 through the current federal fiscal year; October 1 rollover). Omit or leave blank to preserve the endpoint default. |
| keyword | string | – | Filter accounts by name or title keyword (e.g., "defense", "transportation") |
| limit | integer | – | Maximum results per page (1–100) |
| page | integer | – | Page number (1-based) |
| sort_direction | string | – | Sort direction |
| sort_field | string | – | Field to sort results by |
| Name | Type | Req | Description |
|---|---|---|---|
| error | object | – | Present when the call failed. Absent on success. |
| fiscal_year | integer | – | Effective fiscal year of the budgetary resources, as reported by USAspending; account membership spans all submitted years |
| has_next | boolean | – | Whether there are more pages of results |
| notice | string | – | Recovery hint when results are empty — echoes applied filters and suggests how to broaden. Absent when results are present. |
| page | number | – | Current page number returned |
| page_metadata | object | – | Pagination metadata |
| results | array | – | Matching federal accounts |
| totalCount | number | – | Total number of matching accounts across all pages (when available) |
No examples provided.
usaspending_search_recipients Search Award Recipients ~217
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.
| Name | Type | Req | Description |
|---|---|---|---|
| award_type | string | – | Filter by award type category to scope the total amounts returned |
| keyword | string | yes | Name, UEI, DUNS, or keyword to search for — partial matches are supported. Surrounding whitespace is trimmed; blank text applies no keyword filter and is disclosed. |
| limit | integer | – | Maximum results per page (1–100) |
| page | integer | – | Page number (1-based) — request the next page to retrieve matches beyond the first |
| Name | Type | Req | Description |
|---|---|---|---|
| error | object | – | Present when the call failed. Absent on success. |
| has_next | boolean | – | Whether there are more pages of results |
| notice | string | – | Blank-keyword disclosure and pagination recovery. An empty page is distinguished from a known zero total; absent when no notice applies. |
| page | number | – | Current page number returned |
| page_metadata | object | – | Pagination metadata — page through with the page input to reach later matches |
| recipient_count | number | – | Number of matching recipients returned on this page |
| results | array | – | Matching recipients |
| totalCount | number | – | Total matching recipients across all pages |
No examples provided.
usaspending_spending_by_category Spending by Category ~239
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. Filter by keyword, award type, agency, recipient, NAICS code, Assistance Listing, PSC, DEF code, or date range. Chain NAICS, PSC, and CFDA codes back into these filters, into usaspending_search_awards filters, or into usaspending_autocomplete_filters lookups. recipient_duns rows carry recipient_id, which opens the recipient profile in usaspending_get_recipient, and uei.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | yes | Breakdown dimension: naics (industry), psc (product/service code), awarding_agency, awarding_subagency, funding_agency, funding_subagency, cfda (assistance programs), or recipient_duns (recipients) |
| filters | object | – | Optional filters to scope the aggregation |
| limit | integer | – | Maximum items to return (1–100) |
| page | integer | – | Page number (1-based) |
| Name | Type | Req | Description |
|---|---|---|---|
| applied_agency_name | string | – | Awarding agency name filter applied |
| applied_assistance_listings | string | – | Assistance Listing numbers sent (comma-separated) |
| applied_def_codes | string | – | DEF codes sent, uppercased (comma-separated) |
| applied_keywords | string | – | Keyword filters applied (comma-separated) |
| applied_naics_codes | string | – | NAICS code filters applied (comma-separated) |
| applied_psc_codes | string | – | PSC codes sent, uppercased (comma-separated) |
| applied_recipient_id | string | – | Normalized recipient hash and level sent |
| applied_time_period_end | string | – | End date sent (YYYY-MM-DD), including a filled-in end |
| applied_time_period_start | string | – | Start date sent (YYYY-MM-DD), including a filled-in start |
| category | string | – | Breakdown dimension used |
| error | object | – | Present when the call failed. Absent on success. |
| has_next | boolean | – | Whether there are more pages |
| notice | string | – | Names a date bound that was filled in because only the other was supplied, and — when results are empty — names any Assistance Listing, PSC, or DEF codes sent and suggests how to broaden filters. Abs… |
| page | number | – | Current page returned |
| page_metadata | object | – | Pagination metadata |
| results | array | – | Top items in this category by obligation amount |
| totalCount | number | – | Total number of items in this category (when available) |
No examples provided.
usaspending_spending_by_geography Spending by Geography ~473
Aggregate federal spending by state, county, or congressional district. Useful for per-capita analysis, regional comparisons, and mapping federal investment patterns. Filter by keyword, award type, agency, recipient, NAICS code, Assistance Listing, PSC, DEF code, or date range. Areas are ranked by obligation and capped at limit; to retrieve specific areas, including ones ranked past the cap, list their codes in shape_codes — a 2-letter postal code for state, a 5-digit state + county FIPS code for county, or a 4-digit state FIPS + district number for district — NOT place names. Resolve place names to these codes using a geocoding server (Census or OpenStreetMap) first. Chain per-capita results with Census population data for meaningful comparisons.
| Name | Type | Req | Description |
|---|---|---|---|
| filters | object | – | Optional filters to scope the spending aggregation |
| geo_layer | string | yes | Geographic granularity: state (states, DC, and territories), county (county-level), or district (congressional district) |
| limit | integer | – | Maximum 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.… |
| scope | string | yes | Which location to aggregate by: place_of_performance (where work is done) or recipient_location (where the recipient is based) |
| shape_codes | array | – | Return only these areas (1–500 codes), in the shape_code form this tool returns for geo_layer: 2-letter postal code for state ("NY"), 5-digit state + county FIPS for county ("36117" is Wayne County,… |
| subawards | boolean | – | Include subaward data instead of prime award data |
| Name | Type | Req | Description |
|---|---|---|---|
| applied_agency_name | string | – | Awarding agency name filter applied |
| applied_assistance_listings | string | – | Assistance Listing numbers sent (comma-separated) |
| applied_award_type_default | string | – | Disclosure that no filters were supplied, so award_type_codes defaulted to the complete set. Absent when the caller supplied at least one filter. |
| applied_def_codes | string | – | DEF codes sent, uppercased (comma-separated) |
| applied_geo_layer | string | – | Geographic granularity applied: state, county, or district |
| applied_keywords | string | – | Keyword filters applied (comma-separated) |
| applied_naics_codes | string | – | NAICS code filters applied (comma-separated) |
| applied_psc_codes | string | – | PSC codes sent, uppercased (comma-separated) |
| applied_recipient_id | string | – | Normalized recipient hash and level sent |
| applied_scope | string | – | Location scope applied: place_of_performance or recipient_location |
| applied_shape_codes | string | – | Area codes listed in shape_codes, letters uppercased and duplicates removed (comma-separated) |
| applied_time_period_end | string | – | End of the time period sent (YYYY-MM-DD), including a filled-in end |
| applied_time_period_start | string | – | Start of the time period sent (YYYY-MM-DD), including a filled-in start |
| area_count | number | – | Number of geographic areas returned |
| cap | number | – | The limit that was applied. |
| error | object | – | Present when the call failed. Absent on success. |
| geo_layer | string | – | Geographic granularity used |
| notice | string | – | How to reach areas omitted by limit, which shape_codes matched no area, which time-period bound was filled in when only the other was supplied, and — when the filters matched no area — any Assistance… |
| results | array | – | Spending totals by geographic area |
| scope | string | – | Location scope used for aggregation |
| shown | number | – | Number of geographic areas returned. |
| total | number | – | Number of geographic areas returned |
| total_areas_available | number | – | Number of geographic areas the filters matched, before shape_codes selection and limit were applied |
| truncated | boolean | – | True when the area list was capped at limit. |
| truncationCeiling | number | – | Obligation amount of the lowest-ranked area shown — an upper bound on omitted ones. |
No examples provided.
usaspending_spending_over_time Spending Over Time ~206
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, NAICS code, Assistance Listing, PSC, or DEF code to trace spending trends in a specific area; award types default to contracts. Returns per-period totals and optional breakdowns by award category (contracts, grants, direct payments, IDVs, loans, other).
| Name | Type | Req | Description |
|---|---|---|---|
| filters | object | – | Filters to scope the time-series aggregation. Defaults to contract awards when omitted. |
| group | string | yes | Time 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) |
| subawards | boolean | – | Aggregate subaward data instead of prime award data |
| Name | Type | Req | Description |
|---|---|---|---|
| applied_agency_name | string | – | Awarding agency name filter applied |
| applied_assistance_listings | string | – | Assistance Listing numbers sent (comma-separated) |
| applied_award_type_codes | string | – | Effective award type codes sent (comma-separated); totals and every breakdown cover only these codes |
| applied_award_type_default | string | – | Present only when omitted or empty codes select the contract default |
| applied_def_codes | string | – | DEF codes sent, uppercased (comma-separated) |
| applied_keywords | string | – | Keyword filters applied (comma-separated) |
| applied_naics_codes | string | – | NAICS code filters applied (comma-separated) |
| applied_psc_codes | string | – | PSC codes sent, uppercased (comma-separated) |
| applied_recipient_id | string | – | Normalized recipient hash and level sent |
| applied_time_period_end | string | – | End of the time window sent (YYYY-MM-DD), including a filled-in end |
| applied_time_period_start | string | – | Start of the time window sent (YYYY-MM-DD), including a filled-in start |
| error | object | – | Present when the call failed. Absent on success. |
| group | string | – | Time grouping used |
| notice | string | – | Discloses effective award-type scope, composes any filled time-window bound, and names active code/recipient filters when no periods are returned. |
| period_count | number | – | Number of time periods returned |
| results | array | – | Time-series of obligation totals |
| time_group | string | – | Time grouping applied: fiscal_year, quarter, or month |
| total_periods | number | – | Number of time periods returned |
No examples provided.
How do I install the io.github.cyanheads/usaspending-mcp-server server?
io.github.cyanheads/usaspending-mcp-server is a hosted endpoint at https://usaspending.caseyjhand.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · usaspending.caseyjhand.com
claude mcp add --transport http cyanheads-usaspending-mcp-server 'https://usaspending.caseyjhand.com/mcp'
What is the io.github.cyanheads/usaspending-mcp-server server?
io.github.cyanheads/usaspending-mcp-server is listed in the public MCP registry as io.github.cyanheads/usaspending-mcp-server. Access US federal award, recipient, agency, and spending analytics data from USAspending.gov. This page covers its hosted endpoint (https://usaspending.caseyjhand.com/mcp).
Is the io.github.cyanheads/usaspending-mcp-server server safe to use?
io.github.cyanheads/usaspending-mcp-server scores 89 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.cyanheads/usaspending-mcp-server server expose?
io.github.cyanheads/usaspending-mcp-server exposes 18 tools: usaspending_list_agencies, usaspending_autocomplete_filters, usaspending_search_awards, usaspending_get_award, usaspending_get_award_transactions, and 13 more. Their descriptions and schemas cost roughly 6,105 tokens of context every time the server is loaded.
Does the io.github.cyanheads/usaspending-mcp-server server require authentication?
No. We connected to io.github.cyanheads/usaspending-mcp-server without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the io.github.cyanheads/usaspending-mcp-server server still maintained?
io.github.cyanheads/usaspending-mcp-server is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What did VerifyMCP test on the io.github.cyanheads/usaspending-mcp-server server?
VerifyMCP ran 13 checks on io.github.cyanheads/usaspending-mcp-server, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.