# Federal Spending & Contract Awards Tracker (USASpending.gov) (`data_drifter/federal-spending-tracker`) Actor

Track US federal government contract awards. Search by keyword, agency, contractor. Award amounts, NAICS codes, descriptions. Free public API.

- **URL**: https://apify.com/data\_drifter/federal-spending-tracker.md
- **Developed by:** [Curt Smith](https://apify.com/data_drifter) (community)
- **Categories:** Lead generation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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

## Federal Spending & Contract Awards Tracker (USASpending.gov)

Search and track **US federal government contract awards** from USASpending.gov. Find who's winning contracts, for how much, and for what. Perfect for government contractors, competitive intelligence, business development, and procurement research.

### What data do you get?

For each federal contract award:
- **Award details**: Award ID, amount, type (BPA, Purchase Order, Delivery Order, Definitive Contract)
- **Contractor info**: Recipient name, DUNS number, address, city, state
- **Agency info**: Awarding agency, sub-agency
- **Contract scope**: Full description, NAICS code/description, PSC code/description
- **Timeline**: Start date, end date
- **Performance**: Place of performance city and state
- **Direct link**: USASpending.gov award page

### Use cases

- **Government contractors**: Monitor competitor wins. Find who's winning in your NAICS code.
- **Business development**: Identify agencies spending on your capabilities. Track spending trends.
- **Competitive intelligence**: Search by contractor name to see all their federal awards.
- **Subcontractors**: Find prime contractors winning large awards in your space.
- **Journalists & researchers**: Track federal spending by keyword, agency, or amount.
- **Lobbyists & consultants**: Monitor agency spending patterns and budget allocation.

### Input parameters

| Parameter | Description |
|-----------|-------------|
| `keywords` | Search terms (e.g., "artificial intelligence", "cybersecurity") |
| `agency` | Awarding agency (e.g., "Department of Defense") |
| `recipientName` | Contractor name (e.g., "Lockheed", "Booz Allen") |
| `minAmount` | Minimum award amount in dollars |
| `startDate` / `endDate` | Date range (YYYY-MM-DD format) |
| `maxResults` | Number of results (1-1000, default 100) |
| `sortBy` | Sort by "Award Amount", "Start Date", etc. |

### Example output

```json
{
    "awardId": "FA862118F6251",
    "recipientName": "LOCKHEED MARTIN CORPORATION",
    "awardAmount": 603218300.19,
    "awardingAgency": "Department of Defense",
    "awardingSubAgency": "Department of the Air Force",
    "description": "AFSOC ACTS AWARD OF CONTRACT FOR CLS, ENGINEERING, CYBERSECURITY",
    "awardType": "DELIVERY ORDER",
    "startDate": "2018-02-08",
    "endDate": "2027-01-31",
    "url": "https://www.usaspending.gov/award/CONT_AWD_..."
}
````

### Data source

Uses the official [USASpending.gov API](https://api.usaspending.gov). Free public API, no authentication required, no proxy needed. Data covers all federal contract awards reported to the Federal Procurement Data System (FPDS).

### Other Data APIs by Data\_drifter

| Actor | What it does |
|-------|-------------|
| [Federal Grant Monitor](https://apify.com/data_drifter/grants-gov-monitor) | Search all federal grant opportunities from Grants.gov |
| [DeFi Token Scanner](https://apify.com/data_drifter/defi-token-scanner) | Real-time DeFi token prices, volume, liquidity across all chains |
| [Federal Spending Tracker](https://apify.com/data_drifter/federal-spending-tracker) | Track US government contract awards by keyword, agency, contractor |
| [FDA Drug Approvals](https://apify.com/data_drifter/fda-drug-approvals) | Search FDA drug approval data, sponsors, dates, active ingredients |
| [SEC EDGAR Filings](https://apify.com/data_drifter/sec-edgar-filings) | Search SEC 10-K, 10-Q, 8-K filings by keyword or company |
| [Crypto Whale Tracker](https://apify.com/data_drifter/crypto-whale-tracker) | Track large crypto transactions across 11+ blockchains |
| [US Patent Search](https://apify.com/data_drifter/us-patent-search) | Search US patents by keyword, inventor, assignee |

# Actor input Schema

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

Search keywords (e.g., 'artificial intelligence', 'cybersecurity', 'cloud computing')

## `agency` (type: `string`):

Filter by top-tier agency name (e.g., 'Department of Defense', 'Department of Energy')

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

Search by contractor/recipient name (e.g., 'Lockheed', 'Booz Allen')

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

Contract types: A=BPA, B=Purchase Order, C=Delivery Order, D=Definitive Contract. Default: all contracts.

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

Start of date range (YYYY-MM-DD). Default: 1 year ago.

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

End of date range (YYYY-MM-DD). Default: today.

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

Filter for awards above this dollar amount

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

Maximum awards to return (default: 100)

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

Sort field: 'Award Amount', 'Start Date', 'Recipient Name'

## `sortOrder` (type: `string`):

Sort direction: 'desc' or 'asc'

## Actor input object example

```json
{
  "keywords": "technology",
  "awardTypes": [
    "A",
    "B",
    "C",
    "D"
  ],
  "maxResults": 5,
  "sortBy": "Award Amount",
  "sortOrder": "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 = {
    "keywords": "technology",
    "maxResults": 5
};

// Run the Actor and wait for it to finish
const run = await client.actor("data_drifter/federal-spending-tracker").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 = {
    "keywords": "technology",
    "maxResults": 5,
}

# Run the Actor and wait for it to finish
run = client.actor("data_drifter/federal-spending-tracker").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 '{
  "keywords": "technology",
  "maxResults": 5
}' |
apify call data_drifter/federal-spending-tracker --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Federal Spending & Contract Awards Tracker (USASpending.gov)",
        "description": "Track US federal government contract awards. Search by keyword, agency, contractor. Award amounts, NAICS codes, descriptions. Free public API.",
        "version": "0.1",
        "x-build-id": "G8CptSyDw2JeSnyNw"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/data_drifter~federal-spending-tracker/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-data_drifter-federal-spending-tracker",
                "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/data_drifter~federal-spending-tracker/runs": {
            "post": {
                "operationId": "runs-sync-data_drifter-federal-spending-tracker",
                "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/data_drifter~federal-spending-tracker/run-sync": {
            "post": {
                "operationId": "run-sync-data_drifter-federal-spending-tracker",
                "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": {
                    "keywords": {
                        "title": "Keywords",
                        "type": "string",
                        "description": "Search keywords (e.g., 'artificial intelligence', 'cybersecurity', 'cloud computing')",
                        "default": "technology"
                    },
                    "agency": {
                        "title": "Awarding Agency",
                        "type": "string",
                        "description": "Filter by top-tier agency name (e.g., 'Department of Defense', 'Department of Energy')"
                    },
                    "recipientName": {
                        "title": "Recipient Name",
                        "type": "string",
                        "description": "Search by contractor/recipient name (e.g., 'Lockheed', 'Booz Allen')"
                    },
                    "awardTypes": {
                        "title": "Award Type Codes",
                        "type": "array",
                        "description": "Contract types: A=BPA, B=Purchase Order, C=Delivery Order, D=Definitive Contract. Default: all contracts.",
                        "items": {
                            "type": "string"
                        },
                        "default": [
                            "A",
                            "B",
                            "C",
                            "D"
                        ]
                    },
                    "startDate": {
                        "title": "Start Date",
                        "type": "string",
                        "description": "Start of date range (YYYY-MM-DD). Default: 1 year ago."
                    },
                    "endDate": {
                        "title": "End Date",
                        "type": "string",
                        "description": "End of date range (YYYY-MM-DD). Default: today."
                    },
                    "minAmount": {
                        "title": "Minimum Award Amount ($)",
                        "type": "integer",
                        "description": "Filter for awards above this dollar amount"
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum awards to return (default: 100)",
                        "default": 5
                    },
                    "sortBy": {
                        "title": "Sort By",
                        "type": "string",
                        "description": "Sort field: 'Award Amount', 'Start Date', 'Recipient Name'",
                        "default": "Award Amount"
                    },
                    "sortOrder": {
                        "title": "Sort Order",
                        "enum": [
                            "desc",
                            "asc"
                        ],
                        "type": "string",
                        "description": "Sort direction: 'desc' or 'asc'",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
