# US Minority, Women & DBE Certified Business Leads Scraper (`scrapesage/diversity-certified-business-leads`) Actor

Scrape minority-, women-, veteran- & disadvantaged-owned (MBE/WBE/DBE/SDVOSB/SBE) certified businesses from official state & city supplier-diversity registries: company, owner, phone, email, website, certifications, NAICS, certifying agency + lead score. Filter by state, certification & ownership.

- **URL**: https://apify.com/scrapesage/diversity-certified-business-leads.md
- **Developed by:** [Scrape Sage](https://apify.com/scrapesage) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$7.00 / 1,000 diversity-certified business leads

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

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

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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 Minority, Women & DBE Certified Business Leads Scraper (MBE / WBE / DBE / SDVOSB / SBE)

Build the **richest list of diversity-certified suppliers on Apify** — minority-, women-, veteran- and disadvantaged-owned businesses pulled straight from **official state & city supplier-diversity registries** and unified into one clean, contact-bearing dataset. Every record carries the **business, owner/primary contact, phone, email, website, normalized certifications (MBE, WBE, DBE, ACDBE, SDVOSB, VOSB, SBE, SWaM, HUB), ownership flags, owner ethnicity, NAICS & commodity codes, the certifying agency, certification renewal/expiration dates, and a 0–100 lead score**.

No API key, no login, no browser — fast JSON extraction from public government open-data registries.

### Why this diversity-supplier scraper?

Corporate **supplier-diversity programs** and **prime contractors** are *required* to source certified diverse vendors (Tier-1/Tier-2 diversity-spend reporting; mandatory DBE participation on DOT and federally-funded projects). The lists they need are scattered across dozens of state and city certification portals. This actor unifies them — and ships fields the generic Google-Maps lead scrapers can't:

| Data | Generic GMaps lead scrapers | This actor |
|---|---|---|
| Verified certification (MBE / WBE / DBE / SDVOSB / SBE…) | ❌ | ✅ normalized codes |
| Ownership flags (minority / women / veteran / disadvantaged) | ❌ | ✅ |
| Owner ethnicity & gender (where published) | ❌ | ✅ |
| Named owner / primary contact | partial | ✅ when published |
| Phone, email, website | partial | ✅ official registry data |
| NAICS & NIGP / commodity codes | ❌ | ✅ |
| Certifying agency | ❌ | ✅ |
| Certification renewal / expiration date | ❌ | ✅ re-cert timing signal |
| Multi-state & multi-city in one run | ❌ | ✅ 10 official registries |
| Lead score (0–100) | ❌ | ✅ |
| Monitoring (only new / changed) | ❌ | ✅ |

### Sources

Ten official, keyless supplier-diversity registries — and growing:

| Key | Registry | Coverage |
|---|---|---|
| `wa-omwbe` | Washington OMWBE / WEBS | MBE/WBE/DBE/veteran vendors (statewide) |
| `nyc-mwbe` | NYC SBS M/WBE Directory | MBE/WBE/EBE/LBE + ethnicity + NAICS + contract history |
| `ny-dbe` | New York State UCP DBE | statewide DBE, email + commodity codes |
| `de-osd` | Delaware Office of Supplier Diversity | MBE/WBE/SDVOSB/VOSB/DBE + up to 31 NAICS |
| `de-sbf` | Delaware Small Business Focus | small-business certified |
| `nola-dbe` | New Orleans DBE / SLDBE | owner + email + website + capability |
| `va-norfolk-swam` | Norfolk SWaM / DBE | SWaM/DBE/micro + expiration date |
| `oh-cincinnati` | Cincinnati Economic Inclusion | MBE/WBE/SBE/ELBE + ethnicity + gender |
| `tx-austin-sbe` | Austin SBE / MBE/WBE | contact + email + phone |
| `il-chicago-vbe` | Chicago Veteran-Owned Business | veteran + cert/renewal/expiration dates |

### Use cases

- **Supplier-diversity sourcing** — fill your Tier-1/Tier-2 diversity-spend pipeline with certified MBE/WBE/DBE/SDVOSB suppliers by NAICS and state, complete with contacts.
- **Prime-contractor DBE compliance** — find certified DBE/ACDBE subcontractors to meet mandatory participation goals on DOT and federally-funded projects.
- **B2B lead generation** — diversity-certified small businesses are active buyers of accounting, legal, insurance, lending, SaaS and marketing services. Score and contact them directly (`email`, `phone`, `website`, `ownerName`).
- **Diversity-spend & procurement SaaS** — power supplier directories and matching engines with normalized, multi-jurisdiction certification data.
- **Re-certification outreach** — use `certExpiringWithinDays` to catch suppliers whose certification is about to lapse.
- **Market & economic research** — analyze the certified diverse-business landscape by certification type, ethnicity, geography and industry.

### How to use

1. [Sign up for Apify](https://console.apify.com/sign-up) — the free plan is enough to try this actor.
2. Open the **US Minority, Women & DBE Certified Business Leads Scraper**, pick the **sources** (or leave empty for all), add filters (state, certification type, NAICS, ownership), and click **Start**.
3. Watch results stream into the dataset table.
4. **Export** as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the [Apify API](https://docs.apify.com/api/v2).

### Input

```json
{
    "states": ["NY", "WA", "TX"],
    "certificationTypes": ["MBE", "WBE", "DBE"],
    "naicsPrefix": "23",
    "withEmailOnly": true,
    "sortBy": "leadScore",
    "maxResults": 1000,
    "maxResultsPerSource": 200
}
````

- **sources** — limit to specific registries by key (see the Sources table). Empty = all.
- **states** — keep only businesses located in these states (2-letter codes). Pushed server-side where the registry publishes a state field.
- **certificationTypes** — `MBE`, `WBE`, `MWBE`, `DBE`, `ACDBE`, `SDVOSB`, `VOSB`, `DVBE`, `SBE`, `MICRO`, `EBE`, `LBE`, `HUB`, `SWaM`, `8A`.
- **minorityOwnedOnly / womanOwnedOnly / veteranOwnedOnly / disadvantagedOnly / smallBusinessOnly** — ownership filters.
- **ethnicities** — e.g. `["Black", "Hispanic", "Asian", "Native American"]` (only some registries publish ethnicity).
- **naicsCodes / naicsPrefix** — filter by industry.
- **keyword / cityQuery** — text filters on name, description, commodity codes, or city.
- **withEmailOnly / withPhoneOnly / withWebsiteOnly / withContactNameOnly** — contact filters.
- **certExpiringWithinDays** — re-certification timing signal.
- **minLeadScore / sortBy / maxResults / maxResultsPerSource** — ranking & limits.
- **monitorMode / monitorKey** — return only new / changed businesses since the last run with the same key.
- **includeRawFields** *(default true)* — attach the raw source row under `sourceFields`.

### Output

One record per certified business (`recordType: "certifiedBusiness"`):

```json
{
    "recordType": "certifiedBusiness",
    "source": "New York State UCP DBE",
    "sourceState": "NY",
    "certifyingAgency": "New York State Unified Certification Program (NYSDOT)",
    "businessName": "Acme Civil Engineering, LLC",
    "dbaName": null,
    "ownerName": "Maria Gonzalez",
    "contactName": "Maria Gonzalez",
    "businessDescription": "Civil engineering and construction inspection services",
    "certifications": [
        { "code": "MBE", "title": "Minority Business Enterprise" },
        { "code": "WBE", "title": "Women Business Enterprise" },
        { "code": "DBE", "title": "Disadvantaged Business Enterprise" }
    ],
    "certificationCodes": ["MBE", "WBE", "DBE"],
    "isMinorityOwned": true,
    "isWomanOwned": true,
    "isVeteranOwned": false,
    "isServiceDisabledVeteranOwned": false,
    "isDisadvantagedBusiness": true,
    "isSmallBusiness": false,
    "ownershipEthnicity": "Hispanic American",
    "ownershipGender": "Female",
    "certificationNumber": "55-1234",
    "certificationExpirationDate": "2026-11-30",
    "certificationExpiresInDays": 162,
    "certificationExpiringSoon": true,
    "naicsCodes": ["541330", "237310"],
    "commodityCodes": ["925-54 Engineering Services"],
    "phone": "(212) 555-0134",
    "email": "maria@acmecivil.com",
    "website": "https://acmecivil.com",
    "street": "120 Broadway",
    "city": "New York",
    "state": "NY",
    "zip": "10271",
    "county": "New York",
    "fullAddress": "120 Broadway, New York, NY, 10271",
    "leadScore": 92,
    "leadSignals": ["Email on file", "Named owner/contact", "Multi-certified (MBE, WBE, DBE)", "Hispanic American-owned"],
    "scrapedAt": "2026-06-21T12:00:00.000Z"
}
```

#### What to expect (field coverage)

Each registry publishes a different set of fields, so coverage is per-source. Verified across all ten sources you can typically expect:

| Field | Coverage |
|---|---|
| businessName, certifications, certifyingAgency, source, state | ~100% |
| phone | high on WA / NYC / NY-DBE / DE / NOLA / Austin / Chicago |
| email | high on NY-DBE / DE / NOLA / Austin / Chicago / WA (none on NYC / Norfolk / Cincinnati) |
| website | WA / NYC / NOLA / Cincinnati / Chicago |
| ownerName / contactName | DE / NYC / NOLA / Austin / Chicago |
| ownershipEthnicity | NYC / Cincinnati |
| NAICS codes | DE / NYC (commodity/NIGP codes on WA / NY-DBE / NYC / Norfolk) |
| certificationExpirationDate | Norfolk / Chicago |

A blank field means that registry doesn't publish it for that record — not that scraping failed. Nothing is dropped, so you always get the richest dataset available, and the raw source row is attached under `sourceFields`.

### Automate & schedule

Run this actor on autopilot and pull results into your own stack:

- **[Apify API](https://docs.apify.com/api/v2)** — start runs, fetch datasets, and manage schedules over REST.
- **[apify-client for JavaScript](https://docs.apify.com/api/client/js/)** and **[apify-client for Python](https://docs.apify.com/api/client/python/)** — official SDKs.
- **[Schedules](https://docs.apify.com/platform/schedules)** — run it daily/weekly to capture newly-certified suppliers; combine with **monitorMode** to emit only new or changed records.
- **[Webhooks](https://docs.apify.com/platform/integrations/webhooks)** — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.

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

const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });

const run = await client.actor('scrapesage/diversity-certified-business-leads').call({
    states: ['NY', 'TX'],
    certificationTypes: ['MBE', 'WBE', 'DBE'],
    withEmailOnly: true,
    maxResults: 1000,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} certified diverse-business leads`);
```

### Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

- **[Make](https://docs.apify.com/platform/integrations/make)** — multi-step automation scenarios.
- **[Zapier](https://docs.apify.com/platform/integrations/zapier)** — push new certified suppliers straight into your CRM.
- **[Slack](https://docs.apify.com/platform/integrations/slack)** — get notified when a monitored registry adds suppliers.
- **[Google Drive / Sheets](https://docs.apify.com/platform/integrations/drive)** — auto-export every run to a spreadsheet.
- **[Airbyte](https://docs.apify.com/platform/integrations/airbyte)** — pipe results into your data warehouse.
- **[GitHub](https://docs.apify.com/platform/integrations/github)** — trigger runs from commits or releases.

### Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the **[Apify MCP server](https://docs.apify.com/platform/integrations/mcp)** — ask your assistant to "find certified women-owned construction firms in New York with an email" and let it run the scraper for you.

### More scrapers from scrapesage

Build a complete **US B2B & government-contracting lead-gen stack**:

- **[US Business Formation Scraper](https://apify.com/scrapesage/us-business-formation-scraper)** — newly registered LLCs & companies from state registries.
- **[USAspending Scraper](https://apify.com/scrapesage/usaspending-scraper)** — federal awards, contractors & recipient leads.
- **[SAM.gov Scraper](https://apify.com/scrapesage/sam-gov-scraper)** — federal contract opportunities & contacts.
- **[GSA eLibrary Scraper](https://apify.com/scrapesage/gsa-elibrary-scraper)** — GSA Schedule holders with SDVOSB / WOSB / 8(a) set-asides.
- **[Customs Broker & Freight Forwarder Leads](https://apify.com/scrapesage/customs-broker-forwarder-leads)** — international-trade intermediaries (FMC + CBP).
- **[FMCSA Trucking Scraper](https://apify.com/scrapesage/fmcsa-trucking-scraper)** — motor carriers, brokers & new-authority leads.
- **[TaxBuzz Scraper](https://apify.com/scrapesage/taxbuzz-scraper)** — accountant & tax-preparer leads with contacts.
- **[FindLaw Scraper](https://apify.com/scrapesage/findlaw-scraper)** — lawyers & law firms with contact emails.

### Tips

- **Pick your sources** — leave `sources` empty for everything, or target specific registries by key for a focused list.
- **Balance large registries** — set `maxResultsPerSource` so the large Washington registry doesn't dominate a multi-source run.
- **Washington is big** — the WA registry has 100k+ commodity rows (≈5k unique vendors); the actor deduplicates them per vendor and aggregates commodity codes. Filter by `states` to keep WA runs fast, or raise `maxScanRowsPerSource` for full coverage.
- **DBE for primes** — set `disadvantagedOnly: true` to get exactly the DBE/ACDBE subcontractors required on federally-funded projects.
- **Recurring monitoring** — combine [Schedules](https://docs.apify.com/platform/schedules) with `monitorMode` to catch newly-certified suppliers as fresh leads.

### FAQ

**Where does the data come from?** Official US state and city supplier-diversity / certification registries published as public open data (Socrata). No private people-data, no API key, no login.

**What does "certified" mean?** Each business has been certified by a government agency as a minority-, women-, veteran-, disadvantaged- or small-business enterprise. The actor normalizes every program's labels into canonical codes (MBE, WBE, DBE, SDVOSB, SBE, …) and ownership flags.

**Can I get only DBE firms for a DOT project?** Yes — set `certificationTypes: ["DBE"]` or `disadvantagedOnly: true`, and filter by `states` and `naicsPrefix`.

**Can I export to Google Sheets, CSV, or Excel?** Yes — one click in the dataset view, or automatically on every run via the [Google Drive integration](https://docs.apify.com/platform/integrations/drive).

**How do I monitor for newly-certified suppliers?** Turn on `monitorMode`, create a [Schedule](https://docs.apify.com/platform/schedules), and optionally add a [webhook](https://docs.apify.com/platform/integrations/webhooks) to push new records into your CRM as they appear.

**A field is empty — why?** Some registries don't publish email, ethnicity, or expiration dates. Fields are blank only when the source didn't publish them — never because the scraper skipped them. The raw row is always attached under `sourceFields`.

**Is this legal?** This actor collects publicly available government open-data only. You are responsible for using the data in compliance with applicable laws (e.g. CAN-SPAM / GDPR for outreach) and each registry's terms.

### Need help?

Open an issue on the actor's **Issues** tab, or visit the [Apify help center](https://help.apify.com/). Feature requests — including additional state and city registries — are welcome; this actor is actively maintained.

# Actor input Schema

## `sources` (type: `array`):

Limit to these supplier-diversity registries by key. Leave empty for ALL. Available: wa-omwbe (Washington OMWBE/WEBS), nyc-mwbe (NYC SBS M/WBE), ny-dbe (New York State UCP DBE), de-osd (Delaware Office of Supplier Diversity), de-sbf (Delaware Small Business Focus), nola-dbe (New Orleans DBE), va-norfolk-swam (Norfolk SWaM/DBE), oh-cincinnati (Cincinnati MBE/WBE/SBE), tx-austin-sbe (Austin SBE), il-chicago-vbe (Chicago Veteran-Owned).

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

Keep only businesses located in these US states (2-letter codes, e.g. \["NY","WA","TX"]). Applied to each business's own address. Pushed to the source server-side where the registry publishes a state field. Leave empty for all.

## `certificationTypes` (type: `array`):

Keep only businesses holding at least one of these certifications. Allowed (case-insensitive): MBE, WBE, MWBE, DBE, ACDBE, SDVOSB, VOSB, DVBE, SBE, MICRO, EBE, LBE, HUB, SWaM, 8A. Leave empty for all.

## `minorityOwnedOnly` (type: `boolean`):

Keep only minority-owned businesses (MBE / minority ethnicity).

## `womanOwnedOnly` (type: `boolean`):

Keep only women-owned businesses (WBE / female owner).

## `veteranOwnedOnly` (type: `boolean`):

Keep only veteran-owned businesses (VOSB / SDVOSB / DVBE).

## `disadvantagedOnly` (type: `boolean`):

Keep only DBE / ACDBE / 8(a) disadvantaged business enterprises — the certifications primes need for DOT & federally-funded projects.

## `smallBusinessOnly` (type: `boolean`):

Keep only businesses with a small-business / micro certification.

## `ethnicities` (type: `array`):

Keep only businesses whose owner ethnicity matches (case-insensitive contains), e.g. \["Black","Hispanic","Asian","Native American"]. Only some registries publish ethnicity.

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

Keep only businesses with at least one of these exact NAICS codes (e.g. \["541330","236220"]).

## `naicsPrefix` (type: `string`):

Keep only businesses with a NAICS code starting with this prefix (e.g. "23" for construction, "541" for professional services).

## `keyword` (type: `string`):

Keep only businesses whose name, DBA, description, category or commodity codes contain this text (case-insensitive). Also narrows the source query server-side.

## `cityQuery` (type: `string`):

Keep only businesses whose city contains this text (case-insensitive).

## `withEmailOnly` (type: `boolean`):

Keep only businesses that have an email address.

## `withPhoneOnly` (type: `boolean`):

Keep only businesses that have a phone number.

## `withWebsiteOnly` (type: `boolean`):

Keep only businesses that have a website.

## `withContactNameOnly` (type: `boolean`):

Keep only businesses that list a named owner or primary contact.

## `certExpiringWithinDays` (type: `integer`):

Keep only businesses whose certification expires within the next N days — a re-certification timing signal (only registries that publish an expiration date). Leave empty to disable.

## `minLeadScore` (type: `integer`):

Keep only businesses with a lead score at or above this value (0-100).

## `sortBy` (type: `string`):

Order of the output.

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

Maximum number of records to return.

## `maxResultsPerSource` (type: `integer`):

Optional cap on how many records each registry contributes (keeps a large registry from dominating). Leave empty for no per-source cap.

## `maxScanRowsPerSource` (type: `integer`):

Safety cap on how many raw rows to read from each registry (the Washington registry alone has 100k+ commodity rows). Default 60000.

## `deduplicateResults` (type: `boolean`):

Drop duplicate businesses that share the same name, state and certification number.

## `includeRawFields` (type: `boolean`):

Attach the raw source row (all original registry columns) under sourceFields on each record.

## `monitorMode` (type: `boolean`):

Only return businesses that are new or whose certifications, expiration, status or contact changed since the last run with the same monitor key. Ideal on a Schedule to catch newly-certified diverse suppliers as fresh leads.

## `monitorKey` (type: `string`):

Namespace for monitoring mode so independent monitors don't collide. Use a distinct key per saved configuration.

## `socrataAppToken` (type: `string`):

Optional Socrata app token (X-App-Token) for higher rate limits. Not required — these public registries work without one.

## `pageSize` (type: `integer`):

Rows fetched per request from each registry (100-5000).

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

Optional. These are public government open-data registries and usually need no proxy, so leave this off for the fastest queries.

## Actor input object example

```json
{
  "sources": [],
  "certificationTypes": [],
  "minorityOwnedOnly": false,
  "womanOwnedOnly": false,
  "veteranOwnedOnly": false,
  "disadvantagedOnly": false,
  "smallBusinessOnly": false,
  "withEmailOnly": false,
  "withPhoneOnly": false,
  "withWebsiteOnly": false,
  "withContactNameOnly": false,
  "sortBy": "leadScore",
  "maxResults": 1000,
  "maxScanRowsPerSource": 60000,
  "deduplicateResults": true,
  "includeRawFields": true,
  "monitorMode": false,
  "monitorKey": "default",
  "pageSize": 1000,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

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

All scraped diversity-certified business records in the default dataset, each with firmographics, contacts, normalized certifications, ownership flags and a lead score.

# 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 = {
    "sources": [],
    "certificationTypes": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapesage/diversity-certified-business-leads").call(input);

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

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

```

## Python example

```python
from apify_client import ApifyClient

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

# Prepare the Actor input
run_input = {
    "sources": [],
    "certificationTypes": [],
}

# Run the Actor and wait for it to finish
run = client.actor("scrapesage/diversity-certified-business-leads").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "sources": [],
  "certificationTypes": []
}' |
apify call scrapesage/diversity-certified-business-leads --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "US Minority, Women & DBE Certified Business Leads Scraper",
        "description": "Scrape minority-, women-, veteran- & disadvantaged-owned (MBE/WBE/DBE/SDVOSB/SBE) certified businesses from official state & city supplier-diversity registries: company, owner, phone, email, website, certifications, NAICS, certifying agency + lead score. Filter by state, certification & ownership.",
        "version": "0.1",
        "x-build-id": "RIfSzronPHRIBeyYT"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapesage~diversity-certified-business-leads/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapesage-diversity-certified-business-leads",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrapesage~diversity-certified-business-leads/runs": {
            "post": {
                "operationId": "runs-sync-scrapesage-diversity-certified-business-leads",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrapesage~diversity-certified-business-leads/run-sync": {
            "post": {
                "operationId": "run-sync-scrapesage-diversity-certified-business-leads",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "sources": {
                        "title": "Sources (registries)",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Limit to these supplier-diversity registries by key. Leave empty for ALL. Available: wa-omwbe (Washington OMWBE/WEBS), nyc-mwbe (NYC SBS M/WBE), ny-dbe (New York State UCP DBE), de-osd (Delaware Office of Supplier Diversity), de-sbf (Delaware Small Business Focus), nola-dbe (New Orleans DBE), va-norfolk-swam (Norfolk SWaM/DBE), oh-cincinnati (Cincinnati MBE/WBE/SBE), tx-austin-sbe (Austin SBE), il-chicago-vbe (Chicago Veteran-Owned).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "states": {
                        "title": "States (business location)",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Keep only businesses located in these US states (2-letter codes, e.g. [\"NY\",\"WA\",\"TX\"]). Applied to each business's own address. Pushed to the source server-side where the registry publishes a state field. Leave empty for all.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "certificationTypes": {
                        "title": "Certification types",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Keep only businesses holding at least one of these certifications. Allowed (case-insensitive): MBE, WBE, MWBE, DBE, ACDBE, SDVOSB, VOSB, DVBE, SBE, MICRO, EBE, LBE, HUB, SWaM, 8A. Leave empty for all.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "minorityOwnedOnly": {
                        "title": "Minority-owned only",
                        "type": "boolean",
                        "description": "Keep only minority-owned businesses (MBE / minority ethnicity).",
                        "default": false
                    },
                    "womanOwnedOnly": {
                        "title": "Woman-owned only",
                        "type": "boolean",
                        "description": "Keep only women-owned businesses (WBE / female owner).",
                        "default": false
                    },
                    "veteranOwnedOnly": {
                        "title": "Veteran-owned only",
                        "type": "boolean",
                        "description": "Keep only veteran-owned businesses (VOSB / SDVOSB / DVBE).",
                        "default": false
                    },
                    "disadvantagedOnly": {
                        "title": "Disadvantaged (DBE) only",
                        "type": "boolean",
                        "description": "Keep only DBE / ACDBE / 8(a) disadvantaged business enterprises — the certifications primes need for DOT & federally-funded projects.",
                        "default": false
                    },
                    "smallBusinessOnly": {
                        "title": "Small business only",
                        "type": "boolean",
                        "description": "Keep only businesses with a small-business / micro certification.",
                        "default": false
                    },
                    "ethnicities": {
                        "title": "Owner ethnicities",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Keep only businesses whose owner ethnicity matches (case-insensitive contains), e.g. [\"Black\",\"Hispanic\",\"Asian\",\"Native American\"]. Only some registries publish ethnicity.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "naicsCodes": {
                        "title": "NAICS codes",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Keep only businesses with at least one of these exact NAICS codes (e.g. [\"541330\",\"236220\"]).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "naicsPrefix": {
                        "title": "NAICS prefix",
                        "type": "string",
                        "description": "Keep only businesses with a NAICS code starting with this prefix (e.g. \"23\" for construction, \"541\" for professional services)."
                    },
                    "keyword": {
                        "title": "Keyword (name / description)",
                        "type": "string",
                        "description": "Keep only businesses whose name, DBA, description, category or commodity codes contain this text (case-insensitive). Also narrows the source query server-side."
                    },
                    "cityQuery": {
                        "title": "City contains",
                        "type": "string",
                        "description": "Keep only businesses whose city contains this text (case-insensitive)."
                    },
                    "withEmailOnly": {
                        "title": "With email only",
                        "type": "boolean",
                        "description": "Keep only businesses that have an email address.",
                        "default": false
                    },
                    "withPhoneOnly": {
                        "title": "With phone only",
                        "type": "boolean",
                        "description": "Keep only businesses that have a phone number.",
                        "default": false
                    },
                    "withWebsiteOnly": {
                        "title": "With website only",
                        "type": "boolean",
                        "description": "Keep only businesses that have a website.",
                        "default": false
                    },
                    "withContactNameOnly": {
                        "title": "With named owner/contact only",
                        "type": "boolean",
                        "description": "Keep only businesses that list a named owner or primary contact.",
                        "default": false
                    },
                    "certExpiringWithinDays": {
                        "title": "Certification expiring within N days",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Keep only businesses whose certification expires within the next N days — a re-certification timing signal (only registries that publish an expiration date). Leave empty to disable."
                    },
                    "minLeadScore": {
                        "title": "Minimum lead score",
                        "minimum": 0,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Keep only businesses with a lead score at or above this value (0-100)."
                    },
                    "sortBy": {
                        "title": "Sort by",
                        "enum": [
                            "leadScore",
                            "expiringSoon",
                            "name",
                            "source"
                        ],
                        "type": "string",
                        "description": "Order of the output.",
                        "default": "leadScore"
                    },
                    "maxResults": {
                        "title": "Max results",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of records to return.",
                        "default": 1000
                    },
                    "maxResultsPerSource": {
                        "title": "Max results per source",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Optional cap on how many records each registry contributes (keeps a large registry from dominating). Leave empty for no per-source cap."
                    },
                    "maxScanRowsPerSource": {
                        "title": "Max scan rows per source",
                        "minimum": 100,
                        "type": "integer",
                        "description": "Safety cap on how many raw rows to read from each registry (the Washington registry alone has 100k+ commodity rows). Default 60000.",
                        "default": 60000
                    },
                    "deduplicateResults": {
                        "title": "Deduplicate",
                        "type": "boolean",
                        "description": "Drop duplicate businesses that share the same name, state and certification number.",
                        "default": true
                    },
                    "includeRawFields": {
                        "title": "Include raw source fields",
                        "type": "boolean",
                        "description": "Attach the raw source row (all original registry columns) under sourceFields on each record.",
                        "default": true
                    },
                    "monitorMode": {
                        "title": "Monitoring mode (only new / changed)",
                        "type": "boolean",
                        "description": "Only return businesses that are new or whose certifications, expiration, status or contact changed since the last run with the same monitor key. Ideal on a Schedule to catch newly-certified diverse suppliers as fresh leads.",
                        "default": false
                    },
                    "monitorKey": {
                        "title": "Monitor key",
                        "type": "string",
                        "description": "Namespace for monitoring mode so independent monitors don't collide. Use a distinct key per saved configuration.",
                        "default": "default"
                    },
                    "socrataAppToken": {
                        "title": "Socrata app token (optional)",
                        "type": "string",
                        "description": "Optional Socrata app token (X-App-Token) for higher rate limits. Not required — these public registries work without one."
                    },
                    "pageSize": {
                        "title": "Page size",
                        "minimum": 100,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Rows fetched per request from each registry (100-5000).",
                        "default": 1000
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional. These are public government open-data registries and usually need no proxy, so leave this off for the fastest queries.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
