Shopify Product Scraper ๐Ÿ›๏ธ avatar

Shopify Product Scraper ๐Ÿ›๏ธ

Pricing

from $0.90 / 1,000 results

Go to Apify Store
Shopify Product Scraper ๐Ÿ›๏ธ

Shopify Product Scraper ๐Ÿ›๏ธ

Extract product data from any Shopify-powered store instantly. This universal tool is lightweight and optimized for speed, gathering prices, variants, and images with ease. To ensure maximum stability and avoid IP blocking, using residential proxies is highly recommended.

Pricing

from $0.90 / 1,000 results

Rating

4.6

(4)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

1

Bookmarked

32

Total users

3

Monthly active users

3 days ago

Last modified

Share

What does Shopify Product Scraper do?

Shopify Product Scraper collects structured product and variant data from any public Shopify-powered store. Enter a store domain, collection URL, product URL, or homepage and receive normalized records with titles, prices, variants, stock status, images, product URLs, and catalog metadata.

Use it for competitor catalog monitoring, price and assortment research, product feed creation, ecommerce analysis, and scheduled data collection. The Actor identifies Shopify storefronts automatically, supports multiple stores in one run, removes empty values, and prevents duplicate output records.

Why use Shopify Product Scraper?

  • Collect complete catalogs - Start with a store homepage or use the all collection to gather the available catalog.
  • Capture variant-level data - Keep separate size, color, or option records with their own price, SKU, availability, and variant URL.
  • Monitor competitors - Compare product ranges, current prices, sale prices, brands, tags, and stock signals across stores.
  • Build reliable datasets - Receive consistent field names, source metadata, timestamps, and cleaned values for reporting or data pipelines.
  • Control the run - Limit saved records, pagination depth, variants, and out-of-stock products according to your workflow.
  • Automate repeat collection - Schedule runs in Apify and send completed datasets to spreadsheets, databases, webhooks, or other services.

What data can you extract from Shopify stores?

Each saved item represents a product or one of its variants, depending on includeVariants.

FieldTypeDescription
idNumberShopify product ID when available.
variant_idNumberShopify variant ID when available.
titleStringProduct title.
handleStringProduct handle used in the store URL.
descriptionStringClean text product description when published.
vendorStringProduct brand or vendor.
product_typeStringProduct category or type.
tagsArrayProduct tags supplied by the store.
variant_titleStringStore-provided variant title.
variant_nameStringHuman-readable option summary such as Size: 9 / Color: Black.
skuStringVariant SKU when available.
barcodeStringVariant barcode when available.
priceNumberCurrent variant price.
compare_at_priceNumberPrevious or comparison price when available.
currencyStringCurrency code for the price.
availableBooleanWhether the product or variant is available.
inventory_quantityNumberInventory quantity when published by the store.
inventory_policyStringStore inventory policy when available.
weightNumberVariant weight when available.
weight_unitStringUnit used for the variant weight.
requires_shippingBooleanWhether the variant requires shipping.
imagesArrayProduct and variant image URLs.
featured_imageStringPrimary image URL.
urlStringProduct URL, including the variant ID when available.
created_atStringProduct creation timestamp when available.
updated_atStringLast product update timestamp when available.
published_atStringPublication timestamp when available.
store_urlStringBase URL of the source store.
source_typeStringSource category used for the record.
source_endpointStringSource URL used to collect the record.
scraped_atStringISO timestamp for the collection time.

How to use Shopify Product Scraper

  1. Open the Actor on Apify Store.
  2. Provide at least one shopUrl or one entry in startUrls.
  3. Set a result limit and optional collection, variant, stock, pagination, or proxy settings.
  4. Run the Actor and review the dataset preview.
  5. Download the results or connect the dataset to your preferred workflow.

The Actor can combine multiple starting URLs and store domains in one run. Non-Shopify domains are identified and skipped safely.

Input Parameters

ParameterTypeRequiredDefaultDescription
shopUrlStringNo*-Shopify store URL or direct store website URL, such as https://www.allbirds.com or allbirds.com.
startUrlsArrayNo*-URLs to start from. Each item must contain a url and may be a homepage, collection page, or product page.
collectionStringNoallCollection handle used with shopUrl. Use all for the full catalog.
maxProductsIntegerNo50Maximum number of output records to save. A variant record counts as one output record.
maxPagesIntegerNo999Maximum pagination depth for each catalog or collection source.
includeVariantsBooleanNotrueSave all variants when true; save only the first variant record for each product when false.
includeOutOfStockBooleanNotrueInclude products or variants that are marked out of stock.
proxyConfigurationObjectNoNot setOptional Apify Proxy configuration for stores that need additional routing support.

* Provide at least one of shopUrl or startUrls.

Usage Examples

Basic Store Catalog

Collect up to 50 records from a Shopify store:

{
"shopUrl": "https://www.allbirds.com",
"maxProducts": 50
}

Multiple Starting URLs

Collect products from a collection page and a specific product page in the same store:

{
"startUrls": [
{ "url": "https://www.allbirds.com/collections/all" },
{ "url": "https://www.allbirds.com/products/allbirds-laces" }
],
"maxProducts": 80,
"includeVariants": true
}

Collection and Stock Filtering

Collect a selected collection while excluding products marked out of stock:

{
"shopUrl": "https://www.tentree.com",
"collection": "mens",
"maxProducts": 120,
"maxPages": 10,
"includeOutOfStock": false
}

Sample Output

The following example shows one variant-level dataset item:

{
"id": 6930107236432,
"variant_id": 40482722414672,
"title": "Women's Tree Runner Go - Natural Black",
"handle": "womens-tree-runner-go-natural-black-blizzard",
"description": "Breathable everyday sneakers with lightweight comfort.",
"vendor": "Allbirds",
"product_type": "Shoes",
"tags": ["womens", "shoes"],
"variant_title": "5",
"variant_name": "Size: 5",
"sku": "A10608W050",
"price": 75,
"compare_at_price": 120,
"currency": "USD",
"available": true,
"requires_shipping": true,
"images": [
"https://cdn.shopify.com/s/files/1/1104/4168/files/tree-runner-go.png"
],
"featured_image": "https://cdn.shopify.com/s/files/1/1104/4168/files/tree-runner-go.png",
"url": "https://www.allbirds.com/products/womens-tree-runner-go-natural-black-blizzard?variant=40482722414672",
"created_at": "2024-02-09T02:48:11.000Z",
"updated_at": "2026-03-12T06:09:05.000Z",
"published_at": "2026-03-12T00:34:15.000Z",
"store_url": "https://www.allbirds.com",
"source_type": "store_products_json",
"source_endpoint": "https://www.allbirds.com/products.json?limit=250&page=1",
"scraped_at": "2026-08-03T10:30:00.000Z"
}

Tips for Best Results

  • Use canonical URLs - Start with the store homepage, a public collection URL, or a public product URL from the target domain.
  • Test with a small limit - Begin with 20 to 50 records before increasing maxProducts or maxPages.
  • Plan for variants - Set includeVariants to true for size and color analysis. Remember that each saved variant uses one result slot.
  • Filter stock when needed - Set includeOutOfStock to false for current availability lists and product feeds.
  • Use proxy settings selectively - Add proxyConfiguration when a store needs additional routing support, then validate the dataset before scheduling larger runs.
  • Review source coverage - Some stores do not publish inventory quantities, barcodes, descriptions, or timestamps. Missing values reflect the source catalog and are omitted from the item.

Integrations and Export Formats

  • Google Sheets - Export product catalogs for pricing and assortment analysis.
  • Airtable - Build searchable product and variant databases.
  • Webhooks - Send completed run notifications and dataset references to downstream services.
  • Make or Zapier - Trigger no-code workflows from new catalog runs.
  • Apify API - Read datasets programmatically from your applications or scheduled jobs.

Datasets can be downloaded as JSON, CSV, Excel, XML, and other formats supported by Apify.

Frequently Asked Questions

Can I use a normal website URL instead of a Shopify subdomain?

Yes. Use a direct store URL such as https://www.allbirds.com or allbirds.com. The Actor checks the domain and identifies whether it is a Shopify storefront.

Can I use collection and product URLs?

Yes. Add homepage, collection, and product URLs to startUrls. The Actor groups URLs by store and collects the catalog or selected pages available from those inputs.

Does maxProducts count products or variants?

It counts output records. When includeVariants is true, each saved variant uses one record slot, so a product with many variants can use several slots.

Can I collect only available products?

Yes. Set includeOutOfStock to false to omit products or variants marked as unavailable.

What happens with a non-Shopify website?

The Actor skips domains it cannot identify as Shopify storefronts and continues processing other valid stores in the run.

Can I run the Actor on a schedule?

Yes. Create an Apify schedule to refresh a catalog hourly, daily, weekly, or at another interval supported by your workflow.

Why is a field missing from an item?

Some stores do not publish every catalog field. The Actor removes null and empty values, so a missing field usually means the source did not provide it for that product or variant.

Public data collection may be allowed in some situations, but you are responsible for complying with the store's terms, applicable laws, privacy requirements, and reasonable request limits.

For additional ecommerce catalog and pricing workflows from the same developer profile, see:

  • Asos Product Scraper - Collect fashion product data, prices, images, and catalog details from ASOS.
  • Namshi Product Scraper - Collect product listings, pricing, discounts, ratings, and stock signals from Namshi.
  • Trendyol Product Scraper - Extract product, merchant, pricing, rating, review, and image data from Trendyol search results.
  • Otto.de Scraper - Gather product prices, ratings, availability, images, and URLs from Otto.de.

Support

For issues, feature requests, or custom Actor work, use the Issues tab on the Actor page or contact the developer through Apify.

This Actor is intended for legitimate collection of publicly available Shopify storefront data. Users are responsible for respecting each store's terms of service, applicable laws, privacy rules, and request limits. Do not use the output to collect private information or to disrupt target websites.