MerchantCircle Business Data & Lead Scraper avatar

MerchantCircle Business Data & Lead Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
MerchantCircle Business Data & Lead Scraper

MerchantCircle Business Data & Lead Scraper

Live MerchantCircle local business data: keyword + location search, full profiles, reviews & email discovery. Phones, websites, addresses, hours, ratings streamed to your dataset in real time. Free trial: 2 results per run.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Emmanuel

Emmanuel

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Share

MerchantCircle Real-Time Data

Live local business intelligence from MerchantCircle — keyword + location search, full business profiles, customer reviews, and contact details for lead generation. Structured JSON streamed to your dataset in real time.

Free trial: free Apify plans get 2 results per run. Paid plans are uncapped. See Delivery & limits below.

Who this is for

Agencies, local SEO teams, sales prospectors, and CRM builders who need fresh US small-business leads with phones, addresses, websites, hours, and reviews.

Use cases:

  • Build outreach lists by trade + city (plumbers in Brooklyn, dentists in Austin)
  • Enrich a CRM with phones, websites, addresses, and hours
  • Monitor ratings and review volume across local competitors
  • Power local-SEO audits with categories, photos, and review counts
  • Feed AI agents with structured business profiles
  • Track new businesses appearing for a keyword + ZIP

Features

CheckboxWhat you get
🔍 Business Search (default on)Keyword + location tasks, fast cards: name, phone, address, photo
✨ Enrich with full lead detailsSame search row enriched in place (detailsFetched: true): website, hours, categories, rating, review count
✉️ Discover emails from business websitesChecks each business website homepage for a public contact email, filled into the email column (off by default; adds a little extra time per record)
🏢 Business DetailsFull profile for explicit business URLs
⭐ ReviewsCapped customer reviews per business: reviewer, rating, date, text
🔗 Scrape By URLAny MerchantCircle search, category hub, or business URL, auto-detected
🔔 WebhooksJSON or Slack push per record, in addition to the dataset

Input reference

  • country (select, default US): market region. MerchantCircle is US-first; keep US.
  • enableBusinessSearch (bool, default true)
  • searchTasks (array, default [{ keyword: "plumber", location: "Brooklyn, NY 11223" }]): one task per keyword + location pair.
  • searchKeywords + searchLocation: simple mode alternative to searchTasks.
  • searchMaxResults (int 1–200, default 10): max businesses per task.
  • searchFetchLeadDetails (bool, default false): enrich each search row in place. Adds a little extra time per record.
  • enableBusinessDetails (bool, default false) + businessUrls (stringList): full profiles.
  • enableReviews (bool, default false) + reviewBusinessUrls (stringList, falls back to businessUrls) + reviewsMaxPerBusiness (int 1–100, default 20).
  • enableScrapeByUrl (bool, default false) + scrapeUrls (stringList).
  • webhookUrl (string, default ""), webhookFormat (json | slack, default json).
  • proxyConfiguration (proxy editor, default Residential US).

Empty input still runs a useful demo: Business Search on, one plumber task, 10 rows.

Each enabled checkbox with empty required fields throws a clear feature-level error (e.g. Business Search on with no tasks).

Output fields

One row per business (business_search, business_details), one row per review (review), structured rows for scrape_by_url. Filter views by featureType.

Business fields: business_name, phone, website, email, street_address, city, region, postal_code, full_address, latitude, longitude, categories, about, hours, rating, review_count, logo_url, image_urls, position, detailsFetched.

Review fields: business_name, reviewer_name, review_rating, review_date, review_text, position.

Scrape By URL: pageType (search | hub | business), business_name, phone, data.

Webhook guide

Set webhookUrl to receive each record twice: once in the dataset, once POSTed to your URL.

  • json: full record object — best for Zapier, Make, n8n, custom bots.
  • slack: friendly message with business name, phone, location, rating, and link.

Delivery is fire-and-forget: failures never stop the run or dataset writes.

MCP / AI-agent usage

Connect via the Apify MCP server, then ask:

"Find 10 plumbers in Brooklyn NY on MerchantCircle with phones and websites, and send the top-rated ones to my webhook."

The agent maps this to enableBusinessSearch + searchTasks + searchFetchLeadDetails.

FAQ

  • Which proxy should I use? Residential US (the default) for the most reliable results at scale.
  • How does the free trial work? Free Apify plans are capped at 2 results per run with an upgrade notice; the run still exits cleanly with a paywall summary on OUTPUT.
  • How fresh is the data? Every run collects live directory results at run time — what you see is what is listed now.
  • Do enriched searches duplicate rows? No. Enrichment merges into the same business_search row (detailsFetched: true).
  • Is anything filtered out? No. Every discovered business is exported.
  • Where do emails come from? MerchantCircle listings do not publish email addresses, so the email column is filled by checking each business's own website homepage when email discovery is on. Businesses without a website (or without a public email on it) return email: null — never guessed, never faked.

Delivery & limits

  • Streams each record as collected; RAM stays light on large runs.
  • Run timeout: 10,000 seconds.
  • Free-tier: max 2 items in limit mode with an upgrade warning; 0 items in owner-configured block mode.
  • PPE: charges event result per dataset row (override with PPE_EVENT_NAME).