USAspending Scraper - Federal Contracts and Grants avatar

USAspending Scraper - Federal Contracts and Grants

Pricing

from $1.00 / 1,000 run start fees

Go to Apify Store
USAspending Scraper - Federal Contracts and Grants

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

SR

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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:

RecipientObligated totalPer 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

FieldWhat it is
recipientCompany or organisation receiving the award
amountObligated total over the award's life
amount_per_yearThat divided by duration
awarding_agency, awarding_sub_agencyWho awarded it
funding_agencyWhose budget pays
descriptionWhat it is for
start_date, end_date, duration_daysThe period
performance_stateWhere the work happens
recipient_stateWhere the recipient is
award_id, internal_id, urlIdentifiers 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

FieldTypeDefault
award_groupcontracts, grants, loans, direct_payments, idvscontracts
date_from, date_toYYYY-MM-DD2024
recipientcompany or organisation name—
agencytop-tier awarding agency—
keywordfree text across the award—
statetwo-letter place-of-performance state—
min_amountdollars—
sortamount, start date, end date, recipientamount
orderdesc, ascdesc
limit1-5000100
retries1-63

Filters combine. A time period is always sent, because the API requires one.

Why this Actor connects directly

on every .gov host tested:

RouteResult
DirectHTTP 200
Through a residential proxyCONNECT 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_year is what makes a league table honest.
  • Competitor tracking. Filter by recipient and follow a company's federal business across agencies and years.
  • Market sizing. Filter by keyword and 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_state shows where work actually happens, which is where local partners are.
  • Budget analysis. Group by awarding_agency and 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.