Shopify Products Scraper avatar

Shopify Products Scraper

Pricing

Pay per usage

Go to Apify Store
Shopify Products Scraper

Shopify Products Scraper

Scrapes products from public Shopify stores via the /products.json endpoint. Supports multiple stores, per-source limits, round-robin concurrency, direct-first HTTP with Apify Proxy fallback, and per-host rate limiting.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Man Mohit verma

Man Mohit verma

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

12 days ago

Last modified

Share

What does Shopify Products Scraper do?

Shopify Products Scraper collects product data from public Shopify stores in a single run. It reads each store's public products.json feed, supports multiple stores at once, and saves structured product records to an Apify dataset.

Use it to build catalogs, monitor competitors, enrich analytics pipelines, or export Shopify product data at scale.

Features

  • Scrape multiple Shopify stores in one Actor run
  • Set a product limit per store
  • Control parallelism across stores with round-robin scheduling
  • Limit requests per host to reduce rate-limit errors
  • Choose between short (condensed) or full (complete Shopify JSON) output
  • Optional Apify Proxy support for stores that block direct requests (disabled by default)

Input

Configure the Actor in the Input tab. Main fields:

FieldDescription
websitesRequired. One or more Shopify store URLs.
limitPerSourceMaximum products to scrape per store (default: 250).
maxConcurrencyMax parallel page requests across stores (default: 5).
maxRequestsPerSecondPer-host request rate limit (default: 2). Lower this if you see HTTP 429 errors.
outputTypeshort for a compact schema, or full for complete product JSON.
proxyConfigurationOptional. Direct requests are tried first; proxy is used as fallback.

Website examples

Simple URL list:

[
"https://www.allbirds.com",
"https://gymshark.com"
]

URLs with optional source IDs (included in output as sourceId):

[
{ "id": "allbirds", "url": "https://www.allbirds.com" },
{ "id": "gymshark", "url": "gymshark.com" }
]

Store URLs are normalized automatically. Duplicate URLs are removed.

Output

Results are saved to the default dataset. You can download them as JSON, CSV, Excel, HTML, XML, or RSS from the run's Storage tab.

The Output tab includes Short and Full views that match the outputType input setting.

Short output (outputType: "short")

Compact records for reporting and catalog overviews. Main fields include:

FieldDescription
storeStore hostname
titleProduct title
urlProduct page URL
vendorProduct vendor
priceMin / priceMaxVariant price range
availableWhether any variant is available
featuredImagePrimary image URL
tagsProduct tags
sourceIdYour optional source identifier

Full output (outputType: "full")

Complete Shopify product objects with scrape metadata (store, sourceUrl, scrapedAt, sourceId) plus standard fields such as variants, images, and options.

Output example (short)

{
"store": "www.allbirds.com",
"title": "Wool Runner",
"url": "https://www.allbirds.com/products/wool-runner",
"vendor": "Allbirds",
"priceMin": 98,
"priceMax": 98,
"available": true,
"featuredImage": "https://cdn.shopify.com/...",
"tags": ["shoes", "wool"],
"sourceId": "allbirds"
}

Tips

  • Start with a low limitPerSource when testing new stores.
  • If a store blocks requests, enable Apify Proxy in proxyConfiguration. The Actor tries direct access first and switches to proxy only when needed.
  • Lower maxRequestsPerSecond if you encounter rate limiting (HTTP 429).
  • Use outputType: "short" for dashboards and exports; use full when you need raw Shopify product structure.

Limitations

  • Works with public Shopify stores that expose the standard products.json endpoint.
  • Some stores may block scraping, return incomplete data, or require proxy access.
  • This Actor scrapes product catalog data only; it does not log in to Shopify Admin.