Federal Contracts Spending Scraper - USAspending.gov avatar

Federal Contracts Spending Scraper - USAspending.gov

Pricing

from $17.00 / 1,000 award records

Go to Apify Store
Federal Contracts Spending Scraper - USAspending.gov

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

RecordsData

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Share

RecordsData

๐Ÿ›๏ธ Federal Contracts Spending Scraper: USAspending.gov Awards, Grants, Loans & Recipient Profiles

Federal Contracts Spending Scraper pulls U.S. federal awards from USAspending.gov, the government's official spending API. Search by company, keywords, date range, agency, amount, NAICS, PSC code or state, across contracts, IDVs, grants, loans and direct payments. Get 75 columns per award, plus optional transactions, subawards, funding accounts and recipient profiles. Schedule it to receive only new awards. Export CSV, Excel or JSON. No login, no API key.

This Actor searches api.usaspending.gov for federal awards. Name a company, or filter only by agency, dates, amounts, industry codes or place. All data comes from the government's own structured JSON. In a test run for Boeing with an agency filter of NASA, a minimum of $1,000,000 and dates from 2024-01-01, every returned row matched those filters.

๐Ÿ“‹ What does the Federal Contracts Spending Scraper do?

It returns one award row per match with identity, recipient, amounts, agencies, dates, industry and place fields.

  • Six award types (contracts by default, IDVs, grants, direct payments, loans, other assistance), merged by your sort.
  • Monitor mode: onlyNew skips awards you already received, without fetching or charging them.
  • Optional extras: transactions, subawards, federal account funding, recipient profile and spending breakdowns.
  • Safe failures: a misspelled agency or a run with no filter ends SUCCEEDED with a free error row.

๐Ÿ“ˆ How does it compare to other USAspending actors?

Compared on 2026-10-10 from each public Store listing and our code. "Not stated" means the listing is silent.

CapabilityThis Actorthoob/federal-spending-feedscrapesage/usaspending-scrapercopious_atoll/usaspending-contracts
Award typesSix typesFriendly groups plus raw codesSix typesContracts, grants, all
FiltersDates, agency, amount, NAICS, PSC, state, keywordsNo NAICS or PSC inputSame set, no sub-agency input statedDates, minimum amount, keywords
Only-new monitoringYes, onlyNewChanges modeYes, monitorModeNot stated in their listing
Subawards and funding accountsOptional rowsNot stated in their listingSubaward count onlyNot stated in their listing
Recipient profile and breakdownsProfile plus five breakdownsNot stated in their listingProfile and lead scoreNot stated in their listing
Price per 1,000 awards$20 Free, $17 Gold$3.00From $1.10From $1.00 plus start fee

We are the most expensive per award row, roughly 6 to 20 times the others at the Free tier. The extra buys 75 columns, parent company and UEI fields, transaction, subaward and funding rows, five spending breakdowns and sub-agency filters in one run. Rivals offer things we lack: thoob detects changed amounts, scrapesage adds lead scores and executive pay with award detail. If you only need a flat award list, a cheaper actor fits.

๐Ÿงพ Which output fields does each award row have?

There are 78 declared dataset keys: 75 data columns plus error, errorType and hint. Columns that do not apply to an award type are left out of that row.

GroupFields
IdentityrecordType, awardId, generatedId, awardCategory, usaspendingUrl, awardType
RecipientrecipientName, recipientUei, parentRecipientName, parentRecipientUei, recipientBusinessTypes, city, state, ZIP, country
MoneyawardAmount (loan value for loans), totalObligation, baseAndAllOptions, totalOutlays, subsidyCost, covid and infrastructure amounts
Agencies and datesawarding and funding agency, sub-agency, office, startDate, endDate, dateSigned, lastModifiedDate
Industry and assistancenaicsCode, pscCode, pricingType, setAside, competition, cfdaNumber, cfdaTitle
Extrastransactions, subawards, funding, profile, agencyBreakdown, naicsBreakdown, pscBreakdown, stateBreakdown, spendingByYear

๐Ÿงช What does the output look like?

Real rows from an earlier run with companyName: "Lockheed Martin", trimmed. The current build adds newer columns not shown here.

Award row:

{
"recordType": "award",
"awardId": "DEAC0494AL85000",
"recipientName": "LOCKHEED MARTIN CORP",
"awardAmount": 48063737196.35,
"awardingAgency": "Department of Energy",
"startDate": "1993-10-15",
"awardType": "DEFINITIVE CONTRACT",
"totalObligation": 48063737196.35,
"transactions": [
{ "actionDate": "2026-07-07", "type": "DEFINITIVE CONTRACT", "actionType": "FUNDING ONLY ACTION", "modificationNumber": "666", "federalActionObligation": -26484.97 }
]
}

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", "totalTransactions": 323 },
"agencyBreakdown": [
{ "code": "DOD", "name": "Department of Defense", "amount": 816434870886.75 }
],
"naicsBreakdown": "Not Requested"
}

Fields for extras you did not enable return "Not Requested"; fields with no government data return "N/A" or are left out. Redacted direct payments keep the source name "MULTIPLE RECIPIENTS".

๐Ÿ’ฐ How much does it cost to scrape federal spending data?

Pay per event, live rates read on 2026-10-10. The award-record price drops with your Apify plan.

EventPrice (USD)When it is charged
award-record$0.02 Free, $0.019 Bronze, $0.018 Silver, $0.017 Gold and aboveOne per award row delivered
recipient-profile-record$0.015 Free, down to $0.01275 Gold and aboveOnce per unique recipient
transaction-record, subaward-record, federal-account-record$0.01 flatPer record found (extra)
agency-breakdown-record, naics-breakdown-record, psc-breakdown-record, state-breakdown-record, spending-by-year-record$0.01 flat eachPer breakdown row found, once per recipient

You are not charged for empty results, error rows, failed requests, or extras with no data. The Actor stops cleanly when your maximum charge per run is reached.

Worked examples:

  • 1,000 awards, no extras, Free rate: 1,000 x $0.02 = $20.00. At Gold and above: 1,000 x $0.017 = $17.00.
  • 1,000 awards plus 5 transactions found per award, Free rate: $20.00 + 5,000 x $0.01 = $70.00.
  • Add one recipient profile: one more $0.015 event, plus $0.01 per breakdown row.
  • A weekly onlyNew run that finds 12 new awards: 12 x $0.02 = $0.24. Nothing new costs nothing.

๐Ÿš€ How to scrape USAspending.gov awards in 3 steps

  1. Set at least one search: a company name, keywords, an agency, a date range or any other filter.
  2. Choose award types, set Max Items, and switch on the extras you need.
  3. Click Start, then download CSV, Excel, JSON or XML, or read it through the API.

โš™๏ธ Input

All filters are optional but at least one is needed, and they combine with AND.

FieldDefaultDescription
companyNamenoneCompany or recipient name, UEI or DUNS.
keywordsemptyWords searched in award text; an award matches any word.
awardTypescontractsAny of contracts, idvs, grants, direct_payments, loans, other.
dateFrom, dateTo, dateTypenone, date_signedYYYY-MM-DD or ytd, 30d, last 90 days; type is date_signed, action_date or last_modified_date. Earliest 2007-10-01.
awardingAgencynoneName, abbreviation or code (NASA, 097). Validated.
awardingSubAgency, fundingAgencynoneSub-agency or bureau, and the agency that paid.
minAmount, maxAmountnoneAmount range in US dollars.
naicsCodes, pscCodesemptyPrefix match. Contracts and IDVs only.
statesemptyPlace of performance, two-letter codes or names.
sortBy, sortOrderamount, descamount, lastModified or startDate.
maxItems10Maximum award rows. Free users are limited to 10.
onlyNew, stateKey, resetSeenfalse, empty, falseMonitor mode: only new awards, monitor name, reset memory.
includeTransactions, includeSubawards, includeFundingfalsePer-award extras; maxTransactions, maxSubawards, maxFundingRecords cap each at 20 by default.
includeRecipientProfile and includeAgencyBreakdown, includeNaicsBreakdown, includePscBreakdown, includeStateBreakdown, includeSpendingByYearfalseRecipient profile and spending breakdowns.

Examples:

{ "companyName": "Lockheed Martin", "maxItems": 10, "includeTransactions": true, "maxTransactions": 5 }
{ "awardingAgency": "NASA", "dateFrom": "last 90 days", "minAmount": 1000000, "naicsCodes": ["3364"], "states": ["TX"], "maxItems": 50 }

๐Ÿ’ผ Use cases

Capture teams tracking competitors, subcontractor research, investment research on revenue mix, grant and loan research, due diligence on UEI and parents, and journalism.

๐Ÿ”Œ 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 and Google Sheets.

๐Ÿค– Federal Contracts Spending Scraper MCP server for AI agents

AI agents can call this Actor through the Apify MCP server. Add this to your MCP client configuration (Claude Desktop, Cursor, VS Code):

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=RecordsData/federal-contracts-spending-scraper"
}
}
}

Example agent prompt:

Use the Federal Contracts Spending Scraper to get the 10 largest federal contract awards for Lockheed Martin, include the agency breakdown, and tell me which awarding agency spends the most.

Tool description: choose this Actor when an agent needs U.S. federal contract awards, subcontractors or spending breakdowns for a named company from 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, needs no login, and is not affiliated with or endorsed by the U.S. government. You are responsible for how you use the data.

โ“ FAQ

What happens if I send an empty or invalid input to the Federal Contracts Spending Scraper?

companyName is optional, so an empty input is judged by its filters. A run with no company, keywords or filter ends as SUCCEEDED with one free error row asking for at least one. Invalid dates, amounts, codes, states and agencies also return a free error row (errorType: invalid-input).

Do I need an API key to scrape USAspending.gov?

No. The Federal Contracts Spending Scraper reads the public USAspending.gov API, which needs no registration, login or key. You only need an Apify account to run the actor. The data is the government's own structured JSON, so there is no HTML parsing and no proxy setup.

Why did the Federal Contracts Spending Scraper return 0 results?

Nothing matched your filters. Filters combine with AND, so loosen the date range, amount, code or state, or try the exact registered name, for example "Lockheed Martin Corporation". NAICS and PSC filters skip grants, loans and payments. An empty run finishes with a status message and charges nothing.

Why did my USAspending.gov scraper run fail?

It fails when USAspending.gov does not return a valid response, for example during an outage or a temporary block. Nothing is charged for a failed run, and you can retry later. A search that simply matches nothing is different: it succeeds with an empty dataset and a status message.

Why do some fields say "N/A" or not appear in the USAspending output?

The government has no value for that field, for example a contract with no reported subawards, so the actor returns "N/A" or omits empty text and amount fields. Extras you did not enable return "Not Requested", so you can always tell why a value is missing.

Why do recipient breakdowns appear in a separate row?

Spending by agency, NAICS, PSC, state and fiscal year describes the company as a whole, not one contract. It is returned in one recipient-profile row per unique recipient and billed once per recipient, instead of being repeated on every award row.

Does the Federal Contracts Spending Scraper cover grants and loans?

Yes. Set awardTypes to any mix of contracts, IDVs, grants, direct payments, loans and other assistance. The default is contracts only. The site accepts one award-type group per request, so each type is searched separately and merged by your sort. Grants and loans carry cfdaNumber and cfdaTitle instead of NAICS and PSC.

Why are there several recipient names for one company in USAspending.gov results?

USAspending.gov lists legal entities separately, for example "LOCKHEED MARTIN CORP" and "LOCKHEED MARTIN CORPORATION". A company search can return awards for several of them, and each unique recipient gets its own profile row when you switch on a recipient-level extra.

How fresh is the data from the Federal Contracts Spending Scraper?

It is as fresh as USAspending.gov itself, because it queries the live API at run time. Most contract actions appear on the site within days of being reported by the awarding agency. To follow a competitor's new contract activity, schedule a weekly run on Apify.

Is there a free-plan limit in the Federal Contracts Spending Scraper?

Yes. Free Apify users get up to 10 award rows per run, even if maxItems is set higher. Paid plans can raise maxItems to pull more USAspending.gov awards in your chosen order, and they also get lower per-event prices than the Free rates shown in the pricing table.

How do I filter federal awards by date and agency?

Set dateFrom and dateTo as YYYY-MM-DD or a relative value such as 30d or last 90 days, and pick the date type with dateType. Add awardingAgency as a name, abbreviation or code, plus awardingSubAgency or fundingAgency if needed. Dates before 2007-10-01 are clamped with a warning.

How do I filter by NAICS, PSC code, state or amount?

Use naicsCodes (2 to 6 digits) and pscCodes (1 to 6 characters); a shorter code matches every code that starts with it, so 3364 covers aerospace manufacturing. states limits the place of performance, and minAmount and maxAmount set the dollar range. NAICS and PSC exist only on contracts and IDVs.

How do I get only new awards on a schedule?

Turn on onlyNew and schedule the actor. It remembers delivered award IDs in a named key-value store in your account, one memory per search, and skips them without fetching or charging. stateKey separates teams with identical filters, and resetSeen clears the memory for one run.

Can I search by keyword instead of a company?

Yes. Put words in keywords and an award matches when it contains any of them. You can combine keywords with a company, agency, date range or any other filter, or leave companyName empty. With no company or keyword, set another filter, otherwise the run returns the free error row.

What happens if I misspell an agency name?

The agency is checked against the USAspending.gov reference list before searching. A misspelling stops the run, lists the closest agency names in a free error row, and charges nothing, instead of silently returning zero rows. Accepted forms are the full name, an abbreviation such as NASA, or the agency code.

How far back does the USAspending.gov data go?

Award search covers awards from 2007-10-01 onward. An earlier dateFrom is clamped to that date with a logged warning. Newer awards appear within days of agency reporting. Older history exists only in the site's archive downloads, which this Actor does not read.

๐Ÿ†˜ Support

Questions or a missing field? Open an issue on the Actor page or write to contact.punkrecordsdata@gmail.com.

Last updated: 2026-10-11