# USAspending Federal Award Scraper (`scrapers_lat/usaspending-awards-scraper`) Actor

Scrape US federal prime awards from USAspending.gov. Get recipient, UEI, award amount, awarding agency, award type, NAICS, PSC, dates and place of performance for contracts, grants, loans and direct payments.

- **URL**: https://apify.com/scrapers\_lat/usaspending-awards-scraper.md
- **Developed by:** [Michael Flores](https://apify.com/scrapers_lat) (community)
- **Categories:** Business, Lead generation, Automation
- **Stats:** 2 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $8.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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 Federal Award Scraper

> Extract US federal prime awards from USAspending.gov, covering every contract, grant, loan and direct payment back to October 2007

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify&logoColor=white)
![Coverage](https://img.shields.io/badge/Coverage-United%20States-blue)
![Maintained](https://img.shields.io/badge/Maintained-Yes-brightgreen)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)

<table><tr>
<td align="center"><strong>40+ fields</strong><br>per record</td>
<td align="center"><strong>United States</strong><br>coverage</td>
<td align="center"><strong>JSON / CSV / Excel</strong><br>output formats</td>
<td align="center"><strong>Updated</strong><br>2026-06-22</td>
</tr></table>

<br>

### What you get

Each record is one federal award with its recipient, money, awarding agency, classification codes and locations. Use it for government contract intelligence, competitor tracking, grant research and lead lists of federal recipients.

- **awardId**: the agency award identifier (PIID for contracts, FAIN for assistance)
- **generatedAwardId**: the unique USAspending award id used in the award URL
- **recipientName**: the company or organization that received the award
- **recipientUei**: the recipient Unique Entity Identifier
- **awardAmount**: total obligated amount in US dollars
- **totalOutlays**: total outlaid amount where reported
- **loanValue**: face value of the loan (loan awards only)
- **subsidyCost**: estimated long-term cost of a loan (loan awards only)
- **awardType**: assistance award type label (grants, direct payments, loans)
- **contractAwardType**: contract type label such as delivery order or BPA call
- **awardingAgency**: top-tier awarding agency
- **awardingSubAgency**: sub-tier awarding agency
- **fundingAgency**: top-tier funding agency
- **fundingSubAgency**: sub-tier funding agency
- **startDate**: award period of performance start
- **endDate**: award period of performance end
- **issuedDate**: assistance action date where reported
- **lastModifiedDate**: last time the award record was modified
- **baseObligationDate**: base obligation date
- **cfdaNumber**: Assistance Listing (CFDA) number for grants
- **naicsCode**: industry classification code
- **naicsDescription**: industry classification description
- **pscCode**: Product and Service Code
- **pscDescription**: Product and Service Code description
- **recipientLocation**: recipient country, state, city, county, ZIP and congressional district
- **placeOfPerformance**: where the work is performed
- **description**: free-text award description
- **url**: link to the award page on USAspending.gov
- **category\***: award category such as contract or grant
- **typeDescription\***: detailed award type description
- **subawardCount\***: number of sub-awards under this award
- **totalSubawardAmount\***: total dollars passed to sub-recipients
- **baseAndAllOptions\***: contract value including all options
- **baseExercisedOptions\***: contract value of exercised options
- **dateSigned\***: date the award was signed
- **periodOfPerformanceStart\***: detailed period of performance start
- **periodOfPerformanceEnd\***: detailed period of performance end
- **parentRecipientName\***: ultimate parent company of the recipient
- **recipientParentUei\***: Unique Entity Identifier of the recipient's parent company
- **recipientDuns\***: legacy DUNS number of the recipient (sparse since the 2022 switch to UEI)
- **recipientAddress\***: recipient street address, city, state, county, ZIP and congressional district
- **executiveCompensation\***: top five officer names and their reported pay for recipients that disclose it
- **extentCompeted\***: extent of competition for the award
- **typeSetAside\***: small business set-aside type
- **numberOfOffersReceived\***: number of bids received
- **observedAt**: when this award was last seen by the scraper

*\*These fields only appear when Fetch award details is enabled.*

### Who is it for

| Use case | Who benefits |
|---|---|
| Track competitor contract wins by agency | Government contractors and BD teams |
| Build lead lists of federal grant recipients | B2B sales and partnership teams |
| Research grant funding in a topic or program | Nonprofits and researchers |
| Monitor agency spending on a keyword | Journalists and policy analysts |
| Feed federal spending into a data warehouse | Data engineers and analysts |

### Frequently Asked Questions

**Which countries and time range does this cover?**
It covers United States federal spending reported to USAspending.gov. Award action dates go back to October 1, 2007, which is the earliest date the search API supports.

**How many awards can I scrape in one run?**
You set the limit with Max Items. The scraper paginates through results 100 at a time, so you can pull anywhere from a handful to hundreds of thousands of awards in a single run.

**How do I filter the awards I want?**
Use any combination of keyword, award types (contracts, grants, direct payments, loans), awarding agency, recipient name and a date range. Leave a filter blank to ignore it.

**Why are some fields like loanValue or cfdaNumber empty?**
Those fields only apply to certain award types. Loan value and subsidy cost are populated for loans, and CFDA number and award type for grants, so they are null on contract records and vice versa.

**What happens if an award has no detail record?**
The scraper still returns the core award fields and sets error on that single record, then continues. Enable Fetch award details to add competition, set-aside and sub-award totals from the award detail page.


<!-- related-actors -->
### Related scrapers

Need data from the same space? Here are other scrapers we build and maintain:

- [Grants.gov Opportunity Scraper](https://apify.com/scrapers_lat/grants-gov-scraper): Extract U.S. federal grant opportunities from the official Grants.gov API. Scrape title, agency...
- [NPPES NPI Provider Scraper](https://apify.com/scrapers_lat/nppes-npi-scraper): Scrape US healthcare provider records from the official NPPES NPI Registry. Search by name...
- [BizQuest Businesses-for-Sale Listings Scraper](https://apify.com/scrapers_lat/bizquest-scraper): Extract US businesses-for-sale listings from BizQuest with the broker or seller contact (name...
- [California CSLB Contractor License Scraper](https://apify.com/scrapers_lat/california-cslb-scraper): Extract licensed California contractor records from the CSLB public data portal by classification...
- [Florida Professional License Scraper](https://apify.com/scrapers_lat/florida-dbpr-scraper): Scrape Florida DBPR professional license records by name, business, or license number. Get licensee...
- [New York Business Entity Scraper](https://apify.com/scrapers_lat/ny-dos-business-scraper): Search and extract New York business entity records (corporations, LLCs, limited partnerships) from...

<!-- /related-actors -->

<!-- scrapers-lat-cta -->
### More scrapers at scrapers.lat

This actor is built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for Latin American and US public platforms: real estate, jobs, e-commerce, company registries and government data. Browse the full catalog, see live sample output for each one, or ask us for a custom scraper at [scrapers.lat](https://scrapers.lat).

---

> This actor is an independent tool and has no affiliation with USAspending.gov or the US government. It only accesses data that is publicly available on the platform. USAspending.gov publishes federal spending data in the public domain.

# Actor input Schema

## `maxItems` (type: `integer`):

Maximum number of awards to collect. Optional.
## `withDetails` (type: `boolean`):

When enabled, the scraper fetches the full detail record for each award (competition, set-aside, sub-award totals, period of performance). Adds one request per award.
## `keyword` (type: `string`):

Free-text search across award description, recipient and identifiers (for example: cybersecurity, solar, vaccine).
## `awardTypes` (type: `array`):

Categories of federal award to include. Leave empty to include contracts, grants, direct payments, loans and other.
## `agency` (type: `string`):

Top-tier awarding agency name, exactly as used by USAspending (for example: Department of Defense, Department of Health and Human Services).
## `recipient` (type: `string`):

Filter by recipient name or part of it (for example: Lockheed, university).
## `dateFrom` (type: `string`):

Earliest award action date (YYYY-MM-DD). Earliest supported is 2007-10-01.
## `dateTo` (type: `string`):

Latest award action date (YYYY-MM-DD).
## `sort` (type: `string`):

Field to sort by.
## `order` (type: `string`):

Sort order.

## Actor input object example

```json
{
  "maxItems": 10,
  "withDetails": true,
  "keyword": "cybersecurity",
  "awardTypes": [
    "contracts"
  ],
  "sort": "Award Amount",
  "order": "desc"
}
````

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "maxItems": 10,
    "keyword": "cybersecurity",
    "awardTypes": [
        "contracts"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/usaspending-awards-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 = {
    "maxItems": 10,
    "keyword": "cybersecurity",
    "awardTypes": ["contracts"],
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/usaspending-awards-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 '{
  "maxItems": 10,
  "keyword": "cybersecurity",
  "awardTypes": [
    "contracts"
  ]
}' |
apify call scrapers_lat/usaspending-awards-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "USAspending Federal Award Scraper",
        "description": "Scrape US federal prime awards from USAspending.gov. Get recipient, UEI, award amount, awarding agency, award type, NAICS, PSC, dates and place of performance for contracts, grants, loans and direct payments.",
        "version": "0.1",
        "x-build-id": "VxjBowdRq51ydl885"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapers_lat~usaspending-awards-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapers_lat-usaspending-awards-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrapers_lat~usaspending-awards-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapers_lat-usaspending-awards-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrapers_lat~usaspending-awards-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapers_lat-usaspending-awards-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Maximum number of awards to collect. Optional."
                    },
                    "withDetails": {
                        "title": "Fetch award details",
                        "type": "boolean",
                        "description": "When enabled, the scraper fetches the full detail record for each award (competition, set-aside, sub-award totals, period of performance). Adds one request per award.",
                        "default": true
                    },
                    "keyword": {
                        "title": "Keyword",
                        "type": "string",
                        "description": "Free-text search across award description, recipient and identifiers (for example: cybersecurity, solar, vaccine)."
                    },
                    "awardTypes": {
                        "title": "Award types",
                        "type": "array",
                        "description": "Categories of federal award to include. Leave empty to include contracts, grants, direct payments, loans and other.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "contracts",
                                "grants",
                                "direct",
                                "loans",
                                "other",
                                "idvs"
                            ],
                            "enumTitles": [
                                "Contracts",
                                "Grants",
                                "Direct payments",
                                "Loans",
                                "Other financial assistance",
                                "IDVs (indefinite delivery vehicles)"
                            ]
                        }
                    },
                    "agency": {
                        "title": "Awarding agency",
                        "type": "string",
                        "description": "Top-tier awarding agency name, exactly as used by USAspending (for example: Department of Defense, Department of Health and Human Services)."
                    },
                    "recipient": {
                        "title": "Recipient",
                        "type": "string",
                        "description": "Filter by recipient name or part of it (for example: Lockheed, university)."
                    },
                    "dateFrom": {
                        "title": "Date from",
                        "type": "string",
                        "description": "Earliest award action date (YYYY-MM-DD). Earliest supported is 2007-10-01."
                    },
                    "dateTo": {
                        "title": "Date to",
                        "type": "string",
                        "description": "Latest award action date (YYYY-MM-DD)."
                    },
                    "sort": {
                        "title": "Sort field",
                        "enum": [
                            "Award Amount",
                            "Recipient Name",
                            "Start Date",
                            "End Date",
                            "Award ID"
                        ],
                        "type": "string",
                        "description": "Field to sort by.",
                        "default": "Award Amount"
                    },
                    "order": {
                        "title": "Sort order",
                        "enum": [
                            "desc",
                            "asc"
                        ],
                        "type": "string",
                        "description": "Sort order.",
                        "default": "desc"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
