USAspending Subawards Scraper
Pricing
Pay per event
USAspending Subawards Scraper
Extract USAspending sub-awards, subrecipients, UEIs, prime award IDs, agencies, descriptions, and dollar amounts from the public API.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Extract sub-award, subcontract, subrecipient, and prime award mapping records from the public USAspending API. This actor turns USAspending subaward search results into a clean Apify dataset with sub-award IDs, dates, amounts, subawardees, UEIs, prime recipients, agencies, descriptions, and run metadata.
What does USAspending Subawards Scraper do?
USAspending Subawards Scraper queries the no-login USAspending JSON API with subawards: true and saves each returned sub-award row as a structured dataset item.
It is designed for users who need repeatable exports of public spending flows from prime recipients to subrecipients or subcontractors.
You can use it to:
- ๐งพ Export sub-award rows for a date range.
- ๐ Filter by prime award type codes.
- ๐ Search by public spending keywords.
- ๐งญ Target agencies, recipients, names, or UEI values.
- ๐ต Sort by sub-award amount or date.
- ๐ Map prime award IDs to subrecipient organizations.
Who is it for?
Government-contracting business development teams use it to identify downstream subcontracting and grant-flow opportunities.
Grant consultants use it to map which organizations receive sub-awards under large federal programs.
Vendors use it to find prime recipients and subrecipients active in their market.
Researchers use it to analyze public funding flows without manually clicking through USAspending search pages.
Compliance and public-sector teams use it to build repeatable monitoring datasets for reporting and due diligence.
Why use this actor?
The USAspending interface is powerful, but repeat exports can be tedious when you need consistent fields, automation, and scheduled runs.
This actor gives you an API-friendly Apify workflow:
- Run manually or on a schedule.
- Export JSON, CSV, Excel, XML, or RSS from the Apify dataset.
- Connect results to Make, Zapier, webhooks, databases, or BI tools.
- Reuse the same input for recurring monitoring.
- Keep source metadata for auditability.
What data can you extract?
| Field | Description |
|---|---|
subAwardId | USAspending sub-award identifier |
subAwardType | Sub-grant or subcontract style type |
subAwardDate | Date reported by USAspending |
subAwardAmount | Dollar amount of the sub-award |
subAwardeeName | Subrecipient or subawardee organization |
subRecipientUei | UEI for the subrecipient when available |
primeAwardId | Prime award ID tied to the sub-award |
primeRecipientName | Prime recipient organization |
primeRecipientUei | UEI for the prime recipient when available |
awardingAgency | Awarding agency name |
subAwardDescription | USAspending description text |
scrapedAt | Timestamp for the actor run |
How much does it cost to extract USAspending subawards?
This actor uses pay-per-event pricing.
You pay a small start fee per run and a per-item event for each sub-award record saved to the dataset.
Use maxItems to cap cost during testing.
For a first run, keep the default 20 records, review the output, then increase the limit for production exports.
How to scrape USAspending subawards
- Open the actor on Apify.
- Choose a start date and end date.
- Keep the default grant and assistance award type codes, or enter your own USAspending award type codes.
- Optionally add keywords, recipient names, UEIs, agencies, or amount bounds.
- Set
maxItemsto the number of sub-awards you need. - Run the actor.
- Download the dataset from Apify or connect it to your workflow.
Input options
Date range
Use startDate and endDate in YYYY-MM-DD format.
The date range is sent to USAspending as a time_period filter.
Award type codes
Use awardTypeCodes for USAspending prime award type codes.
The default values are 02, 03, 04, and 05, which are common assistance and grant-style award categories.
Keywords
Use keywords to search for public spending topics such as broadband, housing, workforce, disaster recovery, or wildfire.
Recipient search
Use recipientSearchText for recipient names, subrecipient names, prime recipient names, or UEI values.
Agency names
Use agencyNames for top-tier awarding agency names such as Department of Homeland Security.
Amount filters
Use minAmount and maxAmount to focus on sub-awards within a dollar range.
Advanced filters
Use rawFilters when you already know the USAspending API filter object you want to merge into the request.
Example input
{"startDate": "2024-01-01","endDate": "2024-12-31","awardTypeCodes": ["02", "03", "04", "05"],"sort": "Sub-Award Amount","order": "desc","maxItems": 100,"pageSize": 100}
Example keyword input
{"startDate": "2023-01-01","endDate": "2024-12-31","keywords": ["broadband"],"minAmount": 100000,"maxItems": 250}
Output example
{"subAwardId": "2019-CR0116-A","subAwardType": "sub-grant","subAwardDate": "2024-02-05","subAwardAmount": 10188243769.74,"subAwardeeName": "PUERTO RICO ELECTRIC POWER AUTHORITY","subRecipientUei": "EHNKJMN3LNZ7","primeAwardId": "4339DRPRP00000001","primeRecipientName": "GOVERNORS AUTHORIZED REPRESENTATIVE","primeRecipientUei": "HEJDFU1K4E22","awardingAgency": "Department of Homeland Security","spendingLevel": "subawards","sourcePage": 1,"scrapedAt": "2026-07-06T00:00:00.000Z"}
Common workflows
Subrecipient discovery
Run a broad date-range export sorted by sub-award amount, then filter by agency, amount, or keyword in your spreadsheet or database.
Prime-to-subrecipient mapping
Use the primeAwardId, primeRecipientName, primeRecipientUei, subAwardeeName, and subRecipientUei fields to build relationship tables.
Grant market monitoring
Schedule the actor monthly with a rolling date range and a keyword list to monitor emerging recipients in your market.
Compliance review
Export sub-award descriptions, agency names, UEIs, and dates for review workflows or audit preparation.
Tips for best results
- Start with the default 20 records before increasing
maxItems. - Sort by
Sub-Award Amountfor high-value opportunity discovery. - Sort by
Sub-Award Datefor monitoring recent awards. - Use exact agency names when targeting one awarding agency.
- Use
rawFiltersonly if you know the USAspending API filter syntax. - Keep keyword lists focused; broad keywords can return very large result sets.
Troubleshooting
Why did I get zero results?
Your filters may be too narrow. Try a wider date range, remove keywords, remove amount bounds, or start from the default input.
Why did USAspending reject my advanced filters?
rawFilters is passed to the USAspending API. If the API rejects it, check the exact filter names and value shapes in USAspending API documentation.
Why are some UEI fields empty?
USAspending records can have missing or unavailable UEI values. The actor preserves the public API response rather than inventing missing values.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/usaspending-subawards-scraper').call({startDate: '2024-01-01',endDate: '2024-12-31',maxItems: 100});console.log(run.defaultDatasetId);
API usage with Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/usaspending-subawards-scraper').call(run_input={'startDate': '2024-01-01','endDate': '2024-12-31','maxItems': 100,})print(run['defaultDatasetId'])
API usage with cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~usaspending-subawards-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startDate":"2024-01-01","endDate":"2024-12-31","maxItems":100}'
Integrations
Connect the dataset to Google Sheets for analyst review.
Send results to a database for recurring public-spending intelligence.
Trigger webhooks when new sub-awards match a keyword.
Feed the dataset into dashboards for agency, recipient, or amount analysis.
Use Apify API clients to enrich subrecipient records with your internal CRM data.
MCP usage
Use this actor through Apify MCP in Claude Code or Claude Desktop with:
https://mcp.apify.com/?tools=automation-lab/usaspending-subawards-scraper
Add it in Claude Code with:
$claude mcp add apify-usaspending-subawards https://mcp.apify.com/?tools=automation-lab/usaspending-subawards-scraper
Claude Desktop JSON configuration example:
{"mcpServers": {"apify-usaspending-subawards": {"url": "https://mcp.apify.com/?tools=automation-lab/usaspending-subawards-scraper"}}}
Example prompts:
- "Run the USAspending subawards scraper for 2024 grants and summarize the largest subrecipients."
- "Find broadband subawards since 2023 and group them by prime recipient."
- "Export DHS subawards and identify subrecipient UEIs I should research next."
Data freshness
The actor reads live USAspending API responses at run time.
Freshness therefore depends on USAspending's public data updates and reporting cadence.
For recurring monitoring, schedule the actor and compare datasets across runs.
Legality and ethics
USAspending is a public United States government spending transparency source.
This actor uses the public API and does not require login, private credentials, or bypassing access controls.
You are responsible for using exported data in compliance with applicable laws, procurement rules, and your organization's policies.
Limitations
The actor returns fields available from the USAspending subaward search API.
It does not enrich organizations from third-party sources.
It does not guarantee that every public spending record has a complete UEI, description, or agency value.
Advanced rawFilters depend on USAspending API compatibility.
Related scrapers
Explore related automation-lab actors for government and public-record workflows:
- https://apify.com/automation-lab/usaspending-loans-scraper
- https://apify.com/automation-lab/fpds-contract-awards-scraper
- https://apify.com/automation-lab/nsf-awards-scraper
FAQ
Can I scrape all subawards for a year?
Yes. Set a full-year date range and increase maxItems. For very large exports, run in batches by agency, keyword, amount, or month.
Can I filter to one company?
Yes. Use recipientSearchText with a company name or UEI.
Can I use this for subcontractor discovery?
Yes. The sub-awardee and prime-recipient fields help identify downstream organizations connected to prime awards.
Can I schedule it?
Yes. Use Apify schedules to run the same input daily, weekly, or monthly.
Does it use a browser?
No. It is an HTTP/API actor that calls the USAspending JSON API directly.
Does it require a proxy?
No proxy is required for the public API workflow.
What if USAspending changes field names?
The actor exposes optional fields and rawFilters for advanced users, and the implementation can be updated if USAspending changes defaults.
Changelog
Initial version extracts sub-award rows from USAspending with date, amount, recipient, prime award, agency, and audit metadata.