# Shopify Store Scanner - Theme, Apps & Tech (`xiaoyu-ai/shopify-store-scanner`) Actor

Scan any Shopify store and extract public store information including theme, apps, tracking technologies, product signals and social links.

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

## Pricing

$50.00 / 1,000 successful shopify store scans

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Shopify Store Scanner

Scan any Shopify store and instantly detect its public store information, theme, apps, tracking technologies, social links, contact information, and product signals.

Shopify Store Scanner is a lightweight Apify Actor for Shopify store analysis, competitor research, ecommerce due diligence, and AI-agent workflows. It is not a full Shopify product scraper: it does not crawl every product page, estimate revenue, log in, bypass access controls, or use browser automation.

### What It Does

- Detects whether a public URL appears to be a Shopify store.
- Extracts store title, meta description, and page language.
- Detects `Shopify.theme` name and ID when present.
- Uses `/products.json?limit=250` for a lightweight product count estimate and category hints.
- Detects common Shopify apps from HTML and script signals: Klaviyo, Judge.me, Gorgias, Yotpo, ReCharge.
- Detects Meta Pixel, TikTok Pixel, and Google Analytics signals.
- Extracts Instagram, Facebook, TikTok, and YouTube links.
- Extracts email and phone from the footer and contact pages.
- Outputs structured JSON for APIs, n8n, Make, data pipelines, and AI agents.

### Key Benefits

- HTTP-only
- Fast
- Low-cost
- No browser automation
- No login required
- Public data only
- Structured JSON
- API / n8n / Make / AI Agent friendly

### Use Cases

- Shopify store analyzer for ecommerce research.
- Shopify theme detector for Shopify agencies and service providers.
- Shopify app detector for technology and stack research.
- Shopify technology detector for competitive intelligence.
- Shopify competitor research for public store benchmarking.
- Shopify store info enrichment for CRM, lead qualification, and AI agents.
- Lightweight Shopify scraper alternative when you only need store-level signals, not full product scraping.

### Input

```json
{
  "url": "https://www.allbirds.com"
}
```

### Output

```json
{
  "store_url": "https://www.allbirds.com/",
  "is_shopify": true,
  "store_info": {
    "title": "Allbirds: Comfortable, Sustainable Shoes & Apparel",
    "description": "Allbirds: The world’s most comfortable shoes, flats, and clothing made with natural materials like merino wool and eucalyptus. FREE shipping & returns.",
    "language": "en-US"
  },
  "theme": {
    "name": "[DNAM Theme July 2026]",
    "id": "130450260048"
  },
  "products": {
    "count_estimate": 250,
    "categories": [
      "Shoes",
      "Socks",
      "Apparel",
      "Underwear"
    ]
  },
  "apps": [
    "Yotpo"
  ],
  "tracking": {
    "meta_pixel": false,
    "tiktok_pixel": false,
    "google_analytics": false
  },
  "social_links": [
    "https://www.instagram.com/allbirds",
    "https://www.facebook.com/weareallbirds",
    "https://www.tiktok.com/@weareallbirds",
    "https://www.youtube.com/channel/UCnGErLCau5qNJ0Xwe6uEyTw"
  ],
  "contact": {
    "email": "help@allbirds.com",
    "phone": "+1 (424) 363-8064"
  }
}
```

The Actor writes the result to the default dataset and to key-value store record `OUTPUT`.

### Monetization

The recommended Apify Store pricing model is pay-per-event:

- Event name: `successful-store-scan`
- Billable unit: 1 successful Shopify store scan
- Recommended MVP price: `$0.05` per successful Shopify store scan

The Actor charges only after a result is successfully written and `is_shopify` is `true`. Non-Shopify URLs and failed scans are not charged by the custom event.

### Limitations

- This Actor analyzes public store-level signals only.
- It does not scrape all products or product pages.
- `/products.json?limit=250` provides a lightweight count estimate, not a complete catalog size for large stores.
- App and tracking detection is based on public HTML/script signals and may miss server-side or hidden integrations.
- Some stores block public requests, hide metadata, or use custom frontends that expose fewer Shopify signals.
- It does not estimate revenue, traffic, conversion rate, ad spend, or business performance.

### Privacy And Public Data

This Actor only requests publicly accessible web pages and Shopify public JSON endpoints. It does not log in, access private Shopify admin data, bypass paywalls, solve CAPTCHAs, or use residential proxies. Users are responsible for complying with applicable laws and target website terms.

### Local Run

```bash
npm install
npm run check
```

For local testing, provide input in `storage/key_value_stores/default/INPUT.json`:

```json
{
  "url": "https://www.allbirds.com"
}
```

Then run:

```bash
CRAWLEE_STORAGE_DIR=./storage npm start
```

### Apify Deployment

```bash
npx apify-cli login
npx apify-cli push --wait-for-finish 0 --json
```

### Store Listing Copy

Short description:

Scan a Shopify store URL and get public store information, theme, apps, tracking technologies, social links, contact details, and product signals as structured JSON.

SEO description:

Shopify Store Scanner is a fast, HTTP-only Shopify store analyzer for detecting public Shopify store data, theme information, installed app signals, tracking technologies, social links, contact information, and product category signals. It is useful for Shopify competitor research, Shopify theme detection, Shopify app detection, ecommerce research, API workflows, n8n, Make, and AI agents.

Suggested categories:

- Ecommerce
- Marketing
- Lead Generation
- Data Extraction
- AI

### Store Readiness Review

- Apify Actor spec: uses `Actor.main`, `Actor.getInput`, `Actor.pushData`, `Actor.setValue`, and `Actor.charge`.
- Cost profile: HTTP-only, bounded request count, no browser and no proxy dependency.
- Maintainability: single-file V0.1 implementation with explicit detection patterns.
- Monetization: custom pay-per-event event `successful-store-scan` maps to one successful Shopify store result.

# Actor input Schema

## `url` (type: `string`):

Public Shopify store URL to scan, e.g. https://example.com

## Actor input object example

```json
{
  "url": "https://www.allbirds.com"
}
```

# Actor output Schema

## `results` (type: `string`):

Structured Shopify store scan result stored in the default dataset.

## `outputRecord` (type: `string`):

The latest scan result stored as the OUTPUT key-value store record.

# 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 = {
    "url": "https://www.allbirds.com"
};

// Run the Actor and wait for it to finish
const run = await client.actor("xiaoyu-ai/shopify-store-scanner").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 = { "url": "https://www.allbirds.com" }

# Run the Actor and wait for it to finish
run = client.actor("xiaoyu-ai/shopify-store-scanner").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 '{
  "url": "https://www.allbirds.com"
}' |
apify call xiaoyu-ai/shopify-store-scanner --silent --output-dataset

```

## MCP server setup

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

```

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/3zzHmwKKTtDELCeXA/builds/PLaUdaBGLqpJIan9h/openapi.json
