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
3 days ago
Last modified
Categories
Share
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.
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
Free. No per-result charge — you only pay your own Apify platform usage (compute) per your plan.
This actor is free to run while we gauge interest — there's no per-result charge.
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 for your CRM/outreach.
- Competitor & prospect monitoring — run weekly to get alerted when stores install or remove apps, or ramp their catalog.
- Enrich a domain list — add apps, theme, pricing range and catalog signals to stores you already have.
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.