USAspending Federal Contracts & Grants Scraper
Pricing
from $1.00 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
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 bynaicsCodesandstates, 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
includeDetailsyou also get set-aside type, extent competed and number of offers. - Recompete pipeline. Use
potentialEndDate(withincludeDetails) 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.govdirectly. 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 ArmyorDepartment 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
- Click Try for free (or Start) on this page.
- Pick an Award type:
contracts(default),idvs,grants,direct_payments,loansorother. - 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.
- Set Max results. The default is 20, which gives a quick, cheap preview.
- 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
| Field | Description |
|---|---|
keywords | Free text across descriptions, names, IDs and codes, e.g. cybersecurity, drone |
awardType | contracts (default), idvs (IDIQ, GWAC, BPA, FSS), grants, direct_payments, loans, other |
awardingAgency | Department or sub-agency by name or abbreviation, e.g. NASA, DHS, Department of the Army |
recipients | Contractor / recipient names or UEIs, e.g. Lockheed Martin |
naicsCodes | NAICS codes, 2 to 6 digits (prefixes include sub-codes), e.g. 541512, 5415 |
pscCodes | Product and Service Codes, e.g. R425, D302 |
states | Place-of-performance state codes, e.g. VA, TX |
dateFrom / dateTo | Award activity date range, YYYY-MM-DD (default: last 90 days; earliest 2007-10-01) |
newAwardsOnly | Only awards first signed inside the date range (skips modifications to older awards) |
minAmount / maxAmount | Award amount range in USD |
sortBy | amount (largest first, default), startDate or lastModified (newest first) |
includeDetails | Adds contract-intelligence fields (one extra request per award, slower) |
maxItems | Maximum 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"}
| Group | Fields |
|---|---|
| Award | awardId, url, generatedInternalId, awardType, description, amount, totalOutlays |
| Recipient | recipientName, recipientUei, recipientAddress, recipientCity, recipientState, recipientZip, recipientCountry |
| Agencies | awardingAgency, awardingSubAgency, fundingAgency, fundingSubAgency |
| Dates | startDate, endDate, baseObligationDate, lastModifiedDate, scrapedAt |
| Classification | naicsCode, naicsDescription, pscCode, pscDescription, assistanceListings (grants) |
| Place of performance | popCity, popState, popZip, popCounty, popCongressionalDistrict, popCountry |
With includeDetails | dateSigned, 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 ApifyClientclient = 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 RECIPIENTSorREDACTED 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.
Legal and privacy
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.