Shopify Scraper: Products, Prices & Stock avatar

Shopify Scraper: Products, Prices & Stock

Pricing

$2.40 / 1,000 products

Go to Apify Store
Shopify Scraper: Products, Prices & Stock

Shopify Scraper: Products, Prices & Stock

Export the full public catalog of any Shopify store: title, vendor, type, tags, price, sale price, stock and link. Up to 2,000 products per store. Pay per product.

Pricing

$2.40 / 1,000 products

Rating

0.0

(0)

Developer

Noor Holdings

Noor Holdings

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Shopify Products Scraper: full catalog, prices and stock from any store

Point it at a Shopify store and get its public catalog as rows: title, vendor, product type, tags, price, sale price, stock flag, variant count, image and product link. Up to 2,000 products per store.

We tested it on Gymshark, Allbirds, ColourPop and Kylie Cosmetics in one run: 1,144 products in 91 seconds.

Stores that turned their public catalog off return 0 rows and aren't charged.

What you get

FieldExample
shopgymshark.com
titleGymshark 700ml Metal Insulated Straw Bottle - Black
vendorGymshark
productTypeUnisex>Accessories>Bottles>insulated
price32
compareAtPriceoriginal price when on sale, otherwise null
availabletrue
variantCount1
tagsthe store's own tags, comma-separated
publishedAt2026-10-08T23:00:00-07:00
urlgymshark.com/products/...

Sample output

{
"shop": "gymshark.com",
"productId": 6806920200394,
"handle": "gymshark-700ml-bottle-bottles-black-aw26",
"title": "Gymshark 700ml Metal Insulated Straw Bottle - Black",
"vendor": "Gymshark | Be a visionary.",
"productType": "Unisex>Accessories>Bottles>insulated",
"price": 32,
"compareAtPrice": null,
"variantCount": 1,
"available": true,
"url": "https://gymshark.com/products/gymshark-700ml-bottle-bottles-black-aw26",
"imageUrl": "https://cdn.shopify.com/s/files/1/0156/6146/files/700ml_Bottle_GS_Black_I2C9C_BB2J_3.jpg?v=1791277227",
"publishedAt": "2026-10-08T23:00:00-07:00"
}

Price, sale price and stock come from each product's first variant (usually the default size or color).

Quick start

  1. Paste store addresses into Shops: gymshark.com or a full link both work.
  2. Set Max products per shop (up to 2,000).
  3. Click Start.

The default input pulls 100 Gymshark products and runs as-is.

Use cases

  • Track a competitor's prices and catch new markdowns. compareAtPrice is filled only when something is on sale.
  • See what a brand launched this week by sorting on publishedAt.
  • Map a store's range by productType and tags before you pitch them or stock against them.
  • Check which items went out of stock with the available flag.

What happens when something goes wrong

Some big stores rate-limit cloud servers. The scraper backs off, waits, and after two refusals switches to a regular home-style connection and tries again. A site that isn't on Shopify, or a store that hid its catalog, returns 0 rows and isn't charged. Paste the same store twice and you pay once.

Pricing

Pay per product delivered, plus Apify's small start fee per run. Set a maximum cost per run and the scraper stops at your limit.

FAQ

How do I know if a site runs on Shopify? Add /products.json to the store address in your browser. If you see product data, it works here.

Why is vendor sometimes a slogan? That's what the store typed into Shopify's vendor field. We pass it through unchanged.

Do I get every size and color? You get the variant count and the first variant's price and stock. Ask on the Issues tab if you need one row per variant.

Something broke? Open an issue with the store address. I answer within a day.

Limitations

  • Public catalogs only. No inventory counts, sales numbers or order data, because Shopify doesn't publish them.
  • A few stores block automated visitors outright. We don't get around those blocks.

Export or use as an API

Download any run's results from the Storage tab as CSV, Excel, JSON or XML.

To call it from your own code, send your input to Apify's API and get the rows back in one request:

POST https://api.apify.com/v2/acts/leathered_latch~shopify-products-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN

It also plugs into Make, Zapier and n8n through Apify's integrations, and AI agents can find and run it through Apify's MCP server.

Your responsibility

How you use the output is your call, and so is the legal side of it. Copyright still covers any text or images you republish. The source site's own terms apply too. If you're unsure about a use, check with a lawyer first.

If you own content that shows up in these results and want it handled differently, open an issue on the Issues tab. We answer within 14 days.

Data source and credit

Every row comes from each store's public Shopify catalog. We don't own this data, and we don't take credit for it. The product listings belong to the store that sells them.

This tool reads only what Shopify shows to any logged-out visitor. No logins, no private data. Each row keeps a link back to the page it came from (the url field), so you can check any result and credit the source when you use it.

Not affiliated with, endorsed by or sponsored by Shopify or the stores. All names and trademarks belong to their owners.

Changelog

  • 0.2 compareAtPrice is now null when an item isn't on sale (it used to show 0). Back-off and connection switch for stores that rate-limit.
  • 0.1 First release. 250 products per page, retries through Cloudflare check pages.