USAspending Federal Spending Search avatar

USAspending Federal Spending Search

Pricing

from $2.00 / 1,000 record fetcheds

Go to Apify Store
USAspending Federal Spending Search

USAspending Federal Spending Search

Search US federal government spending via USAspending API. Find contracts, grants, loans & direct payments by keyword, agency, recipient, date range, or amount. Returns award IDs, dollar values, agencies, recipients & USAspending links.

Pricing

from $2.00 / 1,000 record fetcheds

Rating

0.0

(0)

Developer

ryan clinton

ryan clinton

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

2 days ago

Last modified

Share

Search and extract US federal government spending data directly from the official USAspending.gov API. This actor provides structured access to over $2 trillion in annual federal spending across contracts, grants, loans, direct payments, and other financial assistance programs. Whether you are tracking defense procurement, monitoring grant allocations, or analyzing government spending trends, this actor delivers clean, normalized award data sorted by dollar value with direct links back to USAspending.gov.


The USAspending.gov website is the authoritative source for federal spending data, maintained by the US Department of the Treasury. But manually searching the site is slow, repetitive, and limited -- there is no built-in way to export structured data at scale, schedule recurring searches, or integrate results into automated workflows.

The underlying API is powerful but requires building POST request bodies with complex filter objects, handling page-based pagination, managing different field sets for different award types (loans use entirely different fields than contracts), and transforming nested response structures into usable formats. That is a significant engineering investment before you get a single row of data.

This actor handles all of that complexity. It builds the correct API request for your chosen award type, paginates through results automatically, normalizes loan and non-loan fields into a consistent output schema, constructs recipient location strings, and generates direct USAspending.gov URLs for every award. You get clean, flat JSON records ready for analysis, export, or integration -- without writing a single line of code.

Running on Apify's cloud infrastructure, you can schedule daily or weekly monitoring runs, push results to Google Sheets or Slack, trigger webhooks for downstream processing, and access data programmatically through the Apify API in JSON, CSV, or Excel format.


Key features

  • Six award type categories -- search contracts, grants, loans, direct payments, IDVs (Indefinite Delivery Vehicles), and other financial assistance independently, each with the correct API codes and field mappings.
  • Keyword search -- filter awards by description keywords such as "cybersecurity," "renewable energy," "artificial intelligence," or any topic area.
  • Agency filtering -- narrow results to a specific top-tier awarding agency like the Department of Defense, NASA, or the Department of Energy.
  • Recipient search -- find all awards going to a specific contractor or organization by name (e.g., "Lockheed Martin," "Deloitte," "RAND Corporation").
  • Date range filtering -- restrict results to a specific fiscal period using YYYY-MM-DD format, with data available back to fiscal year 2008 (2007-10-01).
  • Minimum amount threshold -- filter out small awards by setting a dollar floor (e.g., only contracts above $1,000,000).
  • Automatic pagination -- the actor handles multi-page API responses transparently, fetching up to 1,000 results across multiple requests with built-in rate limiting.
  • Consistent output schema -- loans use different fields (Loan Value, Issued Date) than contracts and grants (Award Amount, Start/End Date), but the actor normalizes everything into a single consistent format.
  • Direct USAspending links -- every output record includes a URL linking directly to the full award page on USAspending.gov for verification and further research.
  • No API key required -- the USAspending API is free, open, and requires no registration or authentication tokens.

  1. Navigate to the USAspending Federal Spending Search actor on the Apify Store.
  2. Click Try for free to open the actor in Apify Console.
  3. Enter an optional keyword to search across award descriptions (e.g., "cybersecurity," "renewable energy").
  4. Select an award type -- contracts (default), grants, loans, direct payments, IDVs, or other financial assistance.
  5. Optionally add filters for agency, recipient name, date range, or minimum dollar amount.
  6. Set max results (default 25, maximum 1,000) and click Start.
  7. Download results as JSON, CSV, or Excel from the Dataset tab, or connect via API.

Using the API

You can start the actor programmatically via the Apify API. See the API & integration section below for Python, JavaScript, and cURL examples.


Input parameters

FieldTypeRequiredDefaultDescription
keywordStringNo--Search term matched against award descriptions (e.g., "artificial intelligence", "infrastructure", "wildfire suppression").
awardTypeStringNocontractsCategory of federal award. Options: contracts, grants, loans, direct_payments, other, idvs.
agencyStringNo--Top-tier awarding agency name (e.g., "Department of Defense", "Department of Energy", "National Aeronautics and Space Administration"). Must be the exact official name.
recipientStringNo--Recipient or contractor name to search for (e.g., "Lockheed Martin", "Booz Allen Hamilton", "Johns Hopkins University").
dateRangeStringNo--Date range in the format YYYY-MM-DD to YYYY-MM-DD (e.g., "2024-01-01 to 2024-12-31"). Earliest supported date is 2007-10-01.
minAmountNumberNo--Minimum award amount in US dollars (e.g., 1000000 for awards of $1M or more).
maxResultsIntegerNo25Maximum number of awards to return. Minimum 1, maximum 1,000.

Input example

Find large DoD cybersecurity contracts:

{
"keyword": "cybersecurity",
"awardType": "contracts",
"agency": "Department of Defense",
"minAmount": 1000000,
"maxResults": 50
}

Search NIH grants for a specific organization:

{
"keyword": "cancer research",
"awardType": "grants",
"agency": "Department of Health and Human Services",
"recipient": "Johns Hopkins",
"maxResults": 100
}

Federal loans issued in 2024:

{
"awardType": "loans",
"dateRange": "2024-01-01 to 2024-12-31",
"minAmount": 5000000,
"maxResults": 200
}

Input tips

  • Use specific keywords -- broad terms like "technology" or "services" return millions of results. More specific phrases like "quantum computing" or "wildfire suppression" produce focused results.
  • Agency names must be exact -- use the full official name such as "Department of Defense" rather than abbreviations like "DoD." Check USAspending.gov for correct names.
  • Award types cannot be mixed -- the USAspending API requires searching one award type per request. Run the actor separately for contracts and grants if you need both.
  • Date ranges start at FY2008 -- the earliest available data begins on 2007-10-01 (fiscal year 2008).
  • Combine filters for precision -- using keyword + agency + date range together produces the most targeted results.

Output

Each award in the output dataset contains the following fields:

{
"awardId": "W911NF23C0045",
"title": "CYBERSECURITY OPERATIONS AND DEFENSE SUPPORT SERVICES",
"awardType": "Contract",
"awardAmount": 48750000,
"awardingAgency": "Department of Defense",
"fundingAgency": "Department of the Army",
"recipientName": "BOOZ ALLEN HAMILTON INC.",
"recipientLocation": "McLean, VA",
"startDate": "2023-03-15",
"endDate": "2028-03-14",
"description": "CYBERSECURITY OPERATIONS AND DEFENSE SUPPORT SERVICES FOR ARMY NETWORK ENTERPRISE TECHNOLOGY COMMAND",
"usaspendingUrl": "https://www.usaspending.gov/award/CONT_AWD_W911NF23C0045_9700_-NONE-_-NONE-",
"extractedAt": "2026-02-17T14:30:00.000Z"
}

Output field reference

FieldTypeDescription
awardIdStringOfficial award identification number assigned by the contracting agency.
titleStringShort description of the award (truncated to 500 characters).
awardTypeStringHuman-readable award type label: Contract, Grant, Loan, Direct Payment, IDV, or Other Financial Assistance.
awardAmountNumber or nullTotal award value in US dollars. For loans, this is the loan face value. Null if no amount is recorded.
awardingAgencyStringName of the federal agency that made the award.
fundingAgencyString or nullName of the agency providing the funding, if different from the awarding agency.
recipientNameStringName of the company, organization, or individual receiving the award.
recipientLocationString or nullCity and state of the recipient (e.g., "McLean, VA"). Includes country name for non-US recipients.
startDateString or nullAward start date (or issue date for loans) in YYYY-MM-DD format.
endDateString or nullAward end date in YYYY-MM-DD format. Not available for loans.
descriptionStringFull description text of the award as reported in the system.
usaspendingUrlStringDirect link to the award page on USAspending.gov for full details and documentation.
extractedAtStringISO 8601 timestamp of when the data was extracted by this actor.

Use cases

  • Government contracting research -- identify which companies win the largest federal contracts in your industry and track spending trends by agency, keyword, or time period.
  • Grant opportunity analysis -- discover which organizations receive federal grants in specific research areas to benchmark your own grant applications and identify potential collaborators.
  • Competitive intelligence -- monitor what contracts your competitors are winning from federal agencies and at what dollar amounts, broken down by award type and time period.
  • Journalism and transparency -- investigate how taxpayer money is allocated across agencies, programs, and geographic regions with structured, exportable data.
  • Policy analysis -- track federal spending patterns by agency, award type, or time period to support policy research, legislative advocacy, and budget analysis.
  • Business development -- identify federal agencies that are actively spending in your product or service area to target BD efforts and build a qualified pipeline.
  • Due diligence -- verify a company's claimed government contracts and check the actual dollar values of their federal awards before making investment or partnership decisions.
  • Academic research -- build datasets of federal spending for economics, political science, or public administration research projects with clean, structured data.
  • Loan portfolio analysis -- search federal loan programs to understand which organizations receive government-backed financing and at what face values.
  • Spending alerts -- schedule recurring runs to monitor new awards in a specific area and trigger notifications when large contracts or grants are issued.

API & integration

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_API_TOKEN")
run = client.actor("ryanclinton/usaspending-search").call(run_input={
"keyword": "cybersecurity",
"awardType": "contracts",
"agency": "Department of Defense",
"minAmount": 1000000,
"maxResults": 100,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"${item['awardAmount']:,.0f} -- {item['recipientName']} -- {item['title'][:80]}")

JavaScript

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "YOUR_APIFY_API_TOKEN" });
const run = await client.actor("ryanclinton/usaspending-search").call({
keyword: "cybersecurity",
awardType: "contracts",
agency: "Department of Defense",
minAmount: 1000000,
maxResults: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) {
console.log(`$${item.awardAmount?.toLocaleString()} -- ${item.recipientName} -- ${item.title.slice(0, 80)}`);
}

cURL

# Start the actor
curl -X POST "https://api.apify.com/v2/acts/ryanclinton~usaspending-search/runs?token=YOUR_APIFY_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"keyword": "cybersecurity",
"awardType": "contracts",
"agency": "Department of Defense",
"minAmount": 1000000,
"maxResults": 100
}'
# Retrieve results (use the defaultDatasetId from the run response)
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_APIFY_API_TOKEN&format=json"

Integrations

The output dataset can be consumed through any of Apify's built-in integrations:

  • Google Sheets -- automatically export federal spending data to a spreadsheet for team review and analysis.
  • Slack / Email -- receive notifications when new large awards are detected in scheduled runs.
  • Webhooks -- push results to your CRM, BI platform, or custom data pipeline.
  • Zapier / Make -- connect to thousands of apps for automated workflow triggers.
  • Amazon S3 -- archive results to cloud storage for long-term trend analysis.
  • API access -- retrieve results programmatically in JSON, CSV, XML, or Excel format via the Apify dataset API.

How it works

  1. Input parsing -- the actor reads your search parameters and validates the award type against six supported categories (contracts, grants, loans, direct_payments, other, idvs).

  2. Filter construction -- a POST request body is built with the correct award type codes (e.g., contracts = A/B/C/D, grants = 02/03/04/05), along with keyword, agency, recipient, date range, and minimum amount filters.

  3. Field selection -- the actor selects the appropriate field set based on award type. Loans use different fields (Loan Value, Subsidy Cost, Issued Date) than standard awards (Award Amount, Start Date, End Date).

  4. Paginated fetching -- the actor sends POST requests to the USAspending API (api.usaspending.gov/api/v2/search/spending_by_award/), fetching up to 100 results per page. It continues paginating until the requested number of results is reached or no more results are available, with a 300ms delay between requests.

  5. Transformation -- each raw API result is normalized into a consistent output schema. Loan fields are mapped to the same output fields as standard awards, recipient location is assembled from city/state/country components, and a direct USAspending.gov URL is constructed from the internal award ID.

  6. Output -- clean JSON records are pushed to the Apify dataset one at a time. A summary log shows the total count, aggregate dollar amount, top awarding agencies, and top recipients.

Input (keyword, awardType, agency, recipient, dateRange, minAmount)
|
v
+---------------------------------------------+
| Filter Builder |
| - Award type codes (A/B/C/D for contracts) |
| - Keywords, agency, recipient filters |
| - Date range, minimum amount |
+---------------------+-----------------------+
|
v
+---------------------------------------------+
| USAspending API (POST) |
| api.usaspending.gov/api/v2/search/ |
| spending_by_award/ |
| - 100 per page, sorted by amount desc |
| - 300ms delay between pages |
| - Up to 10 pages (1,000 results max) |
+---------------------+-----------------------+
|
v
+---------------------------------------------+
| Transform & Normalize |
| - Map loan fields to standard schema |
| - Build recipient location string |
| - Construct USAspending.gov award URL |
| - Truncate title to 500 chars |
+---------------------+-----------------------+
|
v
+---------------------------------------------+
| Output to Apify Dataset |
| - JSON records with 13 fields each |
| - Summary: total amount, top agencies, |
| top recipients |
+---------------------------------------------+

Performance & cost

USAspending Federal Spending Search is extremely cost-efficient. It runs with only 256 MB of memory and calls a free government API -- no web scraping or browser rendering involved.

ScenarioResultsPagesEstimated timeEstimated cost
Quick lookup251~5 sec~$0.001
Standard search1001~8 sec~$0.002
Deep scan5005~20 sec~$0.005
Maximum extraction1,00010~40 sec~$0.01
Daily monitoring (1 month)100/day1/day~8 sec/run~$0.06/month

Apify Free Tier: New Apify accounts receive $5 of free platform credits each month. This is enough to run the actor hundreds of times per month at no cost.

USAspending API: The API is completely free with no API key, no registration, and no rate limits for reasonable usage.


Limitations

  • One award type per run -- the USAspending API requires searching one award type category per request. Run the actor separately for contracts, grants, and loans if you need multiple types.
  • 1,000 result maximum -- the actor caps at 1,000 results per run (100 per page, 10 pages). For larger datasets, narrow your search with date ranges, keywords, or agency filters and run multiple times.
  • Agency names must be exact -- the agency filter requires the full official top-tier agency name (e.g., "Department of Defense," not "DoD" or "Pentagon"). Misspelled or abbreviated names will return no results.
  • Federal spending only -- USAspending.gov tracks only federal government spending. State, local, and tribal government data is not available through this API.
  • Data update lag -- USAspending.gov data is updated monthly by the Treasury Department. Recent awards may take 30-90 days to appear after they are obligated.
  • Loan end dates unavailable -- the USAspending API does not return end dates for loan awards. The endDate field will always be null for loan searches.
  • No sub-award data -- this actor searches prime awards only. Sub-award and sub-contract data is available through a different USAspending API endpoint not covered by this actor.

Responsible use

  • Public data only -- all data returned by this actor comes from publicly available federal spending records on USAspending.gov. No private or restricted information is accessed.
  • Respect API capacity -- while the USAspending API has no formal rate limits, the actor includes a 300ms delay between page requests. Avoid scheduling excessively frequent runs that could burden the API.
  • Accuracy verification -- while the actor normalizes and structures the data, always verify critical details on the official USAspending.gov website before making business, investment, or reporting decisions.
  • Intended purposes -- this data is provided for research, journalism, business development, policy analysis, and transparency purposes. Use it responsibly and in compliance with applicable laws.
  • Recipient information -- recipient names and locations are public record. Do not use this data for harassment, unsolicited marketing, or any purpose that violates recipient privacy expectations.

FAQ

Do I need a USAspending API key? No. The USAspending API is completely free and open to the public. No registration, API key, or authentication of any kind is required.

How current is the data? USAspending.gov data is updated monthly by the Treasury Department. Recent awards may take 30-90 days to appear in the system after they are obligated by the awarding agency.

Can I search for multiple award types at once? No. The USAspending API requires one award type category per request. Run the actor multiple times with different awardType values (e.g., once for contracts, once for grants) to cover multiple categories.

What is an IDV? An IDV (Indefinite Delivery Vehicle) is a contract that does not specify a firm quantity of supplies or a fixed scope of work at the time of award. This includes GWAC contracts (Government-Wide Acquisition Contracts), Federal Supply Schedules (GSA Schedules), and blanket purchase agreements.

Why are some award amounts null? Some awards, particularly those in early stages or certain assistance programs, may not have a dollar amount recorded in the system yet. The awardAmount field will be null in these cases.

Can I search for state or local government spending? No. USAspending.gov tracks only federal government spending. For state-level data, you would need separate data sources such as individual state transparency portals.

What date range is supported? The earliest available data begins on 2007-10-01 (the start of federal fiscal year 2008). You can search any date range from that point to the present using the format "YYYY-MM-DD to YYYY-MM-DD."

How are results sorted? Results are always sorted by award amount in descending order (largest first). For loan searches, results are sorted by loan face value. This means setting a small maxResults value gives you the biggest awards immediately.

What is the difference between awarding agency and funding agency? The awarding agency is the federal agency that issues and manages the contract or grant. The funding agency provides the money. These are often the same, but in some cases (such as interagency agreements), the funding comes from a different agency than the one managing the award.

Can I get results in CSV or Excel format? Yes. After the actor completes, click "Export" on the dataset page and choose CSV, Excel, JSON, or XML. The Apify API also supports format=csv and format=xlsx query parameters for programmatic access.

How do I find the correct agency name? Visit USAspending.gov and browse the Agency page to find the exact official name. Common examples include "Department of Defense," "Department of Health and Human Services," "National Aeronautics and Space Administration," and "Department of Energy."

Is this the same data as on USAspending.gov? Yes. This actor queries the same official USAspending.gov API that powers the website. The data is identical -- the actor simply provides it in a structured, machine-readable format with automated search and export capabilities.


ActorDescriptionLink
SAM.gov Contract MonitorSearch active federal contract opportunities and solicitations on SAM.govView
Grants.gov Federal Grant SearchSearch active federal grant opportunities across all agenciesView
Congress Bill SearchSearch US congressional bills and legislation by keyword, sponsor, or statusView
FEC Campaign Finance SearchSearch Federal Election Commission data for campaign contributions and political spendingView
Federal Register SearchSearch proposed rules, final rules, and notices in the Federal RegisterView
Congressional Stock Trade TrackerTrack stock transactions reported by members of the US CongressView
OFAC Sanctions SearchScreen entities against the US Treasury OFAC sanctions listView
SEC EDGAR Filing AnalyzerSearch and analyze SEC financial filings and corporate disclosuresView
CFPB Consumer ComplaintsSearch consumer complaints filed with the Consumer Financial Protection BureauView
FDIC Bank Data SearchSearch FDIC bank financial data and institution informationView