Size a product category from Google Shopping data
See which products show up for a category, who sells them, at what prices, and how they are rated, in any of 31 countries.
What gets in the way
Sizing a category usually means sampling a few retailer sites by hand and guessing at the rest.
Google Shopping already brings products and sellers from many retailers together. What you need is that view as data you can aggregate.
How CrawlerData solves it
Run a shopping search for each category term: shopping_results gives title, price, old_price, merchant, rating and reviews.
Google Shopping APIFor the products that matter, the sellers endpoint gives sellers_count, every seller and the product price_range.
Google Shopping Sellers APIRepeat per country to compare markets. Prices come with value and currency, so you can convert them.
Google Shopping APIUse autocomplete to expand a seed term into the searches people actually type.
Google Autocomplete API
One request, structured data back
old_price is set when Google shows a reduced price. Use product_id to fetch every seller for a product.
curl -X POST https://api.crawlerdata.com/v1/jobs \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"endpoint":"google-shopping-search","params":{"query":"wireless headphones","country":"us"},"queue":"live"}'const res = await fetch('https://api.crawlerdata.com/v1/jobs', {
method: 'POST',
headers: { Authorization: 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' },
body: JSON.stringify({
"endpoint": "google-shopping-search",
"params": {
"query": "wireless headphones",
"country": "us"
},
"queue": "live"
}),
});
const { job, result } = await res.json();import requests
res = requests.post(
"https://api.crawlerdata.com/v1/jobs",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"endpoint": "google-shopping-search",
"params": {
"query": "wireless headphones",
"country": "us",
},
"queue": "live",
},
)
data = res.json(){
"shopping_results": [
{
"position": 1,
"product_id": "14580532573920022357",
"title": "Soundplay Foldable Wireless Headphones Bluetooth Over-Ear Headset with Built-in Mic",
"price": {
"value": 14.94,
"currency": "USD",
"raw": "$14.94"
},
"old_price": null,
"merchant": "Walmart",
"rating": 4.6,
"reviews": 866
},
{
"position": 2,
"product_id": "18438405240876542552",
"title": "Sony WH-CH520 Wireless On-Ear Headphones with Microphone",
"price": {
"value": 49.99,
"currency": "USD",
"raw": "$49.99"
},
"old_price": {
"value": 68,
"currency": "USD",
"raw": "$68"
},
"merchant": "Best Buy",
"rating": 4.5,
"reviews": 5600
}
]
}Excerpt of the result object, with fields and items trimmed. Full response on the Google Shopping API page.
A worked example
Every endpoint costs 1 credit per request. Here is what a typical one-off workload costs with whole credit packs.
300 category searches + sellers for the top 40 products in each (12,000)
= 12,300 requests in total
1 credit per request, so 12,300 credits.
Buy for the whole job (best)
1 × Starter (50,000 credits) for $50.00
$50.00
$0.0041 per request
What you get
37,700 credits left over for re-runs and spot checks. Credits are valid for 6 months.
Larger packs go down to $0.30 per 1,000 requests.
Packs are bought whole, like in the pricing calculator. Credits are valid for 6 months. Failed requests are not charged. Prices exclude sales tax/VAT.
Limits to plan for
- A shopping search returns the first set of results Google shows (page 1 only). It is a sample of the category, not a full census.
- Results reflect what Google Shopping shows at request time in the chosen country. Repeat the study to see change over time.
- Sellers requests can take tens of seconds each. Run large studies on the regular queue.
- Ratings and review counts are Google's figures and can be null for some products.
Questions
How many products does one shopping search return?
The results Google Shopping shows on its first page for the query. Only page 1 is supported, since Google loads more by scrolling.
Can I compare countries?
Yes. Run the same query with different country codes. Prices include the currency.
How do I count sellers per product?
Request the product with the sellers endpoint. sellers_count gives the number and sellers[] lists them.
Do I need a subscription?
No. You buy credit packs, and credits are valid for 6 months.
Related solutions
Competitor price monitoring
Every seller and total price for your products on Google Shopping, one request per product.
See how it works
Product catalog enrichment
Titles, descriptions, images, ratings and specs for products in your catalog.
See how it works
Local business data
Businesses by category and place, with rating, address, phone and website.
See how it works
APIs used
Google Shopping API
Search Google Shopping and get every product with price, merchant, rating and a product ID you can use to fetch all sellers.
from $0.30 / 1,000 requests
Google Shopping Sellers API
Every seller offering a product, sorted by total price, for one request. No per-seller charges.
from $0.30 / 1,000 requests
Google Autocomplete API
Google search suggestions for what someone has typed so far.
from $0.30 / 1,000 requests
Try it on your own data
Get 50 free credits when you sign up with your work email and verify it. Failed requests are never charged.