USAspending — Federal Contracts and Grants Search avatar

USAspending — Federal Contracts and Grants Search

Pricing

from $30.00 / 1,000 search runs

Go to Apify Store
USAspending — Federal Contracts and Grants Search

USAspending — Federal Contracts and Grants Search

Search every prime federal contract, grant, loan and direct payment recorded by the US Treasury on USAspending.gov. Filter by keyword, agency, recipient, date, amount, NAICS, PSC and place of performance. Free government data, no key, no scraping.

Pricing

from $30.00 / 1,000 search runs

Rating

0.0

(0)

Developer

Benjamin Jerez

Benjamin Jerez

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Search every prime award the US Treasury publishes on USAspending.gov: contracts, IDVs, grants, loans, direct payments. Filter by keyword, agency, recipient, date, amount, NAICS, PSC and place of performance, and get back structured rows with a link to the public award page.

No API key, no scraping, no rate card. The data is federal open data and the Actor queries it live on every run.

What a search returns

awardType: contracts, keywords: ["quantum computing"], dateFrom: 2024-01-01, dateTo: 2026-09-01, minAmount: 5000000, placeOfPerformanceState: MD returned three awards. The top one:

FieldValue
awardIdHR001122F0052
recipientNameTHE JOHNS HOPKINS UNIVERSITY APPLIED PHYSICS LABORATORY LLC
recipientUeiC1HBCJ9RMBV3
awardingAgency / awardingSubAgencyDepartment of Defense · Defense Advanced Research Projects Agency
descriptionUNDEREXPLORED SYSTEMS FOR UTILITY-SCALE QUANTUM COMPUTING (US2QC) PROGRAM
awardAmount / obligatedAmount31 575 626
potentialAmount42 470 702
startDate / endDate2022-06-06 · 2027-10-31
naics / psc541715 · AC11
placeOfPerformanceLAUREL, MD
awardUrlhttps://www.usaspending.gov/award/CONT_AWD_HR001122F0052_9700_HR001122D0001_9700

Every run also emits one summary row first, carrying the exact filter object sent to the API, the returned count, how many duplicate records were dropped, which pagination mode was used, and a note that explains a zero result rather than leaving you guessing.

The amount question, answered

This is the field that decides whether a number means anything to you.

awardAmount is money obligated to date — the API's total_obligation. It is not the contract ceiling and not the potential value. For the Johns Hopkins award above, obligated is 31 575 626 while the ceiling is 42 470 702: a 35 per cent difference on one row.

On IDVs the gap is wider still. A NASA schedule held by Leidos shows 965 231 972 obligated against a ceiling of 2 457 479 894, and an FAA vehicle held by L3Harris shows 1 130 368 671 against 2 300 000 000. Reading the first number as "what they won" understates it by more than half.

Turn on Fetch full award detail and each row also gets potentialAmount (base and all options, the ceiling), baseExercisedOptions, totalOutlays (cash actually paid out), dateSigned, subawardCount and totalSubawardAmount. That costs one extra request per award and no extra charge.

Loans work differently: there is no obligation figure at all. awardAmount carries the face loanValue and subsidyCost carries what the subsidy costs the government. A 2026 Department of Energy direct loan to Georgia Power shows loanValue 22 414 694 000 with subsidyCost 0, while one to BlueOval SK shows 17 714 080 000 against a subsidy cost of 130 046 040. Every row states which basis it is on in amountBasis.

What the dates actually filter

USAspending's default date filter is the action date, and it behaves in a way that surprises most people: it returns any award that had a transaction inside your window, then reports that award's lifetime totals.

Searching artificial intelligence contracts in the window 2026-06-01 to 2026-06-30 returns an ECS Federal contract that started 2020-04-23 and runs to 2027-03-11, at its full 120 575 059 obligated. The award is in the result set because it was modified in June 2026, not because anything happened in June 2026 worth 120 million.

Set What the dates mean to new awards only and the same window returns awards that were actually signed in it — Accenture Federal Services starting 2026-07-28, Four Points Technology starting 2026-06-29, MVation Worldwide starting 2026-06-09. Use that when you are tracking new business rather than portfolio activity.

date_signed behaves the same way as new awards only in practice; last_modified_date filters on when the record was edited, which is a data-freshness question rather than a spending one.

The archive starts at 2007-10-01. Earlier start dates are rejected by the API, and the Actor clamps to that date rather than failing.

How keyword search behaves

Keywords are matched against the award description, the recipient name, the recipient UEI and the award ID, not the description alone.

Verified on live data: searching MAVERIS returns MAVERIS LLC rows whose descriptions never contain the word, because the match came from the recipient name. Searching the UEI XYB4JU4PA6T4 returns ECS Federal rows. Searching the contract number W911QX20C0023 returns exactly that one contract.

It is a fuzzy full-text match, not a substring match. MAVERIS also returns a Raytheon contract for MAVERICK missile spares and a Salient CRGT task order named MAVERICK. Expect near-misses on short or unusual terms, and check description and recipientName before treating a row as a hit.

Several keywords are combined with OR, not AND. A search for cybersecurity over 2024 to 2026 returned Lockheed Martin, Amentum, General Dynamics IT, Deloitte, Maveris and Millennium — all plausibly in scope.

One award family per run

The API refuses a request that mixes award families: contracts and grants sit in different tables with different columns, so one result set cannot hold both. Award type is therefore a single choice, and the codes behind each choice are:

ChoiceCodes
ContractsA, B, C, D
IDVsIDV_A, IDV_B, IDV_B_A, IDV_B_B, IDV_B_C, IDV_C, IDV_D, IDV_E
Grants02, 03, 04, 05, F001, F002
Loans07, 08, F003, F004
Direct payments06, 10, F006, F007
Other financial assistance09, 11, -1, F005, F008, F009, F010

The shape of a row follows the family. Contracts and IDVs carry naics, psc and awardType such as DELIVERY ORDER. Grants and direct payments carry assistanceListing instead — a NASA project grant to Wichita State University comes back as 43.014 CONGRESSIONALLY DIRECTED PROGRAMS. IDVs have no end date; they have lastDateToOrder.

Run the Actor twice if you need both contracts and grants.

Who uses this

Government-contracting firms sizing a market before they bid, and tracking which agencies buy what. Competitive-intelligence teams watching a named competitor's award flow by recipient name or UEI. Research and policy groups measuring federal spend on a topic across agencies. Journalists and watchdogs following money to a recipient, a state or a programme. Sales teams at vendors selling into federal agencies, who want the incumbent, the ceiling and the end date on a contract that is coming up for recompete.

Scope and limits

Prime awards only. Subawards exist in USAspending but are a different result shape and are not returned here.

An agency name that does not match returns zero rows, silently. The API does not validate it. The Actor checks your name against the official 111-entry top-tier list before searching and puts the near matches in the summary row — Department of Energery comes back with agencyMatch: no top-tier match and a note suggesting Department of Energy. Sub-agency names such as Department of the Army also work and are sent at both tiers.

Duplicate records exist in the source index. Some awards, mostly Army contracts, are indexed twice under two different internal identifiers with identical amounts. A 300-award run on artificial intelligence hit eight of them. The Actor deduplicates on the public award identifier and reports the count in duplicatesDropped.

Depth. Results are fetched 100 at a time. The API refuses page numbers past 50 000 records, so beyond that the Actor switches to cursor paging and continues; paginationMode in the summary row says which was used.

Source and licence

USAspending.gov, operated by the US Department of the Treasury under the DATA Act, through api.usaspending.gov/api/v2. US federal government works, public domain. The award detail used for potentialAmount comes from the same endpoint the USAspending website itself calls, so the figures match the public award page.

Frequently asked

Why did a search return nothing? Read the note on the summary row — it names the likely cause. In order of frequency: an agency name USAspending spells differently, a date window that is narrower than you think given the action-date default, and a keyword that appears in no description, recipient name or award identifier.

Why is awardAmount smaller than the value I saw quoted in the press? Because press figures usually quote the ceiling. awardAmount is obligated to date. Switch on Fetch full award detail for potentialAmount.

Why is naics empty on my grants? Because assistance awards are classified by assistance listing (CFDA), not by industry code. Use assistanceListing.

Can I get more than 50 000 awards? Yes. Set Maximum awards higher and the Actor pages past the API's page-number ceiling with a cursor.

Is totalOutlays of 0 an error? No. It means no money has been disbursed against the award yet, which is normal early in a period of performance. A 2023 University of Maryland delivery order for 18 000 000 obligated shows totalOutlays of 0.