# Shopify Store Analyzer: Apps, Pixels, Emails & Best Sellers (`andracore/shopify-store-intelligence`) Actor

Analyze any list of Shopify stores: business email and phone, top 10 best sellers, catalog size, prices, discounts, new launches, theme, 60+ apps, ad pixel IDs (Meta, TikTok, Google) and social profiles. No login.

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

## Pricing

from $8.50 / 1,000 stores

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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 Analyzer: Apps, Pixels, Emails & Best Sellers

Paste a list of Shopify stores and get one complete report per store: **business email and phone, best sellers**, catalog size, price range, discounts, new launches, theme, installed apps, ad pixel IDs and social profiles.

No login, no browser, no API key. It reads the public files and pages every Shopify store serves (`/products.json`, `/meta.json`, the Contact information policy, the best-selling collection and the home page).

![How the Shopify Store Analyzer works: paste store URLs, the Actor analyzes each Shopify store, and you get one report per store with best sellers, contacts, apps and ad pixels as JSON, CSV, Excel or through the API](https://api.apify.com/v2/key-value-stores/zZwndLrYGfCvgDJLT/records/shopify-store-analyzer-how-it-works.png?signature=12DvJAVysLe2m4g3MwdM4)

### Why this analyzer

- **Leads and research in one row.** Contacts, apps, pixels, prices and best sellers come together, so you can qualify a store and reach out without running three tools.
- **Real best sellers.** The top 10 products come from Shopify's own best-selling sort, with title, price and image.
- **Ad pixel IDs, not just "uses Facebook".** You get the actual Meta, TikTok, Google Ads, GA4, Google Tag, Tag Manager, Pinterest, Snap, Reddit and Microsoft IDs. Stores that share an ID usually belong to the same owner or agency.
- **60+ apps detected.** Klaviyo, Judge.me, Loox, Yotpo, Okendo, Recharge, Skio, Gorgias, Attentive, Postscript, Rebuy, PageFly, GemPages, Triple Whale, Elevar, Northbeam and more.
- **Cheap and fast.** One flat price per store. Sites that are not Shopify are reported and not charged.

Need to find stores first? Use [Shopify Store Finder](https://apify.com/andracore/shopify-store-finder) to get a list of stores by keyword, then analyze them here.

### What you get for each store

| Section | Fields |
|---|---|
| Contacts | `contactEmails`, `contactPhones`, `tradeName`, `businessAddress` (what the store publishes) |
| Best sellers | `bestSellers`: top 10 with rank, title, price, image and URL |
| Store | Name, description, country, city, currency, myshopify domain, countries it ships to, Shop Pay Installments |
| Catalog | Published products and collections, products analyzed, % out of stock |
| Prices | Minimum, median and maximum price, % of products on sale, average discount |
| Launches | Products added in the last N days, last product added, the 10 newest products |
| Catalog mix | Top vendors, product types and tags |
| Theme | Theme name, schema, version and Theme Store ID |
| Apps | 60+ apps detected on the home page |
| Ad pixels | Meta, TikTok, Google Ads (AW-), GA4 (G-), Google Tag (GT-), Tag Manager (GTM-), Pinterest, Snap, Reddit, Microsoft UET |
| Social | Instagram, Facebook, TikTok, YouTube, Pinterest and X profiles |

Turn on **Also save every product as a row** to also get each product with title, URL, vendor, type, tags, price, compare-at price, discount, stock, variant and image counts, and created, published and updated dates.

### Use cases

- **Lead generation for agencies and app makers.** Find the stores that use (or do not use) a given email, review or subscription app and get their business contact in the same row.
- **Product research and dropshipping.** See a store's best sellers, what it launched this month and how it prices it.
- **Competitor tracking.** Schedule weekly runs and follow catalog size, prices, discounts and launches over time.
- **Ad intelligence.** Know which stores advertise on Meta, TikTok, Google or Pinterest, and link stores that share a pixel or Tag Manager ID.
- **Market research.** Compare price ranges and discount habits across a niche.

### How to use

1. Add store domains or URLs to **Stores**, one per line (`allbirds.com`, `https://colourpop.com`).
2. Keep the defaults or turn off what you do not need (contacts, best sellers, apps and pixels).
3. Click **Start** and download the results as JSON, CSV or Excel, or read them through the Apify API.

#### Input example

```json
{
  "stores": ["allbirds.com", "colourpop.com"],
  "maxProductsPerStore": 1000,
  "extractContacts": true,
  "extractBestSellers": true,
  "detectAppsAndPixels": true,
  "newProductsDays": 30,
  "outputProducts": false
}
```

#### Output example (shortened)

```json
{
  "store": "https://colourpop.com",
  "name": "ColourPop",
  "country": "US",
  "city": "Oxnard",
  "currency": "USD",
  "contactEmails": [
    "colourpop@colourpop.com"
  ],
  "contactPhones": [
    "805-240-9341"
  ],
  "tradeName": "ColourPop",
  "businessAddress": "ColourPop Cosmetics, LLC, 1400 Stellar Drive, Oxnard CA 93033, United States",
  "publishedProductsCount": 1048,
  "productsAnalyzed": 1000,
  "priceMin": 3,
  "priceMedian": 10,
  "priceMax": 159,
  "productsOnSalePercent": 2,
  "averageDiscountPercent": 30,
  "newProductsDays": 30,
  "newProductsCount": 13,
  "lastProductAddedAt": "2026-09-24T15:36:12-07:00",
  "bestSellers": [
    {
      "rank": 1,
      "title": "Flexitarian",
      "price": 9,
      "url": "https://colourpop.com/products/flexitarian"
    },
    {
      "rank": 2,
      "title": "Lunch Money",
      "price": 9,
      "url": "https://colourpop.com/products/lunch-money"
    },
    {
      "rank": 3,
      "title": "DGAF",
      "price": 7,
      "url": "https://colourpop.com/products/dgaf"
    }
  ],
  "topProductTypes": [
    {
      "name": "Shadow Palette",
      "count": 50
    },
    {
      "name": "Lippie Pencil",
      "count": 42
    },
    {
      "name": "Shadow Stix",
      "count": 42
    }
  ],
  "theme": {
    "name": "Colourpop/Main",
    "schemaName": "Colourpop",
    "version": "3.10.0",
    "themeStoreId": null
  },
  "apps": [
    "Klaviyo",
    "Yotpo",
    "Okendo",
    "Gorgias",
    "Attentive",
    "Klarna",
    "Nosto",
    "Dynamic Yield",
    "Microsoft Clarity",
    "Triple Whale",
    "Google Tag Manager"
  ],
  "pixels": {
    "metaPixelIds": [
      "1654768898112506"
    ],
    "tiktokPixelIds": [
      "CLBUMUJC77UCVFFHTG60"
    ],
    "googleAnalyticsIds": [
      "G-WSYJCRME4P"
    ],
    "googleAdsIds": [
      "AW-727142071"
    ],
    "googleTagManagerIds": [
      "GTM-WQKQL2VQ"
    ],
    "googleTagIds": [
      "GT-MJBXQ2JP"
    ],
    "pinterestTagIds": [
      "2613510556506"
    ]
  },
  "socialLinks": {
    "instagram": "https://www.instagram.com/colourpopcosmetics",
    "tiktok": "https://www.tiktok.com/@colourpopco",
    "x": "https://www.x.com/colourpopco"
  }
}
```

### Pricing

- **$10 per 1,000 stores analyzed** ($0.01 per store), contacts and best sellers included.
- **$0.50 per 1,000 product rows**, only when you turn on product rows.

Paid Apify plans pay less: stores cost **$9.50** on Bronze, **$9** on Silver and **$8.50** on Gold and above per 1,000; product rows cost $0.45, $0.40 and $0.35 per 1,000.

Platform usage is on us. Sites that are not Shopify stores are reported in the output and not charged. Set a maximum cost per run in the run options and the Actor stops exactly there.

### Good to know

- **Contacts** are the business details the store itself publishes (Contact information policy, contact page, home page). Many stores publish an email; fewer publish a phone or address.
- **Best sellers** come from the store's best-selling collection page. A few stores build that page in the browser or hide it, and then the field is empty.
- **Hidden catalogs.** A few large stores hide `/products.json`. You still get the store, contacts, theme, apps, pixels and social profiles, and `productsCatalogPublic` comes back as `false`.
- **New products** use the date each product was created. Many stores republish their whole catalog, so the published date is not a reliable launch signal.
- **Apps and pixels** are detected on the home page. Apps that only load on product or cart pages may not show up.

### FAQ

**Does it work with headless Shopify stores (Hydrogen)?**
Partly. The catalog and contacts usually work; the theme and some apps are not visible on custom front ends.

**Is this legal?**
The data comes from public pages and files that Shopify serves to every visitor, and the contacts are the business details each store chooses to publish. Follow the privacy and anti-spam rules that apply to you when you contact anyone.

**Do I need a proxy?**
No. If a store blocks the request, the Actor retries through Apify Proxy on its own.

Missing an app you want detected? Open an issue in the Issues tab with the store URL and it will be added.

# Actor input Schema

## `stores` (type: `array`):

Store domains or URLs, one per line. Example: allbirds.com

## `maxProductsPerStore` (type: `integer`):

How many products to read for the price and launch statistics.

## `outputProducts` (type: `boolean`):

Adds one row per product (title, price, discount, stock, dates). Charged per product.

## `detectAppsAndPixels` (type: `boolean`):

Reads the home page to find the theme, installed apps, ad pixel IDs and social profiles.

## `newProductsDays` (type: `integer`):

Window used for the count of recently launched products.

## `extractContacts` (type: `boolean`):

Reads the store's Contact information page, contact page and home page for the business email, phone, trade name and address the store publishes.

## `extractBestSellers` (type: `boolean`):

Returns the store's top 10 products in Shopify's own best-selling order, with title, price and image.

## `proxyConfiguration` (type: `object`):

Usually not needed. Turn on if some stores block requests.

## Actor input object example

```json
{
  "stores": [
    "allbirds.com",
    "gymshark.com"
  ],
  "maxProductsPerStore": 1000,
  "outputProducts": false,
  "detectAppsAndPixels": true,
  "newProductsDays": 30,
  "extractContacts": true,
  "extractBestSellers": true,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (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 = {
    "stores": [
        "allbirds.com",
        "gymshark.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("andracore/shopify-store-intelligence").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 = { "stores": [
        "allbirds.com",
        "gymshark.com",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("andracore/shopify-store-intelligence").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 '{
  "stores": [
    "allbirds.com",
    "gymshark.com"
  ]
}' |
apify call andracore/shopify-store-intelligence --silent --output-dataset

```

## MCP server setup

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

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/dTNqfV1mEY7sopkf7/builds/QEKYMq0v9RuWeEFMQ/openapi.json
