U.S. Federal Grant and Cooperative Agreement Awards Search (Recipient, Amount, Agency, Dates)
usaspending/grant-awards
Searches U.S. federal grants and cooperative agreements (block, formula and project grants) on USAspending.gov by keyword, recipient name, awarding agency, award id and a date window, and returns each award's recipient, its UEI, award amount, total outlays, description, start and end dates, awarding agency and sub-agency, award type and Assistance Listing (CFDA) number. Award Amount is the award's lifetime federal obligation to date, not what was spent inside the window and not the project's total cost; Total Outlays is null until the agency reports cash paid; awards to individuals show a redacted recipient and no UEI. By default only awards first signed inside the window are returned. Data is the U.S. Treasury's USAspending.gov (Bureau of the Fiscal Service); recipient names and addresses may be Dun & Bradstreet Open Data, attributed to D&B.
Price
$0.0026 per call
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.
Data source
Data from USAspending.gov, U.S. Department of the Treasury, Bureau of the Fiscal Service (usaspending.gov), available for commercial and non-commercial use per usaspending.gov/about. Recipient names and addresses may be Dun & Bradstreet, Inc. Open Data, attributed to D&B.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "usaspending/grant-awards" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "usaspending/grant-awards" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "usaspending/grant-awards", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "usaspending/grant-awards", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 20, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"start_date",
"end_date"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"maximum": 10,
"minimum": 1,
"description": "Which page of `limit` awards to return, starting at 1, up to 10. page_metadata.hasNext says whether another page exists."
},
"sort": {
"enum": [
"Award Amount",
"Total Outlays",
"Start Date",
"End Date",
"Recipient Name",
"Award ID"
],
"type": "string",
"default": "Award Amount",
"description": "The field to sort by."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1,
"description": "How many awards to return per page, 1 to 25."
},
"order": {
"enum": [
"desc",
"asc"
],
"type": "string",
"default": "desc",
"description": "desc for largest or latest first (the default), asc for smallest or earliest first."
},
"agencies": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"tier",
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"description": "The agency's exact full name as USAspending spells it, for example National Aeronautics and Space Administration or Department of the Air Force. An abbreviation or inexact name matches nothing and returns an empty list."
},
"tier": {
"enum": [
"toptier",
"subtier"
],
"type": "string",
"description": "toptier: a department or independent agency. subtier: a bureau or command inside one."
},
"type": {
"enum": [
"awarding",
"funding"
],
"type": "string",
"description": "awarding: the agency that signed the award. funding: the agency whose money paid for it."
}
},
"additionalProperties": false
},
"maxItems": 3,
"minItems": 1,
"description": "Restrict to awards by these agencies (any one matches). Leave out for every agency. The awarding agency of a result is in its Awarding Agency field, so names can be learned from one search."
},
"end_date": {
"type": "string",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
"description": "Last day of the window, YYYY-MM-DD, on or after start_date. Must not be before start_date."
},
"keywords": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 3
},
"maxItems": 5,
"minItems": 1,
"description": "Words or phrases matched against the award's description and recipient; an award matching any one is returned (OR, not AND). Each at least 3 characters. Leave out for no keyword filter."
},
"award_ids": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 10,
"minItems": 1,
"description": "Award numbers (FAINs or URIs) to look up, for example [\"2605CA5MAP\"]. Combined with the window and the other filters, so widen the window if a known award does not appear. Leave out for no id filter."
},
"date_type": {
"enum": [
"new_awards_only",
"action_date"
],
"type": "string",
"default": "new_awards_only",
"description": "How the window picks awards. new_awards_only (the default): only awards whose base transaction was signed inside the window. action_date: any award with activity (a modification) inside the window, however old, so most rows were signed earlier and their Award Amount covers their whole life."
},
"start_date": {
"type": "string",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
"description": "First day of the window, YYYY-MM-DD. Not earlier than 2007-10-01 (the first day of fiscal year 2008); an earlier date is a validation error. A U.S. fiscal year N runs 1 October of N-1 to 30 September of N, so fiscal year 2026 is 2025-10-01 to 2026-09-30."
},
"recipient_search_text": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 2
},
"maxItems": 3,
"minItems": 1,
"description": "Recipient name text, for example [\"lockheed martin\"]; matches part of a recipient's name, and any one of several matches. Leave out for no recipient filter."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"results",
"page_metadata"
],
"properties": {
"limit": {
"type": "integer",
"description": "The page size applied."
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"Award ID",
"generated_internal_id"
],
"properties": {
"Award ID": {
"type": "string",
"description": "The award number (FAIN, or the URI for an award without one)."
},
"End Date": {
"type": [
"string",
"null"
],
"description": "Current period-of-performance end, YYYY-MM-DD. Often already past: the large state grants run one fiscal year."
},
"Award Type": {
"type": [
"string",
"null"
],
"description": "BLOCK GRANT (A), FORMULA GRANT (A), PROJECT GRANT (B) or COOPERATIVE AGREEMENT (B); the letter is the legacy assistance category."
},
"Start Date": {
"type": [
"string",
"null"
],
"description": "Period-of-performance start, YYYY-MM-DD. null on many older awards; can be years after the signing date."
},
"CFDA Number": {
"type": [
"string",
"null"
],
"description": "The Assistance Listing number of the program, as digits with a dot, for example 93.778 (Medicaid). Formerly the CFDA number."
},
"Description": {
"type": [
"string",
"null"
],
"description": "The agency's free text, in capitals as typed, with HTML entities and markup left in. Escape before rendering as HTML."
},
"agency_slug": {
"type": [
"string",
"null"
],
"description": "The awarding agency's USAspending.gov page slug."
},
"internal_id": {
"type": "integer",
"description": "USAspending's internal id for the award."
},
"Award Amount": {
"type": [
"number",
"null"
],
"description": "Federal dollars obligated to the award over its whole life so far, the sum of every modification. Not the amount spent in the search window and not the project's total cost (non-federal funding is extra)."
},
"Recipient UEI": {
"type": [
"string",
"null"
],
"description": "The recipient's twelve-character Unique Entity ID from SAM.gov, the government identifier that replaced the DUNS number. null for an individual."
},
"Total Outlays": {
"type": [
"number",
"null"
],
"description": "Dollars the agency has reported paying out against the award. null means not yet reported, which is common for new awards; it is not zero. It can be negative (a refund or adjustment) and can exceed Award Amount."
},
"Recipient Name": {
"type": [
"string",
"null"
],
"description": "The recipient's name as registered, or REDACTED DUE TO PII for an individual. Dun & Bradstreet Open Data on older awards; attribution is in this tool's source note."
},
"Awarding Agency": {
"type": [
"string",
"null"
],
"description": "The top-tier agency that signed the award, for example Department of Defense."
},
"awarding_agency_id": {
"type": [
"integer",
"null"
],
"description": "USAspending's internal agency id."
},
"Awarding Sub Agency": {
"type": [
"string",
"null"
],
"description": "The bureau or command inside the agency."
},
"Awarding Agency Code": {
"type": [
"string",
"null"
],
"description": "That agency's top-tier code, three or four digits, for example 097. It is the code usaspending/agency-budget-by-year takes."
},
"generated_internal_id": {
"type": "string",
"description": "USAspending's unique award key, ASST_NON_<award number>_<agency code>. Stable, and the id in the award's USAspending.gov URL."
},
"Awarding Sub Agency Code": {
"type": [
"string",
"null"
],
"description": "The sub-agency's code."
}
},
"additionalProperties": true
},
"description": "One row per grant or cooperative agreement. Empty when nothing matches."
},
"messages": {
"type": "array",
"items": {
"type": "string"
},
"description": "Notices from USAspending, normally that searches begin at 2007-10-01."
},
"page_metadata": {
"type": "object",
"required": [
"page",
"hasNext"
],
"properties": {
"page": {
"type": "integer",
"description": "The page returned."
},
"hasNext": {
"type": "boolean",
"description": "True when a later page exists."
},
"last_record_unique_id": {
"type": [
"integer",
"null"
],
"description": "USAspending's paging cursor; ignore it."
},
"last_record_sort_value": {
"type": [
"string",
"null"
],
"description": "USAspending's paging cursor; ignore it."
}
},
"additionalProperties": true
},
"spending_level": {
"type": "string",
"description": "Always awards for this tool."
}
},
"description": "USAspending's response: the matching grant awards in the requested order, and a paging block.",
"additionalProperties": true
}