Runs onWeb Scraping API

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.

4.9average across
G2 — 4.8 out of 5Google — 4.9 out of 5Product Hunt — 5.0 out of 5
REQUEST PAYLOAD
{
  "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
Playground
Request
POST /webscraping
{
  "url": "https://testingurl.dev/scraping/ecommerce/product/3",
  "extractionMode": "template",
  "template": "product"
}
loading example…
Want every endpoint and every parameter?
The Geekflare playground has every API and option, plus saved requests. Free with 500 credits a month.
Open the playground
Trusted by teams at
PfizerNBCUniversalTCSHostingerKissflowLookoutPlivoClearSaleSparkianCBSplitOmreon
PfizerNBCUniversalTCSHostingerKissflowLookoutPlivoClearSaleSparkianCBSplitOmreon

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 store
  • template: "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
  • proxyCountry for 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.

What the template handles

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 template

Regional 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: null
Use cases

What 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
Typical request
POST /webscraping
{
  "url": "https://www.patagonia.com/product/mens-better-sweater-fleece-jacket/25528.html",
  "extractionMode": "template",
  "template": "product"
}
Example output · patagonia.com
variants[0].sku25528-OLGG
variants[0].price169 USD
variants[0].availability.inStocktrue
Quickstart

Your first product extraction, in a few lines.

quickstart.pyofficial SDK
# 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)
Pricing

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.

5002M

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.

product pages
60,000
Plan
Growth · $69/mo
FreeNo card
$0/mo
~500
product pages / month
  • 500 credits / month
  • 1 team member
  • 7 days log retention
  • 1 request per second
Starter
$19/mo
~10,000
product pages / month
  • 10K credits / month
  • 3 team members
  • 30 days log retention
  • 5 requests per second
GrowthMost popular
$69/mo
~100,000
product pages / month
  • 100K credits / month
  • 5 team members
  • 30 days log retention
  • 10 requests per second
Business
$349/mo
~1,000,000
product pages / month
  • 1M credits / month
  • 25 team members
  • 90 days log retention
  • 25 requests per second
Start freeCompare plans and credit packsEvery account starts free. Upgrade from the dashboard when you need more, or buy a credit pack from $10.
Testimonials

What developers say after switching.

Read all reviews
“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.”
Vishu SharmaCTO
“Documentation was easy to follow. We were scraping dynamic pages within hours. Very reliable service.”
Marco SilvaAnalytics Engineer
Questions

Before you integrate product extraction.

General questions about the endpoint are answered on the Web Scraping API page.

Open the Web Scraping API page

Shopify, WooCommerce, BigCommerce, Magento, Salesforce Commerce Cloud and any other store that publishes schema.org product markup. Send the URL of a single product page.

data.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.

As a decimal 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.

Yes. Add 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.

You get no product back rather than a guess. To collect product URLs first, read the store's sitemap or scrape its category pages, then send each product URL.

1 credit per product page, the same as any other scrape. A proxy adds 4 credits. Failed requests cost nothing.

Yes. Try one page in the free Product Data Extractor, run requests in the dashboard playground, use it from Zapier, Make or n8n, or call it from AI agents through our MCP server.

500 product pages a month, free.

The free tier renews every month and needs no card. Extract your first product in a single call.