Shopify Website Scraper avatar

Shopify Website Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Shopify Website Scraper

Shopify Website Scraper

Scrape Shopify Store (Products + Collections + Pages + Blogs + Menu + Policies)

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Data Foundry

Data Foundry

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Features

Limited permissions

Share

Scrape any Shopify store's entire public catalogue: products with variants and prices, collections, pages, blog posts, navigation menus and store policies - from the storefront itself, with no API key and no browser.

What you getBuilt for

🛍️ Products with variants, prices, SKUs, stock state
📚 Collections, including smart collections
📄 Pages, blog posts, menus and policies
🧾 Variants as separate rows when you need them
🌍 Any Shopify storefront - no app, no token, no login
🔁 Partial-data tolerant - a denied field never kills a run

🏪 Dropshipping and assortment research
💵 Competitor pricing and catalogue audits
🧮 Marketplace and feed building
🕵️ Product launches - what a store added this week
🤖 LLM-ready JSON, one row per resource
🔗 API, schedules, integrations via Apify

What data do I get?

One dataset record per resource type, chosen with resources.

ResourceWhat you get
productsproductId, handle, title, description HTML/text, vendor, type, tags, variants (price, compare-at, SKU, availability), images, createdAt / updatedAt
collectionsid, handle, title, description, image, updatedAt
pageshandle, title, body HTML/text, createdAt / updatedAt
blogsblog handle, article title, body, author, tags, publishedAt
menunavigation links, nested, for the handles you pass
policiesrefund, privacy, terms and shipping policy bodies

How much does it cost?

Pay per event: $1.50 per 1,000 items scraped ($0.0015 each). One item is one product, collection, page, article, menu item or policy. Variants are nested inside the product row, not billed separately.

TaskItemsCost
One store, full catalogue2,000$3.00
50 stores, products only25,000$37.50
Weekly sweep of 200 stores100,000$150.00

How do I use it?

  1. Create a free Apify account.
  2. Open Shopify Website Scraper in Apify Console.
  3. Paste one or more store URLs - https://example.com or example.com.
  4. Pick which resources you want.
  5. Set a cap if you only need a sample.
  6. Start the run and download JSON, CSV, Excel or XML.

Input

FieldTypeDescription
storeUrlsarrayStore domains or URLs. Scheme optional.
resourcesarrayAny of products, collections, pages, blogs, menu, policies.
menuHandlesarrayMenu handles for the menu resource, e.g. main-menu.
collectionHandlesarrayRestrict product scraping to these collections on every store. A /collections/<handle> store URL also works.
maxProductsPerStoreintegerCap products per store.
includeVariantsbooleanInclude the variants and options fields. Rows are always one per product.
includeDescriptionbooleanInclude the full product body HTML.
requestDelaynumberSeconds between requests, to be gentle.
storeTimeoutSecsintegerPer-store time budget.
concurrencyintegerStores processed in parallel.
proxyConfigurationobjectOptional, for stores that block datacenter IPs.
{
"storeUrls": ["https://www.allbirds.com", "gymshark.com"],
"resources": ["products", "collections"],
"maxProductsPerStore": 500,
"includeVariants": true
}

Output

{
"store": "https://www.allbirds.com",
"storeName": "Allbirds",
"currency": "USD",
"productId": 7991234567890,
"handle": "mens-wool-runners",
"title": "Men's Wool Runners",
"url": "https://www.allbirds.com/products/mens-wool-runners",
"vendor": "Allbirds",
"productType": "Shoes",
"tags": ["men", "running"],
"priceMin": 98.0,
"priceMax": 98.0,
"onSale": false,
"available": true,
"variantsCount": 1,
"variantsTruncated": false,
"options": [{"name": "Size", "values": ["8", "9"]}],
"variants": [
{
"id": 44123456789,
"title": "Natural Black / 8",
"sku": "WR-M-08",
"price": 98.0,
"compareAtPrice": null,
"available": true,
"selectedOptions": {"Size": "8"}
}
],
"images": [{"src": "https://cdn.shopify.com/...", "alt": null, "width": 1200, "height": 1200}],
"imagesTruncated": false,
"collections": ["mens", "running"],
"collectionsTruncated": false,
"publishedAt": "2026-01-05T11:02:13-05:00",
"updatedAt": "2026-11-05T11:02:13-05:00",
"scrapedAt": "2026-11-07T09:00:00+00:00"
}

Notes and exceptions

  • No API key needed. The actor reads the storefront's public data, the same data the shop's own front-end uses.
  • Inventory counts are usually not exposed. Availability is included, exact quantity often is not - that is a Shopify permission, not an actor limit.
  • Password-protected stores cannot be read.
  • A store that is not on Shopify returns no products rather than failing.
  • includeVariants controls detail, not row count - turning it off removes the variants and options fields. Rows are always one per product.
  • Collection filters work through collectionHandles or a /collections/<handle> store URL. When a filter is set, the actor uses a collection-aware source only and will not silently return the full catalogue.
  • Long lists are paginated. Variants, images, and collections beyond 250 per product are fetched page by page; the variantsTruncated / imagesTruncated / collectionsTruncated flags clear once a full walk finishes.
  • Redirects stay public. The actor follows redirects manually and refuses hops that point inside a private network.

What can I do with the data?

Catalogue research. Pull a competitor's full product list with prices and compare it to yours: what they added, what they dropped, how their price bands moved.

Feed building. Products plus variants in one JSON is a straight path to a Google Shopping or marketplace feed.

Launch monitoring. Run it weekly against 50 stores and diff updatedAt and product ids to see who is shipping.

FAQ

Do I need Shopify credentials? No. Public storefront data only.

Can it scrape checkout or customer data? No, and it never tries - only public catalogue resources.

Why are some products missing? Hidden or draft products are not public; the storefront does not expose them.

Changelog

  • 0.11 - working collection filters, pages-only runs, complete variant/image/collection lists, safer fetching, clearer output docs.
  • 0.9 - related actors, store copy.
  • 0.8 - variants, menus and policies.
  • 0.1 - First release.
⌂ 换网址