Shopify Store Audit & Tech-Stack Lead Scorer
Pricing
$0.01 / store audited
Shopify Store Audit & Tech-Stack Lead Scorer
Audit any Shopify store — installed apps, theme, pricing & catalog signals, and tech-stack gaps. Bulk-score a prospect list and monitor stores for app installs/removals.
Pricing
$0.01 / store audited
Rating
0.0
(0)
Developer
ScrapeBench
Maintained by CommunityActor stats
0
Bookmarked
57
Total users
2
Monthly active users
6 days ago
Last modified
Categories
Share
Pain points
- You can't tell what apps, theme, or tech a Shopify store runs just by looking at it.
- Qualifying a list of Shopify prospects by hand — which ones lack your app's category — is slow.
- Checking back later to see if a store added or dropped an app means re-auditing manually.
What we solve
- Audit any Shopify store's installed apps, theme, and pricing/catalog signals from its public storefront.
- Flags the tech-stack gaps (missing app categories) plus a lead-match score against your criteria.
- Bulk-score a whole prospect list in one run, export-ready for your CRM.
- Run on a schedule to get alerted when stores install/remove apps or ramp their catalog.
Summary
Turn a list of Shopify store domains into qualified, scored leads. For each store you get the detected apps (reviews, email, search, upsell, loyalty, subscription, chat), theme, and catalog/pricing signals — plus the tech-stack GAPS (which app categories are missing) and a lead-match flag against your criteria. Run it on a schedule and it also reports what changed since last time (apps added/removed, product-count delta) — turning competitor and prospect monitoring into a set-and-forget task. Built for app vendors and agencies prospecting Shopify merchants.
Who it's for
- Shopify app vendors prospecting merchants who lack their category
- Agencies doing Shopify lead-gen and tech-stack audits
- Competitive-intelligence and e-commerce analysts
- Sales teams enriching a list of Shopify domains
How to use
Set the input, run the actor, and collect results from the run's dataset (export to JSON/CSV/Excel, or pull via the Apify API). Example input:
{"domains": ["allbirds.com","colourpop.com"],"targetGaps": ["reviews"],"compareToPrevious": true}
See Inputs below for every available field.
What you get
One row per record:
| Field | Description |
|---|---|
domain | Store domain audited |
is_shopify | Whether the domain is a confirmed Shopify store |
detected_apps | Installed apps detected from the storefront ({name, category}) |
app_categories | Categories of detected apps |
missing_categories | App categories with NO detected app — the prospecting gaps |
matches_criteria | True when all your target-gap categories are missing (a lead) |
has_reviews_app / has_search_app / … | Per-category presence flags (reviews, email, search, upsell, loyalty, subscription, chat) |
theme_name | Storefront theme name |
product_count | Product count (caps at maxProductsPerStore) |
price_min / price_max | Variant price range |
currency | Store currency (ISO code) |
discount_rate | Fraction of products with a compare-at markdown |
new_products_30d | Products created in the last 30 days (catalog velocity) |
shopify_plus | Best-effort Shopify Plus signal |
products_json_accessible | Whether /products.json was readable (else counts via sitemap) |
apps_added / apps_removed | Apps installed/removed since the previous run (monitoring) |
product_count_delta | Product-count change since the previous run |
first_seen | True on the first run for this domain |
source_url | The store URL |
Sample:
{"domain": "allbirds.com","is_shopify": true,"detection_signals": ["cdn.shopify.com","Shopify.theme"],"shopify_plus": false,"theme_name": "Dawn","detected_apps": [{"name": "Yotpo","category": "reviews"},{"name": "Klaviyo","category": "email"}],"app_categories": ["email","reviews"],"has_reviews_app": true,"has_email_app": true,"has_search_app": false,"missing_categories": ["search","upsell","loyalty","subscription","chat"],"matches_criteria": false,"product_count": 629,"price_min": 18.0,"price_max": 160.0,"currency": "USD","discount_rate": 0.12,"new_products_30d": 7,"products_json_accessible": true,"first_seen": false,"apps_added": ["Klaviyo"],"apps_removed": [],"product_count_delta": 12,"source_url": "https://allbirds.com"}
Inputs
| Field | Required | Type | Default | Description |
|---|---|---|---|---|
domains | yes | array | ["allbirds.com"] | Shopify store domains or URLs to audit, e.g. 'allbirds.com'. Paste a list to bulk-audit a prospect list. We audit the domains you provide (we don't discover stores). |
targetGaps | no | array | — | App categories that should be MISSING for a store to count as a lead — sets 'matches_criteria'. E.g. a reviews-app vendor sets ['reviews']. Categories: reviews, email, search, upsell, loyalty, subscription, chat. |
includeProducts | no | boolean | false | When off (default), return store signals only (fast, cheap — the lead-gen need). Turn on to also include the (slimmed) product catalog. |
compareToPrevious | no | boolean | true | When on (default), diff each store against the previous run and report what changed — apps added/removed and product-count delta. Run on a schedule to track stores over time. |
maxProductsPerStore | no | integer | 1000 | Cap on products sampled per store (bounds cost). Product count caps here for very large stores. |
proxyConfiguration | no | object | {"useApifyProxy": false} | Optional, and off by default. Measured 2026-08-19 across 12 stores from inside an actor run: the platform's own IPs reached 27/27 store checks and Apify Proxy's datacenter pool matched them, while RESIDENTIAL was the only mode that lost a store. If a storefront refuses, the actor already retries it at the store's |
Pricing (Pay Per Event)
You pay per result (dataset-item) — no charge for empty runs. Example: 1000 Shopify stores audited at $0.01/result ≈ $10.00.
You're only charged for confirmed Shopify stores — non-Shopify or unreachable domains are free. Apify platform usage (compute) is billed separately per your plan.
Use cases
- App-vendor prospecting — find Shopify stores missing your app's category (e.g. no reviews app) and treat them as warm leads.
- Agency lead-gen — bulk-audit a prospect list, score by tech-stack gaps and store size, and export to your CRM.
- Competitor monitoring — run weekly to catch when stores install or remove apps, or ramp their catalog.
- Domain enrichment — add apps, theme, and catalog signals to stores you already have.
Why this actor
- Reads the public storefront — no app install and no merchant permission needed.
- Detects apps + theme AND flags the gaps (missing categories) for warm-lead scoring.
- Bulk-score a whole domain list in one run; pay per store (non-Shopify domains are free).
Limitations & updates
Storefront (public) data only — never returns real inventory counts, sales, revenue, orders, traffic, or customers (those are Admin-API-only). It audits the domains you provide; it does not discover stores across Shopify. Some stores disable /products.json (counts fall back to the sitemap). App detection is best-effort from storefront markers and is kept current via the self-healer. Some stores refuse their custom domain — usually a CDN or WAF in front of it, not Shopify. Those are retried automatically at the store's
FAQ
How do you detect a store's apps?
From public storefront markers (scripts, theme, DOM signatures). No app install or merchant access is needed.
What can't it see?
Storefront-only data — never real inventory counts, sales, revenue, orders, or traffic (those are Admin-API-only).
How am I charged?
Pay-per-store audited. Non-Shopify or unreachable domains are free.
Can it monitor changes over time?
Yes — run on a schedule and it reports apps added/removed and the product-count delta since the last run.
How accurate is app detection?
Best-effort from storefront markers, kept current via our self-healer; some apps load server-side and can be missed.
Some stores won't load?
A few sit behind a CDN or WAF that refuses the custom domain — CloudFront and Vercel in our tests, not always Cloudflare. The actor automatically retries those at the store's
Which actor to choose
Part of the same Shopify suite — pick the one that fits your goal:
- Shopify Price & Stock Change Tracker — You want to monitor a Shopify store over time — price moves, back-in/out-of-stock flips, products added or removed.
- Shopify Store Audit & Tech-Stack Lead Scorer (this actor) — You want to audit or lead-score a Shopify store — installed apps, theme, and tech-stack gaps.
Guides & use cases
Written up on scrapebench.dev — the bench that runs and verifies this actor against the live source every night:
- How-to: How to run Shopify Store Audit & Tech-Stack Lead Scorer
- Use case: Audit a Competitor's Shopify Tech Stack
- Use case: Detect a Shopify Store's Apps & Theme
- Use case: Find Shopify Stores Missing a Reviews App
More actors, coverage and nightly verification results: scrapebench.dev
Works with AI assistants (MCP)
Callable as an MCP tool, so Claude, Cursor, VS Code Copilot and other MCP clients can run it directly. Grab the config from the MCP tab on this page — Apify hosts the server and keeps that snippet current, and OAuth signs you in on first connect, so no API token goes in your config file.
Then just ask:
"Audit allbirds.com — is it on Shopify, which apps and theme does it run, and what is it missing?"
One domain is the quickest check; pass a list of domains to score a whole prospect list in a single call. Runs started this way bill exactly like any other run.