USAspending Contracts Scraper avatar

USAspending Contracts Scraper

Pricing

from $19.00 / 1,000 results

Go to Apify Store
USAspending Contracts Scraper

USAspending Contracts Scraper

Scrapes federal contract awards from USAspending.gov by recipient name, fiscal year, or award type group. Returns each award as a flat row with agency, amount, recipient, and award ID.

Pricing

from $19.00 / 1,000 results

Rating

0.0

(0)

Developer

Acquisition Automation Co.

Acquisition Automation Co.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Acquisition Automation Co. Search less. Close more.

πŸ› USAspending Contracts Scraper

Export federal awards from USAspending.gov as flat rows: recipient, awarding agency and sub-agency, award ID, award type, obligated amount, outlays to date, period of performance and a link to the award record. No API key, no registration, no login.

USAspending.gov is the government's own record of what it has awarded and to whom. The site is built for browsing one award at a time, and its advanced search hands back a report rather than a table you can join to anything. This Actor runs the search for you, by recipient, fiscal year and award type, and writes one row per award into a dataset you can open in a spreadsheet.

Who uses itWhat they use federal award data for
πŸ’Ό Buyers of government contractorsReading a target's actual award history, agency by agency, before trusting a revenue narrative
πŸ“Š Diligence analystsChecking concentration: how much of the book sits with one agency, one vehicle, one expiring award
🎯 Sourcing and lead generationFinding contractors in a sector by agency and award type, with the recipient name on every row
🀝 Business development teamsWatching who is winning what, and when their periods of performance end

πŸ“‹ What it does

πŸ’‘ Why it matters: a contractor's value is a book of awards with end dates on them. This puts the end dates in a column, so the cliff is visible before the LOI.

  • πŸ”Ž Searches by recipient name, so every award tied to a target company comes back in one run.
  • πŸ“… Filters by fiscal year, or takes the current one when you leave it blank.
  • πŸ—‚ Six award type groups: contracts, grants, loans, direct payments, other financial assistance and IDVs.
  • 🏒 Agency and sub-agency on every row, which is where concentration risk actually shows up.
  • πŸ’΅ Obligated amount and outlays to date, as two separate fields rather than one blended number.
  • ⏳ Start and end dates of the period of performance.
  • πŸ”— A direct link to the award page on USAspending for every row.
  • πŸ’Ύ Exports to CSV, Excel, JSON or XML, from the run page or the API.

πŸ“Š Output

Every award is one flat row with 13 fields. Amounts are in US dollars.

FieldTypeDescription
πŸ†” awardIdstringThe award identifier, for example a PIID such as HT940216C0001
🏒 recipientNamestringRecipient as recorded, in upper case, for example LOCKHEED MARTIN CORP
πŸ› awardingAgencystringAwarding department, for example Department of Defense
🏷 awardingSubAgencystringAwarding sub-agency, for example Defense Health Agency
πŸ“„ awardTypestringAward type, for example DEFINITIVE CONTRACT
πŸ’΅ awardAmountnumberAmount obligated on the award
πŸ’Έ totalOutlaysnumberOutlays recorded to date. Can be 0, and can be negative where a de-obligation has been posted
πŸ“ descriptionstringAward description as filed. Often a procurement code rather than prose, and null where nothing was filed
πŸ“… startDatestringStart of the period of performance, YYYY-MM-DD
⏳ endDatestringEnd of the period of performance, YYYY-MM-DD
πŸ”— urlstringDirect link to the award record on USAspending.gov
πŸ•’ scrapedAtstringISO timestamp of collection
⚠️ errorstringnull on a normal row

Example rows

{
"awardId": "HT940216C0001",
"recipientName": "HUMANA GOVERNMENT BUSINESS INC",
"awardingAgency": "Department of Defense",
"awardingSubAgency": "Defense Health Agency",
"awardType": "DEFINITIVE CONTRACT",
"awardAmount": 51269205263.03,
"totalOutlays": 0,
"description": "IGF::OT::IGF",
"startDate": "2016-08-01",
"endDate": "2025-12-31",
"url": "https://www.usaspending.gov/award/CONT_AWD_HT940216C0001_9700_-NONE-_-NONE-",
"scrapedAt": "2026-09-14T16:37:25.505Z",
"error": null
}
{
"awardId": "DEAC0494AL85000",
"recipientName": "LOCKHEED MARTIN CORP",
"awardingAgency": "Department of Energy",
"awardingSubAgency": "Department of Energy",
"awardType": "DEFINITIVE CONTRACT",
"awardAmount": 48063737196.35,
"totalOutlays": -4166130.71,
"description": null,
"startDate": "1993-10-15",
"endDate": "2017-04-30",
"url": "https://www.usaspending.gov/award/CONT_AWD_DEAC0494AL85000_8900_-NONE-_-NONE-",
"scrapedAt": "2026-09-14T16:37:25.505Z",
"error": null
}

Unfiltered runs come back ordered by size, so the first rows are the largest awards in the government. Set recipientSearch or fiscalYear to get the book you actually want.

✨ Why choose this Actor

What you get
The government's own recordData comes from USAspending.gov, not from a reseller's summary of it.
Obligation and outlay kept apartawardAmount and totalOutlays are two columns, so a large award with nothing spent reads as exactly that.
End dates in a columnPeriod of performance sorts, which is how renewal risk gets quantified.
Six award types, one schemaContracts, grants, loans, direct payments, other assistance and IDVs return the same 13 fields.
You pay per rowNo subscription. A search that returns nothing costs nothing.

πŸš€ How to use it

  1. Create a free Apify account. New accounts start with $5 of credit.
  2. Open the Actor and select Try for free.
  3. Pick an awardTypeGroup, and set recipientSearch or fiscalYear to narrow the search.
  4. Set maxItems to cap the run.
  5. Select Start, then export from the Dataset tab as CSV, Excel, JSON or XML.

A first run:

{
"maxItems": 10,
"awardTypeGroup": "contracts"
}

One company's contract history in a fiscal year:

{
"maxItems": 1000,
"awardTypeGroup": "contracts",
"recipientSearch": "Lockheed Martin",
"fiscalYear": 2024
}

Grants instead of contracts:

{
"maxItems": 500,
"awardTypeGroup": "grants",
"fiscalYear": 2024
}

βš™οΈ Input

FieldRequiredDescription
maxItemsNoHow many awards to collect per run. Default 10
awardTypeGroupNoOne of contracts, grants, loans, direct_payments, other_financial_assistance, idvs. Default contracts
recipientSearchNoRecipient name keyword
fiscalYearNoFiscal year, for example 2024. Blank means the current fiscal year

πŸ’° Pricing

Pay per result. No subscription, and no Apify platform usage on top.

Apify planFreeBronzeSilverGoldPlatinumDiamond
Per award row$0.021$0.0203$0.0197$0.019$0.019$0.019
Rows collectedCost on the Free plan
100$2.10
1,000$21.00
10,000$210.00

Free plan runs return up to 10 rows as a preview. Any paid Apify plan lifts that to 1,000,000 per run.

πŸ”Œ Integrate with any app

The dataset is available through the Apify API as soon as the run finishes. Use run-sync-get-dataset-items for a one-shot call, webhooks to trigger what happens next, or the Make, Zapier, Airbyte and LangChain integrations listed on the Actor page. Schedule a monthly run per target to keep an award history that updates itself.

πŸ€– Use with an AI agent

Give an agent live access to federal award data over the Model Context Protocol:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=acquistion-automation/usaspending-contracts-scraper"

Then ask it in plain language what a company has been awarded and have it read the result back.

❓ Frequently asked questions

Does this cover grants as well as contracts? Yes. awardTypeGroup selects contracts, grants, loans, direct payments, other financial assistance or IDVs, and every group returns the same 13 fields.

Why is totalOutlays zero or negative? Zero means no outlay has been recorded against the award yet, which is common on a newly obligated award. A negative figure reflects a de-obligation posted against earlier spending. Both come from the source.

Why is description a code like IGF::OT::IGF, or empty? That is what the agency filed. Some descriptions are procurement codes, some are prose, and some were never filed, in which case the field is null.

Can I search by agency? Not in the input. Pull a group and filter on awardingAgency and awardingSubAgency in a spreadsheet.

How far back does the data go? USAspending holds awards with start dates going back decades, as the second example row shows. Set fiscalYear to constrain the period.

Is recipientSearch an exact match? No. It matches a keyword in the recipient name. Recipient names are recorded in upper case and vary by legal entity, so check recipientName on the rows you get back before treating a total as complete.

πŸ”— More from Acquisition Automation Co.

About Acquisition Automation Co.

We build automation for people buying businesses. The repetitive part of an acquisition search, checking listings, pulling public records, tracking owners and assets, is work a machine should do, so the buyer's time goes into judging deals instead of collecting them.

We add new Actors regularly. If there is a source you need and do not see here, tell us.

πŸ†˜ Support

Open an issue in the Issues tab of this Actor with your run ID, the input you used, and what you expected to get back.

⚠️ Disclaimer

This Actor is independent and is not affiliated with, endorsed by, or sponsored by USAspending.gov, the Department of the Treasury or any government agency. It collects only publicly available data. You are responsible for using that data in compliance with the source's terms of service and applicable law.