Shopify Store Leads Finder (Emails, Phones, Socials) avatar

Shopify Store Leads Finder (Emails, Phones, Socials)

Pricing

$3.00 / 1,000 store leads

Go to Apify Store
Shopify Store Leads Finder (Emails, Phones, Socials)

Shopify Store Leads Finder (Emails, Phones, Socials)

Finds Shopify stores by what they sell (or enriches your list of store domains): emails, phones, address, VAT number, social profiles, location, catalog size, newest product, price range, theme and installed apps. Pay per store lead; not-Shopify, closed and password-protected domains are free.

Pricing

$3.00 / 1,000 store leads

Rating

0.0

(0)

Developer

Steady Scrape

Steady Scrape

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Shopify Store Leads Finder — emails, phones and socials of Shopify stores

Find Shopify stores by what they sell — organic coffee, yoga mat, dog collar — or enrich a list of store domains you already have. Every store comes with its public emails, phone numbers, contact page, legal name, business address, VAT and company numbers, Instagram / Facebook / TikTok / YouTube / Pinterest / X / LinkedIn profiles, city and country, currency, catalog size, newest product date, price range, product types, Shopify theme and installed apps (Klaviyo, Judge.me, Recharge, Gorgias, Okendo, Yotpo…).

You only pay for store leads. Domains that are not Shopify, closed or password-protected are free rows.

Who it is for

  • Agencies selling to e-commerce brands (email marketing, ads, CRO, SEO, design): prospect lists by niche and country, with the email and the apps each store already uses.
  • Shopify app and theme developers: find stores running a competitor app or an old theme version.
  • Wholesalers, suppliers and marketplaces: find retailers of a product category, with their price range.
  • Market researchers: how many stores sell a product, where they are based, how big their catalogs are.

How it works

  1. You give search terms (what the stores sell) and/or a list of store domains.
  2. Each search term is looked up in Shop, Shopify's own product catalog, through its public agent endpoint (the search_catalog tool — nothing else is ever called: no cart, no checkout). Every product found names the store that sells it, so a page of 50 products gives about 15–25 different stores.
  3. Each store is then read from its own storefront, the pages Shopify serves to any visitor: /meta.json (name, location, currency, catalog size, countries it ships to), its contact-information policy (legal name, address, phone, email, VAT number), its newest products, its homepage (emails, phones, social profiles, theme, apps) and its contact page (more emails).
  4. A store found by two search terms (or also in your domain list) is delivered and charged once.
  5. One free summary row per search term says how many products and stores Shop returned and where each store went.

Measured on 2026-10-20: "organic coffee" — 443 products from 148 stores; 25 of the first 30 stores published an email (17 on the homepage or policy, 8 more only on the contact page).

Input example

{
"searchTerms": ["organic coffee", "specialty coffee beans"],
"storeCountry": "US",
"maxStores": 200,
"requireEmail": true,
"onlyNewStores": true
}

Enrich your own list:

{
"domains": ["puritycoffee.com", "https://www.cafebritt.com", "nzxx1a-ye.myshopify.com"]
}
FieldWhat it does
searchTermsProduct keywords. Each reaches up to ~500 products (Shop's limit per search), usually 100–150 stores.
domainsShopify stores you already have, as domains, links or .myshopify.com addresses.
storeCountryOnly stores based in this country (Shop filters products shipping from it; each store's registered country is checked).
shipsToOnly products that ship to this country, wherever the store is based.
maxStoresMost store leads delivered (and charged) in the run. Default 50.
requireEmailOnly stores with at least one public email; the others are skipped for free.
onlyNewStoresSkip stores delivered to you in earlier runs with this option on: schedule it and get only new leads.

Output example

A real row (Purity Coffee, found by "organic coffee"):

{
"rowType": "store",
"name": "Purity Coffee",
"storeUrl": "https://puritycoffee.com",
"domain": "puritycoffee.com",
"myshopifyDomain": "purity-coffee.myshopify.com",
"shopId": "40613871783",
"description": "Shop Purity Coffee online today. Explore organic, specialty grade coffee that is purity tested, antioxidant rich and crafted for a cleaner cup at Purity Coffee.",
"emails": [
"support@puritycoffee.com"
],
"phones": [
"844-787-4892"
],
"contactPageUrl": "https://puritycoffee.com/pages/help-center",
"legalName": "Purity Coffee",
"address": "Purity Coffee Inc., 1010 East North Street, Suite B3, Greenville SC 29601, United States",
"vatNumber": null,
"registrationNumber": null,
"city": "Greenville",
"province": "South Carolina",
"country": "US",
"currency": "USD",
"socials": {
"instagram": "https://www.instagram.com/purity_coffee",
"facebook": "https://www.facebook.com/mypuritycoffee",
"tiktok": "https://www.tiktok.com/@puritycoffee",
"youtube": "https://www.youtube.com/@puritycoffee5260",
"pinterest": null,
"x": null,
"linkedin": null
},
"productCount": 103,
"collectionCount": 40,
"productsSampled": 103,
"newestProductAt": "2026-10-09T19:22:22.000Z",
"priceMin": 11,
"priceMax": 192,
"topProductTypes": [
"Whole Bean Coffee",
"Single-Serve Coffee",
"Ground Coffee",
"Hidden",
"Coffee"
],
"theme": "Impulse",
"themeVersion": "7.4.0",
"apps": [
"Consentmo",
"EcoCart",
"Google Tag Manager",
"Gorgias",
"Klaviyo",
"Okendo",
"Skio",
"Superfiliate"
],
"shopPayInstallments": true,
"shipsToCountries": [
"CA",
"US"
],
"websiteRead": true,
"matchedProducts": [
{
"title": "FLOW: Original Medium Roast Whole Bean Coffee",
"url": "https://puritycoffee.com/products/original-roast-whole-bean-coffee",
"price": 29,
"currency": "USD"
},
{
"title": "PROTECT: Light-Medium Roast Whole Bean Coffee",
"url": "https://puritycoffee.com/products/purity-protect",
"price": 29,
"currency": "USD"
}
],
"foundBy": "organic coffee",
"scrapedAt": "2026-10-20T06:00:00.000Z"
}

Store fields

FieldMeaning
rowTypestore for a store lead (the free rows are described below).
name, storeUrl, domainThe store and its primary address.
myshopifyDomain, shopIdIts permanent .myshopify.com address and Shopify shop id.
descriptionThe store's own description as set in Shopify (null when it has none).
emailsPublic emails from its contact policy, homepage and contact page; the store's own domain first. Apps' and placeholder addresses are removed.
phonesPhone numbers from its contact policy and tel: links.
contactPageUrlIts contact page, when it has one.
legalName, address, vatNumber, registrationNumberFrom Shopify's contact-information policy (required for stores selling into the EU), when the store filled it in.
city, province, country, currencyThe business location and currency set in Shopify.
socialsInstagram, Facebook, TikTok, YouTube, Pinterest, X and LinkedIn profile links (null when not linked).
productCount, collectionCountPublished products and collections.
productsSampled, newestProductAt, priceMin, priceMax, topProductTypesStats of its newest products (up to 250): is it active, how pricey, what it sells.
theme, themeVersionIts Shopify theme (Dawn, Impulse, Prestige…).
appsApps and pixels its homepage loads (Klaviyo, Judge.me, Recharge, Gorgias, Meta Pixel, Google Tag Manager…).
shopPayInstallments, shipsToCountriesWhether it offers Shop Pay Installments, and the countries it ships to.
websiteReadfalse when the store's domain refused our visit (bot protection): contacts then come from its policy only.
matchedProductsUp to 3 of its products that matched your search, with price.
foundByThe search term that found it, or domain list.
scrapedAtWhen the run read it (UTC, ISO 8601).

Free rows

  • rowType: "skipped" — a domain (or found store) not delivered, with reason: notShopify, closed, passwordProtected or blocked (the site refused us; its .myshopify.com address often works) and a message.
  • rowType: "search" — per search term: products scanned and available on Shop, stores found, how many were delivered, found by an earlier term, delivered in earlier runs, based in another country, or without an email.

Use the dataset views Store leads, Contacts and company, Skipped domains and Searches to see each kind.

Pricing

US$0.003 per store lead (US$3 per 1,000 stores), nothing else: no start fee. Skipped domains, stores without an email (with "Only stores with an email" on), stores based elsewhere and search summaries are free. Set a maximum cost per run and the Actor stops before reading a store it could not charge for.

Limits

  • Shop returns at most ~500 products per search term, so one term gives roughly 100–150 stores; use several terms (coffee beans, espresso, cold brew…) for more.
  • Contacts are what stores publish: about 8 in 10 publish an email somewhere; phone numbers and addresses are rarer. Emails are not verified for delivery.
  • A store behind bot protection on its own domain is still delivered from Shopify's side (location, policy contacts, catalog), with websiteRead: false and no socials, theme or apps.
  • Stores are found through products listed on Shop; a store that does not list its products there is not found by search (give its domain instead).

This Actor reads only public pages: Shop's catalog through the anonymous agent endpoint Shopify documents, and the pages every Shopify storefront serves to any visitor, at a gentle pace (one request at a time per site). It never signs in, never touches carts or checkout, and never bypasses any protection. Emails and phones are the business contacts stores publish. You are responsible for how you use them: follow the anti-spam and privacy rules that apply to you (CAN-SPAM, GDPR, CASL). This Actor is not affiliated with, endorsed or sponsored by Shopify. Read more in Apify's blog post on the legality of web scraping.

Feedback

Need a field or a filter that isn't here? Open an issue in the Issues tab — they are answered quickly.