ParseForge Scrapers

Shopify Products Scraper

parseforge/shopify-stores-scraper

E-commerceAutomationDeveloper tools

Scrapes product data from any public Shopify storefront. Feed it store, collection, or product URLs and get back a flat row per product with all variants, pricing, images, and stock status.

Run this scraper See the API call
Total users
11
Monthly active
2
Total runs
744
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

Shopify Products Scraper

Scrape product catalogs from any Shopify store, collection, or product URL, up to a million items per run. Each product row includes its title, price, variants, images, and stock status. No API key or store admin access needed. Export to CSV, JSON, Excel, or XML.

Shopify's storefront API is rate-limited and often requires store owner approval. This actor reads the public product feeds directly from any Shopify-powered store, collection page, or individual product URL. You get a complete, structured catalog in one fixed schema, ready for analysis.

Who uses it What they scrape Shopify for
E-commerce analysts Benchmark a competitor's full product catalog and pricing strategy.
Dropshippers Find trending products and monitor supplier stock levels across multiple stores.
Brand managers Monitor how your products are listed and priced by authorized retailers.
Market researchers Track product assortment changes and new arrivals in a specific niche.

What it does

This Actor collects product data from Shopify storefronts by homepage, collection, or product URL and returns each product as a flat row with its variants, pricing, and images.

  • ๐Ÿ” Keyword search: Filter products by a keyword within a store's catalog to target specific items.
  • ๐Ÿ“ฆ Stock filtering: Exclude out-of-stock items to see only products with at least one available variant.
  • ๐Ÿ”— Flexible start URLs: Feed it store homepages, collection pages, or individual product URLs, alone or mixed together.
  • ๐Ÿ”„ Product recommendations: Optionally fetch up to 10 recommended products for each scraped item.
  • ๐Ÿ“Š Sorted output: Order results by price, title, or recency before they hit your dataset.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Shopify data

๐Ÿ“ˆ Monitor competitor pricing.

An e-commerce analyst scrapes a competitor's entire catalog weekly, sorts by price descending, and flags products where the competitor undercuts their own pricing.

๐Ÿ›๏ธ Build a dropshipping product feed.

A dropshipper scrapes multiple niche Shopify stores, filters out out-of-stock items, and exports the results to CSV for import into their own store backend.

๐Ÿ”Ž Audit retail partner listings.

A brand manager scrapes authorized dealer storefronts to verify that product titles, images, and MSRPs match the brand's guidelines.

๐Ÿ“Š Track product assortment trends.

A market researcher scrapes a set of fashion stores monthly, sorting by newest first, to identify which styles and categories are being added for the upcoming season.

Why choose this scraper

What you get
No API keys Scrape any public Shopify store without registration, tokens, or store admin approval.
Complete product data Get title, description, price, compare-at price, variants, images, SKU, vendor, and stock status.
Handles large catalogs Collect up to a million products per run, respecting the store's own pagination limits.

How it compares

No other Store actor targets Shopify the same way, so the honest comparison is with the alternatives teams actually weigh.

Shopify Products Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When Shopify changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor from store homepages, collection pages, and product URLs, alone or together, and filters run as each product is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "startUrls": [
    {
      "url": "https://allbirds.com"
    }
  ],
  "maxItems": 10
}

A larger pull:

{
  "startUrls": [
    {
      "url": "https://allbirds.com"
    }
  ],
  "maxItems": 200
}

Pricing

Pay-per-result: $0.01599 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $1.60
1,000 results $15.99
10,000 results $159.90

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Shopify Products Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Shopify through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/shopify-stores-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that the store URL is correct and the store is publicly accessible. If you are using a keyword search, try a broader term or leave it empty to see all products. Also verify that 'Include Out of Stock' is checked if the store has no available inventory.

The actor is only returning a few products from a large store.

Some Shopify stores limit the number of products shown on their public pages. Try using collection page URLs instead of the homepage to access deeper parts of the catalog. The actor respects the store's own pagination limits.

Why are product images missing?

The actor captures the image URLs as provided by the store's theme. If images are lazy-loaded or hosted on a CDN that blocks automated requests, they may not be captured. The main image and all image URLs are included when available.

The keyword search is not finding products I know exist.

The keyword search uses the store's own search endpoint. Try variations of the keyword, check for spelling, and ensure the store's search function works in a regular browser. The search only applies to store homepages, not collection or product URLs.

I am getting a timeout or the run is very slow.

Large catalogs take time. Increase the run's timeout in the actor settings. If scraping many stores, reduce the 'Maximum stores' count or split the URLs across multiple runs.

FAQ

Question Answer
Can I scrape any Shopify store? Yes, any store hosted on Shopify with a public storefront can be scraped. You do not need the store owner's permission or an API key.
What data do I get for each product? Each row includes the product title, description, vendor, product type, tags, all variant details (SKU, price, compare-at price, stock status, option values), the main image URL, and all other image URLs.
How do I scrape only products that are in stock? Uncheck the 'Include Out of Stock' option in the input. The actor will then return only products that have at least one variant with available inventory.
Can I search for a specific product across a store? Yes, use the 'Store or product keyword' field. This searches the store's product listings and returns only matching items. It works on store homepages, not on collection or product URLs.
How do I scrape multiple stores at once? Add multiple store URLs to the 'Shopify store URLs' input field. The actor will process them sequentially up to the 'Maximum stores' limit you set.
What is the maximum number of products I can scrape? You can set the 'Maximum stores' input up to 1,000,000. The actual number of products depends on the store's catalog size and its pagination limits.
Can I get product recommendations? Yes, set the 'Recommendations Per Product' field to a number between 1 and 10. The actor will fetch the store's own recommended products for each scraped item.
How do I sort the results? Use the 'Sort By' dropdown to order the output by price, title, or date added before the data is saved to your dataset.
Does this work with Shopify Plus stores? Yes, Shopify Plus stores use the same public storefront structure. The actor scrapes them the same way as any other Shopify store.
What format is the export? You can export your results in CSV, JSON, Excel, or XML formats from the dataset tab after the run completes.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Shopify Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
startUrls required array Shopify store, collection, or product URLs. Supports store homepages (all products), collection pages, and individual product pages. [{"url":"https://allbirds.com"}]
maxItems integer Maximum number of stores to collect per run. 10
query string Search products by keyword within store URLs. Only applies to store homepages, not collection or product URLs. Leave empty to get all products. not set
includeOutOfStock boolean If unchecked, only products with at least one available variant are returned. true
sortBy string (7 options) Sort the output results. Default order is as returned by the store. not set
maxRecommendationsPerProduct integer Fetch recommended products for each scraped product. Set to 0 to disable. 0

Pricing

from $11.99 per 1,000 results

Charged forWhat it isPrice each
Actor Start Charged once when the run starts. $0.005
Result Item Charged once per result collected. $0.01199 to $0.01599

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~shopify-stores-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Shopify Products Scraper on Apify All scrapers