USAspending Scraper · Federal Contracts, Grants & Recipients avatar

USAspending Scraper · Federal Contracts, Grants & Recipients

Pricing

from $1.30 / 1,000 award returneds

Go to Apify Store
USAspending Scraper · Federal Contracts, Grants & Recipients

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

Tarek Etman

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

reapX — public sources in, addressable records out

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.

  1. 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.
  2. Execute the Scraper: The actor streams paginated award records from USAspending.gov APIs with automatic backoff retry logic on rate limits.
  3. Export Addressable Entity Records: Every returned row contains companyName (the recipient organization name) as its primary addressable entity identifier along with awardId and financial/contractual details.

⬇️ Input

The scraper accepts the following input parameters:

ParameterTypeDefaultDescription
awardTypeCodesarray["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).
startDatestring"2023-10-01"Start date for fiscal period (YYYY-MM-DD).
endDatestring"2024-09-30"End date for fiscal period (YYYY-MM-DD).
agencyNamestring""Top-tier federal awarding agency name (e.g. Department of Defense, Department of Veterans Affairs).
naicsCodesarray[]List of 6-digit NAICS industry codes (e.g. ["541512"] for Computer Systems Design Services).
pscCodesarray[]List of Product and Service Codes (e.g. ["R425"] for Engineering Support Services).
statestring""Two-letter US state postal code abbreviation (e.g. VA, CA, TX).
minAmountintegernullMinimum total award dollar value threshold in USD.
maxAmountintegernullMaximum total award dollar value threshold in USD.
maxItemsinteger100Maximum 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 NameTypeDescriptionExample
companyNamestringRecipient organization name receiving the federal award. Primary entity identifier."HUMANA GOVERNMENT BUSINESS INC"
awardIdstringUnique federal contract or grant award identifier."HT940216C0001"
awardAmountnumberTotal dollar value of the federal award in USD.51269205263.03
startDatestringPerformance start date of the award (YYYY-MM-DD)."2016-08-01"
endDatestringPerformance end date or completion date (YYYY-MM-DD)."2025-12-31"
awardingAgencyNamestringTop-tier federal awarding department."Department of Defense"
awardingSubAgencyNamestringSub-agency or bureau issuing the award."Defense Health Agency"
fundingAgencyNamestringTop-tier federal department providing funding."Department of Defense"
fundingSubAgencyNamestringSub-agency providing funding for the award."Defense Health Agency"
contractAwardTypestringType of award contract (e.g. DEFINITIVE CONTRACT, BPA CALL)."DEFINITIVE CONTRACT"
naicsCodestringNorth American Industry Classification System 6-digit code."541512"
naicsDescriptionstringDescription of the NAICS industry code."Computer Systems Design Services"
pscCodestringProduct and Service Code."R425"
pscDescriptionstringDescription of the Product and Service Code."Engineering and Technical Support"
recipientStateCodestringTwo-letter US state postal code of the recipient location."VA"
generatedInternalIdstringUSAspending internal unique award identifier."CONT_AWD_HT940216C0001_9700_-NONE-_-NONE-"
recipientUeistringRecipient 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.

OutcomeWhat it means
SuccessRows were returned and you were charged award-returned at $0.002 per row.
No matchesThe 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.