Manta Business Directory Scraper avatar

Manta Business Directory Scraper

Pricing

Pay per event

Go to Apify Store
Manta Business Directory Scraper

Manta Business Directory Scraper

Search manta.com's US business directory by category/keyword and city or state — one row per business with name, phone, address, category, SIC code, employee-count and revenue estimates, website, and founding year. Built for SMB lead-gen and local-market research.

Pricing

Pay per event

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share


🎯 What this scrapes

manta.com aggregates US small/mid-size business listings into a free public directory searchable by category and location. This Actor wraps its search-results pages directly, writing one structured row per listing: name, phone, full address, category, SIC code, employee-count and revenue estimates, website, and founding year — firmographic signal most directory scrapers don't carry alongside contact data.

🔥 What we handle for you

  • 🛡️ A real browser, not a script — Manta fronts its directory with a bot wall, so we drive a hardened Firefox (Camoufox) with a genuine fingerprint rather than an HTTP client pretending to be one.
  • 🌐 Residential proxy rotation via Apify Proxy — fresh session and exit IP on every block.
  • 🔁 Two separate retry budgets — a bot wall (429 / 403) and a dead proxy tunnel are different problems, so we retry them independently on fresh exits. A flaky proxy can no longer burn the budget reserved for real blocks, and the failure message names whichever actually gave out.
  • 🧱 Rate-limit-aware pacing — when the target pushes back, we slow down instead of getting banned.
  • 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, stable IDs, JSON / CSV / Excel export straight from the Apify Console.
  • 💰 Pay-Per-Event pricing — you only pay for results that hit your dataset. No data, no charge.

💡 Use cases

  • Sales/SDR prospecting — build a call or email list of SMBs in a category and city or state, with phone and address ready to dial.
  • Local-market research — gauge how many businesses of a category operate in a metro, with firmographic (size/revenue/founding-year) signal alongside contact data.
  • Agency lead lists — marketing agencies pulling fresh local-business leads by vertical without paying for a directory subscription.
  • Competitive landscape mapping — see who else serves a category+location before entering a market.

⚙️ How to use it

  1. Click Try for free at the top of the page.
  2. Fill in the input form — most fields have sensible defaults.
  3. Click Start. Output streams into the run's dataset.
  4. Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.

📥 Input

FieldTypeRequiredDefaultNotes
searchTermstringyes'plumbers'Category or free-text keyword, e.g. "plumbers" or "marketing agencies".
locationstringyes'Austin, TX'US city+state ("City, ST") or a bare 2-letter state code.
maxResultsintegerno300Cap on total rows emitted for the run.
proxyConfigurationobjectno{'useApifyProxy': True, 'apifyProxyGroups': ['RESIDENTIAL']}Mandatory-by-default RESIDENTIAL proxy — manta.com is a confirmed Cloudflare Managed Challenge target (live-verified 202

Example input

{
"searchTerm": "plumbers",
"location": "Austin, TX",
"maxResults": 10,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
]
}
}

📤 Output

Every row is one dataset item.

FieldTypeNotes
business_namestringBusiness name from the result card.
phone['string', 'null']Phone number, verbatim.
street_address['string', 'null']Street address, best-effort parsed.
city['string', 'null']City, best-effort parsed.
state['string', 'null']State, best-effort parsed.
zip_code['string', 'null']ZIP code, best-effort parsed.
category['string', 'null']Primary category/industry label.
sic_code['string', 'null']SIC code, when exposed on the listing.
employee_count_estimate['string', 'null']Employee-count bucket as displayed, e.g. '1-4'.
revenue_estimate['string', 'null']Revenue bucket as displayed, e.g. 'Less than $500,000'.
website['string', 'null']Outbound website link, verbatim.
year_established['integer', 'null']4-digit founding year, when shown.
listing_urlstringAbsolute URL to the business's Manta profile page.
search_termstringEcho of the run's searchTerm input.
location_querystringEcho of the run's location input.
scraped_atstringISO-8601 UTC timestamp when this row was recorded.

Example output

{
"business_name": "Austin Plumbing Pros LLC",
"phone": "(512) 555-0134",
"street_address": "4210 S Lamar Blvd",
"city": "Austin",
"state": "TX",
"zip_code": "78704",
"category": "Plumbing Contractors",
"sic_code": "1731",
"employee_count_estimate": "1-4",
"revenue_estimate": "Less than $500,000",
"website": "https://austinplumbingpros.example.com",
"year_established": 2011,
"listing_url": "https://www.manta.com/c/mabc1234/austin-plumbing-pros-llc",
"search_term": "plumbers",
"location_query": "Austin, TX",
"scraped_at": "2026-08-01T12:00:00Z"
}

💰 Pricing

Pay-Per-Event — you pay only when these events fire:

EventUSDWhat it is
actor-start$0.05One-off warm-up charge per run
result$0.0012Per dataset item

Example: 1 000 results at the rates above ≈ $1.25. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.

🚧 Limitations

v1 scrapes search-results (list) pages only — individual company profile pages (full description, additional contacts, social links) are out of scope for this build. Employee-count and revenue fields ship as displayed bucket text, never coerced to numeric ranges. website may be Manta's own tracked redirect rather than the business's final domain. Each run is a full fresh scrape — no cross-run deduplication or incremental crawling.

❓ FAQ

Are employee count and revenue exact figures?

No — Manta displays these as ranges (e.g. "1-4 employees", "Less than $500,000"). We capture the bucket text verbatim rather than fabricating a precise number.

Does website always point to the business's own domain?

Not always — it may be Manta's own tracked redirect rather than the business's final domain. We capture the link verbatim; resolving redirects is a documented v2 candidate.

Why does this default to a residential proxy?

manta.com is a confirmed site-wide Cloudflare Managed Challenge (live-verified 403 + Cf-Mitigated: challenge across homepage, search-results, and profile pages). We default proxyConfiguration to Apify's RESIDENTIAL group so runs clear the challenge without you tuning anything.

What happens if a search hits a bot wall?

We relaunch the browser on a fresh residential exit and try again. If Manta is still walling us after the retry budget is spent, we fail the run loud with a message naming the actual cause — never a silent empty dataset wearing a green status.

💬 Your feedback

Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.