Shopify Store Audit & Tech-Stack Lead Scorer
Pricing
Pay per usage
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
Pay per usage
Rating
0.0
(0)
Developer
ByteMe
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day 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. Shopify storefronts are usually reachable directly; enable a proxy (e.g. residential) only if a store is blocked. |
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. ~10–15% of 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 sit behind bot protection — enable the residential proxy toggle if a run is blocked.
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 bot protection — enable the residential proxy toggle if a run is blocked.