Shopify Product Feed Scraper — ChatGPT Shopping & UCP Export avatar

Shopify Product Feed Scraper — ChatGPT Shopping & UCP Export

Pricing

Pay per event

Go to Apify Store
Shopify Product Feed Scraper — ChatGPT Shopping & UCP Export

Shopify Product Feed Scraper — ChatGPT Shopping & UCP Export

Shopify product feed scraper and validator: export any public Shopify store as an agent-ready feed — normalized products with variants, price, availability and GTINs, validated against the OpenAI product feed spec and Google UCP attributes, with fix-it errors and free drift monitoring.

Pricing

Pay per event

Rating

0.0

(0)

Developer

George Kioko

George Kioko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Shopify Product Scraper — ChatGPT Shopping & Google UCP Feed Export

Turn any public Shopify store into an agent-ready product feed. This Shopify product scraper extracts the full catalog as structured JSON, validates every product against the OpenAI product feed specification and Google UCP catalog attributes, tells you exactly what to fix, and monitors price/stock/feed drift on a schedule.

storeUrl ──► catalog extract ──► normalize ──► validate against
(products.json, 1 record/ OpenAI feed spec +
collection JSON, product, UCP attributes
sitemap, JSON-LD) variants │
nested ▼
free drift ◄── snapshot ◄── fix-it errors per product
monitoring (persists) + store readiness score

You are only charged for agent-ready products — records complete enough to be feed-eligible (canonical URL, title, price + currency, availability). Partial extractions are delivered free, with the errors that explain why. Typical scrapers charge up to $0.018/product for extraction alone; this actor charges $0.01 and includes the validation layer.

Why agentic commerce, why now

  • ChatGPT surfaces products from merchant feeds conforming to the OpenAI Product Feed Specification — product discovery in ChatGPT is feed-driven.
  • Google's UCP (Universal Commerce Protocol, co-developed with Shopify) exposes storefronts to shopping agents; Shopify serves /.well-known/ucp manifests for millions of stores.
  • If your catalog data is incomplete — missing GTINs, no availability, blocked AI crawlers — agents can't recommend your products. This actor shows you, per product, what's missing and how to fix it in Shopify admin.

What one run does

  1. Extract — walks a cost-ordered ladder of public endpoints: /products.json → collection JSON → product sitemap + per-product JSON → product-page JSON-LD (headless storefronts). No browser, no login, no credentials. Every record carries sourceMethod, sourceUrl, capturedAt as its evidence trail.
  2. Validate — checks each product against the OpenAI product feed required attributes (id, title, description, link, image_link, price, currency, availability, brand, GTIN/MPN) and UCP catalog attributes. Every violation names the field, the rule, the evidence, and the remediation ("add a barcode in Shopify admin → variant").
  3. Audit the store surface — is GPTBot / OAI-SearchBot / ChatGPT-User allowed in robots.txt? Is a UCP manifest present at /.well-known/ucp? One free store-summary row scores overall readiness 0–100.
  4. Monitor (free) — with monitoring on, each run diffs against the previous snapshot under the same monitorId: new/removed products, price changes, new and resolved feed issues. Snapshots persist in a named key-value store in your account, so history survives Apify's 31-day dataset retention.

Output

One dataset, four record types (recordType field):

  • product — normalized record with nested variants, identifiers, images, plus agentReady and validationErrors[]
  • store-summary — free: readiness score, AI-bot robots policy, UCP manifest, top issues ranked by severity × frequency
  • diff-summary — free: drift vs the previous monitored run
  • usage — free: why a run couldn't proceed (never charged)
{
"recordType": "product",
"agentReady": true,
"billable": true,
"title": "Death Wish Coffee — Dark Roast",
"url": "https://www.deathwishcoffee.com/products/dark-roast",
"price": "21.99", "currency": "USD", "availability": true,
"brand": "Death Wish Coffee", "gtin": "859277000101", "mpn": "DWC-DR-1LB",
"variants": [{ "sku": "DWC-DR-1LB", "price": "21.99", "available": true }],
"validationErrors": [],
"sourceMethod": "products-json",
"capturedAt": "2026-08-03T12:00:00.000Z"
}

Pricing — honest by construction

EventPriceNever-charged rule
Actor start$0.05
Agent-ready product$0.01Products below the confidence bar are delivered free with their validation errors. Failed runs, usage errors, summaries and diffs are always free.

The confidence bar: resolved canonical URL + title + at least one variant with price and currency + availability. We don't charge for products we couldn't fully extract.

For AI agents & developers

Run via API and consume the dataset as JSON — ideal input for agentic commerce pipelines, feed generators, and catalog QA:

curl -s -X POST "https://api.apify.com/v2/acts/<ACTOR_ID>/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"storeUrl": "https://yourstore.com", "maxProducts": 1000}'
const { ApifyClient } = require('apify-client');
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('<ACTOR_ID>').call({ storeUrl: 'https://yourstore.com' });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const feed = items.filter(r => r.recordType === 'product' && r.agentReady);

Schedule it weekly with a monitorId per store and read only the diff-summary rows for change alerts — a complete price monitoring setup for Shopify catalogs in one actor.

Use cases

  • Shopify catalog export for ChatGPT Shopping feed / agentic commerce readiness before Q4
  • Product feed audit for agencies: per-client readiness scores and fix-it lists on a schedule
  • OpenAI product feed preparation: know GTIN/availability coverage before you submit
  • Price monitoring Shopify competitors: track price/stock drift per store
  • Feed QA for shopify products json data pipelines and product feed validator workflows

Rolling out

  • ChatGPT Shopping placement check (enableShoppingCheck): will report whether your products actually surface in ChatGPT Shopping results. Not yet active and never charged — enabling it today adds a free status row while the run proceeds normally.

What this actor does not do

  • No guaranteed ChatGPT / Gemini / AI-Mode / ads placement — placement is the platform's decision.
  • No credentialed feed submission — it prepares and validates; you submit via your merchant tooling.
  • Public catalog data only: no logins, no private APIs, and public data alone cannot prove full UCP checkout compliance.

FAQ

Which stores work? Any public Shopify store, including most headless storefronts (JSON-LD path). Password-protected stores don't.

How fast is it? Catalogs served by /products.json extract at ~250 products/request — a 1,000-product store takes seconds. Headless stores fall back to per-page parsing and run slower.

What if my store blocks the scraper? Switch proxyConfiguration to residential in the input. Extraction failures are always free.

Where is my monitoring history? In a named key-value store (chatgpt-shopping-snapshots) in your own Apify account — it persists indefinitely.