# Federal Contract Awards Scraper - USAspending Data (`maydit/us-federal-contract-awards-scraper`) Actor

Export US federal contract award data from USAspending.gov with no API key. Full detail by NAICS, PSC, agency, recipient, and place of performance. Contracts + IDVs.

- **URL**: https://apify.com/maydit/us-federal-contract-awards-scraper.md
- **Developed by:** [Brandt May](https://apify.com/maydit) (community)
- **Categories:** Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.20 / 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 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

## Federal Contract Awards Scraper - USAspending.gov Data

> Pull rich, structured US federal contract award data from USAspending.gov - no API key, no account, no scraping headaches.

### What it does

This **federal contract awards scraper** turns the official USAspending.gov data into clean, ready-to-use records. It queries the public `spending_by_award` endpoint and returns full award detail - recipient, dollar amounts, outlays, awarding agency, NAICS and PSC codes, place of performance, and a direct link back to each award. Use it as a **USAspending API alternative** when you want **federal spending data exported** to CSV, Excel, or JSON without writing code or managing tokens.

Unlike thin "contracts + grants + loans" dumps, this actor is a contracts specialist: it covers procurement **contracts (award types A/B/C/D) and IDVs** with the complete field set GovCon teams actually use for **market intelligence** and **lead generation**. Filter by agency, recipient, NAICS code, place of performance, keyword, or award amount to answer questions like *who won federal contracts in my space* - and monitor new awards on a schedule.

### Who it's for

- **GovCon business development** teams sizing pipelines and finding teaming partners
- **Market and competitive intelligence** analysts tracking who wins what, and where
- **Subcontracting and lead-gen** teams sourcing prime contractors to pitch
- **Capture managers** researching a target agency's buying patterns and incumbents
- **Analysts and data teams** who want federal spending data in a spreadsheet, not a portal

### What you get / Output

Each award record includes the following fields:

| Field | Description |
| --- | --- |
| `awardId` | Unique award identifier |
| `recipientName` | Name of the company or entity that won the award |
| `awardAmount` | Total obligated award amount |
| `totalOutlays` | Total outlays disbursed against the award |
| `description` | Award description / statement of work summary |
| `awardingAgency` | Top-level awarding agency |
| `subAgency` | Awarding sub-agency |
| `awardType` | Award type (contract A/B/C/D or IDV) |
| `naics` | NAICS classification, with `code` and `desc` |
| `psc` | Product/Service Code, with `code` and `desc` |
| `startDate` | Period of performance start date |
| `endDate` | Period of performance end date |
| `popState` | Place-of-performance state |
| `recipientId` | Unique recipient identifier |
| `awardUrl` | Direct link to the award on USAspending.gov |

Results are returned as structured rows you can export to **CSV, Excel, or JSON** and push straight into your CRM, BI tool, or spreadsheet.

### Input / How to query

Narrow results with any combination of these filters:

- **Time period** - restrict awards to a date range
- **Agency** - focus on a specific awarding agency
- **Recipient name** - pull one company's award history
- **NAICS codes** - target your industry classification(s)
- **Place of performance** - filter by where the work happens
- **Keywords** - match award descriptions
- **Award amount range** - set a minimum and/or maximum dollar value

**Modes:** choose procurement **contracts (award types A, B, C, D)** or **IDVs** (indefinite delivery vehicles) to match the award category you care about.

### Example use cases

- **Find who won federal contracts in your NAICS code.** Filter by one or more NAICS codes and a recent time period to build a ranked list of prime contractors to study or pitch.
- **Pull a competitor's full award history.** Query by recipient name to see every contract they hold, the agencies buying from them, dollar totals, and outlays.
- **Map an agency's buying patterns.** Filter by awarding agency and PSC to see what a target agency actually procures and from whom - ideal for capture planning.
- **Build a subcontracting lead list.** Combine NAICS, place of performance, and award amount range to surface primes with sizable recent awards in your region.
- **Export federal spending data for BI.** Run a broad query and export to CSV/Excel to feed dashboards, TAM sizing, or win/loss analysis.

### Recurring use / scheduling

Set this actor to run on a **schedule** (daily, weekly, or monthly) to monitor new federal contract awards as they post - useful for BD alerting and lead generation. A common pattern:

1. Save a query with your target NAICS codes, agencies, and a rolling time period.
2. Schedule the run at your chosen cadence.
3. Compare each run against prior output using the unique `awardId` (and `recipientId`) to **dedupe** and isolate only newly added or changed awards.
4. Route the fresh rows to your CRM, spreadsheet, or alerting workflow.

Because every record carries stable identifiers, deduping across runs is straightforward - you only act on what's actually new.

### FAQ

### How do I export federal contract award data to CSV or Excel?

Run the actor with your filters and export the resulting dataset. Apify lets you download results as CSV, Excel, or JSON, so you can open them directly or import into your CRM or BI tool - no manual portal downloads.

### How can I find which companies won federal contracts in my NAICS code?

Set the NAICS code filter (one or more codes) plus a time period, then run. The output lists each winning `recipientName`, the `awardAmount`, the `awardingAgency`, and an `awardUrl` for every matching award.

### Is there a USAspending API alternative that needs no API key?

Yes - that's exactly what this is. It reads the public USAspending.gov data with no API key and no account, and hands you clean structured records instead of raw API responses you'd otherwise have to parse yourself.

### How do I look up a company's federal contract award history?

Filter by recipient name. The actor returns that company's awards with amounts, outlays, awarding agency and sub-agency, NAICS/PSC classifications, periods of performance, and direct award links.

### How can I pull federal contract awards by agency and recipient in bulk?

Combine the agency filter and the recipient-name filter (and add a time period to bound the range). The scraper returns every matching award as structured rows, ready to export in bulk.

### How do I get federal spending data for GovCon competitive analysis?

Query by agency, NAICS, place of performance, or award amount to isolate your competitive segment, then export the full field set - amounts, outlays, PSC/NAICS, and recipients - into your analysis or BI tooling.

### How can I monitor new federal contract awards for lead generation?

Schedule recurring runs against a saved query (your NAICS codes, agencies, region), then dedupe each run on `awardId` to surface only new awards. Route those to your lead-gen or BD workflow.

### What data fields does the USAspending awards download include (NAICS, PSC, outlays)?

Each record includes award ID, recipient name and ID, award amount, total outlays, description, awarding agency and sub-agency, award type, NAICS (code + description), PSC (code + description), start and end dates, place-of-performance state, and a direct award URL.

### Data source & notes

- **Source:** [USAspending.gov](https://www.usaspending.gov) - the official open data source for US federal spending, published by the US Treasury. This actor uses its public `spending_by_award` API. The data is **public and free to use**; no API key or login is required.
- **Scope:** Procurement **contracts (award types A/B/C/D) and IDVs**. This actor focuses on contract awards, not grants or loans.
- **Freshness & completeness:** Data reflects what USAspending.gov has published; agency reporting lags and the source's own coverage rules apply. Fields are populated as provided by the source - some awards may have empty values (for example, a missing NAICS, PSC, or place-of-performance state).
- **Accuracy:** All output fields listed above map directly to the source data; the actor does not enrich or fabricate values.

### Related actors

Part of a set of US public-records tools that work well together:

- [Grants.gov Scraper](https://apify.com/maydit/us-federal-grants-scraper) - the grant side of federal funding, with full opportunity detail
- [Federal Register Scraper](https://apify.com/maydit/us-federal-register-scraper) - the rules and notices that shape upcoming procurement
- [SEC EDGAR Filings Scraper](https://apify.com/maydit/sec-edgar-filings-scraper) - public-company filings for diligence on primes and competitors

See all fifteen at [apify.com/maydit](https://apify.com/maydit).

**Free guide:** [Querying USAspending for contract awards without an API key](https://mayd-it.com/data-tools/guides/usaspending-api-no-api-key-federal-contract-awards/) - the undocumented traps in this data source, measured against the live API.

### Found this useful?

If this actor saved you time, a short review on the Apify Store genuinely helps. Reviews are how the next person decides whether a tool is worth trying.

Something broken, missing a field, or a source you want covered? Open an issue on the **Issues** tab and it will get looked at - that is the fastest route to getting it changed.

# Actor input Schema

## `awardTypeGroup` (type: `string`):

Which kind of federal awards to pull. Contracts = definitive/purchase-order/BPA-call contracts. IDVs = indefinite delivery vehicles (GWACs, IDIQs, BPAs).

## `actionDateSince` (type: `string`):

Only awards with an action date on or after this date (YYYY-MM-DD). Great for weekly monitoring of newly-awarded contracts.

## `actionDateUntil` (type: `string`):

Only awards with an action date on or before this date (YYYY-MM-DD).

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

Exact top-tier awarding agency name, e.g. 'Department of Defense', 'Department of Veterans Affairs'. Leave empty for all agencies.

## `recipientSearch` (type: `string`):

Filter to awards whose recipient (company) name matches this text. Great for tracking a specific competitor or prime contractor.

## `naicsCodes` (type: `array`):

Filter by industry NAICS codes, e.g. '236220' (commercial building construction), '541512' (computer systems design). Leave empty for all.

## `placeOfPerformanceStates` (type: `array`):

Two-letter US state codes for where the work is performed, e.g. 'CA', 'TX', 'VA'. Leave empty for all.

## `keywords` (type: `array`):

Free-text keywords matched against award descriptions and other fields.

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

Only awards at or above this dollar amount.

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

Only awards at or below this dollar amount.

## `sortBy` (type: `string`):

Order results by award amount (largest first) or start date (newest first).

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

Upper bound on the number of awards returned per run.

## Actor input object example

```json
{
  "awardTypeGroup": "contracts",
  "actionDateSince": "2026-06-01",
  "naicsCodes": [],
  "placeOfPerformanceStates": [],
  "keywords": [],
  "sortBy": "Award Amount",
  "maxResults": 1000
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("maydit/us-federal-contract-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("maydit/us-federal-contract-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 '{}' |
apify call maydit/us-federal-contract-awards-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/kcWOHI5mq1aPD4Lrn/builds/c2A6q7CHxRLAxhooJ/openapi.json
