USAspending New Contract Awards Scraper avatar

USAspending New Contract Awards Scraper

Pricing

$2.00 / 1,000 result rows

Go to Apify Store
USAspending New Contract Awards Scraper

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

US Tech Automations

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

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:

FieldWhat it holds
award_unique_keyThe government's own unique key for the award
award_idThe contract number as printed on the award
award_typeDefinitive contract, purchase order, delivery order or BPA call
action_dateDate of the award's first transaction, as YYYY-MM-DD
recipient_nameThe company that won the contract
recipient_stateTwo-letter state code of the company
recipient_countryCountry code of the company
awarding_agencyThe department that awarded it
awarding_sub_agencyThe office inside that department
award_amount_usdThe award amount in US dollars, as a number
naics_code, naics_descriptionIndustry code and its wording
psc_code, psc_descriptionProduct or service code and its wording
place_of_performance_stateTwo-letter state code where the work happens
period_of_performance_startStart date of the work
period_of_performance_endCurrent end date of the work
award_descriptionThe government's own description of what was bought
source_urlLink to that one award's public page
api_urlThe public API the row came from
attributionThe credit that has to travel with the row
fetched_atUTC 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

  1. Set Weeks back from today to how far back to look, 1 to 8. One week means the last seven days.
  2. 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.
  3. Optionally type part of an agency name into Awarding agency contains, such as navy, veterans or coast 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.
  4. Optionally set Minimum award amount in whole dollars to skip small purchase orders.
  5. 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.
  6. Start the run.
  7. 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_INPUT and 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_at records 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.
  • maxItems cuts 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_at and 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.