RRadar
E-commerce & apps

Shopify Products JSON Scraper

Variants, Barcode, Discounts

Example request

curl -X POST https://radarbg.com/v1/shopify-store-products \
  -H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"storeUrls": ["https://www.allbirds.com", "https://kith.com/collections/footwear"], "maxProductsPerStore": 30, "oneRowPerVariant": false, "onlyAvailable": false}'

Answer: {"ok": true, "count": N, "items": [...], "usage": {...}}. Failed calls are not counted.

Inputs

FieldTypeDescription
storeUrlsarrayStore home pages (https://www.allbirds.com), collection pages (https://store.com/collections/sale) or single product pages (https://store.com/products/handle = only that product). Any Shopify store with the standard storefront (headless sto
maxProductsPerStoreintegerStop after this many products in each store.
oneRowPerVariantbooleanEach size/color variant as its own row with SKU, barcode, price and stock (otherwise variants are nested in the product).
onlyAvailablebooleanSkip sold-out products/variants.
onlyOnSalebooleanKeep only products with a compare-at (original) price higher than the price.
keywordsarrayKeep only products whose title, type, vendor or tags contain one of these words.
includeDescriptionbooleanPlain-text product description (first 2000 characters).
maxItemsintegerHard limit on dataset rows (and cost).
onlyChangesbooleanReturn only products that are new, changed price (price_drop / price_up), went back in stock or out of stock, changed variants, or were removed since the last run with the same monitor ID. Unchanged products are not saved and not billed. Th
monitorIdstringName of the memory used by monitoring mode. Use a different ID for each store list or schedule.
proxyConfigurationobjectOptional Apify Proxy for stores that rate-limit servers.
datasetIdstringOptional. Pick a dataset (or paste its ID) to read the input from, for example the result of Google Maps Scraper. When this actor runs as an integration, the dataset of the triggering run is used automatically (payload.resource.defaultDatas
datasetFieldstringOptional. The item field that holds the value, for example website, url or videoUrl (dot paths like author.url work). Empty = detected automatically.
datasetMaxItemsintegerUpper limit of unique values taken from the dataset, to keep the cost under control.

Price

Included in every plan: 100 calls a month free, then from €9 a month for 3,000 calls across all APIs.

Related APIs

Apify Store Trends APIPrice Drop & Back in Stock AlertProduct Price Checker