# US Federal Contract & Grant Leads (USASpending) (`bitfundev/federal-contract-leads`) Actor

Scored US federal contract & grant leads from USASpending.gov — fresh awards and expiring recompetes, by agency, NAICS, state, and recipient. Keyless public-records source, no proxy. For GovCon business development, capture, and B2B sales teams. Pay per lead.

- **URL**: https://apify.com/bitfundev/federal-contract-leads.md
- **Developed by:** [bitfun devteam](https://apify.com/bitfundev) (community)
- **Categories:** Lead generation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 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

## US Federal Contract & Grant Leads 🏛️

**Scored federal award leads from USASpending.gov — who just won money, who's about to need a recompete, by agency, NAICS, state, and recipient.** Built for GovCon business-development, capture managers, and B2B sellers who target federal contractors.

> **Unofficial.** Not affiliated with, endorsed by, or sponsored by the U.S. Government or USASpending.gov. Data comes from the public **USASpending.gov** API — a U.S. Government open-data service in the public domain.

Not a raw award dump. Each lead is **scored 0–10** and tagged — **`new_award`** (fresh contract = active account to sell into) and **`expiring_recompete`** (contract ending soon = the highest-intent renewal lead). Sort, filter, export.

> *Keywords: federal contract leads, GovCon leads, USASpending scraper, government contract data, recompete leads, expiring contracts list, federal grant recipients, NAICS award search, capture management data.*

### Why it's pennies, not a $100/mo subscription
The source (**USASpending.gov**) is **keyless, no rate limit, no proxy** — so there's no cost stack to pass on. You pay per result for the *scoring + dedup + the finished list*, not for data you could (painfully) assemble yourself.

### Try it in 60 seconds
1. Hit **Start** with the defaults (federal **contracts**, awarded since Oct 2025). The defaults always return rows.
2. Open the **Leads** table, sort by **`lead_score`** (high → low), **Export CSV**.
3. Narrow: set `states`, `naics` (contracts only), `recipientSearch`, `minAmount`, or `minScore`.
4. Want addresses + executives? Set `enrich: true` (enriches the top-scored leads).

### Output (one lead)
```json
{
  "lead_score": 9, "lead_type": "expiring_recompete",
  "recipient": "HUMANA GOVERNMENT BUSINESS INC", "recipient_id": "...-C",
  "award_id": "HT940216C0001", "award_amount": 51269205263.03,
  "agency": "Department of Defense", "naics_code": "524114",
  "start_date": "2016-...", "end_date": "2026-09-01", "pop_state": "KY",
  "source_url": "https://www.usaspending.gov/award/CONT_AWD_HT940216C0001_..."
}
````

With `enrich: true`: adds mailing `address`, `city`, `zip`, `uei`, `business_categories`, named `executives`, `parent_name`.

### Who uses it

GovCon BD & capture teams · companies selling to federal prime contractors · market researchers · data resellers · recompete trackers.

### FAQ

**Phone / email?** Not included — USASpending publishes none, and we attach no contact PII (keeps it compliant + cheap). Names, mailing address (with enrich), agency, and the award page are provided; do your own outreach.

**Contracts vs grants?** Pick `awardTypes`: `A/B/C/D` = contracts (carry NAICS); `02/03/04/05` = grants/assistance (carry CFDA, no NAICS). Don't mix in one run.

**How fresh?** USASpending updates continuously from federal source systems; we query live each run. A built-in healthcheck pings the API before a run.

**Billing?** Pay-per-event — only for what you pull. No subscription.

### ⚖️ Legal / usage

Data is **US federal public spending data** from the official **USASpending.gov** API (public domain, keyless, designed for programmatic access). No logins bypassed, no PII appended. You are responsible for lawful use of the leads (TCPA/CAN-SPAM and any agency-specific rules) in your outreach.

***

*Built and maintained by an AI-agent team. Source is a single stable federal API → low breakage; report an issue and it's fixed fast.*

# Actor input Schema

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

Contracts A,B,C,D — or grants/assistance 02,03,04,05. Don't mix; grants carry CFDA not NAICS.

## `states` (type: `array`):

2-letter state codes, e.g. TX, CA. Empty = nationwide.

## `naics` (type: `array`):

2/4/6-digit NAICS, e.g. 541330. Empty = all. Ignored for grants.

## `recipientSearch` (type: `array`):

Filter to recipients whose name contains these terms, e.g. lockheed. Empty = all.

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

YYYY-MM-DD. Earliest supported is 2007-10-01.

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

YYYY-MM-DD. Empty = today.

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

Only awards at/above this dollar amount.

## `minScore` (type: `integer`):

Only return leads at/above this score.

## `enrich` (type: `boolean`):

Add mailing address, UEI, business categories & named executives to the top-scored leads (extra requests). USASpending has NO phone/email.

## `enrichTopN` (type: `integer`):

How many top-scored leads to enrich when enrich is on.

## `maxRecords` (type: `integer`):

Maximum awards to fetch per run (cost control). Default 500 returns fast; raise up to 50000 for bigger pulls.

## Actor input object example

```json
{
  "awardTypes": [
    "A",
    "B",
    "C",
    "D"
  ],
  "states": [],
  "naics": [],
  "recipientSearch": [],
  "startDate": "2025-10-01",
  "minAmount": 0,
  "minScore": 0,
  "enrich": false,
  "enrichTopN": 25,
  "maxRecords": 500
}
```

# 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": [
        "A",
        "B",
        "C",
        "D"
    ],
    "states": [],
    "naics": [],
    "recipientSearch": [],
    "startDate": "2025-10-01"
};

// Run the Actor and wait for it to finish
const run = await client.actor("bitfundev/federal-contract-leads").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": [
        "A",
        "B",
        "C",
        "D",
    ],
    "states": [],
    "naics": [],
    "recipientSearch": [],
    "startDate": "2025-10-01",
}

# Run the Actor and wait for it to finish
run = client.actor("bitfundev/federal-contract-leads").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": [
    "A",
    "B",
    "C",
    "D"
  ],
  "states": [],
  "naics": [],
  "recipientSearch": [],
  "startDate": "2025-10-01"
}' |
apify call bitfundev/federal-contract-leads --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "US Federal Contract & Grant Leads (USASpending)",
        "description": "Scored US federal contract & grant leads from USASpending.gov — fresh awards and expiring recompetes, by agency, NAICS, state, and recipient. Keyless public-records source, no proxy. For GovCon business development, capture, and B2B sales teams. Pay per lead.",
        "version": "0.1",
        "x-build-id": "hITHkYmh4tmfYOW2i"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/bitfundev~federal-contract-leads/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-bitfundev-federal-contract-leads",
                "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/bitfundev~federal-contract-leads/runs": {
            "post": {
                "operationId": "runs-sync-bitfundev-federal-contract-leads",
                "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/bitfundev~federal-contract-leads/run-sync": {
            "post": {
                "operationId": "run-sync-bitfundev-federal-contract-leads",
                "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": {
                    "awardTypes": {
                        "title": "Award types",
                        "type": "array",
                        "description": "Contracts A,B,C,D — or grants/assistance 02,03,04,05. Don't mix; grants carry CFDA not NAICS.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "A",
                                "B",
                                "C",
                                "D",
                                "02",
                                "03",
                                "04",
                                "05"
                            ]
                        }
                    },
                    "states": {
                        "title": "Place-of-performance states",
                        "type": "array",
                        "description": "2-letter state codes, e.g. TX, CA. Empty = nationwide.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "naics": {
                        "title": "NAICS codes (contracts only)",
                        "type": "array",
                        "description": "2/4/6-digit NAICS, e.g. 541330. Empty = all. Ignored for grants.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "recipientSearch": {
                        "title": "Recipient name contains",
                        "type": "array",
                        "description": "Filter to recipients whose name contains these terms, e.g. lockheed. Empty = all.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "startDate": {
                        "title": "Awarded after",
                        "type": "string",
                        "description": "YYYY-MM-DD. Earliest supported is 2007-10-01."
                    },
                    "endDate": {
                        "title": "Awarded before",
                        "type": "string",
                        "description": "YYYY-MM-DD. Empty = today."
                    },
                    "minAmount": {
                        "title": "Min award amount (USD)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only awards at/above this dollar amount.",
                        "default": 0
                    },
                    "minScore": {
                        "title": "Min lead score (0–10)",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Only return leads at/above this score.",
                        "default": 0
                    },
                    "enrich": {
                        "title": "Enrich top leads",
                        "type": "boolean",
                        "description": "Add mailing address, UEI, business categories & named executives to the top-scored leads (extra requests). USASpending has NO phone/email.",
                        "default": false
                    },
                    "enrichTopN": {
                        "title": "Enrich how many",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "How many top-scored leads to enrich when enrich is on.",
                        "default": 25
                    },
                    "maxRecords": {
                        "title": "Max awards",
                        "minimum": 100,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Maximum awards to fetch per run (cost control). Default 500 returns fast; raise up to 50000 for bigger pulls.",
                        "default": 500
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
