Ecommerce Product Data Extraction API - Price, Stock, GTIN avatar

Ecommerce Product Data Extraction API - Price, Stock, GTIN

Pricing

from $12.00 / 1,000 product page record returneds

Go to Apify Store
Ecommerce Product Data Extraction API - Price, Stock, GTIN

Ecommerce Product Data Extraction API - Price, Stock, GTIN

Extract ecommerce product data from any product, category or search page URL: name, price, regular price, currency, availability, SKU, MPN, GTIN, brand, rating, images and breadcrumbs, plus every product on a listing page and category navigation links. Uses your own Zyte API key.

Pricing

from $12.00 / 1,000 product page record returneds

Rating

0.0

(0)

Developer

Nabeel Hassan

Nabeel Hassan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Turn a list of product, category or search page URLs from any online store into clean ecommerce rows: price, stock, identifiers, brand and ratings, without writing a parser per site.

What it extracts

  • Product details from a single product page: name, price, regular (pre-discount) price, currency and currency symbol, availability (InStock or OutOfStock), SKU, MPN, GTIN codes (GTIN-8, GTIN-13, GTIN-14, ISBN, UPC), brand, average rating, best rating and review count, main image and all images, breadcrumbs, description, color, size, material, style, the number of variants, canonical URL and the provider's probability that the page really is a product page.
  • Product list from a category or search results page: every product shown, with its product page URL, name, price, regular price, currency and main image, plus the category name.
  • Product navigation from a category page: every product link and subcategory link with its link text, and the next page link, which the actor can follow for as many pages as you allow.
  • The full provider record for every row under record, so nothing the extraction returned is lost.

The extraction is AI-powered and works on stores it has never seen, so the same run can mix URLs from different retailers.

Input

  • What to extract: product details, product list or product navigation. One per run.
  • Page URLs: one absolute URL per line. The prefilled example is a public practice bookstore, so pressing Start with a key reads one real product.
  • Extraction source: automatic, raw HTTP response (faster and cheaper at the provider) or rendered browser page (better on JavaScript-heavy stores).
  • Country to fetch from: an optional two-letter country code such as US, GB or DE, for stores that change price, currency or stock by country.
  • IP type: automatic, datacenter or residential.
  • Product model version: pin a dated product extraction model so results stay comparable.
  • Minimum product probability: pages scored below it become an uncharged note instead of a product. The provider recommends 0.5.
  • Pages to follow per URL: for product navigation, how many next pages to follow.
  • Maximum results and Requests per minute: bounds on the run.
  • Zyte API key: your own key. See the FAQ.

Example output

{
"extractionType": "product",
"extractionLabel": "Product details",
"requestedUrl": "https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html",
"pageUrl": "https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html",
"websiteStatus": 200,
"found": true,
"recordKind": "product",
"name": "A Light in the Attic",
"price": "51.77",
"regularPrice": null,
"currency": "GBP",
"currencyRaw": "£",
"availability": "InStock",
"sku": null,
"gtin": null,
"brand": null,
"ratingValue": null,
"bestRating": null,
"reviewCount": null,
"mainImage": "https://books.toscrape.com/media/cache/.../cover.jpg",
"breadcrumbs": "Home > Books",
"productUrl": "https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html",
"probability": 0.99,
"retrievedAt": "2026-09-25T09:14:52.118Z",
"record": { "...": "every field the provider returned, unchanged" },
"note": null
}

The first four values match the provider's own documented example for this page; the rest are illustrative. Every field name is one the provider's product schema defines.

FAQ

What is an ecommerce product data extraction API used for?

Price monitoring, competitor price tracking, MAP compliance checks, catalog enrichment, product matching by GTIN or MPN, stock and availability alerts, and building product feeds from stores that offer no feed. A retailer checks rival prices across a list of product URLs every morning. A brand checks resellers for price and stock. A marketplace fills missing brand, GTIN and image fields in its own catalog.

Which websites does it work on?

Any public ecommerce website Zyte API can fetch, including stores it has never seen, because the extraction is AI-powered rather than built on per-site rules. Pages behind a login are not supported, and the provider refuses a small number of domains outright; those come back as a note on the row rather than a failed run.

What is the difference between product details, product list and product navigation?

Product details reads one product in depth from its own page. Product list reads every product visible on a category or search results page, with fewer fields each, which is the cheapest way to get prices for a whole category. Product navigation reads links rather than products: product page URLs, subcategory URLs and the next page, which is what you feed back in as product details URLs to crawl a whole store.

What happens when a URL is not a product page or fails to download?

It becomes its own row with found: false and a note explaining why: the page scored below your probability threshold, the website blocked the download even after retries, the domain is unreachable, or the provider does not allow that domain. Those rows are never charged here, and the provider does not charge for failed downloads either.

Do I need an API key?

Yes. This actor is bring-your-own-key: it calls Zyte API with your own Zyte API key and never ships one of its own. Copy the key from the API access page of your Zyte account and paste it into the input, or set it once as the DATA_API_KEY environment secret. Zyte bills your account for each successful request at its own rates, separately from this actor's per-result price. A missing, wrong or suspended key ends the run cleanly with a message saying which it was.

Can it click, log in or submit forms on the website?

No. The actor only sends the URL, the extraction type and the few documented options above. Browser actions, custom HTTP methods, request bodies, cookies and sessions are never sent, so a run reads pages and cannot act on them.

How is it priced?

Pay per result. A product details row costs the most because it is a complete product record. A product list row and a navigation link cost less because one page returns many of them. Rows for URLs that produced nothing are free.

How fast does it run?

The actor paces itself at 60 requests per minute by default. Zyte API standard plans allow far more per key, but each website also has its own limit at the provider, and rate limited calls are retried after a generous random pause rather than dropped, as the provider recommends.

Keyword map

ecommerce product data API, product data extraction, product scraper API, price scraper, price monitoring API, competitor price tracking, product price extraction, stock availability checker, GTIN lookup from product page, SKU and MPN extraction, product catalog scraping, category page scraper, product list extraction, product URL crawler, AI product extraction, Zyte API product extraction, retail price intelligence, MAP monitoring, product feed builder.