Google Shopping API
Product search, product detail and every seller carrying an item with price, shipping and total — each one a single POST returning structured JSON. No Merchant Center, no Cloud project.
50 free credits on signup. No card, no Merchant Center.
{ "search_parameters": { "engine": "google_shopping", "query": "wireless earbuds", "google_domain": "google.com", "hl": "en", "gl": "us", "device": "desktop", "start": 0 }, "search_information": { "page_title": "wireless earbuds - Google Shopping", "query_displayed": "wireless earbuds", "shopping_results_state": "Results for exact spelling" }, "shopping_results": [ { "position": 1, "title": "JLab Go Air Pop True Wireless Earbuds", "product_id": "7310953537322941042", "catalog_id": "7310953537322941042", "product_link": "https://www.google.com/shopping/product/..." } ], "credits_used": 1, "credits_remaining": 4747}Live call against the real endpoint — 3 free runs, then it's your own key.
What is the Scavio Google Shopping API?
The Scavio Google Shopping API is a REST API that returns Google Shopping data as structured JSON. You send a query or a catalog_id to one of 3 POST endpoints with your API key, and get back product results with prices and sellers, a product's detail page, or a paginated list of every store selling that item.
- 3
- endpoints, all live in production
- 1
- credit per call, every endpoint
- 0
- Merchant Center accounts
Three endpoints, the whole price picture
Search finds the product, detail describes it, stores price it everywhere.
Shopping search
POST /api/v2/google/shoppingProducts across every retailer Google indexes, with price, seller and rating — plus price, sale and sorting filters.
Product detail
POST /api/v2/google/shopping/productOne product with the stores offering it and their prices, so you see the market for an item rather than a single listing.
Product stores
POST /api/v2/google/shopping/product/storesPage every seller for a catalog_id — price, shipping, total landed cost and seller rating. Where price comparison actually happens.
All 3 Google Shopping endpoints
Every route is a POST, returns JSON, and takes the same API key. 1 credit per successful call.
| Endpoint | Returns | Credits |
|---|---|---|
Shopping search/api/v2/google/shopping | Title, price, seller, rating and product/catalog id, with filters | 1 |
Product detail/api/v2/google/shopping/product | A product page — the stores offering it, prices and related options | 1 |
Product stores/api/v2/google/shopping/product/stores | Every seller for a catalog_id — price, shipping, total, rating | 1 |
50 free credits on signup covers 50 calls of any kind. See plans
From a search to every seller
Find the product, take the catalog_id, list the stores. The response on the right is a real capture — note the flat shape, with no data wrapper.
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
res = client.google.shopping(query="wireless earbuds")
for p in res["shopping_results"]:
print(p["title"][:40], p["catalog_id"])
# Every seller for that product - 1 credit
stores = client.google.shopping_stores(
catalog_id=res["shopping_results"][0]["catalog_id"]
){
"search_parameters": {
"engine": "google_shopping",
"query": "wireless earbuds",
"google_domain": "google.com",
"hl": "en",
"gl": "us",
"device": "desktop",
"start": 0
},
"search_information": {
"page_title": "wireless earbuds - Google Shopping",
"query_displayed": "wireless earbuds",
"shopping_results_state": "Results for exact spelling"
},
"shopping_results": [
{
"position": 1,
"title": "JLab Go Air Pop True Wireless Earbuds",
"product_id": "7310953537322941042",
"catalog_id": "7310953537322941042",
"product_link": "https://www.google.com/shopping/product/..."
}
],
"credits_used": 1,
"credits_remaining": 4747
}Why not the Content API for Shopping?
Google's first-party Shopping API manages your own feed. It cannot tell you what anyone else charges.
Content API for Shopping
- Built for merchants to manage their own product feed, not to read the marketplace
- Requires a Merchant Center account and a Cloud project with credentials
- Returns your listings and your performance, not competitor prices
- No endpoint for the store list behind a product
Scavio Google Shopping API
- One API key, issued at signup — no Merchant Center, no Cloud project
- Reads the public marketplace, including competitors you have no relationship with
- Every seller for a product with price, shipping and total landed cost
- Same key and JSON envelope as 30 other Scavio platforms
Scavio returns publicly available product and price data only, and never authenticates as a Google user.
What developers build with it
Cross-retailer price comparison
One catalog_id gives you every seller carrying a product, with shipping and total landed cost. That is the comparison table most price sites are built on, from two calls.
shopping + shopping/product/storesMAP and pricing-policy enforcement
Watch who is selling your products below your minimum advertised price, across retailers you have no direct relationship with, and catch it the week it starts.
shopping/product/storesCompetitive assortment tracking
Search a category on a schedule and record which products appear, at what price, from which sellers. New entrants and price moves show up as diffs.
shoppingShopping-feed and merchandising research
See how your listings rank against rivals for commercial queries, and which sellers consistently win the top positions for a category.
shoppingAgent shopping assistants
Point an agent at the MCP server and Shopping becomes a callable tool — find the item, compare sellers, report the cheapest total — with one key.
MCP + RESTHow to get Google Shopping data as JSON
- 1
Get an API key
Sign up for a Scavio account and copy your key from the dashboard. You get 50 credits free on signup, with no card required and no Merchant Center or Cloud project.
- 2
POST a query
Send {"query": "wireless earbuds"} to https://api.scavio.dev/api/v2/google/shopping with an Authorization: Bearer header. All three Shopping endpoints are POSTs.
- 3
Follow the catalog_id
Google v2 responses are flat — shopping_results sits at the top level, not under data. Each result carries a catalog_id; pass it to the stores endpoint to page every seller for that product.
Google Shopping API FAQ
What is the Scavio Google Shopping API?
+
It is a REST API that returns Google Shopping data as structured JSON. Three POST endpoints cover product search with price and sorting filters, a product's detail page with the stores offering it, and a paginated list of every seller for a catalog_id. You authenticate with a Scavio API key.
Who are these endpoints for?
+
Developers building price comparison or shopping features; AI agent builders wiring Shopping in as an MCP or SDK tool; automation engineers running it inside n8n, Zapier or Make; ecommerce and pricing teams tracking competitors; brand managers enforcing pricing policy across resellers; and analysts sizing categories. Same API for all of them.
How is this different from the Google Content API for Shopping?
+
Google's Content API is for merchants managing their own product feed — it writes and reads your listings, not the public marketplace. There is no first-party API for reading what every other retailer charges. That is the gap this fills.
Can I see every seller for a product, not just the cheapest?
+
Yes. Take the catalog_id from a search result and call /api/v2/google/shopping/product/stores. It pages through every store selling that product with seller name, price, shipping, total and rating.
How much does a Google Shopping request cost?
+
Every Shopping endpoint costs 1 credit — search, product detail and the store list alike. New accounts get 50 free credits on signup, one time, with no card required. Paid plans start at $30 per month for 7,000 credits.
What does the response look like?
+
Google v2 responses are flat rather than wrapped: search_parameters, search_information and shopping_results sit at the top level, alongside credits_used and credits_remaining. Each result carries position, title, product_id, catalog_id and product_link.
Can I filter by price or sort the results?
+
Yes. The search endpoint accepts price, sale and sorting filters, so you can narrow to a band or order by price before you page, rather than pulling everything and filtering client side.
Which countries does it cover?
+
Shopping results are country and language specific. Set gl for the country and hl for the language on each call; the values you sent come back in search_parameters so a stored response is self-describing.
Which languages and tools are supported?
+
Official Python (pip install scavio) and JavaScript/TypeScript (npm i scavio) SDKs, a remote MCP server at mcp.scavio.dev for AI agents, and an n8n community node. Any language can call the REST endpoints directly with an HTTP client.
Is scraping Google Shopping data legal?
+
Scavio returns publicly available product and price data and does not authenticate as a user. You remain responsible for how you use the data, including compliance with Google's terms. Talk to your own counsel for your specific use case.
Explore more of Scavio
Google Search API
The full SERP — organic, ads, AI Overview.
Amazon API
Search, product detail and every seller offer.
Walmart API
Search, product, reviews and sellers.
Google Maps API
Local search, places and reviews.
MCP server
Every platform as a callable tool for agents.
Pricing
Credit packs and plans, no per-platform surcharge.
Start pulling Google Shopping data today
50 free credits on signup, no card. Your first request is a POST with a query in it.