# USASpending.gov Federal Awards Scraper (`spry_frame/usaspending-scraper`) Actor

Scrapes federal contract, grant, loan, and direct payment awards from USASpending.gov — recipient, agency, award amount, date, NAICS code, place of performance, and more. No API key required.

- **URL**: https://apify.com/spry\_frame/usaspending-scraper.md
- **Developed by:** [COSENT GROUP](https://apify.com/spry_frame) (community)
- **Categories:** Lead generation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## USASpending.gov Federal Awards Scraper

Scrape federal contract, grant, loan, and direct payment award data from [USASpending.gov](https://www.usaspending.gov) — the official source for US government spending. Filter by keyword, agency, award type, date range, state, and NAICS code. No API key required.

### What it scrapes

Each award returns:

| Field | Description |
|-------|-------------|
| `awardId` | USASpending unique award identifier |
| `awardType` | Type of award (Definitive Contract, Delivery Order, Grant, Loan, etc.) |
| `recipientName` | Company or organization receiving the award |
| `recipientState` | State where the recipient is located |
| `awardAmount` | Total obligated award amount in USD |
| `awardDate` | Date the award action occurred |
| `startDate` | Period of performance start date |
| `endDate` | Period of performance end date |
| `awardingAgency` | Federal agency that issued the award |
| `awardingOffice` | Sub-agency or office within the awarding agency |
| `naicsCode` | NAICS industry classification code |
| `naicsDescription` | NAICS industry description |
| `placeOfPerformance` | City and state where work is performed |
| `description` | Description of the award or contract |
| `url` | Direct link to the award on USASpending.gov |
| `scrapedAt` | ISO timestamp when this record was collected |

### Input

```json
{
  "keywords": "cybersecurity",
  "awardTypes": ["contracts"],
  "dateStart": "2026-01-01",
  "dateEnd": "2026-08-02",
  "agencyName": "Department of Defense",
  "recipientState": "TX",
  "naicsCode": "541512",
  "minAmount": 1000000,
  "maxAmount": 0,
  "maxResults": 200
}
```

#### Parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `keywords` | string | *(any)* | Search by recipient name or award description |
| `awardTypes` | array | `["contracts"]` | Award categories to include — see table below |
| `dateStart` | string | *(any)* | Award date range start in YYYY-MM-DD format |
| `dateEnd` | string | *(any)* | Award date range end in YYYY-MM-DD format |
| `agencyName` | string | *(any)* | Awarding agency name (e.g. `Department of Defense`, `NASA`) |
| `recipientState` | string | *(any)* | Two-letter state code for recipient location (e.g. `TX`, `CA`) |
| `naicsCode` | string | *(any)* | NAICS industry code (e.g. `541512` for Computer Systems Design) |
| `minAmount` | integer | `0` | Minimum award amount in USD — `0` means no filter |
| `maxAmount` | integer | `0` | Maximum award amount in USD — `0` means no filter |
| `maxResults` | integer | `100` | Maximum records to return — `0` means no limit |

#### Award types

| Value | Description |
|-------|-------------|
| `contracts` | Purchase orders, delivery orders, definitive contracts, BPA calls |
| `grants` | Block grants, formula grants, project grants, cooperative agreements |
| `loans` | Direct loans and guaranteed loans |
| `direct_payments` | Direct payments for specified and unrestricted use |
| `idvs` | Indefinite Delivery Vehicles (GWACs, FSS, BOAs, BPAs) |
| `other_financial_assistance` | Insurance, asset forfeiture, and other assistance |

### Example output

```json
{
  "awardId": "CONT_AWD_NNJ06TA25C_8000_-NONE-_-NONE-",
  "awardType": "DEFINITIVE CONTRACT",
  "recipientName": "THE BOEING COMPANY",
  "recipientState": "TX",
  "awardAmount": "22440930496.75",
  "awardDate": "2026-01-15",
  "startDate": "2006-08-01",
  "endDate": "2030-01-31",
  "awardingAgency": "National Aeronautics and Space Administration",
  "awardingOffice": "NASA Johnson Space Center",
  "naicsCode": "336414",
  "naicsDescription": "Guided Missile and Space Vehicle Manufacturing",
  "placeOfPerformance": "Houston, TX",
  "description": "INTERNATIONAL SPACE STATION OPERATIONS AND INTEGRATION",
  "url": "https://www.usaspending.gov/award/CONT_AWD_NNJ06TA25C_8000_-NONE-_-NONE-",
  "scrapedAt": "2026-08-02T20:53:12.920Z"
}
```

### Use cases

- **Competitive intelligence** — track which companies are winning contracts in your industry
- **Business development** — identify agencies spending in your NAICS code
- **Market research** — analyze federal spending trends by agency, state, or sector
- **Grant prospecting** — find active grant recipients to benchmark or partner with
- **Supplier research** — discover subcontracting opportunities from prime contractors
- **Investigative research** — follow the money across federal programs and agencies

### Notes

- Results are sorted by award amount (largest first) by default
- Award amounts represent the total obligated value, not individual transaction amounts
- `contracts` award type includes Definitive Contracts, Delivery Orders, Purchase Orders, and BPA Calls
- Date filters apply to the award action date, not the period of performance
- Over 10 million federal awards are available across all agencies and years

# Actor input Schema

## `keywords` (type: `string`):

Search term to filter awards by recipient name or description (e.g. 'cybersecurity', 'construction', 'Microsoft').

## `awardTypes` (type: `array`):

Types of awards to include. Options: contracts, grants, loans, direct\_payments, idvs, other\_financial\_assistance. Leave empty for all.

## `dateStart` (type: `string`):

Start of date range for award action date. Example: 2026-01-01

## `dateEnd` (type: `string`):

End of date range for award action date. Example: 2026-12-31

## `agencyName` (type: `string`):

Filter by awarding agency name (e.g. 'Department of Defense', 'NASA', 'Department of Health'). Leave empty for all.

## `recipientState` (type: `string`):

Two-letter state code to filter by recipient location (e.g. TX, CA, NY). Leave empty for all.

## `naicsCode` (type: `string`):

Filter by NAICS industry code (e.g. '541512' for Computer Systems Design). Leave empty for all.

## `minAmount` (type: `integer`):

Minimum award amount in USD. 0 = no filter.

## `maxAmount` (type: `integer`):

Maximum award amount in USD. 0 = no filter.

## `maxResults` (type: `integer`):

Maximum number of awards to return. 0 = no limit.

## Actor input object example

```json
{
  "keywords": "",
  "awardTypes": [
    "contracts"
  ],
  "dateStart": "",
  "dateEnd": "",
  "agencyName": "",
  "recipientState": "",
  "naicsCode": "",
  "minAmount": 0,
  "maxAmount": 0,
  "maxResults": 100
}
```

# Actor output Schema

## `awardId` (type: `string`):

USASpending unique award identifier.

## `awardType` (type: `string`):

Type of award (Contract, Grant, Loan, etc.).

## `recipientName` (type: `string`):

Name of the company or organization receiving the award.

## `recipientState` (type: `string`):

State where the recipient is located.

## `awardAmount` (type: `string`):

Total obligated award amount in USD.

## `awardDate` (type: `string`):

Date the award action occurred.

## `startDate` (type: `string`):

Start date of the period of performance.

## `endDate` (type: `string`):

End date of the period of performance.

## `awardingAgency` (type: `string`):

Federal agency that awarded the contract or grant.

## `awardingOffice` (type: `string`):

Specific office within the agency that awarded.

## `naicsCode` (type: `string`):

Industry classification code.

## `naicsDescription` (type: `string`):

Industry classification description.

## `placeOfPerformance` (type: `string`):

City and state where work is performed.

## `description` (type: `string`):

Description of the award or contract.

## `url` (type: `string`):

Direct link to the award on USASpending.gov.

## `scrapedAt` (type: `string`):

ISO timestamp when this record was collected.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "awardTypes": [
        "contracts"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("spry_frame/usaspending-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "awardTypes": ["contracts"] }

# Run the Actor and wait for it to finish
run = client.actor("spry_frame/usaspending-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "awardTypes": [
    "contracts"
  ]
}' |
apify call spry_frame/usaspending-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=spry_frame/usaspending-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/NukUZU2GS2PVmc2sV/builds/Vu0gg8CGCI7VU5FEI/openapi.json
