Shopify Store Detector: Theme Detector, Apps & Store Checker avatar

Shopify Store Detector: Theme Detector, Apps & Store Checker

Pricing

from $1.50 / 1,000 stores

Go to Apify Store
Shopify Store Detector: Theme Detector, Apps & Store Checker

Shopify Store Detector: Theme Detector, Apps & Store Checker

Is this site Shopify? Check websites in bulk and find companies using Shopify: myshopify domain, Shopify theme detector (theme name and version), installed Shopify apps, currency, country, email provider and full tech stack. No login, no proxy. $2 per 1,000 sites.

Pricing

from $1.50 / 1,000 stores

Rating

0.0

(0)

Developer

Red Fox Scout

Red Fox Scout

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

13 days ago

Last modified

Share

Qualify a store list in one pass. Give it a list of websites and get, for each Shopify store, its installed apps, product count, price range, collection count, sample products and the contact email and phone it publishes, along with the Shopify check itself. It also answers Is this site Shopify? for any list, and returns the myshopify.com domain, the theme (name, base theme such as Dawn or Prestige, and version), the storefront currency, country and language, the email provider and the site's whole tech stack. Output comes as clean JSON, CSV or Excel.

Price: $2.00 per 1,000 websites checked. You aren't charged for sites that fail to load or block the visit. Apify's free plan ($5 monthly credit) covers about 2,500 websites a month.

Qualify Shopify leads: apps, products and contact email: real output preview (Qualify a store list in one pass: products, prices, apps and theme per store)

Questions it answers

  • Is this site Shopify? (one site or 10,000)
  • Which companies in my lead list use Shopify, and how big are their stores?
  • Which of these stores sell at what price range, and what are their contact details?
  • What Shopify theme (and version) does this store use?
  • Which Shopify apps does this store run?
  • What is this store's myshopify.com domain, currency and country?

Who uses this

  • ๐Ÿ›๏ธ Shopify app and agency lead generation: filter a domain list down to the Shopify stores, then rank them by product count, price range and installed apps.
  • ๐ŸŽจ Theme developers: see which stores use Dawn, Prestige, Impulse or a custom theme, and which version.
  • ๐Ÿ” Competitive research: check a competitor's catalog size, price range and tools in one row.
  • ๐Ÿ“Š Ecommerce market research: measure how much of a niche runs on Shopify versus WooCommerce, BigCommerce or Magento. The full tech stack is included for every site.

Why this Shopify Store Detector

  • ๐Ÿ›๏ธ Qualify in one pass: apps, product count, price range, collections and the store's own contact email and phone in one row.
  • โœ… Is it Shopify? for any list of websites, with the myshopify.com domain.
  • ๐ŸŽจ Theme details: theme name, base theme (Dawn, Prestige...) and version.
  • ๐ŸŒ Market signals: storefront currency, country and language, email provider and the full tech stack.
  • ๐Ÿ”” Change alerts: see theme and app changes since the last run.
  • ๐Ÿ’ฐ $2 per 1,000 websites, sites that fail to load are free.

How to use the Shopify Store Detector

  1. Click Try for free (a free Apify account is enough).
  2. Paste your domains, one per line. example.com works.
  3. Keep Read the product catalog and Read contact details on for a lead list, or turn them off for the fastest Shopify check.
  4. Click Start. Each store takes a few seconds.
  5. Filter the results by isShopify, productCount, priceMin or shopifyApps, then download them as JSON, CSV or Excel, or send them to Google Sheets or your CRM through the API.

Input

FieldDefaultWhat it does
urlsrequiredDomains or URLs, one per line. example.com works.
startUrlsemptySame as urls, for tools that send startUrls. Both lists are checked together, each site once.
readCatalogtrueRead the public product and collection lists (products.json, collections.json) for product count, price range, collections and sample products. Adds 2 to 3 requests per Shopify store.
maxCatalogPages2Pages of 250 products to read per store. 2 covers up to 500 products; 40 covers 10,000.
readContactstrueRead the email, phone and company social links from the homepage and, for Shopify stores, the contact page. Adds one request per Shopify store.
checkDnstrueLook up DNS records (email provider, verified SaaS tools).
minConfidence50Hide weak detections. 0 shows everything.
categoryFilteremptyLimit technologies to some categories, e.g. Payment processors, Reviews. Shopify fields are always returned.
includeEvidencetrueShow which signal triggered each detection.
maxConcurrency20Sites fetched in parallel.
requestTimeoutSecs30Per-site timeout.
proxyConfigurationoffOptional proxy for sites that return HTTP 403.

Example (the input behind the table above):

{ "urls": ["allbirds.com", "gymshark.com", "deathwishcoffee.com", "bombas.com", "ruggable.com", "kyliecosmetics.com", "apify.com"] }

Output

A real row from that run, shortened (the technologies detail is left out here):

EXAMPLE_ROW_PLACEHOLDER_2

Non-Shopify sites get isShopify: false plus their tech stack and contact details, and the catalog fields stay null, so the same run also shows you who uses WooCommerce, Magento or BigCommerce.

Example tasks

Ready-made inputs you can open, change and run:

Qualify a store list in one pass

For every Shopify store in your list, one row holds what a sales or partnerships team usually checks first:

  • Catalog: productCount (public products, read up to the page limit), productCountCapped, priceMin and priceMax (lowest and highest variant price in the store currency), collectionsCount and productSample (the first five products).
  • Contact: contactEmail (the store's own domain first), contactPhone, all emails and phones, and socialLinks (Instagram, TikTok, YouTube, Facebook, X, Pinterest, LinkedIn company pages, Threads). Read from the homepage and, for Shopify stores, the contact page.
  • Shopify: isShopify, shopifyApps, themeName, themeBase, currency, myshopifyDomain.

The row in the Output section below is a real result: one store with the catalog and contact options on.

How the catalog is read, and what it can't tell you:

  • Shopify's public products.json lists 250 products per page, newest first. Max catalog pages (default 2) sets how many pages are read: 500 products. A store with more is marked productCountCapped: true, and its count is a floor.
  • storeAgeFrom (the date of the oldest product) is only given when the whole catalog was read. With newest-first listing, the oldest product of a bigger store is not in the first pages, so it stays null.
  • productSample is the first products in Shopify's listing order. It is not a bestseller ranking.
  • Stores that hide their catalog (password-protected or private) return null catalog fields. Nothing is guessed.
  • Products that are hidden or drafts aren't in products.json, so they aren't counted.

Find companies using Shopify in a lead list (Google Maps leads, other Actors)

Have a list from Google Maps Scraper or any other Actor? Pick its dataset under Websites from another Actor. This Actor reads the website field (or the field you name, e.g. url, domain or contact.website) and checks every site. No copy and paste.

To run it automatically after every scrape, add an Actor-to-Actor integration to the source Actor or task with this input:

{ "datasetId": "{{resource.defaultDatasetId}}", "datasetUrlField": "website" }

Change alerts

Give the run a Change alert name (e.g. clients-weekly) and put it on an Apify schedule. Each row then gets changeStatus (new, changed or unchanged) and changedFields, compared with the previous run of the same name, so you see when a store changes theme, apps, currency or mail provider, or leaves Shopify. Turn on Only new and changed sites and each run's dataset is just the change report; unchanged sites are still checked and charged as usual. Add Apify's Slack or email integration to get the report delivered.

How it works

It makes plain HTTP requests, with no browser. For each homepage it reads the Shopify.* settings that every Shopify Online Store theme prints (shop handle, theme, currency, country, locale), then matches headers, scripts, cookies and HTML against the open-source Wappalyzer fingerprint database. When DNS checks are on, it also reads the domain's public DNS records. For a Shopify store it then reads the public products and collections lists and, if the homepage links to one, the contact page. Contact details are read from the page text and mailto:/tel: links; personal profile links (such as LinkedIn /in/ pages) and share buttons are skipped.

Limitations

  • Headless Shopify stores (Hydrogen or custom frontends) often don't print the theme settings. They're still detected as Shopify when Shopify assets show up in the page, but the theme, currency and myshopify fields stay empty.
  • Apps: it only finds apps that show up in the homepage HTML. Apps that load later through JavaScript can be missed.
  • Currency and country reflect the market the store shows to the visitor's location. Multi-market stores can show a different currency to visitors in other regions.
  • Catalog: product counts are the public catalog only, capped by Max catalog pages. Prices are the lowest and highest variant prices read, in the store currency, not revenue.
  • Contacts: only what is published on the homepage and contact page. Many stores publish a contact form and no email.

What this Actor does not do

It doesn't log in, use cookies or saved sessions, read password-protected or account pages, or read customer reviews, orders, or sales figures. It doesn't guess email addresses or collect personal profiles of staff. Contact details are only the ones the store publishes on its own homepage and contact page.

How much does it cost?

Pay per event:

  • Store checked: $0.002 per website that loads successfully, whether or not it turns out to be Shopify ($2.00 per 1,000). The catalog and contact requests are part of the same charge.
  • Actor start: $0.00005 per GB of memory (default 2 GB = $0.0001 per run).
  • Sites that fail, don't resolve, or return HTTP 4xx/5xx: free.
WebsitesCost
100about $0.20
1,000about $2
10,000about $20

Apify's free plan includes $5 of credit every month, enough for about 2,500 websites. Paid Apify plans get Store discounts of up to 25%. You can set a maximum cost per run, and the Actor stops cleanly when it reaches it.

FAQ

Is this legal? It loads each public homepage, contact page and public product list once, as a browser would, and reads public DNS records. It collects facts about stores and the business contact details they publish, not personal data.

Can I run it on a schedule or through the API? Yes. Use Apify schedules, the API, or integrations (Zapier, Make, Google Sheets, webhooks).

Why are the theme and currency empty for a store marked Shopify? It's most likely a headless store (see Limitations). The Shopify detection itself still holds.

Why is productCount null? The store doesn't publish its catalog (it is password-protected or hides products.json). It isn't guessed.

I need every technology, not only Shopify. Use Website Tech Stack Detector ($1.50 per 1,000 sites).

License and credits

Technology fingerprints come from enthec/webappanalyzer (GPL-3.0). This Actor's source code is GPL-3.0 as well. It isn't affiliated with Shopify, Wappalyzer or BuiltWith.