Manta Business Directory Scraper avatar

Manta Business Directory Scraper

Under maintenance

Pricing

from $1.20 / 1,000 result emitteds

Go to Apify Store
Manta Business Directory Scraper

Manta Business Directory Scraper

Under maintenance

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

from $1.20 / 1,000 result emitteds

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

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