USAspending New Contract Awards Scraper
Pricing
$2.00 / 1,000 result rows
USAspending New Contract Awards Scraper
Pick a week and get every federal prime contract newly awarded in it: vendor, amount, awarding agency, NAICS and PSC. One row per award, read live from the public USAspending API.
Pricing
$2.00 / 1,000 result rows
Rating
0.0
(0)
Developer
US Tech Automations
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
This Week's New Federal Contract Awards
Govcon business-development reps get this week's newly awarded federal prime contracts, with modifications to old contracts already filtered out.
Introduction
Pick a week. Get back one row for every federal prime contract that was newly awarded in it, with the company that won it, the dollar amount, the agency that awarded it, the industry code, the product or service code and a link to that award's own public record.
The word newly is the whole point. Federal award data is mostly modifications to contracts signed years ago. This Actor asks the government's award search for awards whose first transaction lands inside the chosen period, so what comes back is contracts that did not exist last week. Grants, loans, direct payments and indefinite-delivery vehicles are left out. Four prime contract types are included: definitive contracts, purchase orders, delivery orders and calls against a blanket purchase agreement.
Each run reads api.usaspending.gov live, at the moment the run starts. Nothing is served from a stored copy, and no row is ever written that did not come back from that API in that run.
Every row carries these fields:
| Field | What it holds |
|---|---|
award_unique_key | The government's own unique key for the award |
award_id | The contract number as printed on the award |
award_type | Definitive contract, purchase order, delivery order or BPA call |
action_date | Date of the award's first transaction, as YYYY-MM-DD |
recipient_name | The company that won the contract |
recipient_state | Two-letter state code of the company |
recipient_country | Country code of the company |
awarding_agency | The department that awarded it |
awarding_sub_agency | The office inside that department |
award_amount_usd | The award amount in US dollars, as a number |
naics_code, naics_description | Industry code and its wording |
psc_code, psc_description | Product or service code and its wording |
place_of_performance_state | Two-letter state code where the work happens |
period_of_performance_start | Start date of the work |
period_of_performance_end | Current end date of the work |
award_description | The government's own description of what was bought |
source_url | Link to that one award's public page |
api_url | The public API the row came from |
attribution | The credit that has to travel with the row |
fetched_at | UTC time the API was read, as an ISO timestamp |
A field the government does not publish on a record arrives as null. It is
never guessed and never filled in from anywhere else.
Tutorial
- Set Weeks back from today to how far back to look, 1 to 8. One week means the last seven days.
- Or, instead, fill in Award date from and Award date to as
YYYY-MM-DD. Both days are included. Filling in both of those makes Weeks back irrelevant. - Optionally type part of an agency name into Awarding agency contains,
such as
navy,veteransorcoast guard. It is matched against the government's own list of awarding agencies, and every agency whose name contains that text is included. Leave it empty for all agencies. - Optionally set Minimum award amount in whole dollars to skip small purchase orders.
- Set Maximum rows. This is a hard ceiling on rows returned, so it is also a hard ceiling on what the run can cost. It starts at 100.
- Start the run.
- Open New contract awards to browse the rows, or Download as CSV to take them away. Run status and coverage holds the row count, the dates used, the agencies matched, how many awards the government says exist for those filters, and any warnings.
Pricing
$0.002 per row, charged from the first row. There is no start fee.
Billing is per result. One row pushed is one charged result. A run that returns 100 rows costs $0.20. A run that returns 1,000 rows costs $2.00. A run that returns 12 rows costs $0.024.
Three kinds of run push no rows, and a run that pushes no rows costs nothing:
- A run where the government's API cannot be read. Status is
UNKNOWN, the exact error is reported, and no rows are pushed. - A run rejected for bad input, including an agency name that matches nothing.
Status is
INVALID_INPUTand no rows are pushed. - A run where no contract matching those filters was awarded in that period. Zero rows pushed is zero charged.
Because nothing is charged except a pushed row, Maximum rows is a real spending cap. Set it to 100 and a run cannot cost more than $0.20.
Apify handles billing and account charges. Apify platform usage is separate from the per-row price.
Input and output examples
Input, which is also example.json:
{"weeksBack": 1,"awardingAgency": "coast guard","minAmount": 100000,"maxItems": 100}
Run live on 15 September 2026, that input returned 83 rows, and the government's
own count endpoint said 83 awards matched. One of those rows, trimmed for
length. The full three-row sample is in sample-output.json:
{"award_unique_key": "CONT_AWD_70Z05026F43000039_7008_70Z04723DPCNI0004_7008","award_id": "70Z05026F43000039","award_type": "DELIVERY ORDER","action_date": "2026-09-11","recipient_name": "TUTOR PERINI CORPORATION","recipient_state": "CA","recipient_country": "USA","awarding_agency": "Department of Homeland Security","awarding_sub_agency": "U.S. Coast Guard","award_amount_usd": 315000000.0,"naics_code": "236220","naics_description": "COMMERCIAL AND INSTITUTIONAL BUILDING CONSTRUCTION","psc_code": "Y1JZ","psc_description": "CONSTRUCTION OF MISCELLANEOUS BUILDINGS","place_of_performance_state": "AK","period_of_performance_start": "2026-09-11","period_of_performance_end": "2030-09-30","award_description": "THE PURPOSE OF THIS DESIGN BUILD TO BUDGET AWARD IS FOR THE DESIGN AND CONSTRUCTION OF A FUEL PIER AND MAJOR CUTTER MOORING AT USCG BASE KODIAK, AK.","source_url": "https://www.usaspending.gov/award/CONT_AWD_70Z05026F43000039_7008_70Z04723DPCNI0004_7008","fetched_at": "2026-09-15T02:55:00+00:00"}
Opening that source_url returns that one award's page on the government's own
site. Every row works the same way.
Limitations
Read this part before paying for anything.
- The government reports late, and that lag is the government's. On
15 September 2026 the most recent award date anywhere in the file was
12 September 2026. Awards signed in the last few days keep arriving for weeks
afterwards. Re-running an old week later will return awards that were not
there the first time.
fetched_atrecords when the API was read, not when the government last updated it. - Prime contracts only. Not grants, not loans, not direct payments, not indefinite-delivery vehicles, and not subcontracts. A subcontractor hunting work will see the prime that won, and nothing below it.
- No set-aside status. The government's award search returns that field empty on every record, including when the request filters on set-aside codes. An always-empty column is worse than no column, so there is none.
- No contact details, ever. No phone number, no email address, no website, no street address. The recipient's state and country are the only location details about the company that are returned. This is an award feed, not a contact list.
- No individuals. A row whose recipient name reads as a person trading under their own name is dropped rather than returned, and the run status says how many were dropped. The test errs towards dropping, so a handful of small firms named after their founder go too.
maxItemscuts the smallest awards. Rows come back largest amount first. Hitting the ceiling means the smaller awards in that period were not returned, and the run status says so.- Field completeness, measured on 300 consecutive live rows on 15 September 2026. Company name, award ID, dates, amount, NAICS, PSC and description were present on 100% of rows. Awarding agency and sub agency were present on 99.0%. Place of performance state was present on 98.7%.
- The amount is the award amount as the government reports it, which changes when the contract is modified later. It is not a forecast and it is not what has actually been paid out.
- These are the government's records and the government revises them. An
award can be corrected, cancelled or re-stated after it appears. This reports
what the API held at
fetched_atand makes no claim that the government's own table is complete or correct. - This is not a licence to the underlying data. The charge is for the collection, the filtering and the schema. USAspending's terms still apply to what is done with the rows, and the API stays open to anyone directly.
Recommendations
Start with one week, one agency and the default 100-row ceiling. That run costs at most $0.20, and the rows show exactly what the feed holds before more is spent.
Set Minimum award amount rather than raising Maximum rows. Most federal contract actions are small purchase orders, so a floor of $100,000 or $1,000,000 cuts the row count hard and keeps the contracts worth reading. In the seven days to 15 September 2026 the government counted 13,538 newly awarded prime contracts of every size.
For a weekly watch, schedule one run per week with Weeks back set to 1, and re-run the previous week once a month to pick up awards that arrived late.
Filter on naics_code or psc_code after the run rather than on the wording.
The codes are stable; the wording is the government's and it varies.
Keep the attribution field with the rows. Dun & Bradstreet requires a written
credit to travel with the company name and state, and that field carries the
exact wording.
FAQ
What counts as a new award? An award whose first transaction falls inside the chosen period. Modifications to older contracts are excluded, which is what makes this different from a plain export of federal contract actions.
Does this cover SAM.gov opportunities? No. These are contracts already awarded, not open solicitations.
Can the data be had without paying? Yes. api.usaspending.gov is public and needs no key. Going direct means writing the search request, resolving agency names to exact matches, paging, dropping the address fields and personal names, and building a schema. That work is what the per-row price covers.
Why did a run return no rows? Either no matching contract was awarded in that period, or the agency text matched no agency. The run status says which, and either way nothing is charged.
What happens if the API is down?
The run reports status UNKNOWN with the exact error, pushes no rows and
charges nothing. Nothing is invented and nothing stale is substituted.
Can a row be checked?
Yes. Open its source_url. It is that award's page on usaspending.gov.
Is there support? Use this Actor's Issues tab with the run ID and an example row. There is no promise of a reply from a person and no service-level agreement.
Source credit
USAspending.gov, U.S. Department of the Treasury, Bureau of the Fiscal Service,
award search API. Recipient business name and state are D&B Open Data, licensed
by Dun & Bradstreet, Inc. (D&B). That credit is carried on every row in the
attribution field. D&B Open Data is not supplied here as a substitute for a
D&B product: no DUNS number, no street address, no city and no postal code is
requested or returned.
Refunds and support
Refunds: if a run returns zero rows for a valid input, email operations@ustechautomations.com within 7 days and we refund that run. Support: same address, replies within 2 business days.