USAspending Scraper · Federal Contracts, Grants & Recipients
Pricing
from $1.30 / 1,000 award returneds
USAspending Scraper · Federal Contracts, Grants & Recipients
Scrape US federal contracts, grants, and direct payments from USAspending.gov by agency, NAICS code, PSC code, award type, state, fiscal year, and dollar amount.
Pricing
from $1.30 / 1,000 award returneds
Rating
0.0
(0)
Developer
Tarek Etman
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share

USAspending Scraper · Federal Contracts, Grants & Recipients
USAspending Scraper extracts US federal contracts, grants, sub-awards, and direct payments directly from the official public USAspending.gov API. Search billions of dollars in federal procurement spending across executive agencies, NAICS industry codes, Product Service Codes (PSC), US states, fiscal year date windows, and dollar amount thresholds with zero API key required.
Maintained by reapX. Every row cites the Apify run that produced it — nothing is inferred, modelled or filled in, and a field absent from the source is absent from the row. The extracted archive for this source is browsable at reapx.dev/data/usaspending-scraper/ and mirrored as an open dataset on Hugging Face and Kaggle. Questions: reapxdev@proton.me
Maintained by reapX. Public data extracted directly from USAspending.gov APIs. Data guarantee: every record includes stable addressable entity keys.
How it works
USAspending Scraper queries the USAspending.gov spending_by_award endpoint using structured REST payloads. It parses and normalizes federal procurement records into clean tabular datasets.
- Specify Filter Parameters: Choose target award types (prime contracts, grants, direct payments), executive agency names, NAICS industry codes, PSC codes, US state postal abbreviations, or dollar amount ranges.
- Execute the Scraper: The actor streams paginated award records from USAspending.gov APIs with automatic backoff retry logic on rate limits.
- Export Addressable Entity Records: Every returned row contains
companyName(the recipient organization name) as its primary addressable entity identifier along withawardIdand financial/contractual details.
⬇️ Input
The scraper accepts the following input parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
awardTypeCodes | array | ["A", "B", "C", "D"] | Federal award types (A, B, C, D for prime contracts; 02, 03, 04, 05 for grants; 06, 10 for direct payments). |
startDate | string | "2023-10-01" | Start date for fiscal period (YYYY-MM-DD). |
endDate | string | "2024-09-30" | End date for fiscal period (YYYY-MM-DD). |
agencyName | string | "" | Top-tier federal awarding agency name (e.g. Department of Defense, Department of Veterans Affairs). |
naicsCodes | array | [] | List of 6-digit NAICS industry codes (e.g. ["541512"] for Computer Systems Design Services). |
pscCodes | array | [] | List of Product and Service Codes (e.g. ["R425"] for Engineering Support Services). |
state | string | "" | Two-letter US state postal code abbreviation (e.g. VA, CA, TX). |
minAmount | integer | null | Minimum total award dollar value threshold in USD. |
maxAmount | integer | null | Maximum total award dollar value threshold in USD. |
maxItems | integer | 100 | Maximum number of federal award items to collect per run (1-10000). |
Input Example 1: Department of Defense IT Contracts in Virginia ($1M+)
{"awardTypeCodes": ["A", "B", "C", "D"],"agencyName": "Department of Defense","naicsCodes": ["541512"],"state": "VA","minAmount": 1000000,"startDate": "2023-10-01","endDate": "2024-09-30","maxItems": 100}
Input Example 2: HHS Health & Biomedical Research Grants
{"awardTypeCodes": ["02", "03", "04", "05"],"agencyName": "Department of Health and Human Services","startDate": "2023-10-01","endDate": "2024-09-30","maxItems": 50}
⬆️ Output
Results are stored in the run's default dataset. Each row represents one federal contract or grant award:
| Field Name | Type | Description | Example |
|---|---|---|---|
companyName | string | Recipient organization name receiving the federal award. Primary entity identifier. | "HUMANA GOVERNMENT BUSINESS INC" |
awardId | string | Unique federal contract or grant award identifier. | "HT940216C0001" |
awardAmount | number | Total dollar value of the federal award in USD. | 51269205263.03 |
startDate | string | Performance start date of the award (YYYY-MM-DD). | "2016-08-01" |
endDate | string | Performance end date or completion date (YYYY-MM-DD). | "2025-12-31" |
awardingAgencyName | string | Top-tier federal awarding department. | "Department of Defense" |
awardingSubAgencyName | string | Sub-agency or bureau issuing the award. | "Defense Health Agency" |
fundingAgencyName | string | Top-tier federal department providing funding. | "Department of Defense" |
fundingSubAgencyName | string | Sub-agency providing funding for the award. | "Defense Health Agency" |
contractAwardType | string | Type of award contract (e.g. DEFINITIVE CONTRACT, BPA CALL). | "DEFINITIVE CONTRACT" |
naicsCode | string | North American Industry Classification System 6-digit code. | "541512" |
naicsDescription | string | Description of the NAICS industry code. | "Computer Systems Design Services" |
pscCode | string | Product and Service Code. | "R425" |
pscDescription | string | Description of the Product and Service Code. | "Engineering and Technical Support" |
recipientStateCode | string | Two-letter US state postal code of the recipient location. | "VA" |
generatedInternalId | string | USAspending internal unique award identifier. | "CONT_AWD_HT940216C0001_9700_-NONE-_-NONE-" |
recipientUei | string | Recipient Unique Entity Identifier (UEI). | "ZE6ZM6NKSV43" |
Output Example JSON
{"companyName": "HUMANA GOVERNMENT BUSINESS INC","awardId": "HT940216C0001","awardAmount": 51269205263.03,"startDate": "2016-08-01","endDate": "2025-12-31","awardingAgencyName": "Department of Defense","awardingSubAgencyName": "Defense Health Agency","fundingAgencyName": "Department of Defense","fundingSubAgencyName": "Defense Health Agency","contractAwardType": "DEFINITIVE CONTRACT","naicsCode": "541512","naicsDescription": "Computer Systems Design Services","pscCode": "R425","pscDescription": "Engineering and Technical Support","recipientStateCode": "KY","generatedInternalId": "CONT_AWD_HT940216C0001_9700_-NONE-_-NONE-","recipientUei": "ZE6ZM6NKSV43"}
❓ FAQ
What award types are supported?
The scraper supports prime contracts (A, B, C, D), grants (02, 03, 04, 05), direct payments (06, 10), and loans (07, 08).
How does entity page resolution work?
Each emitted row sets companyName to the Recipient Name returned by USAspending.gov. This allows entity page builders to aggregate all awards received by a specific federal contractor under one canonical company profile.
Are empty or blocked requests billed?
No. Pay-per-event pricing charges only for successfully retrieved and delivered award records. Blocked requests, network errors, or search queries matching zero awards cost $0.
Is an API key required?
No API key or authentication token is required. The scraper communicates directly with public USAspending.gov endpoints.
💬 Your feedback
Have questions, feature requests, or custom extraction needs? Contact the maintainer at reapxdev@proton.me.
Unofficial - not affiliated with USAspending.gov or the US Federal Government. Collects public data only. reapx. Contact reapxdev@proton.me.
🧪 Example input
A real, runnable configuration — this is an actual input this Actor has run with.
{"awardTypeCodes": ["A","B","C","D"],"agencyName": "Department of Defense","startDate": "2023-10-01","endDate": "2024-09-30","maxItems": 50}
📄 Sample output
One real row from a real run of this Actor, unedited.
{"companyName": "HUMANA GOVERNMENT BUSINESS INC","awardId": "HT940216C0001","awardAmount": 51269205263.03,"startDate": "2016-08-01","endDate": "2025-12-31","awardingAgencyName": null,"awardingSubAgencyName": null,"fundingAgencyName": null,"fundingSubAgencyName": null,"contractAwardType": "DEFINITIVE CONTRACT","naicsCode": null,"naicsDescription": null,"pscCode": null,"pscDescription": null,"recipientStateCode": "KY","generatedInternalId": "CONT_AWD_HT940216C0001_9700_-NONE-_-NONE-","recipientUei": "ZE6ZM6NKSV43"}
⚠️ Run outcomes and error handling
This Actor reports what happened in the run's status message, and it always keeps whatever it collected. These are the outcomes you can get and what each one means.
| Outcome | What it means |
|---|---|
| Success | Rows were returned and you were charged award-returned at $0.002 per row. |
| No matches | The source returned nothing for your filters. Nothing is charged. Widen the date window or drop a filter. |
What is guaranteed either way
- Every row is pushed as it is built, not buffered to the end of the run. Anything that buffers output loses everything to a timeout, a block or a migration; this does not.
- A field absent from the source is absent from the row. Nothing is inferred, modelled or filled in to make a row look complete.