Shopify Products + Store Info
Pricing
Pay per event
Shopify Products + Store Info
Hosted shopify scraper that pulls the full product catalog and store metadata from any Shopify storefront as structured JSON. Run it from the Apify Store with one click, or call it from your own service via the Apify API. Pay per product, not per month.
Pricing
Pay per event
Rating
0.0
(0)
Developer
SR
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Shopify Product Scraper: Full Catalog via products.json
Hosted shopify scraper that pulls the full product catalog and store metadata from any Shopify storefront as structured JSON. Run it from the Apify Store with one click, or call it from your own service via the Apify API. Pay per product, not per month.
If you've been searching for a shopify product scraper, a shopify scraper chrome extension that doesn't depend on a brittle browser plugin, a shopify scraper github repo that's actually maintained, or a free Shopify scraper that doesn't crap out on stores with thousands of products, this Actor is the hosted, maintained alternative.
What you get
- Full product catalog from any Shopify storefront, title, handle, vendor, product type, tags, variants (with prices and SKUs), images, options, full body HTML.
- Store metadata in the same dataset, name, currency, country, shipping coverage, the internal
myshopify_domain, and active theme ID (signals tech-stack detection). - No proxy needed, Shopify exposes
/products.jsonand/meta.jsonopenly on every storefront. The Actor doesn't need any auth or proxy. - Up to 5,000 products per run, paginated 250 per page with gentle rate-limiting.
- Pay only for what you scrape, pricing scales per product (cheap for catalogs) plus a separate event for store-detected (BuiltWith-replacement use case).
Why scrape shopify product data
Shopify powers ~30% of the world's e-commerce stores. For competitive pricing monitoring, dropshipping research, affiliate catalog enrichment, or BuiltWith-style tech detection, the /products.json endpoint is the cleanest data source on the open web, it returns the entire catalog in pure JSON without any anti-bot complications.
The challenge is operational: most teams don't want to write the pagination logic, the meta.json detection probe, the variant-flattening, and the daily-diff scheduling themselves. This Actor packages all of that as a hosted, billable Apify Actor, same data, no infrastructure.
Two billing modes (one Actor, two use cases)
- Catalog scraping (dropshippers, competitive pricing): pay per product row returned. A 1,000-product catalog costs roughly $1.
- Tech detection (BuiltWith replacement, sales prospecting): pay per store confirmed Shopify. One charge per store includes currency, country, theme ID, ships-to countries, and the
myshopify_domain, billed at a fraction of BuiltWith's $295-$995/month flat fee.
Both modes share the same Actor. Set include_meta=true (the default) and the first row of every run is the store_meta record.
Input
| Field | Type | Default | Description |
|---|---|---|---|
domain | string | required | Shopify storefront domain (with or without https://). E.g. allbirds.com, www.gymshark.com. |
max_products | integer | 250 | Pagination cap (250 per page, up to 5,000 total). |
include_meta | boolean | true | Emit a leading record_type='store_meta' row with name/currency/country/myshopify_domain/theme_id/ships-to. |
Output
Two record types in the dataset.
store_meta (one row, first)
{"record_type": "store_meta","is_shopify": true,"domain": "www.allbirds.com","myshopify_domain": "weareallbirds.myshopify.com","name": "Allbirds","currency": "USD","country": "US","city": "San Francisco","ships_to_countries": ["US"],"theme_id": "129694433360","page_type": "index","detection_signals": ["meta.json: Shopify JSON payload", "server-timing.theme=…"]}
product (one row per product)
{"record_type": "product","id": 6847823183952,"title": "Trino® Cozy Crew - Sienna","handle": "trino-cozy-crew-sienna","url": "https://www.allbirds.com/products/trino-cozy-crew-sienna","vendor": "Allbirds","product_type": "Socks","variant_count": 4,"available_variant_count": 3,"min_price": 18.0,"max_price": 22.0,"image_count": 6,"first_image_url": "https://cdn.shopify.com/s/files/...","domain": "www.allbirds.com"}
Use cases for the shopify scraper
Competitive pricing monitoring
Run the Actor daily on your top 10 competitors. Diff min_price and available_variant_count over time to surface price changes and stock-outs before they appear on price-comparison sites, useful input for your own pricing strategy.
Dropshipping product research
Pull catalogs from 100+ Shopify stores in your target category. Cluster by product_type and vendor to find under-supplied niches. The min_price and max_price columns surface typical category price ranges instantly.
BuiltWith replacement for Shopify-specific tech detection
If all you need is "is this a Shopify store, what currency, what country, what theme ID, where do they ship", a single run of this Actor (with max_products=1) gives you that for $0.025 per store, versus BuiltWith's $295/month flat fee or Wappalyzer Pro's $250/month / 5,000 lookups.
Sales prospecting and CRM enrichment
Pipe the myshopify_domain, currency, and ships_to_countries fields into your CRM as part of a nightly enrichment job. Filter prospects by Shopify Plus indicators (often visible in the theme metadata) to identify higher-budget accounts worth a sales touch.
Catalog migration and audit
Migrating off Shopify or auditing your own catalog before a re-platform? This Actor exports the full product catalog with variants, images, and metadata in a single run, usable as the source-of-truth dataset for the migration script.
How it compares
Most tools are browser extensions you drive by hand, CSV-export SaaS sites, or credit-metered APIs. This Actor reads the public products.json endpoint server-side and returns the full catalog plus store metadata as JSON.
| No account or key | Hosted for you | JSON output | Handles pagination past 250 | |
|---|---|---|---|---|
| This Actor | Yes | Yes | Yes | Yes |
| Shopify Scraper (Chrome extension) | Install required | No, runs in your browser | CSV | Manual, page by page |
| shopify-scraper.com | No, account | Yes | CSV export | Plan-based |
| HasData Shopify Scraper | No, API key | Yes | Yes | Yes |
FAQ
Is this shopify scraper free?
The Actor itself is hosted on Apify with pay-per-event pricing, no monthly subscription. A small store (200 products) costs a fraction of a dollar to scrape. You only pay for what you actually receive.
Is there a shopify scraper chrome extension equivalent?
Several Chrome extensions exist for Shopify product scraping, but they require a browser, manual one-page-at-a-time operation, and break when Shopify ships UI updates. This Actor runs server-side via the public /products.json endpoint, much faster, automatable, and resilient to UI changes.
Is there a shopify scraper github repo I could use instead?
There are dozens of open-source /products.json scrapers on GitHub, but most don't handle pagination correctly past 250 products, don't merge meta.json for store metadata, and don't have any retry/error handling. This Actor is the maintained, hosted alternative, same underlying endpoint, production-grade infrastructure.
Does this work for any Shopify store?
It works for every Shopify storefront whose owner hasn't actively disabled /products.json (which is rare, most stores leave it on for SEO and integrations). The Actor probes both the apex and www. domain forms automatically.
What about Shopify Plus stores with custom domains?
Yes, fully supported. The Actor reads the myshopify_domain from meta.json and surfaces it in the store_meta record, which is useful for cross-referencing custom-domain storefronts with their underlying Shopify Plus account.
Can I scrape a shopify scraper free of variants and images for a quick run?
Currently the Actor returns the full payload Shopify exposes per product. To trim variants/images post-fetch, use Apify's dataset transformation features or filter in your downstream pipeline. The pricing is per product row returned, so a 200-product catalog costs the same regardless of how much per-product detail you keep.
Can I run this on a schedule?
Yes, Apify has built-in scheduling. Most pricing-monitoring teams schedule a daily run at 03:00 local time and pipe the diff into Slack/email for next-morning review.
Pricing
This Shopify scraper uses Apify's pay-per-event pricing with three events: a tiny per-run start fee, a per-store store_detected event (the BuiltWith-replacement charge), and a per-product event (the catalog-scrape charge). Your bill scales with what you actually consume, tech-detection-only runs cost cents per store, full-catalog runs scale with product count. See the Apify Store page for current per-event prices.