# Federal Contract Awards Scraper - Government Contract Winners (`loomwise/federal-contract-awards`) Actor

New federal contract awards from official USAspending.gov data: who just won government contracts, award amount, agency, NAICS, set-aside, competition and the winner's business address. Filter by state, NAICS, agency, amount. No API key. $0.90 per 1,000.

- **URL**: https://apify.com/loomwise/federal-contract-awards.md
- **Developed by:** [Loomwise](https://apify.com/loomwise) (community)
- **Categories:** Lead generation, Business, AI
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.90 / 1,000 results

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

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Federal Contract Awards Scraper: who just won government contracts (daily, no API key)

Get a fresh list of **companies that just won federal government contracts**, straight from the official **Federal Procurement Data System (FPDS)**, the same award data behind SAM.gov contract award search and USAspending.gov. Every new contract, purchase order, delivery order and BPA call that a federal agency signs is reported here, usually within 3 business days.

For each award you get the **winning company, award amount, award date, awarding agency and contracting office, NAICS and PSC codes, set-aside type (SDVOSB, 8(a), HUBZone, WOSB, small business), extent competed, number of offers, the winner's UEI and CAGE code, business address, business phone and small-business / veteran / woman-owned flags**.

About **2,500 new awards are signed each business day** (40,000+ a month). Filter by the winner's state, NAICS code, set-aside, agency, award size and keywords to get exactly the contract winners you care about.

**Free to try:** Apify's free plan ($5/month in credit, no card needed) covers about **5,000 awards** a month.
**Price:** $0.90 per 1,000 results. You only pay for awards saved.

No browser, no proxies, no login, no SAM.gov account, no API key.

### What's in the federal contract awards list?

- Winning company name, UEI, CAGE code, parent company
- Award ID (PIID), award type (definitive contract, purchase order, delivery order, BPA call; optional new IDIQ/BPA/GWAC vehicles), parent IDV
- Award amount (obligated), base and all options value, award date, period of performance
- Awarding department, sub-agency and contracting office, funding agency
- NAICS code and industry, PSC code and description, description of the requirement
- Set-aside type, extent competed, number of offers received, solicitation ID, pricing type
- Winner's business address, city, state, ZIP and business phone as registered for federal contracting
- Small business, veteran-owned, service-disabled veteran-owned, woman-owned, 8(a), HUBZone flags
- Place of performance (city, state, ZIP) and a link to the award on USAspending.gov

**Source:** Federal Procurement Data System (FPDS, run by GSA) public ATOM feed. If that feed is ever unavailable, the Actor automatically switches to the USAspending.gov API (US Treasury).

#### Sample rows (real output, a few columns)

| `recipientName` | `awardingAgency` | `naicsCode` | `awardAmount` | `setAside` | `recipientCity` | `recipientState` | `awardDate` |
|---|---|---|---|---|---|---|---|
| CLC SERVICES INC | Department of Veterans Affairs | 562211 | 140,000 | Service Disabled Veteran Owned Small Business Set-Aside | Pleasanton | TX | 2026-11-03 |
| SUNTIFF, LLC | Department of Veterans Affairs | 238990 | 158,880 | Service Disabled Veteran Owned Small Business Set-Aside | Commerce | CA | 2026-11-02 |
| A.M. COMMUNICATIONS SOLUTIONS, INC. | Department of Veterans Affairs | 238210 | 143,885 | Small Business Set Aside - Total | Dover | PA | 2026-11-02 |
| NORTH STAR IMPORTS, LLC | Department of Justice | 424430 | 36,684 | Small Business Set Aside - Total | Saint Paul | MN | 2026-11-02 |

### Who uses this

- **Subcontractors and suppliers** finding primes that just won work in their trade and state (construction, janitorial, IT, staffing, equipment).
- **Government contractors** doing competitive intelligence: who is winning in your NAICS codes, at what price, with how many bidders.
- **B2B sales teams, lenders and factoring companies** reaching small businesses right after a contract win (they need bonding, financing, payroll, insurance, equipment and hires).
- **Business development consultants, APEX/PTAC advisors and analysts** tracking set-aside awards (SDVOSB, 8(a), HUBZone, WOSB).
- **Journalists and researchers** following federal spending by agency and state.

Pair it with [federal-opportunities](https://apify.com/loomwise/federal-opportunities) to see open SAM.gov solicitations *before* award, then use this Actor to see who won.

### Input

| Field | What it does | Default |
|---|---|---|
| `withinDays` | Awards signed in the last N days | 7 |
| `dateFrom` / `dateTo` | Exact award-date window | none |
| `recipientStates` | Winner's state, e.g. `TX`, `VA`, `CA` | all |
| `placeOfPerformanceStates` | Where the work is done | all |
| `naicsCodes` | NAICS codes or prefixes, e.g. `23`, `541512`, `561720` | all |
| `pscCodes` | Product/service code prefixes, e.g. `Z1`, `R4`, `D3` | all |
| `setAsideTypes` | `SBA`, `8A`, `HZC`, `SDVOSBC`, `WOSB`, `EDWOSB`, `VSA`, `NONE`... | all |
| `agencies` | Department name contains, e.g. `Veterans Affairs`, `Defense`, `Homeland Security` | all |
| `keywords` | Words in the award description, e.g. `roofing`, `janitorial`, `cybersecurity` | none |
| `minAmount` / `maxAmount` | Award size in USD | none |
| `includeIdvs` | Also return newly awarded IDIQs, BPAs, GWACs and FSS vehicles | false |
| `excludeIndividuals` | Leave out awards to private individuals | true |
| `maxResults` | Cap (you pay per result) | 500 |

Example: construction contracts won by Texas companies this week:

```json
{ "recipientStates": ["TX"], "naicsCodes": ["23"], "withinDays": 7 }
```

Example: every service-disabled veteran-owned set-aside award over $100,000 in the last 30 days:

```json
{ "setAsideTypes": ["SDVOSBC"], "minAmount": 100000, "withinDays": 30, "maxResults": 5000 }
```

Example: IT services awards (NAICS 5415) in Virginia, Maryland and DC, including new IDIQ vehicles:

```json
{ "recipientStates": ["VA", "MD", "DC"], "naicsCodes": ["5415"], "includeIdvs": true, "withinDays": 14 }
```

### Privacy by design

- **Companies only.** Awards to private individuals (sole proprietors under a personal name) and redacted recipients are skipped by default.
- **No government staff names or emails.** FPDS records the contracting officer who entered each award; that is never output.
- The phone and address are the winner's **business** contact details as registered for federal contracting. Apartment-style addresses are withheld.

### Tips

- Agencies report most awards within 3 business days, and some (often DoD) later. For a daily feed, schedule a run with `withinDays: 5` and dedupe on `generatedAwardId`.
- Filters on state, NAICS, set-aside and amount are applied at the source and are fast. Agency, keyword and PSC filters are applied as records stream in, so combine them with a state or NAICS filter on long date ranges.
- Award amount is what was obligated at signing; `baseAndAllOptionsValue` shows the full potential value with options.
- `RUN_SUMMARY` in the key-value store shows how many awards were scanned per day and which source was used.

Data: Federal Procurement Data System (GSA) and USAspending.gov public data. Not affiliated with or endorsed by GSA, SAM.gov or the US Treasury. Verify on SAM.gov or USAspending.gov before acting.

### Common questions about federal contract awards data

**How do I get a list of companies that won government contracts without coding?** Press **Try for free**, set the winner's state, NAICS code or set-aside (or keep the defaults), press **Start**, then open the **Storage** tab and export the results as Excel, CSV or JSON. A one-week run for one state takes under a minute.

**Is this the same data as SAM.gov contract award search?** Yes. SAM.gov contract awards, FPDS and USAspending.gov all show the same official federal procurement records. This Actor gives them to you as a spreadsheet without a SAM.gov login.

**How much does it cost?** Free to try: Apify's free plan ($5/month credit, no credit card) covers about 5,000 awards a month. After that it is $0.90 per 1,000 results (pay per result), plus a fraction of a cent per run.

**Can I get new contract awards automatically every day?** Yes. Save your filters as a task and add a **Schedule** (daily or weekly). Connect Google Sheets, Slack, email, Zapier, Make or n8n under **Integrations** to receive each new batch.

**Can I call it from code or an AI agent?** Yes. Use the Apify API or the Python/JavaScript clients, or connect it to Claude, ChatGPT or Cursor through the Apify MCP server.

### More public-data lead tools from Loomwise

- [us-new-business-filings](https://apify.com/loomwise/us-new-business-filings): All states in one run: new business filings and new LLCs from 17 official sources in 13 states (FL, TX, OR, CO, NY, CT, DE, CA, IL, PA, WA, VA, LA), $1.50 per 1,000
- [us-contractor-licenses](https://apify.com/loomwise/us-contractor-licenses): All states in one run: contractor license search across 13 official sources in 9 states (CA, WA, OR, TX, NY incl. NYC DOB, MD, TN, OH, CO), $1.50 per 1,000
- [florida-new-business-filings](https://apify.com/loomwise/florida-new-business-filings): New Florida LLCs and corporations every business day from official Sunbiz data
- [california-contractor-licenses](https://apify.com/loomwise/california-contractor-licenses): California CSLB contractor license list: 120,000+ licensed businesses with workers comp and bond
- [fmcsa-new-trucking-companies](https://apify.com/loomwise/fmcsa-new-trucking-companies): New trucking companies from FMCSA: new USDOT/MC carriers with fleet size and phone
- [federal-opportunities](https://apify.com/loomwise/federal-opportunities): SAM.gov federal contract opportunities and Grants.gov grants (no API key)
- [sec-form-d-funding-leads](https://apify.com/loomwise/sec-form-d-funding-leads): SEC Form D filings: newly funded startups and private companies with amount raised, every business day
- [city-building-permits](https://apify.com/loomwise/city-building-permits): Building permits from 50 US cities and counties (contractor, solar, roofing, ADU leads)
- [new-york-contractor-registry](https://apify.com/loomwise/new-york-contractor-registry): Newly registered New York State contractors with compliance flags
- [wa-contractor-licenses](https://apify.com/loomwise/wa-contractor-licenses): Washington State L\&I contractor licenses, new registrations daily
- [oregon-contractor-licenses](https://apify.com/loomwise/oregon-contractor-licenses): Oregon CCB contractor licenses with bond and insurance details
- [connecticut-business-licenses](https://apify.com/loomwise/connecticut-business-licenses): Connecticut business and contractor credentials (new licenses, renewals)
- [texas-contractor-licenses](https://apify.com/loomwise/texas-contractor-licenses): Texas TDLR A/C (HVAC) and electrical contractor licenses
- [texas-new-business-leads](https://apify.com/loomwise/texas-new-business-leads): New Texas businesses from Comptroller sales tax permits
- [colorado-new-business-filings](https://apify.com/loomwise/colorado-new-business-filings): New Colorado LLCs and corporations from the Secretary of State, daily
- [new-york-new-business-filings](https://apify.com/loomwise/new-york-new-business-filings): New New York LLCs and corporations from the Department of State, daily
- [connecticut-new-business-registrations](https://apify.com/loomwise/connecticut-new-business-registrations): New Connecticut businesses with NAICS industry codes, daily
- [oregon-electrical-plumbing-contractors](https://apify.com/loomwise/oregon-electrical-plumbing-contractors): Oregon electrical, plumbing, HVAC/R and solar contractor businesses (BCD)
- [california-new-business-leads](https://apify.com/loomwise/california-new-business-leads): New California businesses in Los Angeles and San Francisco with NAICS codes
- [illinois-chicago-new-business-licenses](https://apify.com/loomwise/illinois-chicago-new-business-licenses): New Chicago, Illinois business licenses, daily
- [pennsylvania-philadelphia-business-licenses](https://apify.com/loomwise/pennsylvania-philadelphia-business-licenses): New Philadelphia, Pennsylvania business licenses, daily

# Actor input Schema

## `withinDays` (type: `integer`):

New contract awards whose base obligation date falls in the last N days. Ignored when Date from is set. Agencies report to USAspending within a few days of award, so the last 2-3 days fill in over time.

## `dateFrom` (type: `string`):

Optional exact start date (award date).

## `dateTo` (type: `string`):

Optional exact end date. Default today.

## `recipientStates` (type: `array`):

2-letter codes of the winning company's state, e.g. TX, VA, CA. Leave empty for all states.

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

2-letter codes of where the work is done. Leave empty for all.

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

NAICS codes or prefixes (2-6 digits), e.g. 23 (construction), 541512 (computer systems design), 561720 (janitorial). Leave empty for all industries.

## `pscCodes` (type: `array`):

Federal PSC codes or prefixes, e.g. Z1, R4, D3. Leave empty for all.

## `agencies` (type: `array`):

Department names (partial match), e.g. Veterans Affairs, Defense, Homeland Security, General Services. Leave empty for all agencies.

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

Words to search in award descriptions, e.g. roofing, cybersecurity, janitorial (3+ characters).

## `setAsideTypes` (type: `array`):

Keep only these set-asides: SBA (total small business), SBP (partial small business), 8A, 8AN (8(a) sole source), HZC/HZS (HUBZone), SDVOSBC/SDVOSBS (service-disabled veteran), WOSB/WOSBSS, EDWOSB/EDWOSBSS, VSA/VSS (veteran), NONE (no set-aside).

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

Only awards worth at least this many dollars, e.g. 100000.

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

Only awards up to this many dollars (useful to find small contracts).

## `includeIdvs` (type: `boolean`):

Also return newly awarded indefinite-delivery vehicles (IDIQs, BPAs, GWACs, FSS). Off by default: you get definitive contracts, purchase orders, delivery/task orders and BPA calls.

## `includeDetails` (type: `boolean`):

Adds set-aside, extent competed, number of offers, solicitation ID, pricing type and the winner's small-business / veteran / woman-owned / 8(a) designations. One extra API call per award (slower).

## `excludeIndividuals` (type: `boolean`):

Skip awards whose winner looks like a private person (sole proprietor under a personal name) and redacted recipients. Companies only.

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

Stop after this many awards. You are only charged for results saved. Within each day, the largest awards come first.

## Actor input object example

```json
{
  "withinDays": 7,
  "recipientStates": [
    "TX"
  ],
  "naicsCodes": [
    "23"
  ],
  "includeIdvs": false,
  "includeDetails": true,
  "excludeIndividuals": true,
  "maxResults": 100
}
```

# Actor output Schema

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

No description

## `runSummary` (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 = {
    "withinDays": 7,
    "recipientStates": [
        "TX"
    ],
    "naicsCodes": [
        "23"
    ],
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("loomwise/federal-contract-awards").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 = {
    "withinDays": 7,
    "recipientStates": ["TX"],
    "naicsCodes": ["23"],
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("loomwise/federal-contract-awards").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "withinDays": 7,
  "recipientStates": [
    "TX"
  ],
  "naicsCodes": [
    "23"
  ],
  "maxResults": 100
}' |
apify call loomwise/federal-contract-awards --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,loomwise/federal-contract-awards"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/8iOUv16S7qDx33Psy/builds/ay3Zt5gVFsmjqAhXg/openapi.json
