# USA Government Contract Scraper (`sigma-dev/usa-government-contract-scraper`) Actor

USA Government Contract Scraper that finds and extracts government RFPs, RFQs, IFBs, and contract opportunities from major procurement platforms. Get structured data including deadlines, agencies, values, contacts, categories, and bid documents.

- **URL**: https://apify.com/sigma-dev/usa-government-contract-scraper.md
- **Developed by:** [Sigma Dev](https://apify.com/sigma-dev) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 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/actors/running/actors-in-store.md#pay-per-usage

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

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

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

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

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

# README

### What does USA Government Contracts Scraper do?

**USA Government Contracts Scraper** extracts **federal contract opportunities from [SAM.gov](https://sam.gov/)** and **contract awards from [USASpending.gov](https://www.usaspending.gov/)** — with **no API key** and no account on either site. Filter by keyword, NAICS, PSC, set-aside type, agency, place of performance and date, and get clean JSON with the full notice description, **points of contact (name, email, phone)**, **attachment download links**, award amounts, recipients and more.

Run it once for a data pull, or put it on a **schedule with "Only new records"** turned on and connect an [integration](https://apify.com/integrations) (email, Slack, Google Sheets, webhook…) to get alerted about new solicitations that match your business. Every run is available via the Apify API and can be exported as JSON, CSV, Excel or XML.

### Why use USA Government Contracts Scraper?

- **Find opportunities to bid on** — open solicitations, combined synopses, presolicitations and sources-sought notices filtered to your NAICS codes, set-aside status and agencies.
- **Research incumbents and competitors** — who won what, from which agency, for how much, under which NAICS/PSC and set-aside; optional award details add competition type, pricing type, parent IDV and the recipient's parent company.
- **Build capture pipelines and CRMs** — contracting officer emails and phone numbers come straight from the notice; attachment URLs let you pull the RFP documents.
- **Monitor without noise** — `onlyNew` remembers what previous runs returned so a scheduled run only outputs genuinely new notices.
- **Scale from a quick check to a full snapshot** — the search API answers targeted queries in seconds; **bulk mode** streams SAM.gov's daily extract of all ~50,000 active notices for full downloads.
- **No API key, no rate-limit lottery** — the official SAM.gov API caps personal keys at 10 requests per day; this Actor doesn't need one.

### How to scrape SAM.gov opportunities and USASpending awards

1. Open the Actor in Apify Console and choose the **Data source**: contract opportunities, contract awards, or both.
2. Add filters — a couple of **keywords**, your **NAICS codes**, **set-aside types** or **agencies** are usually enough. Leave the date window at the default (last 7 days) or widen it.
3. Click **Start**. A run with the default settings finishes in a minute or two.
4. Open the **Output** tab, or download the dataset as JSON, CSV or Excel. Use the **Opportunities** and **Awards** views to see the relevant columns.
5. To monitor for new notices, enable **Only new records**, then create a **Schedule** (e.g. every morning) and add an integration to deliver results.

### Input

All fields are optional. The defaults return opportunities modified in the last 7 days (solicitations, combined synopses, presolicitations and sources sought), with details and attachments, capped at 500 records.

| Field | Description |
|---|---|
| `dataSource` | `opportunities` (SAM.gov), `awards` (USASpending) or `both`. |
| `keywords`, `keywordMode` | Search terms; `any` word, `all` words, or the `exact` phrase. |
| `naicsCodes` | 2–6 digit NAICS codes; shorter codes act as prefixes (`5415` = all computer services). |
| `pscCodes` | Product/Service Codes; prefixes allowed (`DA` = IT and telecom services, `70` = IT products). |
| `setAsideCodes` | SBA, SBP, 8A, 8AN, HZC, HZS, SDVOSBC, SDVOSBS, WOSB, WOSBSS, EDWOSB, EDWOSBSS, LAS, IEE, ISBEE, BICiv, VSA, VSS. |
| `agencies` | Department or sub-agency names or abbreviations: `Department of Defense`, `DoD`, `VA`, `Army`, `Bureau of Prisons`, `NASA`… |
| `states` | Place-of-performance state codes or names. |
| `postedWithinDays` / `postedFrom` / `postedTo` | Rolling or absolute date window (opportunities: last modified date; awards: action date). `postedWithinDays: 0` disables the window. |
| `maxItems` | Cap per run (default 500; `0` = unlimited). |
| `noticeTypes`, `activeOnly`, `responseDeadlineFrom/To` | Opportunity-only filters. |
| `includeDetails`, `includeAttachments` | Fetch the full notice (description, contacts, NAICS, PSC, place of performance) and the attachment list. On by default. |
| `awardTypes`, `awardAmountMin/Max`, `recipientSearch`, `includeAwardDetails` | Award-only filters and enrichment. |
| `onlyNew` | Output only records not returned by earlier runs with the same filters. |
| `bulkMode` | Read opportunities from SAM.gov's daily CSV extract instead of the search API (full snapshots, >10,000 results). |
| `proxyConfiguration` | Optional; both sources work without a proxy. |

Example — new small-business IT solicitations from the Department of Veterans Affairs:

```json
{
    "dataSource": "opportunities",
    "naicsCodes": ["5415"],
    "setAsideCodes": ["SBA", "SDVOSBC"],
    "agencies": ["Department of Veterans Affairs"],
    "noticeTypes": ["o", "k"],
    "postedWithinDays": 7,
    "onlyNew": true
}
```

Example — cybersecurity contracts awarded by DoD in the last 90 days, with award details:

```json
{
    "dataSource": "awards",
    "keywords": ["cybersecurity"],
    "agencies": ["DoD"],
    "postedWithinDays": 90,
    "includeAwardDetails": true,
    "maxItems": 1000
}
```

### Output

Each dataset item is either an opportunity (`recordType: "opportunity"`) or an award (`recordType: "award"`). Shared fields (`id`, `title`, `agency`, `naicsCodes`, `pscCode`, `setAside`, `placeOfPerformance`, `url`) sit at the top level so CSV/Excel exports line up. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Opportunity example (shortened):

```json
{
    "recordType": "opportunity",
    "source": "sam.gov",
    "id": "a4465f9866914944bcc89ad83ac6b023",
    "title": "PKB 90 SFG Armory Camera System (Commodity)",
    "solicitationNumber": "FA461326Q1060",
    "noticeType": { "code": "k", "name": "Combined Synopsis/Solicitation" },
    "status": "active",
    "postedDate": "2026-09-01T22:28:46Z",
    "modifiedDate": "2026-09-01T22:28:46Z",
    "responseDeadline": "2026-09-14T16:00:00Z",
    "archiveDate": "2026-09-29",
    "agency": { "department": "DEPT OF DEFENSE", "subTier": "DEPT OF THE AIR FORCE", "office": "FA4613  90 CONS PK", "organizationId": "500038326" },
    "naicsCodes": ["561621"],
    "pscCode": "6350",
    "setAside": { "code": "SBA", "name": "Total Small Business Set-Aside (FAR 19.5)" },
    "placeOfPerformance": { "city": "FE Warren AFB", "state": "WY", "zip": "82005", "country": "USA" },
    "description": "Combined Synopsis/Solicitation\n\nSolicitation Number: FA461326Q1060 …",
    "descriptionHtml": "<p>Combined Synopsis/Solicitation</p> …",
    "contacts": [
        { "type": "primary", "name": "1st Lt Shane Yurkus", "email": "shane.yurkus@us.af.mil", "phone": "3077734750", "title": null }
    ],
    "attachments": [
        { "name": "Attachment 5 - PWS 1 Sep 26.pdf", "url": "https://sam.gov/api/prod/opps/v3/opportunities/resources/files/faf6da35ff9c4552b2bace4f6bb5bca2/download", "type": "file", "sizeBytes": 585939, "mimeType": "application/pdf", "postedDate": "2026-09-01T22:28:46Z", "access": "public" }
    ],
    "award": null,
    "parentNoticeId": null,
    "url": "https://sam.gov/opp/a4465f9866914944bcc89ad83ac6b023/view",
    "scrapedAt": "2026-09-02T20:41:03Z"
}
```

Award example (shortened):

```json
{
    "recordType": "award",
    "source": "usaspending.gov",
    "id": "CONT_AWD_36C24222P1517_3600_-NONE-_-NONE-",
    "title": "EMS MACHINE MAINTENENCE",
    "awardId": "36C24222P1517",
    "solicitationNumber": "36C24222Q1079",
    "awardType": { "code": "B", "name": "Purchase Order" },
    "status": "active",
    "recipient": { "name": "AMERICAN CUSTODIAL INC", "uei": "CSNWZH2EKLJ9", "parentName": "AMERICAN CUSTODIAL INC", "parentUei": "CSNWZH2EKLJ9", "city": "BUFFALO", "state": "NY", "country": "USA", "recipientId": "d8c83545-…-C" },
    "agency": { "department": "Department of Veterans Affairs", "subTier": "Department of Veterans Affairs", "office": "242-NETWORK CONTRACT OFFICE 02 (36C242)", "organizationId": null },
    "fundingAgency": { "department": "Department of Veterans Affairs", "subTier": "Department of Veterans Affairs" },
    "amounts": { "obligated": 85265.0, "baseAndAllOptions": 85265.0, "baseAndExercisedOptions": 85265.0, "totalOutlays": null },
    "dates": { "start": "2022-09-20", "end": "2027-08-31", "lastModified": "2026-08-31", "signed": "2022-09-20" },
    "naicsCodes": ["811310"],
    "naicsName": "COMMERCIAL AND INDUSTRIAL MACHINERY AND EQUIPMENT (EXCEPT AUTOMOTIVE AND ELECTRONIC) REPAIR AND MAINTENANCE",
    "pscCode": "J079",
    "pscName": "MAINT/REPAIR/REBUILD OF EQUIPMENT- CLEANING EQUIPMENT AND SUPPLIES",
    "setAside": { "code": "SBA", "name": "Total Small Business Set-Aside (FAR 19.5)" },
    "extentCompeted": "FULL AND OPEN COMPETITION",
    "pricingType": "FIRM FIXED PRICE",
    "parentAwardId": null,
    "placeOfPerformance": { "city": "BUFFALO", "state": "NY", "zip": "14215", "country": "USA" },
    "url": "https://www.usaspending.gov/award/CONT_AWD_36C24222P1517_3600_-NONE-_-NONE-",
    "scrapedAt": "2026-09-02T20:45:12Z"
}
```

#### Opportunity fields

| Field | Description |
|---|---|
| `id`, `url` | SAM.gov notice id and public notice page. |
| `title`, `solicitationNumber`, `noticeType` | Notice title, solicitation number and type (`o` Solicitation, `k` Combined Synopsis/Solicitation, `p` Presolicitation, `r` Sources Sought, `a` Award Notice, `s` Special Notice, `u` Justification, `g` Sale of Surplus Property, `i` Intent to Bundle). |
| `status` | `active`, `inactive`, `cancelled`, `archived` or `deleted`. |
| `postedDate`, `modifiedDate`, `responseDeadline`, `archiveDate` | ISO-8601 timestamps (UTC). |
| `agency` | Department, sub-tier, contracting office and SAM.gov organization id. |
| `naicsCodes`, `pscCode`, `setAside` | Industry and product/service codes, set-aside code and name. |
| `placeOfPerformance` | City, state, ZIP and country. |
| `description`, `descriptionHtml` | Full notice text (plain and original HTML). |
| `contacts` | Points of contact with name, email, phone and title. |
| `attachments` | Name, direct download URL, type, size, MIME type, posted date and access level of each attachment. |
| `award` | For award notices: contract number, date, amount and awardee (name, UEI, CAGE, location). |

#### Award fields

| Field | Description |
|---|---|
| `id`, `awardId`, `url` | USASpending internal id, contract number (PIID) and award page. |
| `title` | Award description. |
| `awardType` | BPA Call, Purchase Order, Delivery Order, Definitive Contract, or the IDV type. |
| `status` | `active` while the period of performance is open, `completed` afterwards. |
| `recipient` | Name, UEI, parent company, location; with details also business categories and officers. |
| `agency`, `fundingAgency` | Awarding and funding department / sub-agency (office with details). |
| `amounts` | Obligated amount, base and all options, exercised options, outlays. |
| `dates` | Period of performance start/end, last modified, date signed. |
| `naicsCodes`, `naicsName`, `pscCode`, `pscName` | Industry and product/service codes with descriptions. |
| `setAside`, `extentCompeted`, `pricingType`, `parentAwardId`, `solicitationNumber` | Competition details (require `includeAwardDetails`). |
| `placeOfPerformance` | City, state, ZIP and country. |

### How much does it cost to scrape SAM.gov and USASpending?

The Actor uses pay-per-event pricing:

| Event | Price |
|---|---|
| Actor start | $0.01 per run |
| Opportunity scraped | $0.002 per record (details and attachments included) |
| Award scraped | $0.001 per record (award details included) |

A daily monitor returning 50 new notices costs about $0.11 per run; a 1,000-award research pull costs about $1.01. Apify's free plan includes enough monthly credit to try the Actor.

### Tips

- **Keep `maxItems` reasonable for exploratory runs**, then raise it. Every opportunity with details costs two requests (detail + attachment list); turning off `includeAttachments` halves that.
- **Use NAICS and set-aside filters instead of only keywords** — they run server-side and cut the number of notices to enrich.
- **Search API limit**: a single SAM.gov query returns at most 10,000 notices. The Actor automatically splits wide date windows into smaller ones; for a full snapshot use **bulk mode** with `postedWithinDays: 0`.
- **Bulk mode** reads the daily extract of *active* notices (refreshed nightly). Attachments still require one request per notice, so combine bulk mode with narrow filters or disable `includeAttachments`.
- **Keyword modes**: on SAM.gov `any` matches any single word, `all` requires every word, `exact` matches the phrase. USASpending keywords must be at least 3 characters; `all`/`exact` are applied after fetching.
- **Agency names**: departments and the main sub-tiers are resolved to server-side filters; anything else is matched by name after fetching, which uses a few more requests but stays correct.
- **Department of Defense awards appear with a ~90-day delay** on USASpending (DoD withholds contract data for 90 days). A DoD award search over the last few weeks will legitimately return nothing — widen the window to 90+ days.
- **`onlyNew` state** is stored in the named key-value store `usa-gov-contracts-state`, keyed by a hash of your filters (dates and `maxItems` excluded). Delete that record to reset a monitor.
- The run's key-value store contains a `RUN_SUMMARY` record with request counts and how many records each filter dropped.

### FAQ, disclaimers and support

**Is this legal?** SAM.gov and USASpending publish this data as public information of the U.S. Government. The Actor reads the same endpoints the public websites use, at a polite rate, and stores only what the agencies publish (including contracting officers' business contact details, which agencies publish so vendors can respond to solicitations). Make sure your own use of the data complies with the sites' terms and applicable law.

**Why did my run return fewer records than expected?** Check the `RUN_SUMMARY` record: filters that can't run server-side (state, PSC on SAM.gov; exact phrases on USASpending) are applied after fetching and reported there. `onlyNew` also hides records returned by earlier runs.

**Are attachment files downloaded?** Not in this version — you get direct download URLs that work without a login. File storage and an FPDS award-modification feed are on the roadmap.

**Does it cover state and local procurement, or grants?** No — federal contracts only. Grants.gov and state portals are separate sources.

Found an issue or need a custom field, source or integration? Open a ticket in the **Issues** tab of the Actor, or contact the author for a custom solution.

# Actor input Schema

## `dataSource` (type: `string`):

<b>Contract opportunities</b> are open solicitations, pre-solicitations, sources-sought and award notices from SAM.gov. <b>Contract awards</b> are awarded contracts (who won what, for how much) from USASpending.gov.

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

Search terms matched against title and description, e.g. <code>cybersecurity</code>, <code>janitorial services</code>. Multiple terms are combined according to <b>Keyword mode</b>.

## `keywordMode` (type: `string`):

<b>Any</b> – at least one term must match. <b>All</b> – every term must match. <b>Exact</b> – the exact phrase must appear.

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

Industry codes, 2 to 6 digits. Shorter codes act as prefixes, e.g. <code>5415</code> matches 541511, 541512, 541519.

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

Product/Service Codes, 1 to 4 characters. Shorter codes act as prefixes, e.g. <code>DA</code> matches all IT and telecom services, <code>70</code> all IT products.

## `setAsideCodes` (type: `array`):

Only include notices/awards set aside for these small-business categories.

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

Department or sub-agency names or common abbreviations, e.g. <code>Department of Defense</code>, <code>VA</code>, <code>Army</code>, <code>NASA</code>, <code>Bureau of Prisons</code>. Any of the listed agencies matches.

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

Two-letter US state/territory codes (e.g. <code>VA</code>, <code>TX</code>) or full names. Matches the place of performance.

## `postedWithinDays` (type: `integer`):

Rolling date window. Opportunities: last modified date; awards: action date. Set <code>0</code> for no date limit (ignored when an absolute date range is given).

## `postedFrom` (type: `string`):

Absolute start of the date window. Overrides <b>Posted within last N days</b>.

## `postedTo` (type: `string`):

Absolute end of the date window (inclusive). Defaults to today when only <b>Posted from</b> is set.

## `maxItems` (type: `integer`):

Stop after this many records across all sources. <code>0</code> = no limit (the SAM.gov search API returns at most 10,000 results per query; use <b>Bulk mode</b> for more).

## `noticeTypes` (type: `array`):

Which SAM.gov notice types to include.

## `activeOnly` (type: `boolean`):

Skip archived/expired notices.

## `responseDeadlineFrom` (type: `string`):

Only notices whose response deadline is on or after this date.

## `responseDeadlineTo` (type: `string`):

Only notices whose response deadline is on or before this date.

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

Fetch each notice's detail page for the full description, points of contact, NAICS, PSC, set-aside and place of performance (one extra request per notice). When off, only the fields available in search results are returned and state/PSC filters cannot be applied.

## `includeAttachments` (type: `boolean`):

List each notice's attachments (name, size, type and direct download URL). Adds one request per notice. Files themselves are not downloaded.

## `awardTypes` (type: `string`):

<b>Contracts</b> – definitive contracts, purchase orders, delivery orders and BPA calls. <b>IDVs</b> – indefinite delivery vehicles (IDIQs, GWACs, BPAs, FSS).

## `awardAmountMin` (type: `integer`):

Only awards with an obligated amount at or above this value.

## `awardAmountMax` (type: `integer`):

Only awards with an obligated amount at or below this value.

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

Recipient (vendor) name, UEI or DUNS, e.g. <code>Leidos</code>.

## `includeAwardDetails` (type: `boolean`):

Fetch each award's detail record for competition type, pricing type, parent IDV, recipient parent company and officers (one extra request per award).

## `onlyNew` (type: `boolean`):

Remember which records were already returned by previous runs with the same filters and output only new ones. Combine with a schedule and an integration (email, Slack, webhook) to get alerts for new opportunities.

## `bulkMode` (type: `boolean`):

Read opportunities from SAM.gov's daily public CSV extract (all ~50,000+ active notices, refreshed nightly) instead of the search API. Best for full snapshots or when a query would exceed 10,000 results. All filters are applied locally; details are included automatically.

## `proxyConfiguration` (type: `object`):

Proxy is optional; both data sources answer without one. Enable Apify Proxy if you see rate limiting.

## Actor input object example

```json
{
  "dataSource": "opportunities",
  "keywords": [],
  "keywordMode": "any",
  "naicsCodes": [],
  "pscCodes": [],
  "setAsideCodes": [],
  "agencies": [],
  "states": [],
  "postedWithinDays": 7,
  "maxItems": 500,
  "noticeTypes": [
    "o",
    "k",
    "p",
    "r"
  ],
  "activeOnly": true,
  "includeDetails": true,
  "includeAttachments": true,
  "awardTypes": "contracts",
  "includeAwardDetails": false,
  "onlyNew": false,
  "bulkMode": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

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

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "dataSource": "opportunities",
    "keywords": [],
    "naicsCodes": [],
    "pscCodes": [],
    "setAsideCodes": [],
    "agencies": [],
    "states": [],
    "postedWithinDays": 7,
    "maxItems": 500,
    "noticeTypes": [
        "o",
        "k",
        "p",
        "r"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("sigma-dev/usa-government-contract-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "dataSource": "opportunities",
    "keywords": [],
    "naicsCodes": [],
    "pscCodes": [],
    "setAsideCodes": [],
    "agencies": [],
    "states": [],
    "postedWithinDays": 7,
    "maxItems": 500,
    "noticeTypes": [
        "o",
        "k",
        "p",
        "r",
    ],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("sigma-dev/usa-government-contract-scraper").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 '{
  "dataSource": "opportunities",
  "keywords": [],
  "naicsCodes": [],
  "pscCodes": [],
  "setAsideCodes": [],
  "agencies": [],
  "states": [],
  "postedWithinDays": 7,
  "maxItems": 500,
  "noticeTypes": [
    "o",
    "k",
    "p",
    "r"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call sigma-dev/usa-government-contract-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,sigma-dev/usa-government-contract-scraper"
        }
    }
}

```

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/eKBW69yC152za6Reh/builds/beoDOJK9FWjWSByNs/openapi.json
