Apify Usaspending avatar

Apify Usaspending

Pricing

from $1.00 / 1,000 saved award rows

Go to Apify Store
Apify Usaspending

Apify Usaspending

Search public USAspending.gov federal awards for analysts, journalists, and contractors. Returns flat rows for contracts, grants, loans, and direct payments. No API key or login.

Pricing

from $1.00 / 1,000 saved award rows

Rating

0.0

(0)

Developer

Konstantin

Konstantin

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

USAspending.gov Award Search

Search federal awards from USAspending.gov and download them as a clean, flat dataset — one row per award, ready for a spreadsheet, CRM, or database.

Why use this if the data is free?

USAspending.gov data is public and free. Its API needs no API key. This Actor does not sell exclusive data.

You pay for the packaging:

  • No API work. You do not write pagination, award-type code maps, retries, or request bodies.
  • Plain-language filters. Pick agency, date range, award categories (contracts, grants, loans, and so on), and optional recipient name — not raw USAspending code lists.
  • Flat rows. Each award is one simple record with consistent field names, not nested API JSON.
  • Downloadable results. Runs land in an Apify dataset you can export as JSON, CSV, or Excel, or pull into another workflow.

If you already maintain a production integration against api.usaspending.gov, you may not need this. If you want award lists without building that integration, this is the shortcut.

Input (what you set)

FieldWhat it does
agencyNameOptional federal agency name (e.g. Department of the Treasury). Leave blank for all agencies.
agencyRoleTreat the agency as awarding (default) or funding.
startDate / endDateOptional date window. If both are omitted, the run uses the last 30 days.
awardTypeGroupsOne or more of: contracts, idvs, loans, grants, direct_payments, other_financial_assistance. Omit to search all categories.
recipientNameOptional recipient name. The Actor resolves it through USAspending's recipient lookup and then filters awards server-side.
recipientUeiOptional recipient UEI. The Actor sends it to USAspending as a native recipient search filter.
maxResultsCap on how many awards to save (default 1,000).
pageSizePage size for API requests (default 100).

Output fields

Each saved dataset item has these fields (as emitted by the Actor):

FieldTypeDescription
internalIdnumberUSAspending internal award id from the search response.
awardIdstring | nullPublic award identifier (e.g. contract or assistance id).
recipientNamestring | nullName of the recipient.
awardAmountnumber | nullAward amount in dollars.
startDatestring | nullPeriod-of-performance start date (YYYY-MM-DD) when present.
endDatestring | nullPeriod-of-performance end date (YYYY-MM-DD) when present.
awardTypestring | nullAward type label when the API returns one (often null for some contract rows).
awardingAgencystring | nullAwarding agency name.
awardingSubAgencystring | nullAwarding sub-agency name.
fundingAgencystring | nullFunding agency name.
fundingSubAgencystring | nullFunding sub-agency name.
generatedInternalIdstring | nullUSAspending generated internal id string.
sourceobjectProvenance: endpoint, page, pageSize, awardTypeGroup, fetchedAt (ISO timestamp).

A run summary is also stored in the key-value store as OUTPUT and SUMMARY (status, counts, filters used, any warnings).

Pricing

$0.02 per successful run plus $0.001 per saved award row (about $1.00 per 1,000 rows).

Examples: 10 rows ≈ $0.03; 100 rows ≈ $0.12; 1,000 rows ≈ $1.02.

Use cases

1. Government-contracting business development

Find recent contract awards for a target agency and export them for pipeline research.

Example input

{
"agencyName": "Department of the Treasury",
"agencyRole": "awarding",
"startDate": "2026-06-01",
"endDate": "2026-07-27",
"awardTypeGroups": ["contracts"],
"maxResults": 50
}

Sample output row (from a live run of this input; one of the top results by award amount)

{
"internalId": 279026177,
"awardId": "2032H521F00050",
"recipientName": "AT&T ENTERPRISES, LLC",
"awardAmount": 320206879.61,
"startDate": "2020-12-23",
"endDate": "2026-09-30",
"awardType": null,
"awardingAgency": "Department of the Treasury",
"awardingSubAgency": "Internal Revenue Service",
"fundingAgency": "Department of the Treasury",
"fundingSubAgency": "Departmental Offices",
"generatedInternalId": "CONT_AWD_2032H521F00050_2050_GS00Q17NSD3000_4732",
"source": {
"endpoint": "search/spending_by_award",
"page": 1,
"pageSize": 5,
"awardTypeGroup": "contracts",
"fetchedAt": "2026-07-27T20:43:03.196Z"
}
}

2. Lobbying and policy research

Track grants and direct payments tied to a named recipient over a calendar year.

Example input

{
"recipientName": "STATE OF CALIFORNIA EMPLOYMENT DEVELOPMENT DEPARTMENT",
"startDate": "2025-01-01",
"endDate": "2025-12-31",
"awardTypeGroups": ["grants", "direct_payments"],
"maxResults": 25
}

Sample output row (from a live run of this input)

{
"internalId": 271710794,
"awardId": "UI347022055A6",
"recipientName": "STATE OF CALIFORNIA EMPLOYMENT DEVELOPMENT DEPARTMENT",
"awardAmount": 729771187.85,
"startDate": "2020-04-01",
"endDate": "2025-06-30",
"awardType": "GRANT",
"awardingAgency": "Department of Labor",
"awardingSubAgency": "Employment and Training Administration",
"fundingAgency": "Department of Labor",
"fundingSubAgency": "Employment and Training Administration",
"generatedInternalId": "ASST_NON_UI347022055A6_1601",
"source": {
"endpoint": "search/spending_by_award",
"page": 84,
"pageSize": 5,
"awardTypeGroup": "grants",
"fetchedAt": "2026-07-27T20:44:41.259Z"
}
}

Note: recipient searches resolve through USAspending's recipient endpoints and are applied server-side on the award search request. If the lookup finds no match, the Actor falls back to the raw recipient text.

3. Journalism and investigative research

Pull a reproducible sample of federal awards for a story, filtered by agency and date window.

Example input

{
"agencyName": "Department of the Treasury",
"agencyRole": "awarding",
"startDate": "2026-07-01",
"endDate": "2026-07-27",
"awardTypeGroups": ["contracts", "grants", "direct_payments"],
"maxResults": 100
}

Sample output row (from a live run of this input; results are sorted by award amount descending)

{
"internalId": 279028587,
"awardId": "2032H525F00053",
"recipientName": "SCIENCE APPLICATIONS INTERNATIONAL CORPORATION",
"awardAmount": 152116836.84,
"startDate": "2025-06-26",
"endDate": "2027-06-19",
"awardType": null,
"awardingAgency": "Department of the Treasury",
"awardingSubAgency": "Internal Revenue Service",
"fundingAgency": "Department of the Treasury",
"fundingSubAgency": "Departmental Offices",
"generatedInternalId": "CONT_AWD_2032H525F00053_2050_2032H523A00010_2050",
"source": {
"endpoint": "search/spending_by_award",
"page": 1,
"pageSize": 5,
"awardTypeGroup": "contracts",
"fetchedAt": "2026-07-27T20:50:55.888Z"
}
}

Limitations

  • Search date coverage starts at 2007-10-01. USAspending search warns that earlier data is outside this search endpoint (bulk download on the website or other API endpoints covers older periods).
  • Recipient name and UEI filters are native. The Actor resolves recipient names through USAspending's recipient lookup when needed, then sends recipient_search_text to the award search API. Sparse recipients fail fast instead of being scanned page by page.
  • Award categories map to official codes. Choosing e.g. contracts expands to the live USAspending contract type codes; you do not need to supply those codes yourself.
  • Some fields may be null. For example, awardType is often null on contract search rows even when amount and agencies are present — that reflects the API response, not a silent drop.
  • Default window is 30 days if you omit both start and end dates.
  • Transient API failures are retried with backoff. If a later page still fails, rows already saved are kept and the run summary reports a partial failure.
  • Results are ordered by award amount descending within each award-type group the Actor walks.

How a run works

  1. You set filters in the Actor input (or via API).
  2. The Actor calls the public USAspending award search endpoint, page by page.
  3. Matching awards are written to the default dataset as they arrive.
  4. You download the dataset (JSON / CSV / Excel) or pass it to another Actor or integration.

Data source: USAspending.gov API (POST /api/v2/search/spending_by_award/).