Product Data Extraction API
Extract title, brand, every variant with its SKU, price, currency and stock, plus the image gallery from product pages. One request, on Shopify, WooCommerce and most other stores.
{
"url": "store.com/products/tee",
"extractionMode": "template",
"template": "product"
}- Returns
- Variants, prices, stock, images
- Cost
- 1 credit a page
- Best for
- Price monitoring and catalogues
- 500 free credits every month
- No card to start
- Failed requests cost nothing
POST /webscraping
{
"url": "https://testingurl.dev/scraping/ecommerce/product/3",
"extractionMode": "template",
"template": "product"
}





Every store stores products differently
- Shopify feeds, WooCommerce APIs, schema.org markup, or nothing structured at all
- Prices in cents on one site, strings with currency symbols on the next
- Variants hidden behind size and colour pickers loaded by JavaScript
- A parser per store that breaks on the next redesign
One template, one JSON shape
Same JSON on every storetemplate: "product"returns the same fields on every store- Prices as a decimal amount with an ISO currency code
- Every variant with its options, SKU and stock
proxyCountryfor the price shoppers see in another country
There is no separate endpoint to learn. Set extractionMode: "template" and template: "product" on the Web Scraping API. To check a single page without code, use the free Product Data Extractor.
Product data you can store as it arrives.
No per-store parsers and no cleaning step: each field comes back in the same place and the same format, whichever platform the store runs on.
Every variant
Each size, colour or other option as its own variant, with its SKU, price and stock status.
variants[]Clean prices
A decimal amount and an ISO 4217 currency code on every variant, plus the original price when an item is on sale.
price: { amount, currency }Works across platforms
Shopify (including headless stores), WooCommerce, BigCommerce, Magento and any store that publishes schema.org product markup.
one templateRegional prices
Route the request through a proxy in another country to see its local price, currency and stock. Adds 4 credits.
proxyCountry: "de"The full gallery
Every product image, deduplicated and in the store's order, with each variant pointing at its own image.
images[]Nothing made up
A category, search or cart page returns no product instead of a guess, so bad URLs don't pollute your data.
product: nullWhat teams build on product data.
Track competitor prices on a schedule
Re-fetch the same product pages daily and store each variant's price and stock. Changes show up as a diff, not as a broken parser.
- Decimal price with currency
- Stock per variant
- Same JSON every run
POST /webscraping
{
"url": "https://www.patagonia.com/product/mens-better-sweater-fleece-jacket/25528.html",
"extractionMode": "template",
"template": "product"
}Your first product extraction, in a few lines.
# pip install geekflare-api
from geekflare_api.client import GeekflareClient
from geekflare_api.models import WebScrapeDto
with GeekflareClient(api_key="<api-key>") as client:
result = client.web_scrape(
WebScrapeDto(
url="https://testingurl.dev/scraping/ecommerce/product/3",
extractionMode="template",
template="product"
)
)
print(result)1 credit a product page. Here is what that buys.
The template costs the same as any other scrape. Routing through a proxy adds 4 credits. Credits are shared with every other Geekflare API.
Growth covers up to ~100,000 product pages a month (100K credits), about $0.69 per 1,000 product pages. Or $58/mo billed yearly.
- 500 credits / month
- 1 team member
- 7 days log retention
- 1 request per second
- 10K credits / month
- 3 team members
- 30 days log retention
- 5 requests per second
- 100K credits / month
- 5 team members
- 30 days log retention
- 10 requests per second
- 1M credits / month
- 25 team members
- 90 days log retention
- 25 requests per second
What developers say after switching.
“Found Geekflare API to get markdown from URL for my AI agents. It is fast and cheaper and works on almost every website.”
Ram DasiArchitect, PA Consulting“After trying many scraping services, I selected Geekflare to scrape public directories. Mainly for two reasons - it is cheaper and fast.”
“Documentation was easy to follow. We were scraping dynamic pages within hours. Very reliable service.”
Before you integrate product extraction.
General questions about the endpoint are answered on the Web Scraping API page.
Open the Web Scraping API pagedata.json.product holds title, brand, category, description, aggregateRating, images and variants. Each variant has its sku, options (such as size and colour), price as {amount, currency} and availability.amount with an ISO 4217 currency code, for example {"amount": 78.00, "currency": "USD"}, on every store. When an item is on sale, the original price is returned too.proxyCountry, for example "de", and the request exits in that country, so you get the price, currency and stock shoppers there see. It adds 4 credits to the request.500 product pages a month, free.
The free tier renews every month and needs no card. Extract your first product in a single call.