Shopify Merchant Scraper avatar

Shopify Merchant Scraper

Pricing

from $3.99 / 1,000 results

Go to Apify Store
Shopify Merchant Scraper

Shopify Merchant Scraper

Pricing

from $3.99 / 1,000 results

Rating

0.0

(0)

Developer

ScrapeMesh

ScrapeMesh

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

๐Ÿ›๏ธ Shopify Merchant Scraper โ€“ Emails, Phones, Socials & Product Counts

Turn any list of Shopify storefronts into a clean, ready-to-import B2B lead sheet. Drop in store URLs, hit Start, and get back one polished row per store containing contact email, phone, social profiles, product count and currency.

Built for agencies, dropshippers, SaaS sales teams and competitor researchers who need real merchant contact data without paying for an enrichment platform.


โœจ Why this scraper?

โญ FeatureWhat you get
๐Ÿ“ง Real contact emailsMined from mailto: links and the entire contact-page surface
๐Ÿ“ž Real phone numbersTwo-tier extraction โ€” tel: hrefs first, validated free-text fallback
๐Ÿ”— Social profilesFacebook, Instagram, Twitter/X auto-detected
๐Ÿ“ฆ Product countSourced directly from each store's /products.json
๐Ÿ’ฑ CurrencySourced from /meta.json so you know which markets the store sells in
๐Ÿ›ก๏ธ Smart proxy ladderDirect โ†’ Datacenter โ†’ Residential, escalates only when blocked
โšก Async concurrencyConfigurable parallelism โ€” scale from 1 lead to thousands
๐Ÿ’พ Live dataset writesEach lead is saved the moment it's ready, so crashes never wipe your run

๐Ÿงพ Input

FieldTypeRequiredDescription
startUrlsarrayโœ…One or more Shopify storefront URLs
maxItemsintegerโŒHard cap on stores to process (default 100)
concurrencyintegerโŒParallel store workers (default 10, max 50)
requestDelaynumberโŒPolite delay in seconds between requests within one store
proxyConfigurationobjectโŒDefault: no proxy. Falls back to datacenter, then residential when needed

๐Ÿ“‹ Example input

{
"startUrls": [
{ "url": "https://kyliecosmetics.com/" },
{ "url": "https://www.allbirds.com/" }
],
"maxItems": 100,
"concurrency": 10,
"requestDelay": 0.5,
"proxyConfiguration": { "useApifyProxy": false }
}

๐Ÿ“ค Output

One row per storefront, ready to export to JSON / CSV / XLSX from the Output tab.

{
"storeName": "Kylie Cosmetics by Kylie Jenner | Kylie Jenner Fragrances | Kylie Skin",
"domain": "kyliecosmetics.com",
"email": "customerservice@kyliecosmetics.com",
"phone": "1-877-916-6128",
"facebook": "https://www.facebook.com/KylieCosmetics/",
"instagram": "https://www.instagram.com/kyliecosmetics/",
"twitter": "https://twitter.com/kyliecosmetics",
"productCount": 250,
"currency": "USD",
"url": "https://kyliecosmetics.com/",
"scrapedAt": "2026-05-19T10:03:57.462Z"
}
FieldDescription
storeNameTitle of the storefront's homepage
domainApex domain of the store
emailFirst validated contact email
phoneFirst validated contact phone
facebook / instagram / twitterLinked social profiles
productCountNumber of public products in /products.json
currencyDefault selling currency from /meta.json
urlOriginal input URL
scrapedAtUTC ISO-8601 timestamp of the scrape

๐Ÿš€ How to Use (Apify Console)

  1. Log in at https://console.apify.com โ†’ Actors.
  2. Open Shopify Merchant Scraper.
  3. Paste your Shopify URLs into ๐ŸŒ Shopify Store URLs (one per line, or upload a list).
  4. (Optional) tweak ๐Ÿ“ฆ Max stores, โšก Concurrent stores, โฑ๏ธ Polite delay.
  5. Leave ๐Ÿ›ก๏ธ Proxy configuration on default โ€” the actor will escalate automatically only if a store blocks the request.
  6. Click Start โ–ถ and watch leads land in the Output tab in real time.
  7. Export to JSON, CSV, XLSX or pipe via the API into your CRM.

๐Ÿค– Use via API

curl -X POST "https://api.apify.com/v2/acts/<ACTOR_ID>/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"startUrls": [{ "url": "https://kyliecosmetics.com/" }],
"maxItems": 50
}'

The actor also runs from Make, n8n, Zapier and any MCP-aware client out of the box.


๐Ÿ›ก๏ธ Smart Proxy Ladder

The scraper is polite by default โ€” it goes direct first so you don't burn proxy units on stores that don't need them. If a store responds with a block (403, 406, 429, 503, etc.), the actor automatically:

  1. ๐Ÿชœ Escalates to a datacenter proxy.
  2. ๐Ÿชœ Escalates to a residential proxy if datacenter is still blocked.
  3. ๐Ÿ” Retries the residential request up to 3 times with exponential backoff.
  4. ๐Ÿ”’ Sticks with the residential proxy for the rest of the run so you never bounce between rungs.

Every escalation is logged with a clear emoji-tagged line so you can see exactly when and why a fallback occurred.


๐Ÿ’ฐ Pricing

This actor uses the Pay-Per-Event model:

EventWhat it bills for
apify-actor-startRun startup (synthetic, set in Console)
row_resultOne charge per merchant row written to the dataset

You only pay for leads you actually receive. There are no monthly fees โ€” scale up or down at will. The actor exits cleanly when your spending cap is reached.


๐Ÿง  Best Use Cases

  • ๐ŸŽฏ B2B prospecting โ€” feed merchant emails straight into outreach tools
  • ๐Ÿ›’ Dropshipping research โ€” find what brands sell and at what scale
  • ๐Ÿ•ต๏ธ Competitor analysis โ€” sweep an entire niche in minutes
  • ๐Ÿ“Š Market sizing โ€” count active product catalogues per currency / market
  • ๐Ÿค Influencer outreach โ€” pair social profiles with contact emails

โ“ Frequently Asked Questions

Does it work on every Shopify store? Any storefront that exposes the standard /products.json and a public contact page works out of the box. Headless / password-protected stores will return an empty row.

What if a store is behind Cloudflare or aggressive anti-bot? The proxy ladder kicks in automatically. You'll see ๐Ÿ›ก๏ธ Proxy escalation in the logs the moment a block is detected.

Are emails / phones always present? Only if the merchant publishes them. The scraper never invents data โ€” empty fields mean the store didn't disclose it, not that we missed it.

Can I scrape thousands of stores? Yes. Raise concurrency and maxItems, and the actor's autoscaling + live dataset writes will keep up safely.

Is this legal? The scraper only collects publicly available data from store homepages and public JSON endpoints. You are responsible for compliance with GDPR/CCPA/anti-spam laws and each store's ToS when you use the output.


๐Ÿ†˜ Support & Feedback

Spot a bug, need a custom field, or want bulk pricing? Open an issue on the actor page or send a message via the Apify Console. We respond fast.


๐Ÿ›๏ธ Happy scraping โ€” turn the entire Shopify ecosystem into your next pipeline.