Google Shopping API
Product listings, merchant offers and price comparisons.
Why teams scrape Google Shopping
Google Shopping holds some of the most commercially useful public data on the web, and almost none of it is available through a stable official feed at the volume real products need. Rate limits, partner-only access and shifting page structures mean teams either give up on the source or maintain a fragile scraper that breaks every few weeks.
Shopping results aggregate offers from hundreds of merchants in one place, making them the fastest way to see where a product sells and at what price — but the surface is heavily personalized and geo-specific.
Irmu removes the infrastructure question entirely. One authenticated request handles proxy selection, browser rendering, anti-bot challenges and retries, and AI Extract turns the resulting page into validated JSON against a schema you define. You get product_title, price, currency, merchant, rating, shipping, product_id, condition without writing or maintaining a single selector, and the same endpoint, quota and observability model you already use for every other source.
What it powers
Price benchmarking
Compare your price against every listed merchant per market.
Merchant discovery
Find unauthorized or grey-market sellers of your products.
Assortment analysis
See which competitor SKUs are listed in which countries.
Feed QA
Verify your own listings render with the right price and imagery.
Fields available
Everything below comes back typed and validated against your schema.
product_title
Listed product name
price
Offer price
currency
Offer currency
merchant
Selling merchant
rating
Product rating
shipping
Shipping cost or terms
product_id
Google product identifier
condition
New, used or refurbished
One call, no selectors
curl -X POST https://app.irmu.com/api/extract \
-H "Authorization: Bearer irmu_sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"url": "https://www.google.com/search?tbm=shop&q=electric+toothbrush",
"schema": {
"product_title": "string",
"price": "string",
"currency": "string",
"merchant": "string",
"rating": "string",
"shipping": "string"
}
}'Validated JSON
{
"data": {
"product_title": "Sonicare 9900 Prestige",
"price": 289.95,
"currency": "USD",
"merchant": "Best Buy",
"rating": 4.5
},
"credits_used": 15,
"status": 200
}Copy, paste, ship
import requests
res = requests.post(
"https://app.irmu.com/api/extract",
headers={"Authorization": "Bearer irmu_sk_live_..."},
json={
"url": "https://www.google.com/search?tbm=shop&q=electric+toothbrush",
"schema": {
"product_title": "string",
"price": "string",
"currency": "string",
"merchant": "string"
},
},
)
data = res.json()["data"]
print(data)Simple credits
Per listing page
15 credits
Failed requests are retried automatically and never billed.
See full pricing →Google Shopping API questions
Start extracting Google Shopping data today
1,000 free credits every month. No card, no sales call.