# US Gov Contracts Intel - SAM.gov + USAspending Opp Hunter (`seibs.co/us-gov-contracts-intel`) Actor

$700B/year US federal contract intel. Active opportunities (SAM.gov), historical awards (USAspending), re-compete radar, vendor competitive intel, set-aside filter (8(a)/WOSB/SDVOSB/HUBZone). For B2B vendors selling to government.

- **URL**: https://apify.com/seibs.co/us-gov-contracts-intel.md
- **Developed by:** [Seibs.co](https://apify.com/seibs.co) (community)
- **Categories:** Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 opportunity records

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

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

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

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

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

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

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

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

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## US Gov Contracts Intel

Mines the $700B/year US federal contract market through SAM.gov and USAspending - opportunities, awards, recompete radar, vendor intel, set-aside filters.

### What does US Gov Contracts Intel do?

It pulls and intelligence-classifies records from two official public APIs - SAM.gov Opportunities v2 (active RFPs / RFIs / sources sought / synopses / award notices) and USAspending v2 ($7T+ of historical contract awards back to 2000, plus FPDS subaward data). Both are free; SAM.gov requires a free API key.

### Features

- Active opportunity monitor - filter live SAM.gov opportunities by NAICS, agency, value range, set-aside type, response-deadline window.
- Historical award analysis - last N years of awards for any agency or vendor via USAspending.
- Re-compete radar - flag contracts whose period of performance ends inside the next 6 / 12 / 18 months.
- Vendor competitive intel - given a vendor name or UEI/DUNS, returns total federal revenue, agencies served, NAICS distribution, win count, prime-vs-sub split, largest awards, first/last award dates.
- Subcontractor opportunity feed - subaward data for smaller vendors winning under big primes.
- Set-aside filter - 8(a) / WOSB / EDWOSB / SDVOSB / VOSB / HUBZone / IndianEconomic only.

### Use cases

- B2B vendors selling INTO the federal government building daily opportunity feeds.
- Capture / business-development teams scoring win-loss against agencies they target.
- GovCon consultants building competitive vendor profiles for clients.
- Teaming opportunity discovery via subaward data (find the primes who routinely sub).
- Recompete pipeline planning 12-18 months ahead of incumbent contracts.
- Federal market analysts tracking set-aside flow and small-business contracting trends.

### FAQ

**Q: Is this legal?**
A: Yes. SAM.gov and USAspending.gov are official US-government public-data systems. Every record this actor pulls is mandated-public under federal transparency law (FFATA / DATA Act). No login is required to read this data.

**Q: Do I need a SAM.gov API key?**
A: Yes for any mode that hits `active_opportunities` or `set_aside_only` (SAM.gov's Opportunities API requires an API key). The key is free - sign up at https://sam.gov, request a key from your Account Details > API Key panel. USAspending.gov modes (`historical_awards`, `recompete_radar`, `vendor_intel`, `subcontracts`) do not require any key.

**Q: Why might a run fail?**
A: The three most common failure modes are (1) missing or invalid SAM.gov API key for opportunity modes, (2) SAM.gov rate limits (1,000 requests/day per key - the actor handles backoff but a heavy run may need a higher-tier key), and (3) overly broad NAICS / PSC filters returning millions of records - narrow your filters or split into per-agency runs.

**Q: How fresh is the data?**
A: SAM.gov active opportunities update in near-real-time as agencies post solicitations. USAspending awards lag by 30-90 days as agencies report obligations. Subaward data lags by 30 days from prime-contract obligation. The actor stamps every record with its source-system load date so you can compute true freshness.

**Q: Can I schedule this daily or weekly?**
A: Yes. Daily cron is appropriate for `active_opportunities` and `set_aside_only` (new solicitations drop every business day). Weekly is appropriate for `historical_awards` and `vendor_intel`. Monthly is appropriate for `recompete_radar` (12-18 month look-ahead planning). Apify Schedules + dedupe on `notice_id` (opportunities) or `award_id_piid` (awards) gives clean deltas.

**Q: Does it integrate with my CRM or data tooling?**
A: Yes. Apify webhooks POST every run to HubSpot, Salesforce, Pipedrive, Apollo, or any HTTP endpoint. Zapier, Make.com, and n8n templates available. Dataset exports as JSON / CSV / Excel / XML for Salesforce GovCon Cloud, GovTribe, or your in-house capture system.

**Q: How does pricing work?**
A: PAY_PER_EVENT. You pay per opportunity / award / subaward record emitted, with surcharges on enriched vendor-intel rollups. You only pay for what the actor actually emits.

### Related Actors

- [sec-edgar-intel](https://apify.com/) - pull SEC filings for the public companies you find in vendor-intel rollups (8-K M&A, going-concern, executive departures) before pitching them as teaming partners.
- [b2b-sales-triggers](https://apify.com/) - convert award notifications and recompete-radar windows into outbound sales triggers for your BD / capture team.
- [uspto-patent-intel](https://apify.com/) - check IP portfolio of competitors and teaming candidates before submitting a proposal.

### Integrations

- Zapier - push to HubSpot/Salesforce/Pipedrive/Apollo
- Make.com - workflow automation
- n8n - self-hosted automation
- Apify webhooks - POST to your endpoint
- API + dataset export (JSON/CSV/Excel/XML)
- MCP / AI agents - call from Claude/GPT/LangChain

### Modes

| Mode | Source | SAM.gov key needed? |
|---|---|---|
| `active_opportunities` | SAM.gov | yes |
| `historical_awards` | USAspending | no |
| `recompete_radar` | USAspending | no |
| `vendor_intel` | USAspending | no |
| `subcontracts` | USAspending subaward | no |
| `set_aside_only` | SAM.gov filtered | yes |

### Input

See `.actor/INPUT_SCHEMA.json`. Sample: every active 8(a) IT services opportunity in VA/MD/DC closing in 30 days:

```json
{
    "mode": "set_aside_only",
    "sam_gov_api_key": "YOUR_KEY",
    "naics_codes": ["541512", "541511", "541519"],
    "set_aside_types": ["8(a)"],
    "place_of_performance_state": ["VA", "MD", "DC"],
    "response_deadline_days": 30,
    "max_results": 500
}
````

DOD IT contracts expiring in the next 12 months (recompete pipeline):

```json
{
    "mode": "recompete_radar",
    "naics_codes": ["541512"],
    "agencies": ["Department of Defense"],
    "recompete_window_months": 12,
    "min_value_usd": 1000000,
    "max_results": 500
}
```

### Output

**Sample output:** [`.actor/sample-output.json`](./.actor/sample-output.json) — copy-paste-ready preview of real-looking records.

First record inline:

```json
{
  "scraped_at": "2026-05-13T21:02:14Z",
  "mode": "opportunity_search",
  "source": "sam_gov",
  "available": true,
  "reason": null,
  "notice_id": "fa872126r0042",
  "solicitation_number": "FA8721-26-R-0042",
  "title": "C-130J Avionics Sustainment & Engineering Support Services",
  "description": "The Air Force Life Cycle Management Center seeks engineering and sustainment support for the C-130J avionics suite, including software maintenance, hardware refresh planning, and integration of next-generation comms upgrades over a 5-year base + 5 option years.",
  "opportunity_type": "Solicitation",
  "contract_type": "IDIQ",
  "set_aside": null,
  "set_aside_description": null,
  "naics": "541330",
  "naics_description": "Engineering Services",
  "classification_code": "AC23",
  "agency": "Department of Defense",
  "sub_agency": "Department of the Air Force",
  "office": "Air Force Life Cycle Management Center / WLNN",
  "agency_code": "5700",
  "place_of_performance": {
    "city": "Robins AFB",
    "state": "GA",
    "zip": "31098",
    "country": "United States",
    "country_code": "USA"
  },
  "response_deadline": "2026-07-22T17:00:00Z",
  "posted_date": "2026-05-08T13:00:00Z",
  "archive_date": "2026-08-22T17:00:00Z",
  "action_date": null,
  "award_amount": null,
  "base_and_all_options_value": 480000000.0,
  "total_obligated_amount": null,
  "recipient_name": null,
  "recipient_uei": null,
  "recipient_duns": null,
  "recipient_address": null,
  "period_of_performance_start": "2026-10-01",
  "period_of_performance_end": "2031-09-30",
  "url": "https://sam.gov/opp/fa872126r0042/view",
  "raw_links": [
    {
      "label": "Attachment_J1_PWS.pdf",
      "url": "https://sam.gov/api/prod/opps/v3/opportunities/fa872126r0042/resources/J1.pdf"
    }
  ],
  "recompete_months_remaining": null,
  "recompete_window_months": null,
  "is_recompete_candidate": null,
  "prime_recipient_name": null,
  "prime_award_id": null,
  "subaward_type": null,
  "vendor_metrics": null
}
```

Every record is normalized to one shape regardless of source. Sample:

```json
{
    "scraped_at": "2026-05-14T12:00:00Z",
    "mode": "recompete_radar",
    "source": "usaspending",
    "available": true,
    "title": "IT Services Recompete Vehicle - DoD CIO",
    "agency": "Department of Defense",
    "naics": "541512",
    "set_aside": "8(a)",
    "recipient_name": "Booz Allen Hamilton",
    "base_and_all_options_value": 12500000,
    "period_of_performance_end": "2027-03-31",
    "recompete_months_remaining": 10.5,
    "is_recompete_candidate": true,
    "url": "https://www.usaspending.gov/award/CONT_AWD_..."
}
```

Failed lookups still emit a row with `available: false` and a `reason`.

### Pricing

Pay-per-event:

| Event | Price |
|---|---|
| `opportunity_record` | $0.005 |
| `award_record` | $0.005 |
| `recompete_alert` | $0.010 |
| `vendor_intel_record` | $0.015 |
| `subcontract_record` | $0.005 |

### FAQ

**Q: Do I need a SAM.gov API key?**
A: Only for SAM.gov-backed modes (`active_opportunities`, `set_aside_only`). USAspending modes need no key. Get a free SAM key at https://open.gsa.gov/api/get-opportunities-public-api/ in five minutes.

**Q: How often is USAspending data refreshed?**
A: USAspending updates nightly from FPDS / FABS. Action dates older than 24 hours should appear in the feed.

**Q: Does this hit PACER, FedBizOpps legacy, or DLA-only feeds?**
A: No - SAM.gov and USAspending only. Both are the canonical post-2017 government feeds and cover the active vendor universe.

**Q: How does the recompete classifier work?**
A: It computes months between today and `period_of_performance_end`. Contracts inside `recompete_window_months` are tagged `is_recompete_candidate: true` with `recompete_months_remaining` populated.

### Support

Open an issue on the actor's GitHub or contact the maintainer through Apify Store. Include the run ID and the mode + input config used.

### Changelog

See [CHANGELOG.md](./CHANGELOG.md).

# Actor input Schema

## `mode` (type: `string`):

active\_opportunities = open RFPs/RFIs from SAM.gov (needs SAM.gov API key). historical\_awards = past awards via USAspending (no key). recompete\_radar = contracts expiring soon (needs SAM.gov key). vendor\_intel = competitive profile of one vendor (no key). subcontracts = FPDS subcontract awards (no key). set\_aside\_only = small-biz / minority / veteran / women-owned opps only (needs SAM.gov key).

## `sam_gov_api_key` (type: `string`):

Your free SAM.gov API key. Get one in 5 minutes at https://open.gsa.gov/api/get-opportunities-public-api/ (sign in with login.gov, request a key from your profile). Required for active\_opportunities, recompete\_radar, and set\_aside\_only modes. Leave empty for USAspending-only modes (historical\_awards, vendor\_intel, subcontracts).

## `naics_codes` (type: `array`):

6-digit NAICS codes to filter by. Examples: '541512' (computer systems design), '541330' (engineering services), '236220' (commercial building construction), '561210' (facilities support), '339112' (surgical & medical instruments). Empty = no NAICS filter.

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

Department / agency names or codes. Examples: 'Department of Defense', 'DOD', 'GSA', 'DHS', 'Department of Veterans Affairs', 'NASA'. Matched case-insensitive as substrings. Empty = all agencies.

## `vendor_name` (type: `string`):

For vendor\_intel mode: exact or partial vendor / recipient name. Used as a USAspending recipient\_search\_text filter. Examples: 'Lockheed Martin', 'Booz Allen', 'Acme Engineering LLC'.

## `vendor_uei` (type: `string`):

Alternative to vendor\_name. SAM Unique Entity ID (12 chars) or legacy 9-digit DUNS. Most precise way to look up a single vendor.

## `min_value_usd` (type: `integer`):

Contract / award value floor. 0 = no minimum. Useful for filtering out micropurchases.

## `max_value_usd` (type: `integer`):

Contract / award value ceiling. 0 = no maximum.

## `date_from` (type: `string`):

Lower bound for posted\_date (active opps) or action\_date (historical awards). Format: YYYY-MM-DD. Empty = mode default (last 90 days for active opps, last 5 years for awards).

## `date_to` (type: `string`):

Upper bound for posted\_date / action\_date. Format: YYYY-MM-DD. Empty = today.

## `place_of_performance_state` (type: `array`):

Two-letter US state codes for where work is performed. Examples: 'VA', 'MD', 'DC', 'CA', 'TX'. Empty = nationwide.

## `set_aside_types` (type: `array`):

Filter to specific small-business set-asides. Valid: SBA, 8(a), WOSB, EDWOSB, SDVOSB, VOSB, HUBZone, IndianEconomic. Empty = no set-aside filter (or, in set\_aside\_only mode, all set-asides). Multiple = OR.

## `response_deadline_days` (type: `integer`):

For active\_opportunities mode: only emit opps whose response deadline is within this many days from now. 30 = upcoming month. 7 = urgent only.

## `recompete_window_months` (type: `integer`):

For recompete\_radar mode: how far ahead to look for contracts whose period-of-performance ends. 12 = next year. Re-competes are the #1 source of vendor pipeline.

## `include_subcontracts` (type: `boolean`):

If true and mode = historical\_awards or vendor\_intel, also pull subcontract awards (smaller vendors winning under big primes). Lower revenue per record but excellent for finding emerging vendors.

## `max_results` (type: `integer`):

Hard cap on emitted records. Page size is 100 (SAM.gov) or 100 (USAspending); we stop once max\_results is reached.

## `use_apify_proxy` (type: `boolean`):

Route requests through Apify Proxy. Neither SAM.gov nor USAspending anti-bots aggressively, so off is fine. Turn on if you hit rate limits.

## `apify_proxy_groups` (type: `array`):

Apify Proxy groups to use if use\_apify\_proxy is true. DATACENTER is cheapest and fine for these APIs.

## Actor input object example

```json
{
  "mode": "historical_awards",
  "naics_codes": [
    "541512"
  ],
  "agencies": [],
  "min_value_usd": 0,
  "max_value_usd": 0,
  "date_from": "2026-01-01",
  "place_of_performance_state": [],
  "set_aside_types": [],
  "response_deadline_days": 30,
  "recompete_window_months": 12,
  "include_subcontracts": false,
  "max_results": 25,
  "use_apify_proxy": false,
  "apify_proxy_groups": [
    "DATACENTER"
  ]
}
```

# Actor output Schema

## `datasetItems` (type: `string`):

Narrow, token-efficient slice of every record. Consumer: LLM agents (Claude, GPT, LangChain tools), MCP hosts, dashboards. Intel fields: opportunity title, agency, NAICS, posted date, response deadline, set-aside, award $, URL.

## `datasetItemsDetailed` (type: `string`):

All fields for every record. Consumer: humans browsing the dataset in the Apify UI, RAG ingest pipelines, and full backups. Larger payload — not recommended as a direct LLM tool response.

## `datasetItemsUnwind` (type: `string`):

Same records, but each element of the `recompete` array is promoted to its own row. Consumer: Zapier / Make / n8n / Google Sheets users who want one row per item, and LLM agents that prefer flat rows over nested arrays.

## `datasetItemsMcp` (type: `string`):

First 50 overview records as a clean JSON array. Wrap on the agent side in an MCP tool-call response envelope, e.g. `{ "ok": true, "data": <this array>, "meta": { "actor": "us-gov-contracts-intel", "count": <len>, "view": "overview" } }`. Consumer: MCP servers, Claude Desktop, Cursor, OpenAI Assistants tool calls.

## `datasetItemsCsv` (type: `string`):

Spreadsheet-friendly export of the overview view. Consumer: humans, sales-ops teams, Excel / Google Sheets users.

# 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 = {
    "mode": "historical_awards",
    "naics_codes": [
        "541512"
    ],
    "date_from": "2026-01-01",
    "max_results": 25
};

// Run the Actor and wait for it to finish
const run = await client.actor("seibs.co/us-gov-contracts-intel").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 = {
    "mode": "historical_awards",
    "naics_codes": ["541512"],
    "date_from": "2026-01-01",
    "max_results": 25,
}

# Run the Actor and wait for it to finish
run = client.actor("seibs.co/us-gov-contracts-intel").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 '{
  "mode": "historical_awards",
  "naics_codes": [
    "541512"
  ],
  "date_from": "2026-01-01",
  "max_results": 25
}' |
apify call seibs.co/us-gov-contracts-intel --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=seibs.co/us-gov-contracts-intel",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "US Gov Contracts Intel - SAM.gov + USAspending Opp Hunter",
        "description": "$700B/year US federal contract intel. Active opportunities (SAM.gov), historical awards (USAspending), re-compete radar, vendor competitive intel, set-aside filter (8(a)/WOSB/SDVOSB/HUBZone). For B2B vendors selling to government.",
        "version": "0.1",
        "x-build-id": "e1T7GYDTpM9cM2BpN"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/seibs.co~us-gov-contracts-intel/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-seibs.co-us-gov-contracts-intel",
                "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/seibs.co~us-gov-contracts-intel/runs": {
            "post": {
                "operationId": "runs-sync-seibs.co-us-gov-contracts-intel",
                "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/seibs.co~us-gov-contracts-intel/run-sync": {
            "post": {
                "operationId": "run-sync-seibs.co-us-gov-contracts-intel",
                "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",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "active_opportunities",
                            "historical_awards",
                            "recompete_radar",
                            "vendor_intel",
                            "subcontracts",
                            "set_aside_only"
                        ],
                        "type": "string",
                        "description": "active_opportunities = open RFPs/RFIs from SAM.gov (needs SAM.gov API key). historical_awards = past awards via USAspending (no key). recompete_radar = contracts expiring soon (needs SAM.gov key). vendor_intel = competitive profile of one vendor (no key). subcontracts = FPDS subcontract awards (no key). set_aside_only = small-biz / minority / veteran / women-owned opps only (needs SAM.gov key).",
                        "default": "active_opportunities"
                    },
                    "sam_gov_api_key": {
                        "title": "SAM.gov API key (free)",
                        "type": "string",
                        "description": "Your free SAM.gov API key. Get one in 5 minutes at https://open.gsa.gov/api/get-opportunities-public-api/ (sign in with login.gov, request a key from your profile). Required for active_opportunities, recompete_radar, and set_aside_only modes. Leave empty for USAspending-only modes (historical_awards, vendor_intel, subcontracts)."
                    },
                    "naics_codes": {
                        "title": "NAICS codes",
                        "type": "array",
                        "description": "6-digit NAICS codes to filter by. Examples: '541512' (computer systems design), '541330' (engineering services), '236220' (commercial building construction), '561210' (facilities support), '339112' (surgical & medical instruments). Empty = no NAICS filter.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "agencies": {
                        "title": "Agencies / departments",
                        "type": "array",
                        "description": "Department / agency names or codes. Examples: 'Department of Defense', 'DOD', 'GSA', 'DHS', 'Department of Veterans Affairs', 'NASA'. Matched case-insensitive as substrings. Empty = all agencies.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "vendor_name": {
                        "title": "Vendor name (vendor_intel mode)",
                        "type": "string",
                        "description": "For vendor_intel mode: exact or partial vendor / recipient name. Used as a USAspending recipient_search_text filter. Examples: 'Lockheed Martin', 'Booz Allen', 'Acme Engineering LLC'."
                    },
                    "vendor_uei": {
                        "title": "Vendor UEI / DUNS (vendor_intel mode)",
                        "type": "string",
                        "description": "Alternative to vendor_name. SAM Unique Entity ID (12 chars) or legacy 9-digit DUNS. Most precise way to look up a single vendor."
                    },
                    "min_value_usd": {
                        "title": "Minimum contract value (USD)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Contract / award value floor. 0 = no minimum. Useful for filtering out micropurchases.",
                        "default": 0
                    },
                    "max_value_usd": {
                        "title": "Maximum contract value (USD)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Contract / award value ceiling. 0 = no maximum.",
                        "default": 0
                    },
                    "date_from": {
                        "title": "Date from (YYYY-MM-DD)",
                        "type": "string",
                        "description": "Lower bound for posted_date (active opps) or action_date (historical awards). Format: YYYY-MM-DD. Empty = mode default (last 90 days for active opps, last 5 years for awards)."
                    },
                    "date_to": {
                        "title": "Date to (YYYY-MM-DD)",
                        "type": "string",
                        "description": "Upper bound for posted_date / action_date. Format: YYYY-MM-DD. Empty = today."
                    },
                    "place_of_performance_state": {
                        "title": "Place of performance state(s)",
                        "type": "array",
                        "description": "Two-letter US state codes for where work is performed. Examples: 'VA', 'MD', 'DC', 'CA', 'TX'. Empty = nationwide.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "set_aside_types": {
                        "title": "Set-aside types",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Filter to specific small-business set-asides. Valid: SBA, 8(a), WOSB, EDWOSB, SDVOSB, VOSB, HUBZone, IndianEconomic. Empty = no set-aside filter (or, in set_aside_only mode, all set-asides). Multiple = OR.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "response_deadline_days": {
                        "title": "Response deadline window (days)",
                        "minimum": 1,
                        "maximum": 365,
                        "type": "integer",
                        "description": "For active_opportunities mode: only emit opps whose response deadline is within this many days from now. 30 = upcoming month. 7 = urgent only.",
                        "default": 30
                    },
                    "recompete_window_months": {
                        "title": "Re-compete window (months)",
                        "minimum": 1,
                        "maximum": 36,
                        "type": "integer",
                        "description": "For recompete_radar mode: how far ahead to look for contracts whose period-of-performance ends. 12 = next year. Re-competes are the #1 source of vendor pipeline.",
                        "default": 12
                    },
                    "include_subcontracts": {
                        "title": "Include subcontracts (FPDS subaward data)",
                        "type": "boolean",
                        "description": "If true and mode = historical_awards or vendor_intel, also pull subcontract awards (smaller vendors winning under big primes). Lower revenue per record but excellent for finding emerging vendors.",
                        "default": false
                    },
                    "max_results": {
                        "title": "Max records",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Hard cap on emitted records. Page size is 100 (SAM.gov) or 100 (USAspending); we stop once max_results is reached.",
                        "default": 200
                    },
                    "use_apify_proxy": {
                        "title": "Use Apify Proxy",
                        "type": "boolean",
                        "description": "Route requests through Apify Proxy. Neither SAM.gov nor USAspending anti-bots aggressively, so off is fine. Turn on if you hit rate limits.",
                        "default": false
                    },
                    "apify_proxy_groups": {
                        "title": "Proxy groups",
                        "type": "array",
                        "description": "Apify Proxy groups to use if use_apify_proxy is true. DATACENTER is cheapest and fine for these APIs.",
                        "default": [
                            "DATACENTER"
                        ],
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
