Shopify Products Scraper - Prices, Variants & Stock avatar

Shopify Products Scraper - Prices, Variants & Stock

Pricing

$1.00 / 1,000 products

Go to Apify Store
Shopify Products Scraper - Prices, Variants & Stock

Shopify Products Scraper - Prices, Variants & Stock

Export the public product catalog of any Shopify storefront (titles, prices, compare-at prices, variants, availability, images, tags) from its public products.json listing. Respects robots.txt, no proxies or logins. Pay per product.

Pricing

$1.00 / 1,000 products

Rating

0.0

(0)

Developer

Joe Bashe

Joe Bashe

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

Shopify Store Products Scraper – catalog, prices, variants & stock

Built and maintained by an AI agent on behalf of the owner.

Export the public product catalog of any Shopify storefront: titles, vendors, tags, prices, compare-at (sale) prices, every variant with SKU and availability, images and descriptions. The Actor reads the public /products.json listing that Shopify storefronts expose, after checking the store's robots.txt.

What you get

  • Whole catalog or specific collections (/collections/<handle>)
  • Per product: price range, compare-at price, on-sale flag, availability, variants (SKU, options, price, stock flag), images, tags, timestamps, shop currency
  • Filters: keywords, in-stock only, per-store cap
  • robots.txt is enforced: if a store disallows the endpoint (or robots.txt can't be read) it is skipped and reported – never bypassed; blocked/non-Shopify stores are reported, not circumvented
  • No proxies, no login; polite 1 request/second per store by default
  • A run that yields 0 products is marked FAILED with the reason

Pricing (pay per result – no start fee)

You pay only for results delivered: $0.0010 per product ($1.00 per 1,000). There is no charge per run start. Set Maximum cost per run in Apify and the Actor stops when it is reached. Failed runs that produce nothing produce no result charges.

ExampleCost
1,000 products$1.00
5 stores × 2,000 products$10.00

(Platform usage costs are minimal: the Actor uses plain HTTP requests, no browsers or proxies.)

Example input

{"stores":["allbirds.com","https://kith.com/collections/mens-footwear","colourpop.com"],"maxProductsPerStore":300}

Example output

[
{
"store": "allbirds.com",
"storeName": "Allbirds",
"currency": "USD",
"productId": "7340901859408",
"handle": "womens-allbirds-flip-flop-dusty-pink",
"url": "https://allbirds.com/products/womens-allbirds-flip-flop-dusty-pink",
"title": "Women's Allbirds Flip Flop - Dusty Pink",
"vendor": "Allbirds",
"productType": "Shoes",
"tags": [
"allbirds::carbon-score => undefined",
"allbirds::cfId => color-a4d5d0f6620dc304306f503bf67bc5f9",
"allbirds::complete => true",
"allbirds::edition => limited",
"allbirds::gender => womens",
"allbirds::hue => pink",
"allbirds::master => womens-allbirds-flip-flop",
"allbirds::material => sugar",
"allbirds::price-tier => tier-3",
"allbirds::silhouette => zeffer",
"loop::returnable => true",
"OOS DNS",
"shoprunner",
"WC WAVE 1 TRUCK #1-#16 7.30.2026",
"YBlocklist",
"YGroup_ygroup_womens-allbirds-flip-flop"
],
"priceMin": 25,
"priceMax": 25,
"compareAtPriceMax": 50,
"onSale": true,
"available": true,
"variantCount": 7,
"variants": [
{
"id": "42146889039952",
"title": "5",
"sku": "A12513W050",
"price": 25,
"compareAtPrice": 50,
"available": false,
"option1": "5",
"option2": null,
"option3": null,
"grams": 455,
"requiresShipping": true,
"imageId": null
},
{
"id": "42146889072720",
"title": "6",
"sku": "A12513W060",
"price": 25,
"compareAtPrice": 50,
"available": false,
"option1": "6",
"option2": null,
"option3": null,
"grams": 492,
"requiresShipping": true,
"imageId": null
},
{
"id": "42146889105488",
"title": "7",
"sku": "A12513W070",
"price": 25,
"compareAtPrice": 50,
"available": false,
"option1": "7",
"option2": null,
"option3": null,
"grams": 503,
"requiresShipping": true,
"imageId": null
},
{
"id": "42146889138256",
"title": "8",
"sku": "A12513W080",
"price": 25,
"compareAtPrice": 50,
"available": false,
"option1": "8",
"option2": null,
"option3": null,
"grams": 516,
"requiresShipping": true,
"imageId": null
},
{
"id": "42146889171024",
"title": "9",
"sku": "A12513W090",
"price": 25,
"co
... (truncated for README)

Failure behaviour

If a run finishes with nothing to deliver (bad input, unknown targets, blocked, everything filtered out) it fails with a clear status message instead of succeeding with an empty dataset. Per-target problems are listed in the RUN_SUMMARY key-value-store record.

Only publicly visible storefront information (what any visitor sees) is collected, from endpoints that the store's robots.txt permits. No customer, order or account data. Store owners' own terms and local law (database rights, competition law, etc.) may restrict how you can reuse a competitor's catalog – you are responsible for your use. Not affiliated with Shopify.

Limits

Stock is a per-variant available/unavailable flag (not quantities). Stores that disable /products.json, sit behind bot protection, or are not on Shopify are reported as errors.

About this Actor

Built and maintained by an AI agent on behalf of the owner. Report issues through the Apify Actor's Issues tab; they are read and handled by the agent on the owner's behalf.