USAspending Federal Awards Scraper
Pricing
from $2.50 / 1,000 results
USAspending Federal Awards Scraper
USAspending scraper & API: search US federal contracts, grants and awards and export recipient, agency, amount, award type, dates, place of performance and NAICS. Government-contract intelligence and B2B lead generation — fast, no login.
Pricing
from $2.50 / 1,000 results
Rating
0.0
(0)
Developer
Haketa
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Security
Limited permissionsShare
USAspending Scraper — Federal Contracts, Grants, UEI & Recipients
Turn 8,000,000+ US federal awards into a ready-to-use database. This USAspending scraper extracts every federal contract, grant, loan, IDV, and direct payment from USAspending.gov — with the recipient company's UEI, full registered address, business categories (small business / 8(a) / WOSB / HUBZone / SDVOSB), NAICS hierarchy, PSC code, set-aside type, executive compensation, place of performance, awarding agency hierarchy, and competition details. No login, no coding, no paid subscription.
Export to JSON, CSV, Excel, or API.
Built for B2G sales teams, GovTech & govcon founders, M&A / private-equity analysts, compliance & due-diligence teams, investigative journalists, policy researchers, defense/health/energy analysts, lobbyists, prime contractors, and set-aside small businesses who want federal-spending intelligence faster and cheaper than GovWin IQ, Bloomberg Government, or Deltek.
🔎 Why scrape USAspending?
US federal spending is the largest single procurement pool on the planet — over $7 trillion in annual outlays, recorded transparently down to the individual award level. Every Department of Defense contract, every NIH grant, every Department of Energy loan sits in the public record on USAspending.gov. But the official site is built for one-off browsing: no bulk export of the rich detail record, awkward pagination, and the most valuable fields (recipient UEI, full address, business-type flags, FFATA executive compensation) are buried one award at a time.
This USAspending scraper does the heavy lifting. It searches the official award endpoints, paginates through the full result set, pulls the deep detail record for every award, and hands you a clean, structured, de-duplicated dataset ready for your CRM, data warehouse, or analysis notebook. If you've ever paid for GovWin IQ, Bloomberg Government, Deltek GovWin, FedScout, or B2Gnow, this scraper delivers a superset of the underlying public data for a fraction of the cost — and exports straight into your pipeline.
Common reasons people scrape USAspending:
- Build federal-contractor lead lists by NAICS, agency, set-aside and location — with UEI and named executives for outbound.
- Track competitor contract wins on a schedule (who signed what, with which agency, for how much).
- Screen M&A / PE acquisition targets by federal-revenue proxy (obligated amount × recent awards).
- Find small-business / 8(a) / WOSB / HUBZone / SDVOSB teaming partners by NAICS and geography.
- Run compliance & vendor due-diligence — audit-grade federal-award history for any company.
- Power federal-spending dashboards, programmatic SEO, and grant intelligence (HHS, NSF, DOE, ED).
✨ What this USAspending scraper does
- ✅ Searches all six award categories — contracts, IDVs (indefinite delivery vehicles / IDIQs / GWACs), grants, loans, direct payments, and other financial assistance.
- ✅ Rich filtering & targeting — keywords, awarding agency, recipient name, NAICS industry codes (built-in list + custom), small-business set-aside programs, recipient state, place-of-performance state, date range, and award-amount range.
- ✅ Automatic pagination — walks the official award-search endpoint 100 records per page and returns large, de-duplicated result sets (hundreds to tens of thousands), capped by your
maxRecords. - ✅ Deep per-award detail — for every award it pulls the full record: recipient UEI + parent UEI, full registered address (street, city, state, ZIP-5/ZIP-4, county, congressional district), business categories, NAICS 3-tier hierarchy, PSC code, set-aside type, competition details, period of performance, obligations, outlays, subaward stats, and FFATA executive compensation.
- ✅ Fast listing-only mode — flip
scrapeAwardDetailsoff for ultra-fast bulk discovery when you only need the summary row. - ✅ Flat + nested output — every record carries both a nested object (full fidelity) and flat convenience fields (
recipientName,recipientUei,agencyName,naicsCode,performanceState, …) for clean table/CSV views. - ✅ Two ready-made dataset views — an Awards table (one row per award) and a Recipients + executives table (one row per award × disclosed executive).
- ✅ Export formats — JSON, CSV, Excel (XLSX), or API.
- ✅ No API key, no login, runs without a proxy. The USAspending API is public and direct-friendly.
🎯 Use cases
- B2G / govcon sales teams — prospect federal contractors by NAICS, agency, and set-aside; export UEI + address + executives straight into Apollo, Salesforce, HubSpot, Clay, or Smartlead.
- GovTech & B2G SaaS founders — build lead lists of agencies and prime contractors with known, obligated budgets.
- M&A & private-equity analysts — screen federal-contractor acquisition targets by revenue proxy and industry.
- Compliance & due-diligence teams — verify vendor relationships, set-aside qualifications, and audit trails.
- Investigative journalists & policy researchers — trace federal spending patterns, agency budgets, and vendor concentration.
- Defense, healthcare & energy analysts / lobbyists — monitor award flow by NAICS, sub-agency, or set-aside program, and track who's winning contracts in their industries.
- Small businesses & set-aside firms (8(a) / WOSB / HUBZone / SDVOSB) — find set-aside opportunities and teaming primes by NAICS and state.
📥 Input
Configure a run from the Apify Console UI or via JSON. Every field is optional — leave the defaults to pull the last full fiscal year of contracts, sorted by award amount. Add filters to laser in on your ICP.
| Field | Type | Description |
|---|---|---|
awardTypeCategories | array | Categories to pull: contracts, idvs, grants, loans, other_financial_assistance, direct_payments. Default ["contracts"]. |
keywords | array | Free-text search across award descriptions (e.g. ["cybersecurity","cloud"]). |
recipientSearchText | string | Substring match on contractor / grantee name (e.g. "Lockheed"). |
agencyNames | array | Top-tier awarding agencies (Department of Defense, HHS, VA, NASA, DOE, …). |
naicsCodes | array | NAICS industry codes from the built-in picklist (6-digit). |
naicsCodesCustom | array | Advanced: any other NAICS codes (2 / 4 / 6 digit), merged with the picks above. |
setAsideTypes | array | Small-business set-aside codes (SBA, 8A, WOSB, HUBZ, SDVOSBC, …). |
recipientLocationStates | array | Only contractors HQ'd in these US states. |
placeOfPerformanceStates | array | Only awards performed in these US states. |
timePeriodStart / timePeriodEnd | string | Date range YYYY-MM-DD. Empty = last full fiscal year → today. |
minAwardAmount / maxAwardAmount | integer | Dollar-value floor / ceiling. 0 = no limit. |
sortBy | string | Award Amount, Start Date, End Date, Recipient Name, or Award ID. |
sortOrder | string | desc (largest / latest first) or asc. |
scrapeAwardDetails | boolean | true (default) = full detail per award (UEI, address, executives). false = fast listing rows only. |
maxRecords | integer | Total cap on awards returned. 0 = unlimited (millions exist — set a cap). |
requestDelay | integer | Politeness delay between requests, in ms. Default 250. |
maxConcurrency | integer | Parallel detail fetches (1–20). Default 5. |
proxyConfiguration | object | Optional. Runs fine with no proxy; enable only for very large volumes. |
Example input
{"awardTypeCategories": ["contracts"],"agencyNames": ["Department of Defense"],"naicsCodes": ["541512"],"setAsideTypes": ["8A", "WOSB", "HUBZ", "SDVOSBC"],"recipientLocationStates": ["VA", "MD", "DC"],"timePeriodStart": "2023-10-01","timePeriodEnd": "2024-09-30","minAwardAmount": 1000000,"sortBy": "Award Amount","sortOrder": "desc","scrapeAwardDetails": true,"maxRecords": 5000}
📤 Output
Every run pushes structured records to a dataset you can view, filter, and export as JSON, CSV, Excel, or via API. Each record carries a full nested object plus flat convenience fields for clean table/CSV views.
Example output — a real federal award record
{"awardId": "HT940216C0001","internalAwardId": "CONT_AWD_HT940216C0001_9700_-NONE-_-NONE-","category": "contract","type": "D","typeDescription": "DEFINITIVE CONTRACT","description": "IGF::OT::IGF","awardAmount": 51269205263.03,"totalObligation": 51269205263.03,"baseAndAllOptions": 56620536577.19,"totalOutlay": null,"dateSigned": "2016-07-29","periodOfPerformance": {"startDate": "2016-08-01","currentEndDate": "2025-12-31","potentialEndDate": "2025-12-31 00:00:00"},"awardingAgency": {"toptierName": "Department of Defense","toptierCode": "097","toptierAbbrev": "DOD","subtierName": "Defense Health Agency","subtierCode": "97DH","officeName": "DEFENSE HEALTH AGENCY"},"fundingAgency": { "toptierName": "Department of Defense", "subtierName": "Defense Health Agency" },"recipient": {"name": "HUMANA GOVERNMENT BUSINESS INC","uei": "ZE6ZM6NKSV43","parentName": "HUMANA GOVERNMENT BUSINESS INC","parentUei": "ZE6ZM6NKSV43","businessCategories": ["Category Business","Corporate Entity Not Tax Exempt","Not Designated a Small Business","Special Designations","U.S.-Owned Business"],"location": {"addressLine1": "500 W MAIN STREET","city": "LOUISVILLE","state": "KENTUCKY","stateCode": "KY","country": "UNITED STATES","countryCode": "USA","zip5": "40202","zip4": "2946","county": "JEFFERSON","congressionalCode": "03"}},"placeOfPerformance": {"city": "LOUISVILLE","state": "KENTUCKY","stateCode": "KY","country": "UNITED STATES","countryCode": "USA","county": "JEFFERSON","zip5": "40201","congressionalCode": "03"},"naics": {"code": "524114","description": "DIRECT HEALTH AND MEDICAL INSURANCE CARRIERS","midtierCode": "5241","midtierDescription": "Insurance Carriers","toptierCode": "52","toptierDescription": "Finance and Insurance"},"psc": { "code": "Q201", "description": "SUPPORT- MEDICAL: HEALTHCARE" },"setAside": { "code": null, "description": null },"competition": {"extentCompeted": "Full and Open Competition","numberOfOffers": "4","solicitationProcedures": "Negotiated Proposal/Quote"},"subawardCount": 0,"subawardTotalAmount": null,"executiveCompensation": [{ "name": "KAREN MORAN", "amount": 1409718 },{ "name": "KEVIN REGENHOLD", "amount": 607266 },{ "name": "MELANIE BUEHLER", "amount": 604450 },{ "name": "MATT PAYNTER", "amount": 621345 },{ "name": "BILL DERECH", "amount": 578390 }],"awardDetailUrl": "https://www.usaspending.gov/award/CONT_AWD_HT940216C0001_9700_-NONE-_-NONE-/","scrapedAt": "2026-11-01T18:15:00.000Z"}
Field reference (main fields)
| Field | Description |
|---|---|
awardId | Official award identifier (PIID for contracts, FAIN/URI for assistance). |
internalAwardId | USAspending's unique internal award ID — the stable natural key (used for dedup + detail URL). |
category / type / typeDescription | Award category and human-readable subtype (e.g. "DEFINITIVE CONTRACT", "BPA CALL", "BLOCK GRANT"). |
description | Free-text description of what was procured / funded. |
awardAmount / totalObligation | Total obligated dollars on the award. |
baseAndAllOptions | Contract ceiling including all option years. |
totalOutlay | Actual money paid to date (present when reported). |
dateSigned | Date the award was signed. |
periodOfPerformance | startDate, currentEndDate, potentialEndDate. |
awardingAgency | Top-tier + sub-tier agency name/code/abbreviation + office. |
fundingAgency | Funding source agency (can differ from the awarder). |
recipient | Recipient name, uei, parentName, parentUei, businessCategories[], and full location. |
recipient.location | Street, city, state + stateCode, ZIP-5/ZIP-4, county, country, congressionalCode. |
placeOfPerformance | City, state, county, ZIP, country, congressional district where the work happens. |
naics | NAICS base/mid-tier/top-tier codes + descriptions (roll up by 2 / 4 / 6 digit). |
psc | Product or Service Code + description (federal procurement taxonomy). |
setAside | Set-aside code + description (present for set-aside contracts). |
competition | extentCompeted, numberOfOffers, solicitationProcedures. |
subawardCount / subawardTotalAmount | Aggregate subaward count and dollar total. |
executiveCompensation | Named officers + declared compensation (USD), only when the recipient has an FFATA disclosure — empty array otherwise. |
recipientName, recipientUei, recipientState, agencyName, naicsCode, performanceState, … | Flat convenience fields for CSV / table / CRM import. |
awardDetailUrl / scrapedAt | Direct link to the official award page / ISO extraction timestamp. |
Honesty note on coverage (from a fresh 500-record run): identity + financial fields (awardId, internalAwardId, awardAmount, recipientName, recipientUei, agencyName, dateSigned, awardDetailUrl) land at 100%; description ~96%; NAICS, recipient address, PSC and awarding-agency hierarchy ~99–100%. Genuinely data-dependent fields are lower by nature: setAside ~86% (not all contracts are set aside), totalOutlay ~51% (money not yet paid on newer awards), subawardTotalAmount ~65%, and executiveCompensation populates for roughly 24–60% of recipients (only those above the FFATA disclosure threshold). These are properties of the source record, not scraper gaps.
🔁 Pagination & scale
The scraper calls the official spending_by_award search endpoint and paginates 100 records per page, following the API's hasNext flag until it reaches your maxRecords cap or the end of the result set. Discovered awards are collected by their unique internalAwardId (so the output is de-duplicated — a fresh 500-record run returned 500/500 unique awards, 0% duplicates).
For each discovered award it then fetches the deep detail record in parallel (tuned by maxConcurrency, 1–20). With defaults, a 500-award detailed run completes in about 30 seconds. Set maxRecords to any size — hundreds for a focused ICP, tens of thousands for a full-industry sweep. For very large sweeps, use scrapeAwardDetails: false (listing-only, 5–10× faster) or schedule overnight runs. Leaving maxRecords: 0 with no filters returns a safe 100-award sample rather than attempting to page through millions.
⚙️ How to use
- Open the actor on the Apify Console and click Try for free.
- Set your filters — pick award categories, add an agency / NAICS / set-aside / state / keyword, and a date range. Leave everything blank for a top-awards sample.
- Choose depth — keep
scrapeAwardDetails: truefor outbound-ready detail, or turn it off for fast bulk discovery. SetmaxRecords. - Run it — in the Console, via the Apify API / CLI, or on a schedule (cron).
- Export — download JSON, CSV, or Excel, or pull via the dataset API.
- Integrate — pipe results into Salesforce, HubSpot, Pipedrive, Apollo, Clay, Outreach, Smartlead, Google Sheets, a webhook, or Make / Zapier.
💡 Tips
- Always run
scrapeAwardDetails: truefor outbound — listing rows alone don't carry the recipient UEI, full address, business categories, or executives. - Stack filters to hit your ICP — combine
naicsCodes+recipientLocationStates+setAsideTypesto narrow a huge pool to a precise prospect list. - Sort by
Award Amountdescending for biggest-fish-first prospecting; sort byStart Dateto catch the newest awards. - Track competitors on a cron — set
recipientSearchTextto a competitor name and schedule a weekly run for real-time win alerts. - Estimate federal revenue — pull a 12–24 month window by
recipientLocationStates+naicsCodeswith aminAwardAmountto rank contractors by obligated dollars. - Validate first, then scale — run
maxRecords: 100on your real ICP, confirm the fields, then raise the cap.
❓ FAQ
Is scraping USAspending legal? USAspending.gov publishes public-domain US federal spending data in the public interest, free for commercial and non-commercial use. You are responsible for compliance with outreach laws (CAN-SPAM, TCPA, GDPR for non-US recipients) when using the data for campaigns.
How many results can I get, and how fast? As many as match your filters — hundreds to tens of thousands. A fresh detailed run returned 500 awards in ~30 seconds. Listing-only mode is several times faster.
Do I need a proxy or a login? Is there an API? No login, no API key, and no proxy needed — the USAspending API is public and direct-friendly (a proxy is optional for very large volumes). Every run is a standard Apify actor callable via the Apify API / CLI, with results streaming from the dataset API — effectively a USAspending API wrapper with enrichment and bulk export in JSON, CSV, Excel (XLSX).
How fresh is the data? Federal agencies update their USAspending reporting on rolling schedules (typically weekly to monthly). Run on any cadence to capture deltas; amounts and outlays update as contracts are modified or executed.
Can I filter by NAICS, agency, set-aside, state, or dollar size?
Yes — all of them, individually or combined: naicsCodes, agencyNames, setAsideTypes, recipientLocationStates / placeOfPerformanceStates, and minAwardAmount / maxAwardAmount. For small-business programs, set setAsideTypes (e.g. ["SBA","8A","WOSB","HUBZ","SDVOSBC"]).
Are grants and loans included — or just contracts?
All of it: set awardTypeCategories to any mix of contracts, idvs, grants, loans, direct_payments, other_financial_assistance.
Will the same award appear twice?
No — awards are de-duplicated on their unique internalAwardId before output.
Can I get executive names + compensation?
Yes — when the recipient meets the FFATA disclosure threshold, the top officers and their declared compensation appear in executiveCompensation. Recipients without a disclosure return an empty array (no null padding).
How does this compare to GovWin / Bloomberg Government / Deltek? Those paid platforms ($10K–$50K/yr) layer analytics on top of the same underlying public dataset this scraper pulls from. You get the raw, structured, exportable data at a small fraction of the cost.
🔗 Related scrapers
Pair this USAspending scraper with the rest of the government, compliance, and B2B/B2G intelligence suite:
- EPA ECHO Facility Compliance Scraper — US facility compliance, inspections, violations and enforcement. Natural companion for vendor-risk screening on the same federal contractors.
- NPI Registry Scraper (7M+ US Healthcare Providers) — every US healthcare provider with NPI, specialty, address and phone. Healthcare GTM to pair with HHS / VA awards.
- H1B Visa Database Scraper — DOL visa sponsor employers + salary disclosures; overlaps heavily with large federal contractors.
- Academic Paper Resolver — DOI / arXiv to structured citations. Pairs with federal R&D grants (NSF, NIH, DOE).
- Article Content Extractor — clean article text, Markdown and metadata from any news URL to enrich coverage around contract awards.
- RSS Feed Reader — parse RSS, Atom & podcast feeds to JSON; wire up agency press-release feeds alongside award alerts.
⚖️ Disclaimer
This scraper collects publicly available US federal spending data published by the US government in the public interest, under public-domain rules. You are responsible for compliance with applicable laws (CAN-SPAM, TCPA, GDPR for non-US recipients) when using the data for outbound campaigns.
Ready to build your federal-spending database? Click Try for free and run the USAspending scraper now.