# Shopify Store & DTC E-Commerce Leads Scraper (Emails & Socials) (`mystique-lab/shopify-store-leads-scraper`) Actor

Extract verified B2B leads from Shopify & DTC e-commerce stores: direct contact & support emails, phone numbers, Instagram/TikTok/Facebook/LinkedIn links, Shopify shop ID, product count, catalog pricing, and best-sellers via /meta.json & /products.json. $1.50 / 1K stores.

- **URL**: https://apify.com/mystique-lab/shopify-store-leads-scraper.md
- **Developed by:** [Mystique Lab](https://apify.com/mystique-lab) (community)
- **Categories:** Lead generation, E-commerce, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$1.50 / 1,000 verified shopify / dtc store leads

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Shopify Store & DTC E-Commerce Leads Scraper (`mystique-lab/shopify-store-leads-scraper`)

Extract verified B2B decision-maker and storefront intelligence from live **Shopify & Direct-to-Consumer (DTC) e-commerce brands** at **$0 proxy cost**.

Pass your own list of Shopify store domains/URLs OR choose one of **8 built-in high-spend DTC category presets** (`Apparel & Fashion`, `Beauty & Skincare`, `Health & Supplements`, `Food & Beverage`, `Home & Kitchen`, `Coffee & Roasters`, `Pet Products`, `Outdoor & Fitness Gear`) backed by a curated directory of 500 verified active Shopify brands.

***

### What Data Does This Actor Extract?

For every Shopify store, the scraper queries `https://{domain}/meta.json`, `https://{domain}/products.json`, and storefront contact pages (`/`, `/policies/contact-information`, `/pages/contact`) in real time:

| Field | Example | Description |
|---|---|---|
| `store_domain` | `ablebrewing.com` | Canonical root storefront domain |
| `brand_name` | `Able Brewing Equipment` | Official merchant brand name from `/meta.json` |
| `dtc_category` | `Coffee & Roasters` | Direct-to-consumer vertical classification |
| `shopify_shop_id` | `1248591` | Unique numeric Shopify Shop ID |
| `myshopify_domain` | `able-brewing.myshopify.com` | Underlying `.myshopify.com` tenant domain |
| `country` / `city` / `province_state` | `US` / `Portland` / `OR` | Store HQ geography reported in Shopify metadata |
| `contact_email` & `support_email` | `hello@ablebrewing.com` | Verified direct merchant contact & support emails |
| `phone` | `+1 503-555-0192` | Verified storefront telephone number |
| `product_count` | `42` | Published product count on the storefront |
| `avg_product_price_usd` / `min` / `max` | `$38.50` / `$12.00` / `$145.00` | Catalog price benchmarks across active product variants |
| `top_vendors` & `top_product_types` | `Able Brewing` / `Coffee Filters, Brewers` | Brand vendors and product taxonomy |
| `sample_best_seller_title` & `url` | `Kone Coffee Filter` | Featured product title and direct URL for cold outreach personalization |
| `instagram_url`, `tiktok_url`, `facebook_url`, `linkedin_url` | `https://instagram.com/...` | Verified social media profiles |

***

### Who Uses This Scraper?

1. **E-Commerce Marketing, Retention & CRO Agencies:** Filter active Shopify DTC brands in `Beauty & Skincare`, `Health & Supplements`, or `Apparel & Fashion` with verified `contact_email`, Instagram/TikTok profiles, and `$30–$150` average product price for Klaviyo, paid social, or conversion rate optimization outreach.
2. **3PL, Packaging & Wholesale Suppliers:** Identify multi-SKU Shopify brands (`minProductCount >= 10`) in `Food & Beverage`, `Coffee & Roasters`, and `Pet Products` with verified phone numbers and physical HQ state.
3. **B2B SaaS & Shopify App Developers:** Enrich any list of custom Shopify domains (`storeDomains`) with live `/meta.json` Shop IDs, `.myshopify.com` subdomains, product catalog depth, and direct contact emails.

***

### Pricing (Pay-Per-Event — No Monthly Subscription)

- **`$0.0015` per verified Shopify store lead (`$1.50 per 1,000 stores`)** via the `store-lead` event.
- Zero residential proxy required (`$0.00` proxy cost).

***

### Scheduled Automation (cURL, Python & n8n / Make)

#### 1. Run via Apify API (cURL)

```bash
curl -X POST "https://api.apify.com/v2/acts/mystique-lab~shopify-store-leads-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "dtcCategory": "Beauty & Skincare",
    "requireEmail": true,
    "minProductCount": 5,
    "maxStores": 50
  }'
```

#### 2. Run via Python (`requests`)

```python
import requests

url = "https://api.apify.com/v2/acts/mystique-lab~shopify-store-leads-scraper/run-sync-get-dataset-items"
params = {"token": "YOUR_APIFY_TOKEN"}
payload = {
    "dtcCategory": "Coffee & Roasters",
    "requireEmail": True,
    "maxStores": 25,
}
leads = requests.post(url, params=params, json=payload, timeout=180).json()
for store in leads:
    print(store["brand_name"], store["contact_email"], store["instagram_url"])
```

***

### Done-For-You B2B Lead Spreadsheets, n8n Automation Workflows & Browser Extension (`LAUNCH2` for `$2 OFF`)

Want ready-to-open `.XLSX` / `.CSV` B2B lead sheets, plug-and-play n8n outreach workflows, or 1-click company enrichment in your browser without writing code?

- **[$12 2026 Verified B2B Leads Mega-Pack — 2,486 Verified Leads in .XLSX & .CSV (`LAUNCH2` `$2 OFF`)](https://mystiquelabshop.gumroad.com/l/b2b-leads-mega-pack/LAUNCH2)** — Includes `360` YC 2025–2026 Startups (`795` founders with LinkedIn/X), `360` SEC Form D Newly Funded Companies, `500` FMCSA Trucking Carriers, `500` NPI Healthcare Clinics, `500` Shopify DTC Brands, and `266` Q4 Funded & Actively Hiring Double-Trigger leads.
- **[$0+ / $17 n8n B2B Lead Gen, Enrichment & Outbound Workflows (`LAUNCH2` `$2 OFF`)](https://mystiquelabshop.gumroad.com/l/n8n-b2b-workflows/LAUNCH2)** — Download `3` Free Starter n8n `.json` workflow templates or the `10-Workflow Pro Automation Pack` connecting Apify, HubSpot, Clay, Smartlead, and Slack.
- **[$0+ / $10 Startup X-Ray & LaunchShield Browser + Cursor/VS Code Extension (`LAUNCH2` `$2 OFF`)](https://mystiquelabshop.gumroad.com/l/startup-xray/LAUNCH2)** — Instant 1-click B2B company funding/hiring lookup, tech stack detection, and website QA audit (`$0+` Free Extension / `$10` Pro Key).
- **Full MYSTIQUE LAB Storefront:** <https://mystiquelabshop.gumroad.com> *(Promo Code `LAUNCH2` auto-applied above for `$2 OFF`)*

#### 🌐 Live Interactive Web Graders & Calculators (`mystiquelab.dev`)

- **[MYSTIQUE LAB Engineering & Outbound Portal (`https://mystiquelab.dev`)](https://mystiquelab.dev)** — Interactive B2B data engineering tools, compliance checklists, and outbound automation playbooks.
- **[Free Interactive EU EAA / WCAG 2.2 & LaunchShield Risk Grader (`https://mystiquelab.dev/eaa-launchshield-risk-grader`)](https://mystiquelab.dev/eaa-launchshield-risk-grader)** — Calculate statutory European Accessibility Act (Directive (EU) 2019/882 / German BFSG) penalty exposure and pre-launch readiness score in real time.
- **[Free Interactive B2B Outbound & Lead Enrichment ROI Calculator (`https://mystiquelab.dev/b2b-outbound-roi-calculator`)](https://mystiquelab.dev/b2b-outbound-roi-calculator)** — Model pipeline revenue, SDR time savings, and cost-per-meeting across verified Shopify DTC, SEC Form D, NPI, and FMCSA data feeds.
- **[Official EAA / WCAG 2.2 Accessibility Statement (`https://mystiquelab.dev/accessibility`)](https://mystiquelab.dev/accessibility)** & **[Privacy Policy (`https://mystiquelab.dev/privacy-policy`)](https://mystiquelab.dev/privacy-policy)**

# Actor input Schema

## `storeDomains` (type: `array`):

Optional list of Shopify store domains or URLs to scrape (e.g. \['ablebrewing.com', 'https://beardbrand.com']). Leave empty to pull from the built-in curated DTC category directory.

## `dtcCategory` (type: `string`):

Select a high-demand DTC category when scraping from the built-in 500-brand curated Shopify directory.

## `requireEmail` (type: `boolean`):

Only output stores where a direct contact or support email is verified on the storefront or contact pages.

## `requirePhone` (type: `boolean`):

Only output stores where a business phone number is found on the storefront or contact pages.

## `minProductCount` (type: `integer`):

Filter out stores with fewer than this number of published products.

## `maxStores` (type: `integer`):

Maximum number of verified Shopify store leads to output (each billed as 1 'store-lead' event at $0.0015).

## Actor input object example

```json
{
  "storeDomains": [],
  "dtcCategory": "All Categories",
  "requireEmail": true,
  "requirePhone": false,
  "minProductCount": 1,
  "maxStores": 25
}
```

# Actor output Schema

## `leads` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("mystique-lab/shopify-store-leads-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("mystique-lab/shopify-store-leads-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call mystique-lab/shopify-store-leads-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,mystique-lab/shopify-store-leads-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/bsv5zACPtuAFve7Ac/builds/LHF5yDBJoAG19uTJz/openapi.json
