πŸ›’ Shopify Product Scraper β€” Full Catalogs avatar

πŸ›’ Shopify Product Scraper β€” Full Catalogs

Pricing

from $2.00 / 1,000 products

Go to Apify Store
πŸ›’ Shopify Product Scraper β€” Full Catalogs

πŸ›’ Shopify Product Scraper β€” Full Catalogs

Extract product catalogs from any Shopify store β€” names, prices, descriptions, images, variants. Competitive pricing analysis.

Pricing

from $2.00 / 1,000 products

Rating

0.0

(0)

Developer

Stephan Corbeil

Stephan Corbeil

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Categories

Share

Shopify Store Product Scraper

Extract product data from any Shopify store with ease. This actor detects Shopify stores and scrapes all products using the public /products.json API endpointβ€”no browser required, no login needed.

Features

  • Fast & Lightweight: Uses httpx for direct API accessβ€”no browser overhead
  • Shopify Detection: Automatically detects if a domain is a Shopify store
  • Complete Product Data: Extracts titles, descriptions, prices, variants, images, inventory, and more
  • Bulk Scraping: Process multiple stores in a single run
  • Smart Pagination: Handles stores with hundreds or thousands of products
  • Flexible Output: Include/exclude variants and images as needed
  • Error Handling: Gracefully handles blocked endpoints and non-Shopify sites
  • Pricing Extraction: Captures regular prices, compare-at prices, and price ranges

Use Cases

  • Competitor Price Monitoring: Track pricing changes across competing Shopify stores
  • Market Research: Analyze product catalogs, categories, and vendor distribution
  • Product Catalog Analysis: Map product offerings, variants, and inventory
  • Drop-shipping Research: Find suppliers and analyze product availability
  • SEO & Content Analysis: Extract product descriptions and metadata
  • Inventory Tracking: Monitor product availability across multiple stores

How to Use

Input Parameters

ParameterTypeDescriptionDefault
storeUrlstringSingle Shopify store URL (e.g., https://www.allbirds.com)-
storeUrlsarrayMultiple store URLs for bulk scraping-
includeVariantsbooleanInclude product variants (sizes, colors, etc.)true
includeImagesbooleanInclude product image URLstrue
maxProductsintegerMaximum products per store (0 = all)0

Example Input

{
"storeUrl": "https://www.allbirds.com",
"includeVariants": true,
"includeImages": true,
"maxProducts": 0
}

Or for bulk scraping:

{
"storeUrls": [
"https://www.allbirds.com",
"https://beardbrand.com",
"https://shop.gymshark.com"
],
"includeVariants": true,
"includeImages": true
}

Output Example

Each product is saved as a dataset item:

{
"id": 7234567890,
"title": "Classic Runner",
"handle": "classic-runner",
"description": "Lightweight and sustainable running shoes made from sugarcane-based foam.",
"vendor": "Allbirds",
"product_type": "Shoes",
"tags": ["womens", "running", "eco-friendly"],
"created_at": "2023-01-15T10:30:00Z",
"updated_at": "2024-03-20T14:22:00Z",
"published_at": "2023-01-15T10:30:00Z",
"price_range": {
"min": 79.95,
"max": 89.95,
"currency": "USD"
},
"compare_at_price_range": {
"min": 95.00,
"max": 105.00
},
"variants": [
{
"id": 112233445566,
"title": "Women's Size 5",
"sku": "CLSRUN-W5",
"price": 79.95,
"compare_at_price": 95.00,
"available": true,
"inventory_quantity": 42
},
{
"id": 112233445567,
"title": "Women's Size 6",
"sku": "CLSRUN-W6",
"price": 79.95,
"compare_at_price": 95.00,
"available": true,
"inventory_quantity": 38
}
],
"images": [
{
"src": "https://cdn.shopify.com/s/files/1/0001/2345/products/runner-1.jpg",
"alt": "Classic Runner - Front View"
},
{
"src": "https://cdn.shopify.com/s/files/1/0001/2345/products/runner-2.jpg",
"alt": "Classic Runner - Side View"
}
],
"store_url": "https://www.allbirds.com"
}

How It Works

  1. Shopify Detection: The actor checks for Shopify headers (x-shopify-stage, powered-by) and attempts to fetch /products.json
  2. Product Fetching: Uses the public API endpoint /products.json?limit=250&page={n} with pagination
  3. Data Extraction: Processes each product to extract pricing, variants, images, and metadata
  4. Smart Fallbacks: If /products.json is blocked, tries /collections/all/products.json
  5. Rate Limiting: Includes 200ms delays between requests to avoid overwhelming servers

Pricing

Based on PPE (Pay-Per-Event) model:

  • Actor Start: $0.01 per run
  • Product Scraped: $0.002 per product

Example Cost Calculation

Scraping 1,000 products from a Shopify store:

  • Actor start: $0.01
  • Products: 1,000 Γ— $0.002 = $2.00
  • Total: $2.01

Limitations

  • Works only with Shopify stores using the public product API
  • Some Shopify stores may block the /products.json endpoint (typically redirected to login)
  • Product data is limited to what the public API exposes (some stores hide certain fields)
  • Private/password-protected stores are not supported
  • Image URLs are CDN-hosted and may change over time

Supported Shopify Store Types

  • Standard Shopify Plus stores
  • Shopify Basic, Professional, Advanced plans
  • Custom Shopify implementations
  • Stores using custom domains

Troubleshooting

"Not a Shopify store" error

  • Verify the domain is actually a Shopify store (check page source for powered-by: Shopify)
  • Ensure the URL is correct and accessible

No products found

  • The store may block public API access
  • Try accessing /products.json directly in your browser
  • Some stores require authentication for product data

Timeout errors

  • The store may be slow to respond
  • Try reducing maxProducts to fetch fewer items
  • Retry the run

API Reference

Shopify Public Product API

Endpoint: GET https://{domain}/products.json

Query parameters:

  • limit: Number of products per page (max 250)
  • page: Page number (starts at 1)
  • fields: Specific fields to return (optional)

Response: JSON object with products array

Data Quality

All product data comes directly from Shopify's public APIβ€”no parsing or inference. Data accuracy depends on how shop owners maintain their product information.

Support & Questions

For issues, questions, or feature requests, contact the NexGenData team.


Built with httpx. No browser required. Lightning-fast Shopify scraping.

NexGenData offers a complete Shopify intelligence suite. Each actor targets a different use case:

ActorWhat It DoesBest For
Shopify Revenue EstimatorRevenue estimates, theme & app detection, traffic analysisCompetitive due diligence, investor research
Shopify Product ExtractorFull product catalogs with prices, variants, inventoryDropshipping, price monitoring
Shopify Product ScraperLightweight product data via /products.jsonQuick product lookups, data pipelines
Shopify Store DetectorTheme, 55+ app fingerprints, tech stack, Shopify planTech stack analysis, market research
Shopify App Store ScraperApp listings, reviews, pricing, ratings from apps.shopify.comApp market intelligence, competitor tracking

Sign up for Apify to get started with $5 in free credits every month.

πŸ’» Code Example β€” Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("nexgendata/shopify-product-scraper").call(run_input={
# Fill in the input shape from the actor's input_schema
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

🌐 Code Example β€” cURL

curl -X POST "https://api.apify.com/v2/acts/nexgendata~shopify-product-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ /* input schema */ }'

❓ FAQ

Q: How do I get started? Sign up at apify.com, grab your API token from Settings β†’ Integrations, and run the actor via the Apify console, API, Python SDK, or any integration (Zapier, Make.com, n8n).

Q: What's the typical cost per run? See the pricing section below. Most runs finish under $0.10 for typical batches.

Q: Is this actor maintained? Yes. NexGenData maintains 165+ Apify actors and ships updates regularly. Bug reports via the Apify console issues tab get responses within 24 hours.

Q: Can I use the output commercially? Yes β€” you own the output data. Check the target site's Terms of Service for any usage restrictions on the scraped content itself.

Q: How do I handle rate limits? Apify manages concurrency and retries automatically. For very large batches (10K+ items), run multiple smaller jobs in parallel instead of one mega-job for better reliability.

πŸ’° Pricing

Pay-per-event pricing β€” you only pay for what you actually extract.

  • Actor Start: $0.0001
  • result: $0.0050

πŸš€ Apify Affiliate Program

New to Apify? Sign up with our referral link β€” you get free platform credits on signup, and you help fund the maintenance of this actor fleet.

πŸ“š More From NexGenData

Explore the full catalog, tutorials, Gumroad data packs, and newsletter at thenextgennexus.com β€” the brand home for everything we ship.

  • πŸ“– Tutorials & how-to guides
  • πŸ—‚οΈ Full actor catalog with usage examples
  • πŸ“¦ Gumroad data packs (one-time purchases)
  • πŸ“¬ Newsletter β€” monthly drops of new actors and revenue experiments

Built and maintained by NexGenData β€” 165+ actors covering scraping, enrichment, MCP servers, and automation. 🏠 Home: thenextgennexus.com


Why Shopify Product Scraper Beats SimilarWeb, BuiltWith, Diffbot, Import.io & Manual Crawls

FeatureNexGenData Shopify Product ScraperSimilarWebBuiltWith ProDiffbotImport.io
Cost$5 per 1K products, pay-per-event$199-499 / month$295-995 / month$299+ / month$299+ / month
Native Shopify endpointYes β€” /products.json, no browserNoTech detection onlyGenericGeneric
Variants + imagesYesNoNoLimitedLimited
Bulk store crawlYes β€” many stores per runNoPlan-gatedYesYes
Auth requiredApify tokenAccount + planAccount + planAccount + planAccount + plan
SpeedSeconds-to-minutesN/AN/AMinutesMinutes
Monthly minimumNone$199+$295+$299+$299+

Most DTC analysts pick this scraper instead of building a custom /products.json crawler because the bot-block + rate-limit handling alone takes weeks; the actor absorbs that for $5 per 1K products flat. Cheaper than Diffbot or Import.io for the same e-commerce use case, and drop-in compatible with downstream tools that expect Shopify-style JSON.

Use caseActor
Shopify analyzer (revenue + traffic)shopify-analyzer
Shopify store analyzer (revenue + tech)shopify-store-analyzer
Shopify store detector (BuiltWith alt)shopify-store-detector
Amazon product scraperamazon-product-scraper
Google Shopping price trackergoogle-shopping-scraper
SaaS / DTC pricing trackersaas-pricing-tracker
JD.com product scraper (China commerce)jd-com-product-scraper
Indie Hackers product launchesindie-hackers-products-tracker
Product Hunt daily launchesproduct-hunt-launches-scraper
E-commerce intelligence MCP for AIecommerce-intelligence-mcp-server

Browse the full NexGenData catalog of 260+ actors at https://apify.com/nexgendata?fpr=2ayu9b