Shopify Store Intelligence — Leads, Apps, Catalog & Contacts
Pricing
$8.00 / 1,000 store analyzeds
Shopify Store Intelligence — Leads, Apps, Catalog & Contacts
Detect Shopify stores and extract catalog stats, pricing, contacts, socials and installed apps.
Pricing
$8.00 / 1,000 store analyzeds
Rating
0.0
(0)
Developer
StoreSignal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Features
Share
Shopify Store Intelligence: Leads, Apps, Catalog and Contacts
Give this Actor a list of domains and it returns one record per Shopify store: confirmation that the site runs on Shopify, product count and pricing statistics, public contact emails and phones, social profiles, and the apps and tracking tools detected on the storefront. It is built for finding and qualifying Shopify store leads. It reads only public pages (/meta.json, /products.json, the sitemap, the homepage and contact pages), with no browser and no login.
What you get
- Store basics: name,
myshopifyDomain, country, currency, language, theme, shipping countries, password-protection status. - Catalog: product count, and where the store exposes it, variant count, vendors, product types, top tags, price min/max/median/average, on-sale share, in-stock share, oldest/newest product dates and products added in the last 30/90 days.
catalog.sourcetells you which source was used (see Limitations). - Contacts: public emails, phone numbers from
tel:links, contact page URL. - Socials: Instagram, Facebook, TikTok, X/Twitter, YouTube, Pinterest, LinkedIn.
- Apps: installed apps and tracking tools detected from the homepage, plus
appCount.hasShopifyPlusis set only on explicit evidence.
Who it's for
- Agencies prospecting Shopify merchants: build lists of stores with a public contact email, catalog size and price range for outreach segmentation.
- Shopify app developers: find stores that use a competitor's app (reviews, subscriptions, search, email) or lack one, and pitch them.
- B2B sales and market research teams: compare assortment size, price points, discount share and catalog activity across a set of merchants.
Input
| Field | Type | Default | Description |
|---|---|---|---|
storeUrls | string[] | required | Domains or URLs in any form. Normalized to the origin and deduplicated. |
maxProductsPerStore | integer | 250 | Products sampled for catalog stats (0 to 5000). 0 skips the catalog. |
includeContacts | boolean | true | Visit the homepage plus up to 4 contact/about pages for emails, phones and socials. |
includeProductSample | boolean | false | Attach up to 10 sample products. |
maxConcurrency | integer | 10 | Stores processed in parallel (1 to 50). |
proxyConfiguration | object | Apify Proxy (datacenter) | Recommended on the platform; many stores refuse requests from cloud IPs without it. |
{"storeUrls": ["colourpop.com", "www.deathwishcoffee.com", "www.beardbrand.com"],"maxProductsPerStore": 250,"includeContacts": true,"includeProductSample": false,"proxyConfiguration": { "useApifyProxy": true }}
In one measured run, 12 stores took about 95 seconds at default concurrency.
Output
One dataset item per input store. status is one of ok, not_shopify, unreachable, password_protected, blocked. A failure on one store never fails the run; the record carries the status and an error message.
Real record from a test run (trimmed: shipsToCountries, topTags and sample products shortened):
{"inputUrl": "allbirds.com","domain": "allbirds.com","storeUrl": "https://allbirds.com","isShopify": true,"status": "ok","error": null,"storeName": "Allbirds","myshopifyDomain": "weareallbirds.myshopify.com","country": "US","currency": "USD","language": "en-US","shipsToCountries": ["US"],"theme": { "name": "[DNAM Theme July 2026]", "id": 130450260048 },"catalog": {"source": "products_json","productCount": 317,"productCountIsExact": true,"productsUpdatedLast30Days": null,"variantCount": 3089,"vendorCount": 2,"topVendors": ["Allbirds", "re:do"],"productTypes": ["Shoes", "return,package_protection"],"topTags": ["allbirds::complete => true", "OOS DNS", "shoprunner"],"priceMin": 0.8,"priceMax": 160,"priceMedian": 98,"priceAvg": 91.09,"onSaleShare": 0.48,"inStockShare": 0.6,"oldestProductAt": "2026-06-16T20:56:30.000Z","newestProductAt": "2026-11-04T23:48:27.000Z","productsAddedLast30Days": 31,"productsAddedLast90Days": 244},"contacts": {"emails": ["help@allbirds.com"],"phones": [],"contactPageUrl": "https://www.allbirds.com/pages/contact-us"},"socials": {"instagram": "https://www.instagram.com/allbirds","facebook": "https://www.facebook.com/weareallbirds","tiktok": "https://www.tiktok.com/@weareallbirds","twitter": "https://twitter.com/allbirds","youtube": "https://www.youtube.com/channel/UCnGErLCau5qNJ0Xwe6uEyTw","pinterest": "http://pinterest.com/weareallbirds","linkedin": null},"apps": ["Attentive", "Back in Stock", "Elevar", "Google Tag Manager", "Microsoft Clarity", "Shopify Shop App", "Triple Whale"],"appCount": 7,"hasShopifyPlus": null,"scrapedAt": "2026-11-12T16:55:05.347Z"}
catalog.source is products_json (full statistics) or sitemap (only productCount, productCountIsExact and productsUpdatedLast30Days; price and vendor fields are null or empty). catalog is null when neither source is available. hasShopifyPlus is true only on explicit evidence in the page and null otherwise.
Pricing
Pay per event: $0.008 per successfully analyzed store (event store-analyzed), which is $8 per 1,000 stores. Only stores with status ok are charged. Non-Shopify, unreachable, blocked and password-protected stores are free.
Limitations
- Catalog depth depends on what the store exposes. Many stores refuse
/products.jsonto cloud IPs. The Actor then falls back to the public sitemap, which gives a product count and recent-update count but no prices, vendors or tags. - Some stores block automated requests. The Actor deliberately does not evade bot protection: no residential proxies, no CAPTCHA solving. Such stores are returned as
blockedorunreachableand are not charged. In a platform test of 11 well-known Shopify stores, 9 returnedok(7 of them with product counts via sitemap), 1 wasblockedand 1unreachable. Very large brands block more often than typical small and mid-size stores. - Headless storefronts return less on the domain you enter; language, socials and apps may be missing.
- Optional requests (meta.json, products.json, sitemap, contact pages) are tried once without retries; the homepage is retried up to 3 times.
- App detection is signature based on the homepage HTML, so apps that load only on other pages or after interaction are missed. Phones come from
tel:links only.
Guides
- Turn a list of domains into qualified e-commerce leads: a step-by-step example that combines this Actor with the other StoreSignal Actors.
- Build a targeted list of Shopify stores by country, niche and installed apps: from a country and a keyword to a segment such as "uses Klaviyo, has no subscription app".
FAQ
Is it legal and ethical? The Actor reads only public pages that any visitor can open. It returns business contact data published by the store. You are responsible for using it in compliance with the rules that apply to you, such as GDPR and CAN-SPAM for outreach, and with the terms of the sites you analyze.
How does app detection work? The homepage HTML is matched against a list of known script, asset and markup signatures for Shopify apps and tracking tools. Only matches are reported.
Can I run it on non-Shopify sites? Yes. They are returned with status not_shopify and are not charged.