# Manta Scraper - US Small Business Directory & B2B Leads (`scrapesage/manta-scraper`) Actor

Scrape US small business listings from Manta.com by industry + city or URL: name, address, phone, website, category — plus email, revenue estimate, employees, SIC/NAICS, year founded, geo, socials & a key contact. Optional website contact enrichment, lead scoring & monitor mode.

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

## Pricing

from $5.00 / 1,000 company scrapeds

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

## Manta Scraper — US Small Business Directory & B2B Leads (Emails, Revenue, Employees)

Extract **US small business listings from [Manta.com](https://www.manta.com)** — one of America's largest business directories — by **industry + city**, company URL, or category page. Get the fields other Manta scrapers leave empty: **business email, revenue estimate, employee band, SIC & NAICS codes, year founded, geo-coordinates, a key contact, social profiles and the company's real website** (decoded from Manta's redirect). Optionally turn every company into a **ready-to-contact B2B lead** by crawling its own site for emails, phones and socials.

Built for reliability: a real anti-detect browser through **US residential proxies** clears Manta's Cloudflare protection, so runs return data instead of `403`s.

### Why this Manta scraper?

Most Manta scrapers return only a name, phone and address — and hand back the Google-Maps directions link instead of the company's real website. This actor merges the **SSR listing card + the profile's JSON-LD + on-page firmographics** into the **richest record in the category**:

| Data | Typical scrapers | This actor |
|---|---|---|
| Name, full address, phone | ✅ | ✅ |
| **Real business website** (decoded, not the map link) | ❌ / wrong link | ✅ |
| Business **email** | ❌ | ✅ opt-in |
| **Revenue estimate** | ❌ | ✅ opt-in |
| **Employee band** | partial | ✅ opt-in |
| **SIC & NAICS** code + description | ❌ | ✅ opt-in |
| Year founded, latitude/longitude | ❌ | ✅ opt-in |
| Key contact (name + title) | ❌ | ✅ opt-in |
| Social profiles (LinkedIn/Facebook/Instagram/X/YouTube) | ❌ | ✅ opt-in |
| Website-enriched emails / phones / socials | ❌ | ✅ opt-in |
| Lead score (0–100) per company | ❌ | ✅ |

### Use cases

- **B2B lead generation** — build targeted local business lists by industry and city, complete with phone, website, email, revenue and headcount, then reach the decision-maker. Score leads by contactability and firmographics (`leadScore`).
- **Sales territory & market research** — size an industry in a metro, map competitors, and segment by revenue band, employee band or SIC/NAICS code.
- **CRM enrichment & data cleansing** — feed company URLs and get back a clean, deduplicated firmographic record for each one.
- **Local SEO & citation building** — audit business NAP (name/address/phone) data across a category.
- **New-business monitoring** — schedule recurring runs with monitor mode to catch newly listed or changed businesses in an industry + city.

### 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 **Manta Scraper**, enter a **search term** (e.g. `marketing agencies`) and a **location** (e.g. `Austin, TX`) — or paste Manta URLs — and click **Start**.
3. Turn on **Include company details** for the full firmographic profile (email, revenue, employees, SIC/NAICS, socials, contact).
4. **Export** as JSON, CSV, Excel, XML, or RSS — or pull results via the [Apify API](https://docs.apify.com/api/v2).

### Input

```json
{
    "searchTerms": ["marketing agencies"],
    "location": "Austin, TX",
    "maxResults": 100,
    "includeDetails": true,
    "enrichContacts": true,
    "withEmailOnly": false,
    "monitorMode": false
}
````

- **searchTerms** — business type / industry / keyword; each is a separate search (`plumbers`, `accounting firms`, `manufacturers`, `law firms`).
- **location** — US `City, ST` to focus the search (resolved through Manta's own location index). Leave empty for a nationwide search.
- **startUrls** — optional direct Manta URLs: company profiles (`/c/<id>/<slug>`), search pages (`/search?...`), or industry category pages (`/mb_.../<industry>`). Profile URLs are always fully detailed.
- **maxResults** *(default 100)* — global cap on companies output.
- **includeDetails** *(default false)* — open each company profile to add email, revenue estimate, employee band, SIC/NAICS, year founded, geo, description, services, socials and a key contact.
- **enrichContacts** *(default false)* — crawl each company's own website (home + contact/about) for publicly listed emails, phones and socials. Implies `includeDetails`.
- **state / minEmployees / withEmailOnly / withWebsiteOnly / withPhoneOnly** — output filters.
- **monitorMode** *(default false)* — remember companies across runs and emit only NEW or CHANGED ones. Pair with an Apify [Schedule](https://docs.apify.com/platform/schedules).

### Output

One record per company (`type: "company"`):

```json
{
    "type": "company",
    "mantaId": "mx6h3mr",
    "name": "Hall Accounting Co.",
    "url": "https://www.manta.com/c/mx6h3mr/hall-accounting-co-",
    "street": "5111 Greenville Ave #601552",
    "city": "Dallas",
    "state": "TX",
    "postalCode": "75206",
    "country": "United States",
    "phone": "(214) 402-2345",
    "email": "info@hallacctco.com",
    "website": "http://www.hallacctco.com/",
    "category": "Accounting Services",
    "employeesRange": "10 to 19",
    "revenueEstimate": "$1 to 5 million",
    "sicCode": "8721",
    "sicDescription": "Accounting, Auditing, and Bookkeeping Services",
    "naicsCode": "541211",
    "yearFounded": "2009",
    "latitude": 32.8497332,
    "longitude": -96.7707877,
    "description": "Hall Accounting Company offers a full range of accounting, reporting, tax and audit services…",
    "primaryContact": { "name": "Jeremy Hall", "title": "Owner", "phone": null },
    "services": ["Bookkeeping", "Tax Preparation", "Audit"],
    "socialProfiles": { "linkedin": "https://www.linkedin.com/company/hall-accounting-co" },
    "emails": ["info@hallacctco.com", "jeremy@hallacctco.com"],
    "leadScore": 88,
    "searchTerm": "accounting firms",
    "searchLocation": "Dallas, TX",
    "scrapedAt": "2026-07-02T12:00:00.000Z"
}
```

### 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 with monitor mode to track new businesses in an industry + city; perfect for lead pipelines.
- **[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/manta-scraper').call({
    searchTerms: ['marketing agencies'],
    location: 'Austin, TX',
    maxResults: 100,
    includeDetails: true,
    enrichContacts: true,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} companies & B2B 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 company leads straight into your CRM.
- **[Slack](https://docs.apify.com/platform/integrations/slack)** — get notified when a monitored search finds new businesses.
- **[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. You can 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 marketing agencies in Austin with 10+ employees and list their emails" and let it run this scraper for you.

### Agent-ready: autonomous payments (x402 & Skyfire)

This actor is **agent-ready** — AI agents can discover it, run it, and **pay for it autonomously**, with no Apify account and no human in the loop. It uses [pay-per-event](https://docs.apify.com/platform/actors/publishing/monetize/pay-per-event) pricing and [limited permissions](https://docs.apify.com/platform/actors/development/permissions), so it qualifies for Apify's agentic-payment standards:

- **[x402](https://docs.apify.com/platform/integrations/x402)** — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp) — no account, no API key.
- **[Skyfire](https://docs.apify.com/platform/integrations/skyfire)** — agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

### More scrapers from scrapesage

Build a complete **US B2B lead-gen stack** with the rest of the scrapesage directory:

- **[BBB Scraper](https://apify.com/scrapesage/bbb-scraper)** — Better Business Bureau business leads, ratings & accreditation.
- **[Google Maps Scraper](https://apify.com/scrapesage/google-maps-scraper)** — local business places, leads & contacts.
- **[TaxBuzz Scraper](https://apify.com/scrapesage/taxbuzz-scraper)** — tax preparers, CPAs & accountant leads.
- **[Kompass Scraper](https://apify.com/scrapesage/kompass-scraper)** — global B2B company & supplier leads.
- **[Growjo Scraper](https://apify.com/scrapesage/growjo-scraper)** — company revenue, funding, growth & B2B leads.
- **[LinkedIn Company Scraper](https://apify.com/scrapesage/linkedin-company-scraper)** — firmographics & B2B company data.
- **[US Business Formation Scraper](https://apify.com/scrapesage/us-business-formation-scraper)** — newly registered LLC & company leads.
- **[Website Contact Scraper](https://apify.com/scrapesage/website-contact-scraper)** — emails, phones & socials from any domain list.

### Tips

- **Cleaner lists**: broad industry terms (`accounting firms`, `manufacturers`, `law firms`) and category pages return established companies; some highly competitive local-service terms also surface SEO-style listings — filter with `minEmployees`, `withWebsiteOnly` or `withEmailOnly`.
- **Cost control**: run listing-only first (fast, cheap), then turn on `includeDetails` for the segment you care about. Enrichment only runs for companies that actually have a website.
- **Proxies**: keep the default US residential group — Manta blocks datacenter IPs at Cloudflare.
- **Nationwide**: leave `location` empty to search a term across the whole US.

### FAQ

**How do I scrape Manta businesses for a specific city?** Put the industry in `searchTerms` and the city in `location` (`Austin, TX`). Combine with `state`, `minEmployees` or `withEmailOnly` to narrow the list.

**Where do the emails come from?** From the company's public Manta profile (`includeDetails`) and, with `enrichContacts` on, from the company's own website (home + contact/about) — the same publicly listed addresses a human visitor sees.

**Why is the website field better than other scrapers?** Manta wraps every outbound link in a `/urlverify?redirect=` tracker (and the map button is a Google-Maps link). This actor decodes the real destination, so `website` is the company's actual site — not a redirect or a map link.

**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 new businesses automatically?** Turn on `monitorMode` and create a [Schedule](https://docs.apify.com/platform/schedules); optionally add a [webhook](https://docs.apify.com/platform/integrations/webhooks) or [Zapier zap](https://docs.apify.com/platform/integrations/zapier) to push new leads into your CRM.

**A field is null — why?** Some companies genuinely don't publish an email, website, revenue or employee count on Manta (especially free, unclaimed listings). Fields are `null` only when the data doesn't exist, not because the scraper skipped them.

**Is scraping Manta legal?** This actor collects publicly available business data only. You are responsible for using the data in compliance with applicable laws (e.g. GDPR/CCPA where personal data is involved) and Manta'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 are welcome — this actor is actively maintained.

# Actor input Schema

## `searchTerms` (type: `array`):

What to look for on Manta, e.g. <code>marketing agencies</code>, <code>plumbers</code>, <code>accounting firms</code>, <code>manufacturers</code>, <code>law firms</code>. Combine with a Location to get businesses in one city; leave Location empty for a nationwide search. Each term is a separate saved search.

## `location` (type: `string`):

US city to focus the search on, e.g. <code>Austin, TX</code>, <code>Chicago, IL</code>, <code>Miami, FL</code>. The city is resolved through Manta's own location index. Leave empty for a nationwide search of the term(s) above.

## `startUrls` (type: `array`):

Direct Manta URLs to scrape in addition to the searches above: company profiles (<code>manta.com/c/\<id>/\<slug></code>), search result pages (<code>manta.com/search?...</code>) or industry category pages (<code>manta.com/mb\_.../\<industry></code>). Profile URLs are always fully detailed.

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

Global cap on the number of company records to output across all searches / URLs. Each search or category page returns ~20 companies. Set to <code>0</code> for no limit (bounded only by the run timeout).

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

Open each company's Manta profile to enrich the listing with its full firmographics: business email, revenue estimate, employee band, SIC & NAICS codes, year founded, latitude/longitude, description, services, social profiles and a key contact. Slower (one page per company) and billed per company (companyDetails event). Leave off for the fast, cheap listing-only run (name, address, phone, website).

## `enrichContacts` (type: `boolean`):

For every company with a website, crawl its home + contact/about pages and extract publicly listed e-mail addresses, phone numbers and social profiles (LinkedIn, Facebook, Instagram, X, YouTube, TikTok) — turning each company into a ready-to-contact B2B lead. Implies 'Include company details' (needed to find the website) and is billed as an enriched lead.

## `state` (type: `string`):

Keep only companies in this US state. Accepts a 2-letter code (e.g. <code>TX</code>) or full name. Leave empty for all.

## `minEmployees` (type: `integer`):

Keep only companies whose employee band starts at or above this number (requires company details). Leave empty for all.

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

Keep only companies for which a business email was found (requires company details or contact enrichment).

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

Keep only companies that have a business website.

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

Keep only companies that have a phone number.

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

Remember companies across runs and emit only NEW or CHANGED ones (phone, website, email, revenue or employee-band change). Great for watching an industry + city for new businesses. Works independently of Apify Schedules — pair it with a Schedule to run on a cadence.

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

Namespace for monitor memory. Use a distinct key per saved search so their states don't collide.

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

Proxies to use. Residential proxies are REQUIRED — Manta is protected by Cloudflare and blocks datacenter IPs. The default (Apify residential, US) is recommended.

## `debugMode` (type: `boolean`):

Dump raw page diagnostics to the key-value store for troubleshooting selectors.

## `headful` (type: `boolean`):

Run the browser headful (under Xvfb) — clears Cloudflare's challenge far more reliably. On by default.

## Actor input object example

```json
{
  "searchTerms": [
    "marketing agencies",
    "commercial plumbers"
  ],
  "location": "Austin, TX",
  "maxResults": 100,
  "includeDetails": false,
  "enrichContacts": false,
  "withEmailOnly": false,
  "withWebsiteOnly": false,
  "withPhoneOnly": false,
  "monitorMode": false,
  "monitorKey": "default",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  },
  "debugMode": false,
  "headful": true
}
```

# Actor output Schema

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

All scraped Manta company records as JSON items in the default dataset.

# 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 = {
    "searchTerms": [
        "marketing agencies"
    ],
    "location": "Austin, TX",
    "maxResults": 100,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "US"
    }
};

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

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

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

```

## Python example

```python
from apify_client import ApifyClient

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

# Prepare the Actor input
run_input = {
    "searchTerms": ["marketing agencies"],
    "location": "Austin, TX",
    "maxResults": 100,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapesage/manta-scraper").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 '{
  "searchTerms": [
    "marketing agencies"
  ],
  "location": "Austin, TX",
  "maxResults": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}' |
apify call scrapesage/manta-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Manta Scraper - US Small Business Directory & B2B Leads",
        "description": "Scrape US small business listings from Manta.com by industry + city or URL: name, address, phone, website, category — plus email, revenue estimate, employees, SIC/NAICS, year founded, geo, socials & a key contact. Optional website contact enrichment, lead scoring & monitor mode.",
        "version": "0.1",
        "x-build-id": "7UlN5a3OOYrnjLmWl"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapesage~manta-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapesage-manta-scraper",
                "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~manta-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapesage-manta-scraper",
                "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~manta-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapesage-manta-scraper",
                "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": {
                    "searchTerms": {
                        "title": "Search terms (business type / industry / keyword)",
                        "type": "array",
                        "description": "What to look for on Manta, e.g. <code>marketing agencies</code>, <code>plumbers</code>, <code>accounting firms</code>, <code>manufacturers</code>, <code>law firms</code>. Combine with a Location to get businesses in one city; leave Location empty for a nationwide search. Each term is a separate saved search.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "location": {
                        "title": "Location (city, state)",
                        "type": "string",
                        "description": "US city to focus the search on, e.g. <code>Austin, TX</code>, <code>Chicago, IL</code>, <code>Miami, FL</code>. The city is resolved through Manta's own location index. Leave empty for a nationwide search of the term(s) above."
                    },
                    "startUrls": {
                        "title": "Start URLs (optional)",
                        "type": "array",
                        "description": "Direct Manta URLs to scrape in addition to the searches above: company profiles (<code>manta.com/c/&lt;id&gt;/&lt;slug&gt;</code>), search result pages (<code>manta.com/search?...</code>) or industry category pages (<code>manta.com/mb_.../&lt;industry&gt;</code>). Profile URLs are always fully detailed.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxResults": {
                        "title": "Max results (companies)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Global cap on the number of company records to output across all searches / URLs. Each search or category page returns ~20 companies. Set to <code>0</code> for no limit (bounded only by the run timeout).",
                        "default": 100
                    },
                    "includeDetails": {
                        "title": "Include company details (email, revenue, employees, SIC/NAICS, founded, socials, contact)",
                        "type": "boolean",
                        "description": "Open each company's Manta profile to enrich the listing with its full firmographics: business email, revenue estimate, employee band, SIC & NAICS codes, year founded, latitude/longitude, description, services, social profiles and a key contact. Slower (one page per company) and billed per company (companyDetails event). Leave off for the fast, cheap listing-only run (name, address, phone, website).",
                        "default": false
                    },
                    "enrichContacts": {
                        "title": "Enrich contacts from the company website (emails, phones & socials)",
                        "type": "boolean",
                        "description": "For every company with a website, crawl its home + contact/about pages and extract publicly listed e-mail addresses, phone numbers and social profiles (LinkedIn, Facebook, Instagram, X, YouTube, TikTok) — turning each company into a ready-to-contact B2B lead. Implies 'Include company details' (needed to find the website) and is billed as an enriched lead.",
                        "default": false
                    },
                    "state": {
                        "title": "State filter",
                        "type": "string",
                        "description": "Keep only companies in this US state. Accepts a 2-letter code (e.g. <code>TX</code>) or full name. Leave empty for all."
                    },
                    "minEmployees": {
                        "title": "Minimum employees",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Keep only companies whose employee band starts at or above this number (requires company details). Leave empty for all."
                    },
                    "withEmailOnly": {
                        "title": "Only companies with an email",
                        "type": "boolean",
                        "description": "Keep only companies for which a business email was found (requires company details or contact enrichment).",
                        "default": false
                    },
                    "withWebsiteOnly": {
                        "title": "Only companies with a website",
                        "type": "boolean",
                        "description": "Keep only companies that have a business website.",
                        "default": false
                    },
                    "withPhoneOnly": {
                        "title": "Only companies with a phone",
                        "type": "boolean",
                        "description": "Keep only companies that have a phone number.",
                        "default": false
                    },
                    "monitorMode": {
                        "title": "Monitor mode (only new / changed)",
                        "type": "boolean",
                        "description": "Remember companies across runs and emit only NEW or CHANGED ones (phone, website, email, revenue or employee-band change). Great for watching an industry + city for new businesses. Works independently of Apify Schedules — pair it with a Schedule to run on a cadence.",
                        "default": false
                    },
                    "monitorKey": {
                        "title": "Monitor key",
                        "type": "string",
                        "description": "Namespace for monitor memory. Use a distinct key per saved search so their states don't collide.",
                        "default": "default"
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Proxies to use. Residential proxies are REQUIRED — Manta is protected by Cloudflare and blocks datacenter IPs. The default (Apify residential, US) is recommended.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "US"
                        }
                    },
                    "debugMode": {
                        "title": "Debug mode",
                        "type": "boolean",
                        "description": "Dump raw page diagnostics to the key-value store for troubleshooting selectors.",
                        "default": false
                    },
                    "headful": {
                        "title": "Headful browser",
                        "type": "boolean",
                        "description": "Run the browser headful (under Xvfb) — clears Cloudflare's challenge far more reliably. On by default.",
                        "default": true
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
