Shopify App & Theme Detector - Store Analyzer & Contacts
Pricing
from $8.00 / 1,000 shopify store analyzeds
Shopify App & Theme Detector - Store Analyzer & Contacts
Find what apps and theme a Shopify store uses, in bulk: installed apps, theme, product count, price range, top vendors, % on sale, collections, currency, country, myshopify domain, emails, phones and social links. One row per store analyzed. $8 per 1,000 stores; non-Shopify sites are free.
Pricing
from $8.00 / 1,000 shopify store analyzeds
Rating
0.0
(0)
Developer
Tenfold Fleet
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
What does Shopify Store Analyzer do?
Shopify Store Analyzer is a Shopify app detector, Shopify theme detector and store intelligence API in one. Give it a list of store domains and it returns one clean row per Shopify store: installed apps (Klaviyo, Judge.me, Yotpo, Loox, Okendo, ReCharge, Gorgias, Attentive, Afterpay, Klarna, PageFly, GemPages and hundreds more), theme name and version, exact product count, price range and average price, top vendors and product types, % of products on sale, collections count, currency, country and city, the myshopify.com domain, and public contact details (emails, phones, social profiles, business address, VAT number).
It first confirms the site really runs on Shopify (window.Shopify, cdn.shopify.com assets, Shopify response headers and the store's meta.json). It also handles headless Shopify stores (Hydrogen, Next.js) by finding their *.myshopify.com domain. Sites that are not Shopify, password-protected, blocked or offline are returned as free error rows with a reason, and the same store entered twice (for example its myshopify.com domain and its custom domain) is charged once, so you only pay once per real Shopify store.
Plain HTTP requests, no browser: roughly 20-40 stores per minute with default settings.
Why use a Shopify store analyzer?
- 🎯 Lead generation for Shopify apps and agencies: find stores that use a competitor's app (or don't use any reviews / SMS / subscription app yet), then reach them by email.
- 🔍 Competitor research: see a rival store's tech stack, theme, catalog size, price points, discount depth and newest products.
- 🧩 Lead enrichment: add apps, theme, product count, country and contacts to a list of Shopify domains in Clay, HubSpot, Make, Zapier or n8n.
- 📊 Market research: compare price ranges, vendors and app adoption across hundreds of stores in a niche.
- ✅ Shopify checker: bulk-check which domains in a list actually run Shopify (non-Shopify rows are free).
Runs on the Apify platform, so you get an API, scheduling, webhooks and integrations with Google Sheets, Make, Zapier, n8n and Clay.
What data can it extract?
| Field | Example |
|---|---|
input, domain, url | your input, its domain (deathwishcoffee.com) and the final URL after redirects |
primaryDomain, storeName | the store's primary domain from Shopify, Death Wish Coffee |
myshopifyDomain, shopId | deathwishcoffee.myshopify.com, 2717209 |
currency, country, city, province, locale | USD, US, Round Lake, New York, en |
themeName, theme | Dawn + theme id, version, theme store id, custom name |
apps, appNames, appCount | Klaviyo, Gorgias, Postscript, Rebuy, Smile, Bazaarvoice, Facebook Pixel, ... with a category for each |
productCount | 147 (exact, from the store's meta data) |
minPrice, maxPrice, avgPrice, medianPrice | 5.99, 119.99, 29.34, 29.98 |
percentOnSale, percentInStock | 15.6, 98 |
topVendors, productTypes | [{ "name": "Death Wish Coffee", "count": 74 }, ...] |
newestProductDate, oldestProductDate | 2026-09-21T20:40:47.000Z, 2013-11-04T18:44:10.000Z |
collectionsCount | 126 |
shipsToCountries, shopPayInstallments, cardBrands | ["US", "CA", ...], true, ["visa", "master", ...] |
emails, phones, socialLinks | ["colourpop@colourpop.com"], ["+18052409341"], { "instagram": "...", "facebook": "..." } |
legalName, address, vatNumber, contactPageUrl | from the store's contact-information policy and contact page |
headless, shopifySignals | false, ["window.Shopify", "cdn.shopify.com", "header:powered-by", "meta.json"] |
error, errorCode | null, or one of the free error codes listed in the FAQ |
How to analyze Shopify stores
- Click Try for free.
- Paste store domains or URLs into Store URLs or domains, one per line (
allbirds.com,https://www.gymshark.com/collections/xandbrand.myshopify.comall work). - Optionally change Max product pages per store (default 4 = up to 1,000 products sampled for price statistics) and Find contact details.
- Click Start.
- Download the results as JSON, CSV, Excel or HTML, or fetch them through the API.
How much does it cost?
You pay $0.008 per Shopify store analyzed, which is $8 per 1,000 stores. Everything in the row is included: apps, theme, catalog statistics, collections and contacts. Non-Shopify sites, password-protected stores, blocked and unreachable sites, and duplicates of a store already in the run are free. Apify's free plan includes monthly credit, so you can analyze hundreds of stores at no cost. Set a maximum cost per run and the actor stops cleanly when it is reached.
Input
{"stores": ["allbirds.com", "deathwishcoffee.com", "colourpop.com"],"maxProductPages": 4,"includeContacts": true,"maxConcurrency": 10,"proxyConfiguration": { "useApifyProxy": false }}
Output
One item per input store. Example (shortened):
{"domain": "deathwishcoffee.com","storeName": "Death Wish Coffee","myshopifyDomain": "deathwishcoffee.myshopify.com","isShopify": true,"headless": false,"currency": "USD","country": "US","city": "Round Lake","themeName": "Dawn","theme": { "name": "Sept 10, 2026", "schemaName": "Dawn", "schemaVersion": "10.0.0", "id": 135654604855, "themeStoreId": null, "role": "main" },"appCount": 20,"appNames": "Bazaarvoice, Facebook Pixel, Google & YouTube, Gorgias, Klaviyo, Ordergroove, Postscript, Rebuy, Smile, ...","apps": [{ "name": "Klaviyo", "categories": ["Marketing automation"] }],"productCount": 147,"productCountIsExact": true,"minPrice": 5.99,"maxPrice": 119.99,"avgPrice": 29.34,"percentOnSale": 15.6,"topVendors": [{ "name": "Death Wish Coffee Company", "count": 40 }],"collectionsCount": 126,"emails": ["hey@deathwishcoffee.com"],"socialLinks": { "instagram": "https://www.instagram.com/deathwishcoffee" },"error": null}
A site that is not a Shopify store comes back as a free row: { "input": "wordpress.org", "isShopify": false, "errorCode": "NOT_SHOPIFY", "error": "Not a Shopify store: ..." }.
Tips
- Product count is exact even with a low page limit: it comes from the store's own meta data. The page limit only controls how many products are sampled for prices, vendors and dates. Set it to
1for the fastest runs. - Headless stores (custom Hydrogen or Next.js storefronts) have no Shopify theme, so
themeNameis empty and fewer apps are visible, but catalog, meta data and contacts still work. - Apps are detected from what the storefront loads: script tags, theme app embeds, Shopify web pixels and app proxies. Back-office apps that never touch the storefront (accounting, inventory) cannot be seen from outside.
- Prices are in the store's base currency (
currency). - Turn Find contact details off if you only need apps and catalog data; runs get slightly faster.
- Shopify throttles very heavy traffic from one IP address. The actor slows down automatically when that happens; for runs of thousands of stores, enable Proxy (Apify Proxy, datacenter) to keep them fast. Residential proxy is not supported and is switched to datacenter automatically. A few stores sit behind strict bot walls and come back as free
BLOCKEDrows; a datacenter proxy sometimes gets through. - Big lists: a run handles roughly 20-40 stores per minute, and the default run timeout is 6 hours (about 7,000+ stores). For bigger lists, raise Timeout in the run options or split the list.
FAQ
How do I check if a website uses Shopify?
Add it to the input. Shopify stores get a full row; other sites get a free NOT_SHOPIFY row, so the actor doubles as a bulk Shopify checker.
Which Shopify apps can it detect?
Hundreds: email and SMS (Klaviyo, Omnisend, Attentive, Postscript), reviews (Judge.me, Yotpo, Loox, Okendo, Stamped, Junip), subscriptions (ReCharge, Skio, Appstle, Ordergroove), support (Gorgias, Zendesk, Shopify Inbox), buy now pay later (Afterpay, Klarna, Sezzle, Affirm), page builders (PageFly, GemPages, Shogun, Replo), upsells, loyalty, returns, search, translation, analytics and ad pixels (Meta, TikTok, Pinterest, Google, Reddit).
Is the product count exact?
Yes when productCountIsExact is true (almost always). It is the number of products published to the online store.
Can it find stores for me?
No, this actor analyzes stores you already have. Feed it domains from a Shopify store list, Google search, a lead database or a competitor list.
Why did a store fail?
Check errorCode: NOT_SHOPIFY (not a Shopify store), PASSWORD_PROTECTED (store not open yet), BLOCKED (bot protection in front of the store), UNREACHABLE (DNS or connection error), NO_DATA (Shopify detected but no store data readable), DUPLICATE (same store as an earlier input in the run; the row still has its data), INVALID_INPUT (not a domain or URL) or INTERNAL (unexpected error). All of these are free.
Disclaimer
This actor only reads public pages and public Shopify storefront endpoints, with no login. Contact details are business contacts the stores publish themselves. If you process personal data, you are responsible for complying with GDPR, CAN-SPAM and other applicable laws, and for using it only for legitimate purposes. Not affiliated with or endorsed by Shopify Inc.