USAspending Federal Contracts & Grants Scraper avatar

USAspending Federal Contracts & Grants Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
USAspending Federal Contracts & Grants Scraper

USAspending Federal Contracts & Grants Scraper

Export federal contract and grant awards from USAspending.gov by agency, company, NAICS, PSC, state or date. UEI, address, set-aside, offers. No API key.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

dean ko

dean ko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Export US federal contract awards, grants, loans and other assistance from USAspending.gov, the official source for all federal spending since 2007. You get clean, flat rows that drop straight into Excel, Google Sheets, your CRM or BI tools.

Search by keyword, awarding agency, contractor (recipient) name or UEI, NAICS code, PSC code, place-of-performance state, award type, amount and date. The Actor uses the official USAspending API v2, so there is no API key, no login, no proxies and no blocking.

Think of it as a federal contracts data API that needs no code. Run it from the Apify Console, on a schedule, or from your own Python or JavaScript.

Who is this for?

  • Government contractors and B2B sales teams who want lists of companies that just won federal contracts in their NAICS code, PSC or state, with UEI and street address.
  • Capture and business development managers who track competitors, incumbents, recompetes and teaming partners.
  • Analysts, journalists and researchers who follow federal spending by agency, program, state or congressional district.
  • Developers and data teams who need USAspending data in a pipeline without writing pagination, retries or agency-name lookups.

Use cases

  • Federal contractor leads. List every company that won a new contract in your market. Set newAwardsOnly, filter by naicsCodes and states, and use the recipient address and UEI for outreach and enrichment.
  • Competitor intelligence. Pull every award a competitor won: agencies, values, NAICS/PSC mix and end dates. With includeDetails you also get set-aside type, extent competed and number of offers.
  • Recompete pipeline. Use potentialEndDate (with includeDetails) to see which contracts expire soon and who holds them.
  • Teaming and subcontracting. Find primes holding large active contracts in your niche, and the agencies and offices that buy what you sell.
  • Grant research. Export grants by keyword or agency with assistance listings (CFDA program numbers).
  • Monitoring. Schedule a daily or weekly run over a short date range to receive only new award activity.

Why this Actor

These are concrete features of this Actor, not marketing claims:

  • Official data, no API key. Queries api.usaspending.gov directly. No scraping of HTML pages, so results don't break when the website changes.
  • Place-of-performance state filter. Filter by US state codes (VA, TX, ...) directly, with no need to export everything and filter afterwards.
  • Agency names resolved for you. Type NASA, DHS, Department of the Army or Department of Defense. The Actor looks up the official name and decides between department and sub-agency level.
  • Contractor contact basics. Recipient name, UEI and street address, city, state, ZIP on every row.
  • Optional contract-intelligence fields. With includeDetails: date signed, potential value including options, potential end date, awarding office, parent company and UEI, business categories (small business, 8(a), woman-owned, veteran-owned...), extent competed, set-aside, number of offers, pricing type, solicitation ID and parent IDV.
  • Large exports. Up to 100,000 awards per run, collected 100 at a time.
  • Flat rows plus a direct link to each award page on usaspending.gov.
  • Cost control. Pay only per award returned. If you set a maximum charge for the run, the Actor stops as soon as it's reached.

How to use

  1. Click Try for free (or Start) on this page.
  2. Pick an Award type: contracts (default), idvs, grants, direct_payments, loans or other.
  3. Add any filters you need: keywords, agency, recipients, NAICS, PSC, states, amount or dates. Several values in one field are combined with OR. Different fields are combined with AND.
  4. Set Max results. The default is 20, which gives a quick, cheap preview.
  5. Click Start. Then download the dataset as CSV, Excel, JSON or XML, or read it through the API.

The default input searches cybersecurity contracts with activity in the last 90 days, largest first, and returns 20 rows in a few seconds:

{
"keywords": ["cybersecurity"],
"awardType": "contracts",
"sortBy": "amount",
"maxItems": 20
}

New IT contracts in Virginia and Maryland over $100k, with competition details:

{
"awardType": "contracts",
"naicsCodes": ["5415"],
"states": ["VA", "MD"],
"minAmount": 100000,
"dateFrom": "2026-01-01",
"newAwardsOnly": true,
"sortBy": "startDate",
"includeDetails": true,
"maxItems": 1000
}

Everything one contractor won from one agency:

{ "recipients": ["Booz Allen Hamilton"], "awardingAgency": "Department of Homeland Security", "dateFrom": "2025-01-01", "maxItems": 500 }

Broadband grants:

{ "awardType": "grants", "keywords": ["broadband"], "dateFrom": "2025-10-01", "maxItems": 200 }

Input fields

FieldDescription
keywordsFree text across descriptions, names, IDs and codes, e.g. cybersecurity, drone
awardTypecontracts (default), idvs (IDIQ, GWAC, BPA, FSS), grants, direct_payments, loans, other
awardingAgencyDepartment or sub-agency by name or abbreviation, e.g. NASA, DHS, Department of the Army
recipientsContractor / recipient names or UEIs, e.g. Lockheed Martin
naicsCodesNAICS codes, 2 to 6 digits (prefixes include sub-codes), e.g. 541512, 5415
pscCodesProduct and Service Codes, e.g. R425, D302
statesPlace-of-performance state codes, e.g. VA, TX
dateFrom / dateToAward activity date range, YYYY-MM-DD (default: last 90 days; earliest 2007-10-01)
newAwardsOnlyOnly awards first signed inside the date range (skips modifications to older awards)
minAmount / maxAmountAward amount range in USD
sortByamount (largest first, default), startDate or lastModified (newest first)
includeDetailsAdds contract-intelligence fields (one extra request per award, slower)
maxItemsMaximum number of awards to return (default 20, up to 100,000)

Output

Each award is one row. Here is a shortened example from a real run:

{
"awardId": "36C10B23F0346",
"url": "https://www.usaspending.gov/award/CONT_AWD_36C10B23F0346_3600_47QSWA18D008Q_4732",
"recipientName": "MAVERIS LLC",
"recipientUei": "NEKWPBM5VT33",
"recipientAddress": "8180 GREENSBORO DR STE 1000",
"recipientCity": "MCLEAN",
"recipientState": "VA",
"recipientZip": "22102",
"amount": 219083824.48,
"totalOutlays": 147432546.43,
"awardType": "DELIVERY ORDER",
"awardingAgency": "Department of Veterans Affairs",
"description": "VA CYBERSECURITY OPERATIONS CENTER NEXT GENERATION II (CSOC NG II) SUPPORT",
"startDate": "2023-09-29",
"endDate": "2027-09-28",
"naicsCode": "541511",
"naicsDescription": "CUSTOM COMPUTER PROGRAMMING SERVICES",
"pscCode": "R499",
"popState": "WV",
"popCongressionalDistrict": "02",
"scrapedAt": "2026-10-19T08:23:00.024Z"
}
GroupFields
AwardawardId, url, generatedInternalId, awardType, description, amount, totalOutlays
RecipientrecipientName, recipientUei, recipientAddress, recipientCity, recipientState, recipientZip, recipientCountry
AgenciesawardingAgency, awardingSubAgency, fundingAgency, fundingSubAgency
DatesstartDate, endDate, baseObligationDate, lastModifiedDate, scrapedAt
ClassificationnaicsCode, naicsDescription, pscCode, pscDescription, assistanceListings (grants)
Place of performancepopCity, popState, popZip, popCounty, popCongressionalDistrict, popCountry
With includeDetailsdateSigned, potentialValue, potentialEndDate, awardingOffice, parentRecipientName, parentRecipientUei, businessCategories, extentCompeted, setAside, numberOfOffers, pricingType, solicitationId, parentAwardId, subawardCount

For loans, amount is the loan face value. The Overview table view in the Console shows the key columns at a glance.

Pricing

This Actor uses pay-per-event pricing:

  • $0.001 per award returned ($1 per 1,000 rows).
  • A tiny Actor start fee of $0.00005 per GB of memory, charged once per run.

Worked example: exporting 5,000 contract awards costs 5,000 × $0.001 = $5.00, plus the start fee of a fraction of a cent. The default input (20 rows) costs about $0.02. Turning on includeDetails doesn't change the price per row; it only makes the run slower.

To cap your spend, set Max results or set a maximum charge per run in the run options. The Actor stops once the limit is reached.

Integrations and API

Run the Actor from your own code with the official Apify client. Replace <YOUR_APIFY_TOKEN> with your token from Settings → API & Integrations.

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("deanko/usaspending-scraper").call(run_input={
"awardType": "contracts",
"naicsCodes": ["541512"],
"states": ["VA"],
"newAwardsOnly": True,
"maxItems": 500,
})
for award in client.dataset(run["defaultDatasetId"]).iterate_items():
print(award["recipientName"], award["amount"], award["url"])

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('deanko/usaspending-scraper').call({
awardType: 'grants',
keywords: ['broadband'],
maxItems: 200,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.length, items[0]);

You can also connect results to Google Sheets, Make, Zapier, n8n, Slack, webhooks and other tools through Apify integrations. Use Schedules to get new awards every day or week.

FAQ

Where does the data come from? From the official USAspending.gov API run by the US Department of the Treasury. It publishes federal award data reported under the DATA Act and FFATA. The Actor does not scrape HTML pages.

Do I need a USAspending API key? No. The USAspending API is public and needs no key or login.

Are there rate limits? USAspending does not publish a fixed rate limit. To stay polite, this Actor requests pages one at a time (up to 100 awards per request) with a short pause between pages. It retries temporary errors (such as HTTP 429 or 5xx) up to 5 times with backoff. With includeDetails it makes one extra request per award, so large detailed runs take longer.

Why are recent Department of Defense contracts missing? DoD contract data is published with a 90-day delay under federal reporting rules. Set dateFrom further back for DoD searches.

What does the date range filter on? Award activity: new awards and modifications. To get only awards first signed in the range, turn on newAwardsOnly.

Is this SAM.gov? No. SAM.gov lists open opportunities (solicitations and RFPs). USAspending lists awarded contracts and grants: who got paid, how much, and by which agency. Use this Actor to find who wins work in your market.

Can I get sub-awards? Not currently. The Actor returns prime awards. With includeDetails, subawardCount tells you how many sub-awards exist.

Limitations

  • One award type per run. USAspending does not mix contracts, IDVs, grants, loans and other assistance in one search.
  • NAICS and PSC filters apply to contracts and IDVs only. Grants use assistance listings instead.
  • Prime awards only. No sub-award rows.
  • Data lag. Agencies report with a delay (DoD: 90 days), so the newest awards may not appear yet.
  • Redacted individuals. Awards to individuals are returned exactly as USAspending publishes them, for example MULTIPLE RECIPIENTS or REDACTED DUE TO PII. The Actor never tries to identify or enrich individuals.
  • Missing fields. Some awards have no amount, no end date (loans) or no location in the source data. These come through as null.
  • Earliest date is 2007-10-01.

The data comes from the public USAspending.gov API, which publishes federal award data under the DATA Act. This Actor returns organization-level award data only. You are responsible for using the data in line with the laws that apply to you.

Support and feedback

Found a bug, need a field or filter that's missing, or want a custom export? Open an issue on the Issues tab of this Actor page. Feedback and reviews help a lot and are read quickly.