Manta Scraper - Extract Business Listings & Company Data
Pricing
from $0.01 / 1,000 results
Manta Scraper - Extract Business Listings & Company Data
Scrape comprehensive business information from Manta.com, one of the largest US small business directories. Extract company profiles, contact details, categories, and more for lead generation and market research. Build Lead Lists Research Markets Enrich CRM Data Verify Citations Competitive Analysis
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer
The Howlers
Maintained by CommunityActor stats
0
Bookmarked
28
Total users
0
Monthly active users
8 days ago
Last modified
Categories
Features
Share
Manta Business Directory Scraper
Scrape the Manta business directory for company listings, contact info, and business details: name, street address, city, state, zip code, phone, website, category, hours, coordinates and claim status. Find the Manta listing of any US small business from its name and city, for citation and NAP checks. Built by John Rippy (https://www.linkedin.com/in/johnrippy/).
Note: this actor runs in Demo Mode by default, so a default run returns labeled sample data and charges no task events (the Actor start fee still applies). Set demoMode to false to fetch real data.
How it reads Manta
Manta sits behind Cloudflare, which turns away plain scripts. The actor opens Manta in a Camoufox stealth browser over Apify residential proxies, so pages load the way they do for any visitor, and reads the public search and listing pages with human pacing. Ads and trackers are not loaded. Only public pages are read; the actor never logs in. When a session is not served pages, it switches to a new exit IP.
Quick Start
Test with Demo Mode (no task events)
{"demoMode": true}
Find one business (lookup)
{"demoMode": false,"scrapeType": "lookup","searchTerm": "Smooth Saling Plumbing","location": "Nashville, TN","phone": "(615) 815-1502"}
Returns one row: the matching listing with its URL and full address, or a not_found row when Manta has no listing for the business near that city. Other Manta listings that match the same business (duplicates) are listed in otherListings.
Search businesses
{"demoMode": false,"scrapeType": "search","searchTerm": "plumbing","location": "Nashville, TN","maxResults": 20}
Listing pages
{"demoMode": false,"scrapeType": "company_profile","companyUrl": "https://www.manta.com/c/m1hm62l/smooth-saling-plumbing-water-heater-replacement"}
Input Parameters
| Parameter | Type | Default | Required | Description |
|---|---|---|---|---|
scrapeType | string | "search" | No | lookup, company_profile or search |
companyUrl | string | - | No | Manta listing URL (company_profile); several separated by commas |
searchTerm | string | "restaurant" | No | Lookup: the business name. Search: a business type or keyword |
location | string | "New York, NY" | No | City and state; Manta searches about 10 miles around it |
phone | string | - | No | Lookup: phone of the business, to confirm a name match |
website | string | - | No | Lookup: website of the business, to confirm a name match |
maxResults | integer | 50 | No | Maximum number of businesses |
includeDetails | boolean | true | No | Search: open every listing for zip code, hours, categories and coordinates |
proxyConfiguration | object | {"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]} | No | Proxy settings. Residential proxies are needed for Manta |
demoMode | boolean | true | No | Return sample data without scraping |
webhookUrl | string | - | No | Optional webhook URL to receive each listing as it is scraped |
Output
| Field | Description |
|---|---|
name | Business name on Manta |
url, mantaId | Manta listing URL and id |
address, city, state, zipCode, fullAddress | Address on the listing. When Manta shows "Service Area" instead of a street, address is null, serviceAreaBusiness is true and fullAddress holds the city, state and zip only |
phone, website | Contact details on the listing |
category, categories | Manta category and its parents |
hours, latitude, longitude | Business hours (one entry per day, e.g. Mon 7:00 AM - 7:00 PM) and map position |
claimed | Whether the owner claimed the listing |
rating, reviewCount | Manta reviews, when shown |
match | Lookup only: how the listing was matched (website, name_and_phone, name_and_city, name_and_state), with name score and city and phone checks |
otherListings | Lookup only: other matching listings of the same business |
A field Manta does not show (for example employeeCount, revenue or yearFounded on most listings) is null, never an empty string or 0.
A lookup with no match returns status: "not_found" with the pages checked. If Manta could not be read at all, the row has status: "blocked" and no task event is charged for it (the Actor start fee still applies).
Pricing
This actor uses pay-per-event billing:
| Event | When it is charged | Price |
|---|---|---|
| Actor start | Once when the run starts, one event per GB of memory (minimum one). At the default 2 GB of memory a run starts at $0.20 | $0.10 per GB |
| Business Listing | Each business listing scraped | $0.002 |
| Result | Each item written to the default dataset | $0.00001 |
Demo mode charges no task events: sample rows are never billed. Every run, a demo run included, still pays the Actor start fee and the small per-result fee shown above. not_found and blocked rows charge no task events.
Troubleshooting
A lookup returned not_found
Manta lists millions of US businesses but not every one. Check the spelling, try the name as it appears on the storefront, or give the city the business is registered in.
status: blocked
Manta did not serve pages to any of the browser sessions. Run again later, and keep the residential proxy on.
How do I test without paying for results?
Enable Demo Mode in the input. It returns labeled sample data so you can check the output format.
Built by John Rippy | Actor Arsenal