E-CommerceDifficulty: Easy

Shopify Data Extraction

Extract publicly available data from Shopify at scale using AlterLab's API — JavaScript rendering, structured extraction, and automatic retries in one request.

Automatic renderingJavaScript supportStructured data extractionChallenge resolution

Website Compatibility Notes

Shopify stores vary widely in protection level. The platform itself applies minimal bot protection, though individual stores may layer on Cloudflare or other services. Most product pages are accessible with basic rendering. The /products.json endpoint (available on most Shopify stores) provides structured data directly without rendering. Individual store protection depends on the merchant's configuration.

Technical Context

Shopify's /products.json endpoint (mystore.com/products.json) is accessible on most stores and returns complete product catalogs in structured JSON without any rendering. Pagination is handled via page parameter (/products.json?page=2). Product handles (slugs) in URLs are stable identifiers. The /products/{handle}.json endpoint returns individual product data. This makes Shopify one of the most straightforward platforms for systematic data collection.

Common Data Fields

Typical fields available when extracting data from Shopify:

Product title and handle (slug)
Product description (HTML)
Vendor/brand name
Product type/category
All variants with IDs
Variant prices and compare-at prices
Variant inventory quantity
Variant options (size, color, material)
Product images with alt text
Product tags
Published date
Metafields (custom data)

Responsible Use

AlterLab is designed for extracting publicly available data. Always review the terms of service for any website you access, respect robots.txt directives, and ensure your use case complies with applicable laws in your jurisdiction. Do not use this service to access non-public, authenticated, or personally identifiable data without appropriate authorization.

Quick Start — Extract from Shopify

cURL
# Always verify the target site's robots.txt and terms of service before extracting data.
curl -X POST https://alterlab.io/api/v1/scrape \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://store.example.com/products/sample-product.json",
    "advanced": { "render_js": true }
  }'

Need an API key? — no credit card required.

Python Example

Python
import requests

# Always verify the target site's robots.txt and terms of service before extracting data.
response = requests.post(
    "https://alterlab.io/api/v1/scrape",
    headers={
        "X-API-Key": "YOUR_API_KEY",
        "Content-Type": "application/json",
    },
    json={
        "url": "https://store.example.com/products/sample-product.json",
        "advanced": {"render_js": True},
    },
)

data = response.json()
print(data["content"][:500])  # First 500 chars of extracted content

Frequently Asked Questions

How do I extract product data from Shopify stores?

Many Shopify stores expose a /products.json endpoint with structured product data. Alternatively, send any Shopify product page URL to AlterLab for full HTML rendering with product details, variants, and pricing.

Can I extract inventory and variant data from Shopify?

Yes. Shopify product pages include variant information (sizes, colors, availability). AlterLab renders the full page to capture all variant details and stock status.

Does AlterLab work with password-protected Shopify stores?

AlterLab is designed for publicly accessible data only. Password-protected stores require authentication and are outside the scope of the service. Only use AlterLab for publicly visible storefront pages.

What is the Shopify products.json endpoint?

Most Shopify stores expose a machine-readable product catalog at /products.json (e.g., mystore.com/products.json). This returns all products as JSON without any JavaScript rendering needed, making it the most efficient way to collect Shopify catalog data.

How do I identify if a store runs on Shopify?

Shopify stores typically include 'Shopify' in their HTML source, use cdn.shopify.com for assets, and expose the /products.json endpoint. AlterLab can render the page regardless of platform — you don't need to identify the CMS beforehand.

Can I collect data from multiple Shopify stores simultaneously?

Yes. Each Shopify store is a separate domain, so collection from multiple stores is independent. Use AlterLab to request /products.json from each store's domain to build a cross-store product database.

How do I extract product data from Shopify stores?

Many Shopify stores expose a /products.json endpoint with structured product data. Alternatively, send any Shopify product page URL to AlterLab for full HTML rendering with product details, variants, and pricing.

Can I extract inventory and variant data from Shopify?

Yes. Shopify product pages include variant information (sizes, colors, availability). AlterLab renders the full page to capture all variant details and stock status.

Related Use Cases

Shopify for a Specific Use Case

Business Data Guide

Your first scrape.
Sixty seconds.

$1 free credit — up to 5,000 scrapes. No credit card.Just a POST request.

terminal
curl -X POST https://api.alterlab.io/v1/scrape \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com", "formats": ["markdown"]}'

No credit card required · $1 free credit, up to 5,000 scrapes · Balance never expires