Shopify Store Leads Scraper avatar

Shopify Store Leads Scraper

Pricing

from $0.47 / 1,000 shopify lead saveds

Go to Apify Store
Shopify Store Leads Scraper

Shopify Store Leads Scraper

Discover Shopify merchant domains and enrich public storefronts with emails, phones, social links, popularity signals, and metadata for ecommerce lead generation.

Pricing

from $0.47 / 1,000 shopify lead saveds

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Find Shopify merchant leads from public MyIP.ms data and enrich each storefront with public contact signals.

What does Shopify Store Leads Scraper do?

Shopify Store Leads Scraper discovers websites hosted by Shopify and turns them into a clean lead dataset. It starts from public MyIP.ms Shopify owner pages and extracts merchant domains, hosting metadata, popularity signals, emails, phone numbers, social profiles, and storefront metadata.

Use it when you need a repeatable way to build ecommerce prospect lists without copying tables by hand.

Who is it for? Shopify lead generation teams

  • 🧲 B2B sales teams looking for ecommerce merchants that may need apps, services, logistics, ads, or support.
  • 🛠️ Shopify app founders searching for public storefronts to qualify for outbound campaigns.
  • 📣 Marketing agencies building niche lists of direct-to-consumer brands.
  • 📊 Market researchers studying Shopify adoption, merchant popularity, and store metadata.
  • 🤝 Partnership teams finding stores with public social and contact information.

Why use this actor?

  • ✅ Public data source: MyIP.ms Shopify owner pages are visible without an account.
  • ✅ HTTP-first implementation: no heavyweight browser is needed for discovery.
  • ✅ Lead enrichment: visits public storefront, contact, and about pages.
  • ✅ Skips failures per domain: one blocked store does not stop the full run.
  • ✅ Clear provenance: every row includes the MyIP.ms source URL and source rank.

What Shopify lead data can it extract?

FieldDescription
domainMerchant domain from MyIP.ms
urlNormalized storefront URL
emailsPublic email addresses found in storefront HTML
phonesPublic phone-like contact numbers found in page text
socialLinksFacebook, Instagram, LinkedIn, Pinterest, TikTok, Twitter/X, and YouTube links
titleStorefront page title
descriptionStorefront meta description
ipAddressWebsite IP from MyIP.ms
hostingOwnerHosting company / IP owner
hostingCountryHosting country
hostingCityHosting city, when MyIP.ms provides it
worldSiteRankMyIP.ms world site popularity rank
estimatedVisitorsPerDayMyIP.ms visitors-per-day estimate
recordUpdatedAtMyIP.ms record update time
shopifyDetectedWhether Shopify markers are found in public HTML
enrichmentStatussuccess, partial, failed, or skipped

How much does it cost to scrape Shopify store leads?

This actor uses pay-per-event pricing. The initial lead event is designed around the ecommerce lead-generation baseline: about $0.50 per 1,000 saved Shopify leads before tier discounts. A tiny start event is charged once per run.

You control cost with:

  • maxItems for the number of leads saved.
  • enrichStorefronts to enable or skip storefront contact discovery.
  • maxEnrichmentPagesPerStore to limit contact/about page attempts.

How to scrape Shopify store leads

  1. Open the actor on Apify.
  2. Keep the default MyIP.ms source URL or choose a starting page.
  3. Set maxItems to a small number for your first run.
  4. Leave enrichStorefronts enabled if you want emails, phones, and social links.
  5. Run the actor.
  6. Export the dataset as JSON, CSV, Excel, XML, or HTML.

Input options

startPage

The first MyIP.ms Shopify owner page number to crawl when no custom start URLs are supplied. Page 1 contains the highest-ranked Shopify-hosted domains.

maxPages

How many consecutive source pages to try. Keep this low for quick tests.

maxItems

The maximum number of Shopify lead rows to save.

startUrls

Optional direct MyIP.ms URLs. Example:

[
{ "url": "https://myip.ms/browse/sites/1/own/376714" }
]

enrichStorefronts

When enabled, the actor visits public storefront pages to find emails, phones, social links, titles, descriptions, and Shopify markers.

maxEnrichmentPagesPerStore

Controls how many pages are tried per store. The actor checks common home, contact, and about URLs.

requestTimeoutSecs

Maximum request time for each page before the actor skips that page.

Example input

{
"startUrls": [
{ "url": "https://myip.ms/browse/sites/1/own/376714" }
],
"maxItems": 10,
"enrichStorefronts": true,
"maxEnrichmentPagesPerStore": 3,
"requestTimeoutSecs": 20
}

Example output

{
"domain": "example-shop.com",
"url": "https://example-shop.com",
"emails": ["support@example-shop.com"],
"phones": ["+1 555-123-4567"],
"socialLinks": {
"instagram": "https://www.instagram.com/example_shop"
},
"title": "Example Shop",
"description": "Premium ecommerce products from Example Shop.",
"hostingOwner": "Shopify, Inc",
"hostingCountry": "Canada",
"worldSiteRank": 12345,
"estimatedVisitorsPerDay": 1200,
"shopifyDetected": true,
"enrichmentStatus": "success"
}

Tips for better Shopify lead lists

  • Start with 10-25 leads to inspect output quality.
  • Increase maxItems after you confirm the fields fit your workflow.
  • Disable enrichment when you only need domains and MyIP.ms popularity data.
  • Increase enrichment pages when contact information is more important than speed.
  • Filter exported CSV rows by non-empty emails or social links for outreach lists.

Integrations

Use this scraper in common sales and research workflows:

  • Export CSV to a CRM such as HubSpot, Salesforce, or Pipedrive.
  • Send email-rich rows to an enrichment or verification tool.
  • Push social-profile rows into creator or partnership research workflows.
  • Combine domains with Shopify app-install detection actors.
  • Schedule recurring Apify runs and connect the dataset to Zapier or Make.

API usage

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/shopify-store-leads-scraper').call({
startUrls: [{ url: 'https://myip.ms/browse/sites/1/own/376714' }],
maxItems: 25,
enrichStorefronts: true
});
console.log(run.defaultDatasetId);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/shopify-store-leads-scraper').call(run_input={
'startUrls': [{'url': 'https://myip.ms/browse/sites/1/own/376714'}],
'maxItems': 25,
'enrichStorefronts': True,
})
print(run['defaultDatasetId'])

cURL

curl -X POST "https://api.apify.com/v2/acts/automation-lab~shopify-store-leads-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"maxItems":25,"enrichStorefronts":true}'

MCP integration

You can use this actor from Apify MCP with Claude Code or Claude Desktop.

MCP URL:

https://mcp.apify.com/?tools=automation-lab/shopify-store-leads-scraper

Claude Code setup:

$claude mcp add apify https://mcp.apify.com/?tools=automation-lab/shopify-store-leads-scraper

Claude Desktop JSON config:

{
"mcpServers": {
"apify-shopify-leads": {
"url": "https://mcp.apify.com/?tools=automation-lab/shopify-store-leads-scraper"
}
}
}

Example prompts:

  • "Find 25 Shopify merchant leads and summarize which have public emails."
  • "Run Shopify Store Leads Scraper with enrichment disabled and export domains only."
  • "Create a prospecting table from Shopify leads with Instagram profiles."

Data quality notes

The actor extracts only public web data. Storefront contact information may be absent, hidden behind JavaScript, or intentionally obfuscated. Rows with enrichmentStatus set to failed still include the MyIP.ms domain and hosting fields.

Limitations

  • MyIP.ms pagination and availability can change.
  • Some storefronts block automated HTTP requests.
  • Phone extraction is conservative and may miss unusual formats.
  • The actor does not access Shopify admin, customer accounts, private APIs, or paywalled data.

FAQ and troubleshooting

Why did a lead have no email?

Many stores do not publish an email address on the pages checked by the actor. Try increasing maxEnrichmentPagesPerStore, or use social/profile fields for manual qualification.

Why did enrichment fail for a domain?

The store may be offline, redirecting, blocking automated requests, or using a non-standard contact page. Check the error field for details.

Why are there fewer rows than requested?

The actor stops when it exhausts parsed source rows or reaches maxItems. If you use a custom source URL, confirm that the page contains a MyIP.ms sites table.

Legality and ethical use

This actor collects public information from public websites. You are responsible for using the data lawfully, respecting privacy rules, following anti-spam regulations, and honoring website terms. Do not use scraped contact data for abusive, deceptive, or unlawful outreach.

Changelog

0.1

  • Initial actor for Shopify merchant discovery and public storefront contact enrichment.

Support

If you need a field that is visible on public storefront pages but not currently extracted, open an Apify issue with a sample domain and the expected field.