Shopify storefronts

Public Shopify storefront metadata and catalog samples

This Actor reads public Shopify JSON endpoints (homepage, /meta.json, /products.json, /collections.json, optional pages/blogs) for storeUrls you already know. No browser and no auth. It is not a store-discovery search engine.

Not Shopify App Store reviews. Not checkout, customer, or authenticated Admin API data. Provide known storefront URLs only.

from $10.00 / 1,000 Non-Shopify ecommerce store detected ($0.01 per delivered non_shopify_store_detected). $0.00005 Actor Start. $0.05 per Store enriched. $0.02 per Partial store intelligence. Unchanged runs that write zero default-dataset rows typically charge $0.00 on current PPE.

Open Shopify Store Scraper on Apify

Shopify Store Scraper, not a neighboring Actor

Use this page for this Actor’s job. Use Shopify App Store Review Scraper for App Store reviews; Use B2B Pricing Scraper for B2B public pricing pages; Use Google Maps Lead Enrichment for Lead enrichment.

This ActorShopify App Store Review ScraperB2B Pricing ScraperGoogle Maps Lead Enrichment
Intent Shopify Store ScraperApp Store reviewsB2B public pricing pagesLead enrichment
Primary input see schemaapp URLscompetitors[]business inputs
What it reads Public sources listed on the Store pageapps.shopify.compublic pricing HTMLenrichment APIs
Primary output Dataset rows billed per live PPEreview rowspricing change rowslead rows
Not this job Not Shopify App Store reviews. Not checkout, customer, or authenticated Admin API data. Provide known storefront URLs only.Not merchant storefront catalogsNot SaaS terms/feature snapshotsNot Shopify JSON catalogs

Store ID: taroyamada/shopify-store-intelligence. Respect source terms, robots.txt, and rate limits.

Use cases

How is Shopify Store Scraper different from Shopify App Store Review Scraper and B2B Pricing Scraper?

Shopify Store Scraper (taroyamada/shopify-store-intelligence): This Actor reads public Shopify JSON endpoints (homepage, /meta.json, /products.json, /collections.json, optional pages/blogs) for storeUrls you already know. No browser and no auth. It is not a store-discovery search engine. Not Shopify App Store reviews. Not checkout, customer, or authenticated Admin API data. Provide known storefront URLs only. Shopify App Store Review Scraper is for App Store reviews (input app URLs; apps.shopify.com; review rows). Not merchant storefront catalogs. B2B Pricing Scraper is for B2B public pricing pages (input competitors[]; public pricing HTML; pricing change rows). Not SaaS terms/feature snapshots. Google Maps Lead Enrichment is for Lead enrichment (input business inputs; enrichment APIs; lead rows). Not Shopify JSON catalogs.

What input is required?

Live required fields: storeUrls. Published exampleRunInput is shown below. Inspect known public storefront URLs for Shopify and ecommerce signals

Field Type Default Notes
storeUrls string[] required empty required Known Storefront URLs. One or more known storefront URLs to inspect. Custom domains and *.myshopify.com domains both work. This actor does not search for stores; maximum 50 URLs per run. minItems=1
productSampleLimit integer 25 Product Sample Limit. Maximum number of public products to fetch per store from /products.json. ProductCount, priceRange, productsSample, and merch rollups are based on this sample, not the full catalog. min=1 max=250
collectionSampleLimit integer 25 Collection Sample Limit. Maximum number of public collections to fetch per store from /collections.json. min=1 max=250
includeContentMetadata boolean false Include Pages / Blogs Metadata. Attempt lightweight metadata fetches from /pages.json and /blogs.json when public storefront endpoints expose them. Leave off for the fastest analyst baseline.
contentSampleLimit integer 10 Content Sample Limit. Maximum public pages or blogs to sample per store when includeContentMetadata is enabled. min=1 max=100
timeoutMs integer 15000 Timeout (ms). Per-request timeout in milliseconds. Timeout rows are no-charge diagnostics when useful storefront data cannot be captured. min=1000 max=30000
delivery string enum dataset Delivery Mode. Start with dataset for analyst inspection. Webhook writes dataset rows first, then posts the same meta/results payload to your endpoint. enum: dataset, webhook
webhookUrl string empty Webhook URL. Required only when delivery is webhook. Leave empty for dataset-first Store quickstarts.
dryRun boolean false Dry Run. If true, skips dataset writes and webhook delivery while still writing local output/result.json. Use for development shape checks only.
maxChargeUsd number 2.5 Max Charge USD. Hard safety cap for custom PPE result events in this run. Rows that would exceed the cap are emitted as no-charge limit_reached diagnostics. min=0 max=100

Published Store example run input (omitted fields take schema defaults):

{
  "storeUrls": [
    "https://colourpop.com",
    "https://allbirds.com"
  ],
  "productSampleLimit": 25,
  "collectionSampleLimit": 25,
  "includeContentMetadata": false,
  "contentSampleLimit": 10,
  "timeoutMs": 15000,
  "delivery": "dataset",
  "dryRun": false
}

Run Shopify Store Scraper on Apify

How do dataset, webhook, and dry-run delivery work?

delivery defaults to dataset on the live schema. Dataset output is the billable surface when rows are written. webhookUrl is used when delivery is webhook (and typically not during dryRun). dryRun true validates or samples without the usual dataset/webhook side effects described on the Store schema. Unchanged runs that write zero default-dataset rows typically charge $0.00 on current PPE.

What does a result contain?

README output fence is truncated or invalid JSON on Store. Illustration head: { "inputUrl": "https://example-shop.com", "normalizedUrl": "https://example-shop.com", "hostname": "example-shop.com", "status": "success", "chargedEvent": "store_enriched", "isShopify": true, "normalizedDomain": "example-shop.com", "storeName": "Example Shop", "currency": "USD",… Treat README samples as illustrations, not a live coverage guarantee. There is no published output JSON schema on the Store page.

How is Shopify Store Scraper priced?

Billing is pay per event. The live Store card is from $10.00 / 1,000 Non-Shopify ecommerce store detected ($0.01 per delivered non_shopify_store_detected). $0.00005 Actor Start. $0.05 per Store enriched. $0.02 per Partial store intelligence. Unchanged runs that write zero default-dataset rows typically charge $0.00 on current PPE. Current PPE:

Event Price Emitted when
non_shopify_store_detected (Non-Shopify ecommerce store detected) $0.01 Useful public ecommerce evidence returned for a non-Shopify storefront, such as cart, checkout, product, pricing, or platform signals.
store_enriched (Store enriched) $0.05 A useful Shopify or ecommerce store intelligence result with normalized storefront identity, product/catalog signals, and commercial metadata.
store_partial (Partial store intelligence) $0.02 Useful partial public storefront evidence returned when catalog or metadata coverage is limited by endpoint restrictions, timeout, or storefront structure.
apify-actor-start (Actor Start) $0.00005 Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).

from $10.00 / 1,000 Non-Shopify ecommerce store detected ($0.01 per delivered non_shopify_store_detected). $0.00005 Actor Start. $0.05 per Store enriched. $0.02 per Partial store intelligence. Unchanged runs that write zero default-dataset rows typically charge $0.00 on current PPE.

See Shopify Store Scraper pricing on Apify

Limits to keep in mind

Open Shopify Store Scraper on Apify

Related pages