Shopify Scraper - Products, Prices, Stock & Inventory
autofacts--shopifyScrape any public Shopify store's catalog to get product variants, prices, SKUs and stock status, plus barcodes and inventory counts, from a store URL, collection or keyword search.
Instructions
Shopify Scraper - Products, Prices, Stock & Inventory. A Shopify product scraper for any public Shopify store: every variant's price, SKU and stock status, with barcodes, real inventory counts, videos and subscription plans where available. Crawl a whole catalog, a collection, one product URL or a keyword search. No API key needed.
When to use: Use when you need the product catalog of a public Shopify store: variants, prices, SKUs and stock.
Returns: the run's dataset rows as structured JSON (one row per result), plus the run and dataset IDs for paging the full dataset.
Behavior: starts one run of the Apify Actor "autofacts/shopify" through Apify's hosted MCP gateway (mcp.apify.com) with your own APIFY_TOKEN; the run uses your Apify account. Read-only: it only reads public web data and changes nothing on the source site. Docs: https://apify.com/autofacts/shopify
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| proxy | No | Select proxies to be used by your crawler. | |
| query | No | Search query to find products. | |
| startUrls | Yes | Start URLs of Shopify site to start the actor. Site root url, category page urls, product page urls are all supported. Example: [{"url":"https://kith.com/collections/kith-tops"}] | |
| maxResults | No | Maximum number of results to return. Hidden parameter, overrides maxRequestsPerCrawl if set. | |
| grabRealInventory | No | Fetch each product's real per-variant inventory count from its product JSON. Billed as a separate event for every product that comes back with a real stock count. On collection crawls it also adds one request per product. Only works for stores that expose inventory in their storefront JSON — others report inventory as unknown, and are not billed for it. Off by default. | |
| grabContentSections | No | Also return the labelled information panels the store shows outside the description - tabs and accordions such as Features, Includes, Materials or Care - as the site renders them, in a `contentSections` field. Labels are kept exactly as shown, so panels like Shipping or Returns come along too and are yours to filter. Costs one extra page request per product on stores that have them; stores that have none are detected and skipped. Billed per product that actually returns panels. | |
| maxInventoryFetches | No | Hard cap on the extra per-product detail fetches used to read inventory on collection crawls. Advanced, not shown in the form: unlimited unless set. Pass a number in the JSON input to cap the run. Only applies when 'Grab real inventory' is enabled. | |
| maxRequestsPerCrawl | No | The maximum number of records saved to the dataset. Each record is one billed result, so this is also the run's cost cap. The scraper stops when the limit is reached. If set to 0 , there is no limit — use the run's Max total charge setting to bound spend instead. | |
| grabStorefrontDetail | No | Fetch each product's storefront payload for selling plans (subscriptions, pre-orders), video media, and the product's price span. Applies to collection crawls only — product URLs always fetch this payload, because it is where their stock availability comes from. Costs one extra request per product on collection crawls, and is not billed as a separate event. Off by default. | |
| maxStorefrontFetches | No | Hard cap on the extra per-product storefront fetches on collection crawls. Advanced, not shown in the form: unlimited unless set. Pass a number in the JSON input to cap the run. Only applies when 'Grab storefront detail' is enabled; product URLs are already bounded by the record limit. | |
| maxContentSectionFetches | No | Caps how many product pages the panel extraction may fetch in one run. Advanced, not shown in the form: unlimited unless set. Pass a number in the JSON input to cap the run. Only applies when "Grab product information panels" is on; a product URL is not capped by this. | |
| maxRecommendationsPerProduct | No | The maximum number of recommended products to fetch per product. Recommendations are returned nested inside the product record and are billed per recommended product, so a value of 20 can cost up to 20 extra events per product. Set to 0 to disable. Default is 0, max is 20. |