Federal Contracts Spending Scraper - USAspending.gov
Pricing
from $17.00 / 1,000 award records
Federal Contracts Spending Scraper - USAspending.gov
Scrape USAspending.gov federal contracts by company name: award amounts, agencies, dates, transactions, subawards, funding accounts, recipient profiles and spending by agency, NAICS, PSC, state and fiscal year. Export CSV, Excel, JSON. No login or API key. 10 record types.
Pricing
from $17.00 / 1,000 award records
Rating
0.0
(0)
Developer
RecordsData
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 hours ago
Last modified
Categories
Share
ποΈ Federal Contracts Spending Scraper: USAspending.gov Awards, Subawards & Recipient Profiles
Federal Contracts Spending Scraper pulls U.S. federal contract awards for any company from USAspending.gov, the government's official spending API. Enter a company name and get award amounts, agencies and dates, plus optional transaction history, subcontractors, funding accounts, the recipient's registration profile and its spending by agency, NAICS, PSC, state and fiscal year. Export CSV, Excel or JSON. No login, no API key.
This Actor searches api.usaspending.gov for the federal contracts held by a company (definitive contracts, purchase orders, delivery orders and BPA calls), largest first. In a test run for "Lockheed Martin", the first matches were multi-billion-dollar awards from the Department of Energy and the Department of Defense, and the recipient's agency breakdown alone returned 21 awarding agencies. All data comes straight from the government's own structured JSON, not from scraping rendered pages.
π What does the Federal Contracts Spending Scraper do?
Give it a company name and it returns one award row per matching contract: award ID, recipient, amount, awarding agency and sub-agency, start and end dates, description, award type, total obligation, funding agency and subaward totals. You choose the extras:
- Transaction history: every modification on the contract, with date, action type, modification number and obligation.
- Subawards: the subcontractors paid out of the award, with name, amount and date.
- Federal account funding: the federal accounts and agencies funding the award, with object class.
- Recipient profile: UEI, DUNS, business types, location, total federal transaction amount and count, parent company.
- Spending breakdowns for the recipient: by awarding agency, NAICS industry, PSC product/service code, state, and by fiscal year.
Recipient-level facts are computed once per unique recipient, not once per contract.
π¦ What data can I get from USAspending.gov?
| Record | Key fields | Billed as |
|---|---|---|
Award (recordType: award) | awardId, recipientName, awardAmount, awardingAgency, startDate, endDate, description, totalObligation | award-record |
| Transactions (nested in the award row) | actionDate, type, actionType, modificationNumber, federalActionObligation | transaction-record |
| Subawards (nested) | subawardNumber, recipientName, amount, actionDate | subaward-record |
| Funding (nested) | federalAccount, accountTitle, objectClassName, transactionObligatedAmount | federal-account-record |
Recipient (recordType: recipient-profile) | profile (uei, duns, businessTypes, location), plus the breakdown arrays you enable | profile and breakdown events |
π§ͺ What does the output look like?
Real rows from a run with companyName: "Lockheed Martin" (transactions and funding trimmed to the first records).
Award row:
{"recordType": "award","awardId": "DEAC0494AL85000","generatedId": "CONT_AWD_DEAC0494AL85000_8900_-NONE-_-NONE-","recipientName": "LOCKHEED MARTIN CORP","recipientId": "6e7a895c-aa57-8600-2a8a-4e237f6213f6-C","awardAmount": 48063737196.35,"awardingAgency": "Department of Energy","startDate": "1993-10-15","endDate": "2017-04-30","awardType": "DEFINITIVE CONTRACT","totalObligation": 48063737196.35,"baseAndAllOptions": 48204417151.89,"fundingAgency": "Department of Energy","transactions": [{ "actionDate": "2026-07-07", "type": "DEFINITIVE CONTRACT", "actionType": "FUNDING ONLY ACTION", "modificationNumber": "666", "federalActionObligation": -26484.97 }],"funding": [{ "federalAccount": "089-0337", "objectClassName": "Operation and maintenance of facilities", "transactionObligatedAmount": -4310.9 }]}
Recipient profile row (one per unique recipient, only when a recipient-level extra is on):
{"recordType": "recipient-profile","recipientName": "LOCKHEED MARTIN CORP","profile": { "uei": "FYHNA5WC8XD7", "duns": "926784042", "totalTransactions": 323, "parentName": "LOCKHEED MARTIN CORP" },"agencyBreakdown": [{ "code": "DOD", "name": "Department of Defense", "amount": 816434870886.75 },{ "code": "NASA", "name": "National Aeronautics and Space Administration", "amount": 25281361580.63 }],"naicsBreakdown": "Not Requested"}
Fields for extras you did not enable return "Not Requested". When the government has no data for a field (for example a contract with no reported subawards), the field returns "N/A" (or is left out when it is a plain text or amount field such as description), so you can always tell why a value is missing.
π° How much does it cost to scrape federal contract data?
Pay per event. Prices below are the live Free-plan rates; paid Apify plans get lower per-event prices.
| Event | Price (USD) | When it is charged |
|---|---|---|
award-record | $0.02 | One per award row delivered |
transaction-record | $0.01 | Per transaction found (extra) |
subaward-record | $0.01 | Per subaward found (extra) |
federal-account-record | $0.01 | Per funding record found (extra) |
recipient-profile-record | $0.015 | Once per unique recipient |
agency-breakdown-record, naics-breakdown-record, psc-breakdown-record, state-breakdown-record, spending-by-year-record | $0.01 each | Per breakdown row found, once per recipient |
You are not charged for empty results, failed requests, or extras where the government has no data. If a search matches nothing, the run succeeds with a clear status message and charges nothing. If USAspending.gov is unreachable, the run fails and charges nothing. The Actor stops cleanly when your maximum charge per run is reached.
Example: 10 awards with no extras cost 10 x $0.02 = $0.20 on the Free plan.
π How to scrape USAspending.gov contracts in 3 steps
- Open the Actor and type a company name (for example
Lockheed Martin). - Set Max Items and switch on the extras you need (transactions, subawards, funding, recipient profile, breakdowns).
- Click Start, then download the dataset as CSV, Excel, JSON or XML, or read it through the API.
βοΈ Input
| Field | Default | Description |
|---|---|---|
companyName | Lockheed Martin | Company or organization to search. Required. |
maxItems | 10 | Maximum award rows, largest first. Free users are limited to 10. |
includeTransactions, maxTransactions | false, 20 | Transaction history per award. |
includeSubawards, maxSubawards | false, 20 | Subcontractors per award. |
includeFunding, maxFundingRecords | false, 20 | Federal account funding per award. |
includeRecipientProfile | false | Registration profile per recipient. |
includeAgencyBreakdown, includeNaicsBreakdown, includePscBreakdown, includeStateBreakdown, includeSpendingByYear | false | Recipient spending breakdowns. |
{ "companyName": "Lockheed Martin", "maxItems": 10, "includeTransactions": true, "maxTransactions": 5 }
π How does it compare to other USAspending actors?
Event prices of other USAspending actors on the Apify Store, read from the public store listing on 2026-10-03:
| Actor | Price per result | Notes |
|---|---|---|
| parseforge/usaspending-scraper | $0.012 + $0.16 per run start | Flat award list |
| haketa/usaspending-scraper | $0.004 | Flat award list |
| ryanclinton/usaspending-search | $0.002 | Flat award list |
| This Actor | $0.02 per award | Awards plus 9 optional extra record types |
We are the most expensive per award row. What the extra buys: transaction history, subcontractors, funding accounts, recipient profiles and five spending breakdowns in the same run, so you do not stitch several sources together. If you only need a flat list of awards, a cheaper actor is the better fit.
πΌ Use cases
- Government contracting and capture teams: track a competitor's awards and modifications, or screen a teaming partner's federal footprint.
- Supply chain research: map the subcontractors behind a prime contract.
- Investment research: measure a contractor's revenue mix by agency and industry.
- Due diligence: confirm UEI, DUNS, business types and total federal transaction history.
- Journalism and policy research: analyze federal spending with the government's own numbers.
π How do I use it through the API and integrations?
curl -X POST "https://api.apify.com/v2/acts/RecordsData~federal-contracts-spending-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"companyName":"Lockheed Martin","maxItems":10}'
The same Actor works with the Apify clients for JavaScript and Python, Zapier, Make, n8n, Google Sheets, and the Apify MCP server, so an AI agent can call it by name. Schedule a weekly run to watch a competitor's new contract activity.
βοΈ Is it legal to scrape USAspending.gov?
USAspending.gov is the U.S. government's public spending transparency site, and its API is open and documented for public use. This Actor reads only that public data and needs no login. This is an independent tool, not affiliated with or endorsed by the U.S. government. You are responsible for how you use the data.
β FAQ
Do I need an API key? No. USAspending.gov's API is public, with no registration.
Why did I get 0 results? The company name did not match any recipient with contract awards. Try the exact registered name (for example "Lockheed Martin Corporation") or a shorter form. The run finishes with a status message and charges nothing.
Why did the run fail? USAspending.gov did not return a valid response (outage or temporary block). Nothing was charged. Retry later. A missing companyName also fails the run before any search.
Why do some fields say "N/A" or not appear? The government has no value for it, for example no reported subawards on that contract. Empty description and subaward amount fields are omitted rather than filled.
Why do recipient breakdowns appear in a separate row? Spending by agency, NAICS and so on describes the company, not one contract, so it is returned and billed once per recipient.
Does it cover grants and loans? No. It covers the four federal contract award types (A, B, C, D). Grants and loans use a different award-type family.
Why are there several recipient names for one company? USAspending lists legal entities separately (for example "LOCKHEED MARTIN CORP" and "LOCKHEED MARTIN CORPORATION"). Each gets its own profile row.
How fresh is the data? As fresh as USAspending.gov. Most contract actions appear within days of being reported.
Is there a free-plan limit? Free users get up to 10 award rows per run.
π Want more government and regulatory data?
π Support
Questions or a missing field? Open an issue on the Actor page or write to contact.punkrecordsdata@gmail.com.
Last updated: 2026-10-03