USAspending Scraper - Federal Contracts and Grants
Pricing
from $1.00 / 1,000 run start fees
USAspending Scraper - Federal Contracts and Grants
Search US federal awards: contracts, grants, loans and direct payments. Returns recipient, obligated amount, awarding agency, description, dates and a derived annualised figure from the official USAspending API.
Pricing
from $1.00 / 1,000 run start fees
Rating
0.0
(0)
Developer
SR
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
USAspending Scraper
Search US federal awards: contracts, grants, loans and direct payments. Recipient, obligated amount, awarding agency, what the award is for, its dates, and where the work happens.
Reads the official USAspending.gov API. No key, no login.
The number everyone reads wrong
amount is the obligated total across the award's whole life, not annual
spend. This matters more than it sounds.
The largest 2024 contract is a Department of Defense award to Humana for $51.3 billion — running from 2016 to 2025. Second is Lockheed Martin at $48.1 billion. On the headline figures Humana wins comfortably.
Annualised, they are not close in the way you would guess:
| Recipient | Obligated total | Per year |
|---|---|---|
| Humana | $51.3bn | $5.4bn |
| Lockheed Martin | $48.1bn | $2.0bn |
The gap more than doubles, because the awards run for different lengths. Every
row therefore carries amount_per_year, the obligated total divided by the
award's actual duration, so awards of different lengths are comparable.
Awards shorter than a month get null there rather than an annualised figure,
because dividing a two-week award into a yearly rate invents a number nobody
should quote.
Pick one award type
Contracts, grants, loans and direct payments are separate worlds with different economics, and USAspending returns them from the same endpoint. Mixing them produces a "top recipients" table where a research university's grant sits beside a defence contractor's weapons programme as though they were the same thing.
award_group picks one. It defaults to contracts.
Fields
| Field | What it is |
|---|---|
recipient | Company or organisation receiving the award |
amount | Obligated total over the award's life |
amount_per_year | That divided by duration |
awarding_agency, awarding_sub_agency | Who awarded it |
funding_agency | Whose budget pays |
description | What it is for |
start_date, end_date, duration_days | The period |
performance_state | Where the work happens |
recipient_state | Where the recipient is |
award_id, internal_id, url | Identifiers and the award page |
performance_state and recipient_state are frequently different, and the gap
is the point when you are asking where federal money physically lands rather
than which state a headquarters sits in.
Input reference
| Field | Type | Default |
|---|---|---|
award_group | contracts, grants, loans, direct_payments, idvs | contracts |
date_from, date_to | YYYY-MM-DD | 2024 |
recipient | company or organisation name | — |
agency | top-tier awarding agency | — |
keyword | free text across the award | — |
state | two-letter place-of-performance state | — |
min_amount | dollars | — |
sort | amount, start date, end date, recipient | amount |
order | desc, asc | desc |
limit | 1-5000 | 100 |
retries | 1-6 | 3 |
Filters combine. A time period is always sent, because the API requires one.
Why this Actor connects directly
on every .gov host tested:
| Route | Result |
|---|---|
| Direct | HTTP 200 |
| Through a residential proxy | CONNECT tunnel failed, response 491 |
A 491 on the CONNECT is our proxy refusing to tunnel to the host, not the government refusing us. USAspending publishes this data for public use, and the Actor takes it directly at a polite pace.
Two API details worth knowing
It is a POST API. Filters go in a JSON body, not the query string. That is unusual enough that a GET attempt returns something plausible and wrong.
The field list must be explicit. Ask for nothing and you get a small default set missing most of what is useful, with no indication that anything was omitted. This Actor always names the fields it wants.
Pagination is a hasNext flag, not a page count. There is no total to loop
to; the response says whether another page exists.
Typical uses
- Government contract intelligence. Who wins work from which agency, in what
size, over what period.
amount_per_yearis what makes a league table honest. - Competitor tracking. Filter by
recipientand follow a company's federal business across agencies and years. - Market sizing. Filter by
keywordand agency to see what a category is worth: a 2024 grants search on "climate" surfaces Climate United Fund at $6.97 billion. - Partner and subcontractor research.
performance_stateshows where work actually happens, which is where local partners are. - Budget analysis. Group by
awarding_agencyand compare periods.
Notes
An amount is what has been obligated, which is money committed. It is not necessarily money already paid out, and for a long contract it usually is not.
duration_days is calculated from the award's own start and end dates. Awards
with missing dates return null for both duration and the annualised figure
rather than a guess.
Data covers US federal awards only. State and local procurement is published elsewhere and is not in this dataset.