Skip to content
ScraperData

How it works

Prices you can compare in code

Search for a product and read each offer's price, store and rating. extracted_price is a number, so comparing offers or spotting changes takes one line.

Price as a number

extracted_price next to the price as Google prints it.

The store

source names who sells each offer.

Sales

old_price and discount, when Google shows a deal.

What a price tracker needs

Each offer with its price and store

shopping_results lists the offers Google shows: title, price, extracted_price, store, rating and reviews, plus delivery and product_id when Google has them.

Real answer, shortened
{  "shopping_results": [    {      "position": 1,      "title": "Sony WI-C100 Wireless In-Ear Headphones",      "price": "$39.99",      "extracted_price": 39.99,      "rating": 4.8,      "reviews": "13K",      "source": "Best Buy"    },    {      "position": 3,      "title": "Samsung Galaxy Buds3 Pro WIRELESS Earbuds - SILVER",      "price": "$240",      "extracted_price": 240,      "rating": 3.2,      "reviews": "33K",      "source": "+"    }  ]}

Prices in every market

Prices follow the country you set with gl and the language with hl. Search the same product for each market you sell in.

Request
curl -G "https://api.scraperdata.com/v1/search" \
  -H "X-API-Key: YOUR_API_KEY" \
  --data-urlencode "q=wireless earbuds" \
  -d type=shopping \
  -d gl=gb \
  -d hl=en

Old prices and discounts

When Google shows a sale, old_price and discount come with the offer, so you can see who cut a price and by how much.

Fields of each offer
position         rank in the results
title            the product as listed
price            as Google prints it
extracted_price  the same price as a number
old_price        the price before a sale
discount         the sale, as Google shows it
source           the store
delivery         delivery details
product_id       Google's product id

Every product, every day

Queue your whole catalog with pingback_url: up to 10,000 searches wait at once and run while capacity is free. Fetch each answer from /v1/tasks/{id} when we call your URL.

Queue a search
curl -G "https://api.scraperdata.com/v1/search" \
  -H "X-API-Key: YOUR_API_KEY" \
  --data-urlencode "q=wireless earbuds" \
  -d type=shopping \
  --data-urlencode "pingback_url=https://example.com/ping"

Frequently asked questions

Are prices numbers or text?

Both. price is the text Google prints, like $39.99, and extracted_price is the same value as a number.

Can I see prices in another country?

Yes. Set gl to the country's two-letter code and hl to the language; prices follow that country.

Does every offer have an old price?

No. old_price and discount appear only when Google shows a sale on that offer.

How many products can I check at once?

Live requests run up to your plan's concurrency at the same time. With pingback_url, up to 10,000 searches can wait in the queue and run as capacity frees up.