# ⚖️ SAM.gov Federal Contractor Exclusions & Debarment Tracker (`nexgendata/sam-gov-federal-contractor-exclusions`) Actor

Daily-refresh US federal contractor exclusions / debarments / suspensions from SAM.gov (FAR §9.4 mandated screening). Name, agency, exclusion program, dates, SAM number, UEI. Bulk CSV (no auth) or live v3 API. Optional fuzzy vendor screening.

- **URL**: https://apify.com/nexgendata/sam-gov-federal-contractor-exclusions.md
- **Developed by:** [NexGenData](https://apify.com/nexgendata) (community)
- **Categories:** Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $150.00 / 1,000 exclusion 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

## ⚖️ SAM.gov Federal Contractor Exclusions & Debarment Tracker

**FAR §9.4 makes federal contractor screening non-optional — this actor wraps the canonical data source.** Every active exclusion, debarment, and suspension on SAM.gov, refreshed daily, normalized into a queryable schema with optional fuzzy-screening for vendor master cross-checks.

Federal Acquisition Regulation Subpart 9.4 ("Debarment, Suspension, and Ineligibility") requires contracting officers to **review the System for Award Management exclusions list before every award** — including subcontracts above the simplified acquisition threshold. The same rule cascades into prime contractors' subcontractor screening, M&A counterparty checks at federal contractor portfolios, and grantee monitoring at every federal grant-making agency. **Buyers don't get to opt out. This actor is the cheapest, cleanest path to that compliance signal at machine scale.**

This actor reads the official daily-refresh public extract published by GSA at `sam.gov/data-services/Exclusions/Public V2`. No third-party rewrite, no aggregator overlay. Every record links back to its `sam_number` and the original bulk file the row was parsed from.

---

### What you get

- **Full active exclusion list** — every excluded individual, firm, and special-entity-designation record currently in force across all federal exclusion programs (Reciprocal, Procurement, Non-Procurement, etc.).
- **Daily refresh** — SAM.gov regenerates the public extract every business morning; new exclusions surface within 24 hours of agency entry.
- **No authentication required (bulk mode)** — the actor downloads the public ZIP directly from SAM.gov's GSA-managed CloudFront distribution. Optional API mode (`mode=api`) uses the live SAM.gov v3 Exclusions API for finer-grained filtering when you have a free SAM_API_KEY.
- **Fuzzy vendor screening** — pass a list of vendor / counterparty names; the actor returns the best-matching active exclusion record per name with a similarity score. Designed to drop straight into a procurement intake or KYC workflow.
- **Normalized schema** — `name`, `dba_name`, `classification_type`, full address breakdown, `exclusion_program`, `exclusion_type`, `agency`, `active_date`, `termination_date`, `sam_number`, `cage`, `npi`, `duns`, `uei`, `cross_reference`, plus a stable `source_url` for audit.

---

### Use cases

- **Federal contracting compliance (FAR §9.4)** — pre-award screening at primes, subs, and resellers. The buyer has a regulatory mandate; the actor is the lowest-cost path to satisfying it at scale.
- **M&A due diligence on contractor portfolios** — screen every vendor on a target company's master vendor file (or every counterparty in a private-equity contractor portfolio) against the active exclusion list as part of pre-close diligence.
- **KYC / sanctions-adjacent screening** — augment OFAC, UN, EU Consolidated, and FCA screening with the SAM federal exclusions list for any client touching US government contracting or federal grants.
- **Federal grant compliance** — federal grantees must screen subrecipients under 2 CFR §200.214; same data, same workflow.
- **Plaintiff law / investigative journalism** — track new debarments by agency, by month, by exclusion program. Maps directly onto procurement-fraud and qui tam research workflows.

---

### 💰 Pricing Example

Multi-event Pay-Per-Event billing:

| Event | Price | When charged |
|---|---|---|
| Actor start | $0.005 | Once per run |
| Exclusion record | $0.10 | Per debarment / suspension record extracted (primary) |
| Screening match | $0.05 | Per vendor name screened against the exclusion list (fuzzy-match enabled) |

Typical query costs:

- **Daily-monitoring run** (500 records, default) — `500 × $0.10 = $50.005`
- **Full-list audit pull** (2,000 records) — `2,000 × $0.10 = $200.005`
- **Vendor screening sweep** (100 vendor names against the active list) — `100 × $0.05 + $0.005 = $5.005` (records emitted only for matches above threshold)
- **Smoke test** (`max_records: 10`) — `10 × $0.10 = $1.005`

Apify gives every new account a **$5 free credit**. That covers about 50 exclusion records or 100 vendor screenings out of the box — enough to validate the actor against your own vendor master before you pay a dime. Compare with BGov vendor monitoring at ~$1,500/seat/yr or commercial KYC vendors at $0.50-$2.00 per screening event.

---

### 🔗 Related Actors

NexGenData publishes a deep regulatory-enforcement and sanctions cluster — every major US federal regulator, every major international financial regulator, every sanctions list. Composable in any compliance workflow:

| Actor | What it does |
|---|---|
| [SEC Litigation Releases](https://apify.com/nexgendata/sec-litigation-releases) | Daily SEC civil enforcement press releases — settlements, charges, monetary relief |
| [FTC Enforcement Actions](https://apify.com/nexgendata/ftc-enforcement-actions-scraper) | FTC consumer protection, antitrust, merger cases with respondents and order details |
| [EPA ECHO Enforcement](https://apify.com/nexgendata/epa-echo-enforcement-scraper) | EPA enforcement actions — environmental compliance violations and penalties |
| [Australia ASIC Enforcement](https://apify.com/nexgendata/australia-asic-enforcement) | ASIC enforcement actions, banning orders, civil penalties on the AU market |
| [Hong Kong SFC Enforcement](https://apify.com/nexgendata/hk-sfc-enforcement-tracker) | Hong Kong Securities & Futures Commission disciplinary actions |
| [Singapore MAS Enforcement](https://apify.com/nexgendata/singapore-mas-enforcement) | MAS enforcement actions on the Singapore market |
| [India SEBI Filings](https://apify.com/nexgendata/india-sebi-filings-tracker) | SEBI orders, prohibitive orders, settlement orders on the India market |
| [Japan EDINET Insider Filings](https://apify.com/nexgendata/japan-edinet-insider-filings) | EDINET-mandated material disclosures from Japanese listed entities |
| [Delaware Corporations Search](https://apify.com/nexgendata/delaware-corporations-search-scraper) | Delaware DOC entity lookups — useful for resolving DBA / parent on flagged matches |
| [US Government Contracts Search](https://apify.com/nexgendata/government-contracts-search) | Federal procurement awards from USA Spending — pair with exclusion screening for counterparty risk |
| [SEC EDGAR Search](https://apify.com/nexgendata/sec-edgar-search) | SEC EDGAR full-text search across all filings |
| [SEC Schedule 13D/G Activist Tracker](https://apify.com/nexgendata/sec-schedule-13dg-activist-tracker) | 5%+ activist filings and amendments |
| [Regulatory Filings MCP](https://apify.com/nexgendata/regulatory-filings-mcp) | One-tool-call MCP server over the NexGenData regulatory cluster |
| [Legal MCP Server](https://apify.com/nexgendata/legal-mcp-server) | Legal-research MCP for AI agents — cross-jurisdiction filings + enforcement |

Browse the full fleet: [apify.com/nexgendata?fpr=2ayu9b](https://apify.com/nexgendata?fpr=2ayu9b)

---

### How to use

#### Default — daily monitoring of new exclusions

```json
{
  "mode": "bulk",
  "since_date": "2026-05-01",
  "max_records": 500
}
````

This pulls every exclusion **added or activated on or after 2026-05-01**, capped at 500 records. Run this on a daily Apify schedule and you have a continuous federal-debarment feed.

#### Vendor master screening (fuzzy match)

```json
{
  "mode": "bulk",
  "max_records": 1,
  "screening_names": [
    "Acme Defense Solutions LLC",
    "John Q Contractor",
    "Apex Federal Services Inc"
  ]
}
```

Each name in `screening_names` is fuzzy-matched against the entire active exclusion list. Per name, the actor emits a record with `screening_query_name`, `match_score`, `matched` (boolean, score ≥ 0.85), and the full attribution of the best matching exclusion record. Bills one `screening-match` event per name screened ($0.05 each).

#### Geographic + name slice

```json
{
  "mode": "bulk",
  "state_filter": "CA",
  "name_filter": "Construction",
  "since_date": "2025-01-01",
  "max_records": 200
}
```

Filters to California-addressed exclusion records whose name contains "Construction", activated since 2025-01-01.

#### Live API mode (requires SAM\_API\_KEY)

```json
{
  "mode": "api",
  "sam_api_key": "<your free SAM.gov API key>",
  "state_filter": "TX",
  "since_date": "2026-01-01",
  "max_records": 100
}
```

API mode pages the live SAM.gov v3 Exclusions API server-side. Required for date / state / name filters when you want server-side filtering rather than client-side filtering on the bulk extract. Free SAM.gov public-key tier: 1,000 calls/day.

#### Sample output

```json
{
  "name": "Acme Defense Solutions LLC",
  "dba_name": "",
  "classification_type": "Firm",
  "address": "1234 Federal Way, Suite 200",
  "city": "Arlington",
  "state": "VA",
  "country": "USA",
  "zip_code": "22202",
  "exclusion_program": "Procurement",
  "agency": "Department of Defense",
  "ct_code": "TBD",
  "exclusion_type": "Ineligible (Proceedings Pending)",
  "additional_comments": "All Exclusions Must be Verified by Agency POC",
  "active_date": "2026-03-15",
  "termination_date": "2029-03-14",
  "record_status": "Active",
  "cross_reference": "",
  "sam_number": "S4MS0AB-12345",
  "cage": "1ABC2",
  "npi": "",
  "duns": "",
  "uei": "ABC123DEF456GHI789J0",
  "creation_date": "2026-03-15",
  "open_data_flag": "Y",
  "source": "sam.gov/bulk-public-v2",
  "source_url": "https://sam.gov/data-services/Exclusions/Public%20V2",
  "scraped_at": "2026-05-30T19:42:18Z",
  "bulk_file_name": "SAM_Exclusions_Public_Extract_V2_26150.ZIP"
}
```

Screening event sample:

```json
{
  "screening_query_name": "Acme Defense Solutions LLC",
  "match_score": 0.937,
  "matched": true,
  "best_match_name": "Acme Defense Solutions, LLC",
  "best_match_classification": "Firm",
  "best_match_uei": "ABC123DEF456GHI789J0",
  "best_match_sam_number": "S4MS0AB-12345",
  "best_match_state": "VA",
  "best_match_exclusion_program": "Procurement",
  "best_match_agency": "Department of Defense",
  "best_match_active_date": "2026-03-15",
  "best_match_termination_date": "2029-03-14",
  "source": "screening",
  "scraped_at": "2026-05-30T19:42:19Z"
}
```

***

### FAQ

**Q: Where does the data come from?**
A: Primary source is the GSA-managed SAM.gov public extract at `https://sam.gov/data-services/Exclusions/Public%20V2`. The bulk ZIP / CSV is generated by the federal government daily. Optional API mode hits `https://api.sam.gov/exclusions/v3/` with your registered key.

**Q: Is this scraping?**
A: No — both modes use the government-published, machine-readable data products. The bulk extract is explicitly designed for programmatic ingestion; the v3 API is documented at `open.gsa.gov/api/exclusions`.

**Q: How do I get a SAM API key?**
A: Register a free public account at sam.gov and request a public-tier API key — 1,000 calls/day at zero cost. Required only for `mode=api`. Bulk mode (default) needs no authentication.

**Q: How current is the data?**
A: Bulk mode pulls the most recent daily extract — typically the previous business day's file. New exclusions entered today by an agency surface in tomorrow's extract. API mode is real-time within the agency-entry latency.

**Q: What's the difference between the `Reciprocal`, `Procurement`, and `Non-Procurement` programs?**
A: `Procurement` = barred from federal contracts. `Non-Procurement` = barred from federal financial assistance (grants, loans). `Reciprocal` = barred from both. The `exclusion_program` field exposes which one applies; in practice most active exclusions are `Reciprocal`.

**Q: Why is `duns` empty?**
A: The DUNS identifier was retired by GSA on 2022-04-04 and replaced with the Unique Entity Identifier (UEI). The bulk V2 extract no longer carries DUNS; the field is kept for downstream schema parity but is always blank in bulk mode. UEI is populated.

**Q: Why does the actor bill per-record and per-screening?**
A: Two distinct buyer workflows. Per-record fits compliance-monitoring (audit, journalism, M\&A diligence). Per-screening fits intake/KYC (one event per name screened, regardless of whether it matched). The multi-event model lets the actor serve both at the right price point each.

***

### About NexGenData

NexGenData publishes 250+ premium financial, governance, regulatory, and market actors on Apify — primary-source data from every major US and international regulator, exchange, and disclosure portal. Consistent pay-per-event pricing, full audit trails, fleet-wide quality. Browse the full fleet: [apify.com/nexgendata?fpr=2ayu9b](https://apify.com/nexgendata?fpr=2ayu9b)

Contact: hello@thenextgennexus.com

***

*The SAM.gov exclusion list is a public US-government dataset published under federal open-data policy. FAR Subpart 9.4 and 2 CFR §200.214 mandate review of the list before federal contract awards and before federal-grant subrecipient agreements. This actor reproduces the public record at machine scale — no part of the data is rewritten, inferred, or third-party-aggregated.*

# Actor input Schema

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

How to pull exclusion records. `bulk` (default, recommended) downloads the daily-refresh public CSV extract from SAM.gov — no authentication required, ~167K active exclusions. `api` uses the live SAM.gov Exclusions API at https://api.sam.gov/exclusions/v3/ — requires a free public API key registered at sam.gov/api, but supports finer-grained server-side filtering. If `api` is selected but `sam_api_key` is empty, the actor falls back to `bulk` mode and logs a warning.

## `sam_api_key` (type: `string`):

Public SAM.gov API key registered at https://sam.gov/api. Only required when `mode=api`. Free tier: 1,000 calls/day. Leave blank for bulk mode.

## `name_filter` (type: `string`):

Optional case-insensitive substring filter on the excluded party's name (entity name or full personal name). When provided, ONLY records whose name contains this substring are emitted. Also activates `screening-match` billing events — one event per matched candidate name in the screened set (see `screening_names`). Use this to monitor a specific vendor / counterparty / acquisition target against the active exclusion list.

## `state_filter` (type: `string`):

Optional 2-letter US state code (e.g. CA, NY, TX, DC) to filter exclusion records by the excluded party's address state. Leave blank for all states / international.

## `since_date` (type: `string`):

Only emit exclusions whose `active_date` is on or after this date. Defaults to 90 days before run start. Use this to capture only newly-added exclusions for daily / weekly monitoring workflows. Leave blank to use the 90-day default.

## `max_records` (type: `integer`):

Hard cap on exclusion records emitted (and metered for billing at $0.10/record). Defaults to 500. Raise this for full-list audits, due-diligence sweeps, or M\&A vendor master cross-checks. Bulk mode supports up to 10,000; API mode is paginated and bounded server-side.

## `screening_names` (type: `array`):

Optional list of vendor / counterparty names to screen against the active exclusion list using fuzzy matching. Each name screened bills a `screening-match` event at $0.05. Matched names appear in the output as records with `screening_query_name` populated. Leave empty for raw extraction mode.

## Actor input object example

```json
{
  "mode": "bulk",
  "max_records": 500,
  "screening_names": []
}
```

# 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": "bulk",
    "sam_api_key": "",
    "name_filter": "",
    "state_filter": "",
    "since_date": "",
    "max_records": 500,
    "screening_names": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("nexgendata/sam-gov-federal-contractor-exclusions").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": "bulk",
    "sam_api_key": "",
    "name_filter": "",
    "state_filter": "",
    "since_date": "",
    "max_records": 500,
    "screening_names": [],
}

# Run the Actor and wait for it to finish
run = client.actor("nexgendata/sam-gov-federal-contractor-exclusions").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": "bulk",
  "sam_api_key": "",
  "name_filter": "",
  "state_filter": "",
  "since_date": "",
  "max_records": 500,
  "screening_names": []
}' |
apify call nexgendata/sam-gov-federal-contractor-exclusions --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=nexgendata/sam-gov-federal-contractor-exclusions",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "⚖️ SAM.gov Federal Contractor Exclusions & Debarment Tracker",
        "description": "Daily-refresh US federal contractor exclusions / debarments / suspensions from SAM.gov (FAR §9.4 mandated screening). Name, agency, exclusion program, dates, SAM number, UEI. Bulk CSV (no auth) or live v3 API. Optional fuzzy vendor screening.",
        "version": "0.0",
        "x-build-id": "nhRHqpcrnCTbjsBqR"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/nexgendata~sam-gov-federal-contractor-exclusions/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-nexgendata-sam-gov-federal-contractor-exclusions",
                "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/nexgendata~sam-gov-federal-contractor-exclusions/runs": {
            "post": {
                "operationId": "runs-sync-nexgendata-sam-gov-federal-contractor-exclusions",
                "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/nexgendata~sam-gov-federal-contractor-exclusions/run-sync": {
            "post": {
                "operationId": "run-sync-nexgendata-sam-gov-federal-contractor-exclusions",
                "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": "Data source mode",
                        "enum": [
                            "bulk",
                            "api"
                        ],
                        "type": "string",
                        "description": "How to pull exclusion records. `bulk` (default, recommended) downloads the daily-refresh public CSV extract from SAM.gov — no authentication required, ~167K active exclusions. `api` uses the live SAM.gov Exclusions API at https://api.sam.gov/exclusions/v3/ — requires a free public API key registered at sam.gov/api, but supports finer-grained server-side filtering. If `api` is selected but `sam_api_key` is empty, the actor falls back to `bulk` mode and logs a warning.",
                        "default": "bulk"
                    },
                    "sam_api_key": {
                        "title": "SAM.gov API Key (only if mode=api)",
                        "type": "string",
                        "description": "Public SAM.gov API key registered at https://sam.gov/api. Only required when `mode=api`. Free tier: 1,000 calls/day. Leave blank for bulk mode."
                    },
                    "name_filter": {
                        "title": "Name filter (fuzzy)",
                        "type": "string",
                        "description": "Optional case-insensitive substring filter on the excluded party's name (entity name or full personal name). When provided, ONLY records whose name contains this substring are emitted. Also activates `screening-match` billing events — one event per matched candidate name in the screened set (see `screening_names`). Use this to monitor a specific vendor / counterparty / acquisition target against the active exclusion list."
                    },
                    "state_filter": {
                        "title": "State filter (2-letter US state)",
                        "type": "string",
                        "description": "Optional 2-letter US state code (e.g. CA, NY, TX, DC) to filter exclusion records by the excluded party's address state. Leave blank for all states / international."
                    },
                    "since_date": {
                        "title": "Since date (ISO YYYY-MM-DD)",
                        "type": "string",
                        "description": "Only emit exclusions whose `active_date` is on or after this date. Defaults to 90 days before run start. Use this to capture only newly-added exclusions for daily / weekly monitoring workflows. Leave blank to use the 90-day default."
                    },
                    "max_records": {
                        "title": "Max records",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Hard cap on exclusion records emitted (and metered for billing at $0.10/record). Defaults to 500. Raise this for full-list audits, due-diligence sweeps, or M&A vendor master cross-checks. Bulk mode supports up to 10,000; API mode is paginated and bounded server-side.",
                        "default": 500
                    },
                    "screening_names": {
                        "title": "Screening names (optional)",
                        "type": "array",
                        "description": "Optional list of vendor / counterparty names to screen against the active exclusion list using fuzzy matching. Each name screened bills a `screening-match` event at $0.05. Matched names appear in the output as records with `screening_query_name` populated. Leave empty for raw extraction mode.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
