USAspending [$0.50 π°] Federal Awards & Contracts
Pricing
$0.50 / 1,000 results
USAspending [$0.50 π°] Federal Awards & Contracts
$0.50 per 1,000 results β Search U.S. federal awards and contracts with recipient, agency, keyword, NAICS, PSC, location, date, amount and award-type filters.
Pricing
$0.50 / 1,000 results
Rating
0.0
(0)
Developer
Debashish Biswas
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
USAspending Federal Awards
Extract U.S. federal contract and award data directly from the official USAspending.gov API using a lightweight, API-based Apify Actor.
This Actor is designed for users who need clean federal award data without browser automation, Google Places, AI enrichment, or proxy infrastructure.
What this Actor does
- Searches USAspending federal awards and subawards.
- Searches by recipient/company name, UEI, or DUNS.
- Filters by award type, keywords, dates, agencies, NAICS, PSC, country, recipient type, and award amount.
- Automatically paginates through USAspending API results.
- Supports up to 1,000,000 results per run, subject to source availability and run limits.
- Uses a maximum of 100 records per USAspending API request and automatically continues to the next page.
- Produces normalized, analysis-friendly JSON dataset items.
- Preserves the complete original USAspending record in the
rawfield. - Generates a direct USAspending award URL when an Award ID is available.
Why use this Actor?
Low-cost architecture
The Actor uses the USAspending API directly:
Apify ActorβUSAspending.gov APIβJSON responseβNormalizationβApify Dataset
It does not require:
- Selenium or Chrome
- residential proxies
- Google Places API
- OpenAI/LLM calls
- paid data enrichment services
This keeps the architecture simple and helps keep execution costs low.
Data fields
Each dataset item can contain:
Award
award_idusaspending_urlaward_amounttotal_outlaysstart_dateend_dateaward_typecontract_award_typedescription
Recipient
recipient_namerecipient_ueirecipient_dunsrecipient_addressrecipient_cityrecipient_staterecipient_state_namerecipient_ziprecipient_zip4recipient_countryrecipient_country_namerecipient_countyrecipient_county_name
Agencies
awarding_agencyawarding_sub_agencyfunding_agencyfunding_sub_agency
Classification
naicsnaics_descriptionpscpsc_description
Place of performance
performance_addressperformance_cityperformance_stateperformance_state_nameperformance_zipperformance_countryperformance_country_name
Source
sourceraw
The raw field contains the original USAspending record so users can access additional source fields that are not separately normalized by the Actor.
Award type codes
USAspending requires award_type_codes, and the API requires codes from one award-type group per request.
Contracts
ABCD
Grants
02030405F001F002
Loans
0708F003F004
Indefinite Delivery Vehicles (IDVs)
IDV_AIDV_BIDV_B_AIDV_B_BIDV_B_CIDV_CIDV_DIDV_E
Other financial assistance
0610
If no award type codes are supplied, this Actor defaults to contracts (A, B, C, D).
Do not mix groups in one request, for example:
{"awardTypeCodes": ["A", "02"]}
This will be rejected by the Actor because A is a contract code while 02 is a grant code.
Input example
A simple company search:
{"recipient": "Microsoft","maxItems": 1000,"pageSize": 100}
The default award type is contracts.
A contracts-only search can also be explicit:
{"recipient": "Microsoft","awardTypeCodes": ["A", "B", "C", "D"],"maxItems": 1000,"pageSize": 100}
A grants search:
{"recipient": "Microsoft","awardTypeCodes": ["02","03","04","05","F001","F002"],"maxItems": 1000,"pageSize": 100}
Available input options
| Input | Description |
|---|---|
mode | awards or recipients. Recipient mode requires a recipient or UEI/DUNS filter and remains based on the award-search API. |
recipient | Recipient/company name, UEI, or DUNS search. |
recipientIds | Optional UEI/DUNS list; the first value is used. |
keywords | Keyword search terms. |
awardTypeCodes | Award codes from one group. Defaults to contracts. |
spendingLevel | awards or subawards. |
startDate | Start date in YYYY-MM-DD format. |
endDate | End date in YYYY-MM-DD format. |
recipientScope | all, domestic, or foreign. |
placeOfPerformanceScope | all, domestic, or foreign. |
recipientCountry | Recipient country code. |
performanceCountry | Place-of-performance country code. |
recipientTypes | USAspending recipient/business type names. |
agencies | Advanced USAspending agency filter objects. |
naicsCodes | NAICS codes to require. |
pscCodes | Product and Service Codes to filter. |
minAwardAmount | Minimum award amount in USD. |
maxAwardAmount | Maximum award amount in USD. |
maxItems | Maximum number of output records; maximum configured value is 1,000,000. |
pageSize | USAspending API page size; maximum is 100. |
fields | Optional advanced USAspending source field list. |
Pagination
USAspending currently limits the request page size used by this Actor to 100.
For example:
maxItems = 1,000pageSize = 100Page 1 β 100Page 2 β 100Page 3 β 100...Page 10 β 100
The Actor automatically continues until it reaches the requested maximum or the source has no more matching records.
Output example
A normalized result looks like:
{"award_id": "HT940216C0001","usaspending_url": "https://www.usaspending.gov/award/HT940216C0001","recipient_name": "HUMANA MILITARY SERVICES LLC","recipient_uei": "ZCGFQJ8YJ9P1","recipient_duns": "088193617","recipient_address": "500 W MAIN STREET","recipient_city": "LOUISVILLE","recipient_state": "KY","recipient_state_name": "Kentucky","recipient_zip": "40202","recipient_country": "USA","recipient_country_name": "UNITED STATES","award_amount": 44683648,"start_date": "2016-01-01","end_date": "2016-12-31","awarding_agency": "DEPT OF DEFENSE","naics": "524114","naics_description": "DIRECT HEALTH AND MEDICAL INSURANCE CARRIERS","psc": "Q201","psc_description": "MEDICAL- MANAGED HEALTHCARE","source": "USAspending.gov"}
The complete source response is also retained under:
raw
Cost and pricing
USAspending source cost
The Actor uses the public USAspending API and does not use a paid Google Places API, LLM API, browser service, or proxy service.
Proposed Actor Store price
The Store price is:
$0.50 per 1,000 results
This is the proposed product price and should be confirmed in the Apify Store monetization configuration before publication.
Apify supports Pay per Event and Pay per Usage monetization models. For this Actor, the intended model is a result-based event using dataset items as the billable result. Apify's monetization configuration allows the developer to set event prices and choose whether platform usage costs are passed to users.
Running locally
For local development, Apify Actors use the Actor input stored in the local Apify storage:
storage/key_value_stores/default/INPUT.json
Example:
{"recipient": "Microsoft","maxItems": 1000,"pageSize": 100}
Then run the Actor using the local Apify development workflow.
The first recommended tests are:
1,000 results10,000 results100,000 results
After successful testing, a larger run can be used to measure actual Apify platform usage.
Measuring operating cost
A local Windows run is useful for validating:
- API connectivity
- pagination
- output quality
- execution time
- error handling
However, local execution does not represent the Apify platform's compute cost.
For real cost measurement, run the Actor on Apify and record:
- Compute Units (CU)
- runtime
- dataset size
- total platform usage
This can then be used to calculate the actual cost per 1,000 results and validate the Store price.
Source
Data is retrieved from the official:
USAspending.gov
API:
https://api.usaspending.gov/
USAspending provides public federal spending information through its API.
Users are responsible for complying with applicable source terms, laws, regulations, and any restrictions applicable to their intended use or redistribution of data.
FAQ
Does this Actor use Google Places?
No.
Does it use AI?
No. The current production Actor does not call an AI/LLM service.
Does it use Selenium?
No.
Does it require an USAspending API key?
The current implementation uses the public USAspending API endpoints and does not require an API key.
Can I retrieve 1 million results?
The Actor is configured to accept up to 1,000,000 requested results, but the actual number returned depends on matching records available from USAspending and the practical limits of an individual Actor run.
Why is the API page size limited to 100?
The Actor respects the USAspending API request limit and automatically paginates instead of requesting all records in a single API call.
Can I request contracts and grants together?
No. USAspending requires award type codes from a single award group per request. Run separate Actor calls for different groups.
Where are the results stored?
Results are pushed to the Actor's default Apify Dataset. The SUMMARY key-value entry also contains a run summary.
Support
If an input combination produces an unexpected result, first verify:
- Award type codes belong to one group.
- Dates use
YYYY-MM-DD. pageSizeis between 1 and 100.- The requested
maxItemsis realistic for the selected filters.
For large runs, start with a small maxItems value to verify the filters before requesting a large dataset.