Shopify Store Leads
Find Shopify stores and pull public emails, phones, socials, currency, country, theme, technologies, products and key pages.
How it works
- 1Open it on Apify
Hit Run on Apify — it opens the tool in the cloud, no install.
- 2Set the inputs
Adjust
stores,startUrls,maxPagesPerStore(sensible defaults are pre-filled). - 3Click Run
The tool runs on Apify’s cloud and collects the data for you.
- 4Export the results
Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.
Pricing
$0.0045 per Shopify store lead = $4.5 per 1,000
| You are charged for | When | Price |
|---|---|---|
| Shopify store lead | One confirmed Shopify store enriched with public lead and catalog data. | $0.0045 |
Pay-per-event pricing: you are billed per result, not per subscription — a run that returns nothing costs nothing beyond the start fee. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-07-25, and they are what you are actually charged.
Inputs
| Field | What it does | Type |
|---|---|---|
stores | Shopify store domains or full URLs, one per line. Values without a scheme use HTTPS. | array |
startUrls | Alternative Apify request-list input. Can be combined with Store domains or URLs. | array |
maxPagesPerStore | Maximum HTML page attempts per store. Contact and about pages are prioritized. | integer |
maxProducts | Maximum products to retain from the public Shopify catalog endpoint. Set to 0 to skip catalog lookup. | integer |
maxConcurrency | Number of stores processed concurrently. | integer |
requestTimeoutSecs | Maximum duration of each HTTP request. | integer |
maxResponseSizeKb | Maximum HTML or JSON response body size per request. | integer |
defaultCountry | Optional ISO 3166-1 alpha-2 country code used to normalize local phone numbers. | string |
What you get
A structured dataset — each result includes fields like:
domaintitlecountrycurrencyproductCountemailsphonessocialstechnologiesshopifyConfidencestoreUrlok_samplerequestedUrldescriptionisShopifyshopifySignalsproductCountTypeproductsthemecontactUrlsaboutUrlssourcePagespagesCrawlederrorCodeerrorExport every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.
Related tools in B2B Leads & Contact Data
Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.
Thomasnet Suppliers Scraper
Scrape Thomasnet suppliers by product and US location: name, phone, website, address, year founded, employees, sales, ISO certs.
LinkedIn Profiles Scraper
Extract public LinkedIn profile fields from supplied URLs: name, headline, description, image link and public identifier.
LinkedIn Companies Scraper
Extract public LinkedIn company data from company URLs: name, description, followers, employee count, HQ, website and logo.
YouTube Channel Email Scraper
Find business emails publicly listed in YouTube channel descriptions and their linked websites. Built for creator outreach and sponsorships. No login needed.
Domain Inspector
Bulk-inspect domains: DNS records, RDAP registrar and expiry, redirects, TLS dates, security headers, robots, sitemaps and tech detection.
Google Maps Scraper
Scrape Google Maps business listings by category and city: name, phone, website, rating, reviews, lat/lng and place ID. Build local lead lists fast.
Where this tool sits
- Categories
- B2B Leads & Contact Data
- Platforms
- Shopify
Shopify Store Leads
Shopify Store Leads finds public Shopify storefronts and returns one consolidated lead record per store. It uses direct HTTP requests by default, detects Shopify from public HTML and storefront endpoints, samples products, and enriches contact and social signals from a small set of same-site pages.
What it does
- Accepts store domains, URLs, or Apify
startUrls. - Confirms Shopify with multiple independent public signals.
- Extracts store title, description, country, currency, theme hints, technologies, emails, phones, social profiles, contact/about URLs, and product samples.
- Uses
/products.jsonand/shop.jsonwhen those public endpoints are available. - Enforces SSRF checks before every initial request and redirect, including DNS resolution against private and reserved addresses.
- Keeps concurrency, response size, redirects, pages, and product samples bounded.
- Supports an optional Apify or custom proxy for stores that block direct cloud traffic.
Input
Provide stores as domains or URLs, or startUrls as request-list objects. maxPagesPerStore defaults to 4, maxProducts to 20, and maxConcurrency to 5. defaultCountry is used only for local phone normalization. Proxy use is opt-in.
Output
One row is emitted per requested store. Successful rows have ok: true and isShopify: true. A failed, blocked, invalid, unreachable, or non-Shopify input becomes an ok: false diagnostic row. Diagnostics include an errorCode and are never charged.
Empty input emits a clearly labeled _sample: true row for the Apify input preview. Sample rows are never charged.
Pricing
$4.50 per 1,000 confirmed stores ($0.0045 each), with no run-start fee. Flat on every Apify plan — no volume tiers, no plan gates — and you are charged only for stores actually confirmed.
Most Shopify store-lead actors are tiered instead, so a free-plan run costs several times more than their advertised headline rate, and the best number only arrives once you are committed to volume. This one is flat: the same price on your first run as on your millionth, on every plan including the free one, with no tier to unlock and no minimum spend.
Billing
The actor emits the pay-per-event event store only after a confirmed Shopify result has been written to the dataset. Non-Shopify sites and all diagnostic or sample rows do not call Actor.charge, so feeding it a mixed domain list costs you nothing for the misses. Direct HTTP is the default transport and no proxy is used unless you opt in, so there is no proxy line on your bill either.
Proxy and limitations
Some Shopify stores use bot protection, geoblocking, consent interstitials, or client-rendered content. A proxy can help with IP blocking but adds bandwidth cost and may still be blocked. This actor does not bypass authentication, CAPTCHAs, paywalls, checkout flows, or private APIs. It does not submit forms or contact stores.
The product endpoint is a public sample, not a guaranteed complete inventory. productCountType tells you whether the count is a storefront endpoint sample or unavailable.