# E-Commerce Tech Stack Detector (`trovevault/e-commerce-tech-stack-detector`) Actor

Instantly detect which e-commerce platform any online store is running and which apps and technologies are installed, all from a simple URL input. No API key required.

- **URL**: https://apify.com/trovevault/e-commerce-tech-stack-detector.md
- **Developed by:** [Trove Vault](https://apify.com/trovevault) (community)
- **Categories:** E-commerce, Other
- **Stats:** 42 total users, 5 monthly users, 100.0% runs succeeded, 2 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.85 / 1,000 store details

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?

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

## E-Commerce Tech Stack Detector – Platform & App Identifier

Instantly detect which **e-commerce platform** any online store is running and which **apps and technologies** are installed — all from a simple URL input. No API key required.

Covers **17 platforms** (Shopify, WooCommerce, Magento, BigCommerce, and more) and **100+ apps** across every major category: email marketing, reviews, loyalty, subscriptions, BNPL, chat support, analytics pixels, popups, and more.

***

### What does E-Commerce Tech Stack Detector do?

Given a list of store URLs, the actor:

1. Fetches each store's homepage via an HTTP request (no browser required — fast and cost-efficient)
2. Runs the HTML through a fingerprint engine that checks script sources, meta tags, body classes, inline JS variables, and CDN patterns
3. Returns a structured record per store with:
   - **Platform detected** (e.g., Shopify, WooCommerce) with confidence level
   - **Total number of apps detected**
   - **Apps grouped by functional category** (email, reviews, loyalty, etc.)
   - **Flat list of all detected app names**

***

### What data does E-Commerce Tech Stack Detector return?

| Detection | Details |
|---|---|
| 🛒 E-commerce platform | Name + confidence level (high / medium / low) |
| 📧 Email & SMS apps | Klaviyo, Omnisend, Attentive, Postscript, and 6 more |
| ⭐ Review platforms | Yotpo, Judge.me, Loox, Trustpilot, Okendo, and 5 more |
| 🏆 Loyalty & referral apps | Smile.io, LoyaltyLion, Friendbuy, and 4 more |
| 🔄 Subscription tools | Recharge, Bold, Appstle, Loop, and 3 more |
| 💬 Support & chat tools | Gorgias, Zendesk, Freshdesk, Intercom, and 6 more |
| 💳 BNPL & payment apps | Klarna, Afterpay, Affirm, Shop Pay, and 4 more |
| 📊 Analytics & heatmaps | Hotjar, FullStory, Triple Whale, Northbeam, and 6 more |
| 🎯 Marketing pixels | Meta, TikTok, Pinterest, Snapchat, and 4 more |
| 🎪 Popup & conversion tools | Privy, Justuno, OptinMonster, and 6 more |

***

### Detected Platforms

| Platform | Detection Method |
|---|---|
| Shopify | `cdn.shopify.com`, `window.Shopify`, `.myshopify.com` |
| WooCommerce | `wp-content/plugins/woocommerce`, `wc-ajax`, meta generator |
| Magento | `/pub/static/`, `Magento_Ui`, `Mage.Cookies` |
| BigCommerce | `cdn.bigcommerce.com`, `/stencil/` |
| PrestaShop | `var prestashop`, meta generator |
| OpenCart | `catalog/view/javascript`, `route=product/` |
| Salesforce Commerce Cloud | `demandware`, `dw.ac` |
| Shopware | `storefront/js/`, `sw-plugin-` |
| Wix | `static.wixstatic.com`, `_wixCIDX` |
| Squarespace | `static1.squarespace.com`, meta generator |
| Volusion | `a.volusion.com` |
| 3dcart / Shift4Shop | meta generator |
| Ecwid | `app.ecwid.com`, `Ecwid.init` |
| nopCommerce | meta generator |
| Weebly | `weebly.com` |
| Lightspeed eCom | `lightspeedhq.com` |
| Swell | `swell.is` |

***

### What can I do with e-commerce tech stack data?

#### Competitor research

Reverse-engineer your competitors' entire technology stack. See which review platform they use, whether they have subscriptions enabled, what analytics tools they rely on, and which BNPL options they offer.

#### Sales prospecting

Target Shopify stores that use Klaviyo but not a loyalty programme — the perfect pitch for your loyalty app. Filter leads by platform and installed tools to find high-intent prospects.

#### Market research

Analyse hundreds of stores in a niche to understand technology adoption rates. Which review platforms are dominant in beauty? What percentage of fashion stores use BNPL?

#### Agency and consultant work

Quickly audit a prospective client's tech stack before a meeting. Know exactly what they have, what's missing, and where you can add value.

#### VC and investment due diligence

Evaluate the technology maturity of e-commerce brands at scale. Are they investing in retention (loyalty, subscriptions, email)? Do they have a solid analytics foundation?

***

### Why use E-Commerce Tech Stack Detector instead of alternatives?

| Feature | BuiltWith / Wappalyzer | E-Commerce Tech Stack Detector |
|---|---|---|
| E-commerce app detection | Limited (platform only) | 100+ apps across 16 categories |
| Bulk detection | Paid tier required | Up to 1,000 stores per run |
| Review platform detection | Not categorised | Yotpo, Judge.me, Loox, Okendo, 5 more |
| BNPL detection | Not categorised | Klarna, Afterpay, Affirm, and more |
| Export formats | Paid | JSON, CSV, Excel |
| API key required | Yes (paid) | No |
| Scheduling | Not available | Apify Scheduler + webhooks |

***

### Input

| Field | Type | Description |
|---|---|---|
| `startUrls` | Array | List of store URLs to analyse — homepage URLs only |
| `proxyConfiguration` | Object | Optional. Use Apify Residential proxies if stores block datacenter IPs |

**Tip:** Enter homepage URLs (e.g. `https://www.gymshark.com`). The actor reads the full HTML source, so most app fingerprints are visible on the homepage.
For very large lead lists, split inputs above 1,000 stores into multiple runs.

***

### How to use E-Commerce Tech Stack Detector

1. Add store homepage URLs to the **Store URLs** input — one per line
2. Optionally enable **Apify Proxy** for stores that block datacenter IPs
3. Click **Start** — results appear in seconds per store
4. Export as JSON, CSV, or Excel

***

### How much will it cost?

E-Commerce Tech Stack Detector uses CheerioCrawler — fast, lightweight HTTP requests with no browser overhead.

**Typical costs:**

- 10 stores: < $0.01
- 100 stores: < $0.05
- 1,000 stores: < $0.40

Detection runs in 2–5 seconds per store. No proxy is needed for most stores.

**Cost tips:**

- Residential proxy adds ~$0.10–0.30 per 1,000 requests — only enable it if you're hitting 403 errors
- Run on a weekly schedule to track tech stack changes across a competitor set

See the [Apify pricing page](https://apify.com/pricing) for full pricing details.

***

### Example Output

```json
{
  "url": "https://www.gymshark.com/",
  "domain": "gymshark.com",
  "platform": "Shopify",
  "platformConfidence": "high",
  "totalAppsDetected": 11,
  "appsByCategory": {
    "Email & SMS Marketing": ["Klaviyo"],
    "Reviews & UGC": ["Yotpo"],
    "Customer Support & Chat": ["Gorgias"],
    "Buy Now Pay Later & Payments": ["Klarna", "Shop Pay"],
    "Analytics & Heatmaps": ["Google Analytics", "Hotjar"],
    "Marketing Pixels": ["Meta (Facebook) Pixel", "TikTok Pixel", "Google Ads"],
    "Cookie Consent & Compliance": ["OneTrust"]
  },
  "allApps": [
    "Klaviyo", "Yotpo", "Gorgias", "Klarna", "Shop Pay",
    "Google Analytics", "Hotjar", "Meta (Facebook) Pixel",
    "TikTok Pixel", "Google Ads", "OneTrust"
  ],
  "scrapedAt": "2026-02-23T10:00:00.000Z"
}
```

***

### Output Fields

| Field | Type | Description |
|---|---|---|
| `url` | String | The URL that was crawled |
| `domain` | String | Root domain (e.g. `gymshark.com`) |
| `platform` | String | Detected e-commerce platform |
| `platformConfidence` | String | Detection confidence: `high`, `medium`, or `low` |
| `totalAppsDetected` | Number | Total number of apps/technologies found |
| `appsByCategory` | Object | Apps grouped by functional category |
| `allApps` | Array | Flat list of all detected app names |
| `scrapedAt` | String | ISO 8601 timestamp of when the page was scraped |

***

### How E-Commerce Tech Stack Detector Works

The actor uses **pure HTML fingerprinting** — no AI, no external API, no browser required:

1. **CheerioCrawler** fetches the raw HTML of each URL over HTTP
2. The fingerprint engine checks:
   - `<script src>` attributes for CDN and third-party domains
   - `<meta name="generator">` tags (many platforms inject these)
   - `<body>` class names
   - Inline JavaScript variables and object names (e.g. `window.Shopify`, `_learnq`, `fbq`)
   - HTML comments and data attributes
3. Platform scores are computed from all matched signals — the highest score wins
4. App detection runs independently across all 100+ fingerprint patterns
5. Results are pushed to the Apify dataset

Detection runs in seconds per URL — no JavaScript rendering needed.

***

### Performance & Limits

- **Speed**: ~2–5 seconds per store URL
- **Concurrency**: 5 parallel requests by default
- **Accuracy**: High for mainstream platforms; `Custom / Unknown` is returned if no platform is matched
- **False positives**: Rare — fingerprints use specific CDN domains and JS variable names, not generic keywords

***

### Frequently asked questions

**Why is `platform` returning `unknown` for a store I know uses Shopify?**
The store may be using a headless or custom frontend that does not expose standard Shopify signals on the homepage. Try the `.myshopify.com` subdomain directly (e.g. `storename.myshopify.com`).

**Can I detect platforms on stores I don't own?**
Yes. The actor only fetches publicly accessible homepage HTML — the same content any browser sees. No authentication or login is required.

**What if a store blocks my IP?**
Enable Apify Residential Proxy in the proxy configuration input. Residential IPs are significantly harder to block than datacenter IPs.

**Can I detect apps on non-e-commerce sites?**
Technically yes — many of the app fingerprints are platform-agnostic. However, the actor is optimised for e-commerce platforms and the app categories reflect e-commerce tooling.

**How often should I run this for competitive monitoring?**
Weekly is a good cadence for tracking competitor tech stack changes. Monthly is sufficient for market research and adoption analysis.

**Can I use E-Commerce Tech Stack Detector via the Apify API?**
Yes. Use the [Run Actor](https://docs.apify.com/api/v2#/reference/actors/run-collection/run-actor) endpoint with your actor ID and input JSON. Results are available in the dataset as soon as the run completes.

**Can I use E-Commerce Tech Stack Detector through an MCP Server?**
Yes. Via the [Apify MCP server](https://mcp.apify.com), you can call this actor from any MCP-compatible AI assistant (Claude, ChatGPT, etc.) to detect tech stacks in real time from a conversation.

**Is detecting e-commerce tech stacks legal?**
Yes. The actor reads only the publicly accessible HTML of a store's homepage — the same content any browser receives when visiting the site. No private data, login-gated content, or proprietary information is accessed.

***

### Related actors

| Actor | Description |
|---|---|
| [Shopify Products Scraper](https://apify.com/trovevault/shopify-products-scraper) | Scrape every product from any Shopify store using just the domain — no category URLs needed |
| [WooCommerce Products Scraper](https://apify.com/trovevault/woocommerce-products-scraper) | Scrape every product from any WooCommerce store via its public REST API |
| [E-Commerce Theme Detector](https://apify.com/trovevault/ecommerce-theme-detector) | Detect the active theme name (Dawn, Flatsome, etc.) for any Shopify or WooCommerce store |
| [Product Listing SEO Auditor](https://apify.com/trovevault/product-listing-seo-auditor) | Audit e-commerce product listings for SEO completeness and quality |
| [Competitor Intelligence Scraper](https://apify.com/trovevault/competitor-intelligence-scraper---funnel-pricing-conversion) | Scrape competitor pricing, funnel structure, and conversion tactics |

***

### Changelog

**v0.1** – Initial release with 17 platforms and 100+ app fingerprints across 16 categories.

***

### Your feedback

Found a bug or have a feature request? [Open an issue](https://github.com/apify/apify-community/issues) or contact us through the Apify platform. Your feedback helps improve this actor for everyone.

# Actor input Schema

## `startUrls` (type: `array`):

Homepage URLs of e-commerce stores to analyse. Use the store homepage, not a product, category, or checkout page. The detector scans homepage HTML and scripts to fingerprint the platform (Shopify, WooCommerce, Magento, etc.) and installed apps (Klaviyo, Gorgias, Klarna, etc.). Add up to 1,000 stores per run; duplicate URLs are skipped automatically.

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

Optional proxy settings. Use Apify Residential proxies if stores block datacenter IPs.

## `datasetId` (type: `string`):

ID of an existing Apify dataset to push results into in addition to the default dataset. Useful for combining results from multiple runs or integrating with downstream actors.

## `runId` (type: `string`):

ID of a previous actor run to associate this run with. Used for chaining actors in multi-step pipelines.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.gymshark.com/"
    },
    {
      "url": "https://www.allbirds.com/"
    },
    {
      "url": "https://www.rothys.com/"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

Dataset containing detected platform and app data for each store.

# 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 = {
    "startUrls": [
        {
            "url": "https://www.gymshark.com/"
        },
        {
            "url": "https://www.allbirds.com/"
        },
        {
            "url": "https://www.rothys.com/"
        }
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("trovevault/e-commerce-tech-stack-detector").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 = {
    "startUrls": [
        { "url": "https://www.gymshark.com/" },
        { "url": "https://www.allbirds.com/" },
        { "url": "https://www.rothys.com/" },
    ],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("trovevault/e-commerce-tech-stack-detector").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 '{
  "startUrls": [
    {
      "url": "https://www.gymshark.com/"
    },
    {
      "url": "https://www.allbirds.com/"
    },
    {
      "url": "https://www.rothys.com/"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call trovevault/e-commerce-tech-stack-detector --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,trovevault/e-commerce-tech-stack-detector"
        }
    }
}

```

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/WJczEBhOgOuyW52gr/builds/VyMZi5UWJx3wzojCo/openapi.json
