{
  "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, phone, website, address, plus e-mail, key contacts, employees, revenue, founded year, SIC/NAICS & socials. Lead score & monitor mode. Independent tool, not affiliated with Manta Media Inc.",
    "version": "0.1",
    "x-build-id": "1Q6g9dtf3RarfNCDs"
  },
  "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>. Each term is searched in every location below, and the result cap is shared fairly between all of them.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "US city and state, e.g. <code>Austin, TX</code>, <code>Chicago, Illinois</code> or <code>Salt Lake City UT</code>. Several locations: separate them with <code>;</code> (<code>Austin, TX; Dallas, TX</code>). A state on its own (<code>Texas</code>) searches that state's 8 largest cities, and an empty location searches the 25 largest US cities, because Manta's own search always needs a city. A city with no state (<code>Denver</code>) is searched in the state of the largest US city of that name, and the run says which. A location that is not in the US (or a ZIP code on its own) is reported back and nothing is charged."
          },
          "startUrls": {
            "title": "Start URLs (optional)",
            "type": "array",
            "description": "Manta URLs to scrape in addition to (or instead of) the searches above: company pages (<code>manta.com/c/&lt;id&gt;/&lt;slug&gt;</code>, always read in full), search result pages (<code>manta.com/search?...</code>) or category pages (<code>manta.com/mb_.../&lt;industry&gt;</code>, which list only their ~36 featured companies). A company page that no longer exists on Manta is reported and never charged.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "urlsFromFile": {
            "title": "Import URLs from a file",
            "type": "string",
            "description": "Paste a list of Manta URLs (one per line), OR one link to a .txt/.csv file, Google Sheet or Google Drive file containing them. Google Sheet/Drive share links are handled automatically. If the file cannot be read, the run says so and charges nothing."
          },
          "maxResults": {
            "title": "Max results (companies)",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Total number of companies to output across all searches and URLs, shared fairly between the searches. Each Manta results page holds 25 companies. Set to <code>0</code> for no limit (bounded by the run timeout).",
            "default": 100
          },
          "includeDetails": {
            "title": "Include company details (e-mail, contacts, employees, revenue, founded, hours, socials)",
            "type": "boolean",
            "description": "Open each company's Manta profile and add its full record: business e-mail (when listed), postal code, key contacts with job titles, employee count, revenue estimate (unclaimed listings), year founded, SIC & NAICS codes, category path, opening hours, services, social profiles, listing status and rating. One extra page per company, billed per company as the company-details add-on. Leave off for the fast listing-only run.",
            "default": false
          },
          "enrichContacts": {
            "title": "Find contacts on the company's own website (e-mails, phones & socials)",
            "type": "boolean",
            "description": "For every company with a website, read its home page and one contact/about page for publicly listed e-mail addresses, phone numbers and social profiles (LinkedIn, Facebook, Instagram, X, YouTube, TikTok, Pinterest). Platform and placeholder addresses are dropped, and an address only becomes the headline <code>email</code> when it is on the company's own domain (or is the owner's own mailbox). Turns on company details. Billed as an enriched lead only when the website added a new contact.",
            "default": false
          },
          "state": {
            "title": "State filter",
            "type": "string",
            "description": "Keep only companies in this US state: a 2-letter code (<code>TX</code>) or the full name (<code>Texas</code>). With no Location, the search runs in this state's 8 largest cities. A value that is not a US state is reported and nothing is charged."
          },
          "minEmployees": {
            "title": "Minimum employees",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only companies whose profile lists at least this many employees. Employee counts live on the company profile, so this turns on company details; companies that do not publish a count are left out."
          },
          "withEmailOnly": {
            "title": "Only companies with an e-mail",
            "type": "boolean",
            "description": "Keep only companies with a business e-mail. E-mails live on the company profile (and, with website contacts on, the company's own site), so this turns on company details.",
            "default": false
          },
          "withWebsiteOnly": {
            "title": "Only companies with a website",
            "type": "boolean",
            "description": "Keep only companies that list a website.",
            "default": false
          },
          "withPhoneOnly": {
            "title": "Only companies with a phone",
            "type": "boolean",
            "description": "Keep only companies that list a phone number.",
            "default": false
          },
          "monitorMode": {
            "title": "Monitor mode (only new / changed)",
            "type": "boolean",
            "description": "Remember companies across runs and output only NEW ones, or ones whose phone, website, address, e-mail, employee count or listing status changed. Each run checks the first <code>Max results</code> results of the search(es) and charges only for what it outputs. Pair it with an Apify Schedule.",
            "default": false
          },
          "monitorKey": {
            "title": "Monitor key",
            "type": "string",
            "description": "Name for the monitor's memory. Use a different key per saved search so their memories don't mix.",
            "default": "default"
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Leave as is. The Actor starts on Apify's datacenter proxy and switches to US residential proxies by itself if Manta refuses the datacenter IPs. Your own proxy URLs are used as given.",
            "default": {
              "useApifyProxy": true
            }
          },
          "debugMode": {
            "title": "Debug mode",
            "type": "boolean",
            "description": "Save the first raw result pages to the key-value store for troubleshooting.",
            "default": false
          },
          "transportLane": {
            "title": "Start lane (testing)",
            "type": "string",
            "description": "Testing only: start on the datacenter (dc), residential (res) or browser lane."
          },
          "allowBrowserFallback": {
            "title": "Allow browser fallback (testing)",
            "type": "boolean",
            "description": "Testing only: set false to disable the browser rung."
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}