US Federal Contractor Data — USAspending Recipient Profiles
Pricing
$4.00 / 1,000 company records
US Federal Contractor Data — USAspending Recipient Profiles
Look up any organization that receives US federal money on USAspending.gov. Returns UEI, legacy DUNS, parent company, total federal obligations, business types (small, woman-owned, veteran-owned, 8(a)), headquarters address and recipient hierarchy level.
Pricing
$4.00 / 1,000 company records
Rating
0.0
(0)
Developer
Berkan Kaplan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 days ago
Last modified
Categories
Share
US Federal Contractor Data — USAspending Recipient Profiles 🇺🇸
foXLabs US company series: Federal contract awards · FDIC banks · Texas · New York · Connecticut · Nonprofits
🎉 Profile any US federal contractor: UEI, DUNS, headquarters address, parent company, business-type classifications and total federal obligations — the company-level view of where federal money goes. No key, no login. Built for govcon sales, teaming research, and anyone qualifying a federal vendor.
🔍 What is this Actor — and when should you use it?
USAspending publishes both individual awards and recipient profiles. This Actor returns the recipient profile: who the company is, where it sits, which parent it rolls up to, how it is classified for set-aside purposes, and how much federal money it has received in total.
Use it when you need: a contractor's total federal footprint in one row; small-business/set-aside classifications for teaming; the parent behind a subsidiary; or a qualified list of vendors in a district or state.
Use something else when: you want the individual contracts rather than the company total — use US Federal Contract Awards, which returns one row per award with amounts, agencies and dates.
🤖 Use with AI agents
Already on the Apify MCP server? Ask for this Actor by name: foxlabs/usaspending-contractor-data.
Your agent can pay for its own runs. This Actor is pay-per-event with agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — no Apify account or API token of its own. Billing is the same either way: per delivered recipient row.
Otherwise paste this into Claude, ChatGPT, Cursor or any MCP-enabled assistant:
Run the Apify actor foxlabs/usaspending-contractor-data with{"queries":["Palantir","Booz Allen Hamilton"],"maxResultsPerQuery":10}and give me their UEIs, parents and total obligations.
📋 Overview
| Source | USAspending.gov (US Department of the Treasury) |
| Coverage | Recipients of US federal awards |
| Auth needed | None. No API key, no login, no proxy required |
| Row | One recipient profile |
| Measured run | 30 rows in 4.8 s for 3 companies (2026-09-20, build 0.1.8) |
| Pricing | $0.004 per delivered row — $4 per 1,000 |
✨ Features
- 🆔 UEI and DUNS — the identifiers federal systems actually key on
- 💵 Total obligations per recipient, plus total loan face value
- 🏢 Parent company where the recipient rolls up to one
- 🏷️ Business-type classifications — small business, veteran-owned, 8(a) and the rest
- 🗺️ State and congressional district — territory and political mapping in one row
- 🔤 Alternate names — the other spellings the same entity files under
- 📊 Recipient level — parent, child or standalone
🎬 Quick Start
curl -X POST "https://api.apify.com/v2/acts/foxlabs~usaspending-contractor-data/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"queries":["Boeing","Palantir","Booz Allen Hamilton"],"maxResultsPerQuery":10}'
🚀 Getting Started (3 steps)
- Name the contractors. Put company names into
queries. The default run searchesBoeing,PalantirandBooz Allen Hamilton. - Set the breadth.
maxResultsPerQuerycaps matches per name — a big prime has many registered entities. - Run it. Rows arrive in the dataset; export to CSV/JSON/Excel or read them over the API.
📥 Input
| Field | Type | Default | Description |
|---|---|---|---|
queries | array | ["Boeing","Palantir","Booz Allen Hamilton"] | Contractor names |
maxResultsPerQuery | integer | 10 | Cap on recipient profiles per name |
maxConcurrency | integer | 3 | Parallel requests against USAspending |
requestDelayMs | integer | 0 | Optional pause between requests |
includeRaw | boolean | false | Attach the untouched source record to each row |
proxyConfiguration | object | proxy off | USAspending answers direct requests |
Example — map a prime and its subsidiaries:
{ "queries": ["Booz Allen Hamilton"], "maxResultsPerQuery": 50 }
Example — qualify a vendor list:
{ "queries": ["Vendor A", "Vendor B", "Vendor C"], "maxResultsPerQuery": 5 }
📤 Output
One row per recipient profile. Fill rates from the measured run (30 rows, 3 companies, 2026-09-20):
| Field | Type | Fill | Description |
|---|---|---|---|
companyName | string | 100% | Recipient name as registered |
registrationNumber | string | 93% | UEI (Unique Entity Identifier) |
duns | string | 93% | Legacy DUNS number, where still on record |
recipientId | string | 100% | USAspending recipient id |
recipientLevel | string | 100% | Parent, child or standalone |
parentCompany | string | 93% | Parent entity, where the recipient has one |
totalObligations | number | 100% | Total federal obligations to this recipient |
totalFaceValueLoan | number | 100% | Total face value of federal loans |
businessTypes | array | 100% | Set-aside and classification flags |
address / city / postalCode / state | string | 100% | Registered address |
congressionalDistrict | string | 93% | District of the registered address |
alternateNames | array | 73% | Other names the entity files under |
countryName | string | 100% | Country |
sourceUrl | string | 100% | USAspending recipient page |
country / registry / query / status / scrapedAt | string | 100% | Provenance fields |
registrationNumber, duns and congressionalDistrict sit at 93% because some historical recipient records predate universal UEI assignment. Columns USAspending does not publish on recipient profiles (tax number, legal form, incorporation date, industry classification, headcount, capital, website, e-mail, phone, officers) were removed rather than shipped permanently empty.
A real row from the default run:
{"companyName": "PALANTIR TECHNOLOGIES INC.","registrationNumber": "FSY4LVSBGWB7","address": "19505 BISCAYNE BLVD STE 2350, AVENTURA, FL, 33180, UNITED STATES","city": "AVENTURA","postalCode": "33180","sourceUrl": "https://www.usaspending.gov/recipient/1ea8a9a4-3726-3491-9040-66950bb67606-P"}
💼 Use cases
- Vendor qualification — is this company already a federal contractor, and at what scale?
- Teaming research — find small-business or set-aside-classified partners via
businessTypes - Corporate structure —
parentCompanyandrecipientLevelmap subsidiaries to their parent - Territory planning — contractors by state and congressional district
- Entity resolution —
alternateNamesand UEI reconcile messy vendor lists
🔗 Integration
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('foxlabs/usaspending-contractor-data').call({queries: ['Palantir'], maxResultsPerQuery: 10,});const { items } = await client.dataset(run.defaultDatasetId).listItems();
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("foxlabs/usaspending-contractor-data").call(run_input={"queries": ["Palantir"], "maxResultsPerQuery": 10})items = client.dataset(run["defaultDatasetId"]).list_items().items
No-code: Make, n8n and Zapier reach this Actor through the Apify app — schedule it and push contractor profiles into a CRM or a sheet.
📊 Pricing
Pay-per-event: company-record — $0.004 per delivered row ($4 per 1,000). Compute and traffic are included; you pay for rows, not run time. Rows without a recipient name are not charged.
❓ FAQ
Do I need a USAspending API key? No. The data is public and this Actor needs no key, login or proxy.
What is the difference from the Contract Award Actor? This one returns the company profile with lifetime totals. US Federal Contract Awards returns one row per award, with amounts, agencies and dates.
Why do some rows lack a UEI? Older recipient records predate universal UEI assignment; duns often fills the gap on those.
Does one company return several rows? Yes — large primes register multiple entities. recipientLevel and parentCompany tell you how they relate.
Are the totals lifetime or annual? totalObligations is the recipient's cumulative total on USAspending, not a single year.
Can I find small businesses only? Filter the output by businessTypes, which carries the set-aside classifications.
🐛 Troubleshooting
A contractor returns nothing. Federal records use the registered legal name — try the formal spelling, or search a known subsidiary.
Too many rows for one name. Large primes have many registered entities. Lower maxResultsPerQuery, or filter by recipientLevel.
Totals look lower than expected. Subsidiary rows carry their own totals; roll up by parentCompany for the group figure.
⚠️ Trademark
USAspending.gov is a service of the US Department of the Treasury. This Actor is an independent tool, is not affiliated with or endorsed by the US Government, and reads only publicly published federal spending records.
⚖️ Is it legal to scrape this data?
Federal spending records are published by law under the DATA Act so the public can see where federal money goes. The rows this Actor returns are organisational records and spending totals — business information, not personal data. You remain responsible for how you use the output.
🤝 Support & contact
Questions, a field you need, or a bug: info@foxlabs.com.tr — or open an issue on the Actor's Apify page.
Changelog
0.1.8
- Removed permanently-empty columns (tax number, status detail, legal form, incorporation date, industry, industry code, headcount, capital, website, e-mail, phone, officers) — recipient profiles do not carry them. Row went from 34 columns to 22, with zero permanently-empty columns left.
0.1
- USAspending recipient-profile search by contractor name, with UEI, parent, classifications and lifetime totals.
- Pay-per-event billing on delivered rows (
company-record).