Google Shopping API | Google Shopping Products, Prices & Deals
Pricing
from $0.01 / 1,000 results
Google Shopping API | Google Shopping Products, Prices & Deals
Scrape Google Shopping results: extract product listings, prices, ratings, sellers, delivery info, and discount tags. Filter by location, price range, sort order, free shipping, and sale items. Supports multi-page scraping. Extract product listings, prices, ratings, sellers, and delivery info.
Pricing
from $0.01 / 1,000 results
Rating
5.0
(3)
Developer
John
Maintained by CommunityActor stats
7
Bookmarked
73
Total users
38
Monthly active users
6 hours ago
Last modified
Categories
Share
Google Shopping | Scrape Google Shopping Products, Prices & Deals
Scrape Google Shopping like an API. Extract product listings, prices, ratings, sellers, delivery info, and discount tags for any search query. Filter by location, price range, sort order, free shipping, and sale items. Multi-page and international search supported. Use it for Google Shopping scraping at scale, from price tracking to ecommerce intelligence.
Quickstart
- Click Try for free on the Apify Store page
- Enter a search query in the q field (e.g.,
wireless headphones) - Click Start - results appear in the Output tab within seconds
Or call it directly via the API:
{"q": "wireless headphones","gl": "us","hl": "en","max_pages": 1}
Getting Started with the API
Prefer to call it yourself? Run the actor over the Apify API and get results back as JSON in a single request:
curl -X POST "https://api.apify.com/v2/acts/johnvc~google-shopping-api-google-shopping-products-prices-deals/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"q": "wireless headphones", "gl": "us", "hl": "en", "max_pages": 1}'
For a Python quick-start and a step-by-step MCP setup walkthrough, see the example repo on GitHub.
What This Actor Does
The Google Shopping Search Scraper retrieves product listings from Google Shopping for any search query. For each product it returns:
- Title and product ID
- Price (display and extracted numeric value)
- Old price / original price (for sale items)
- Source (seller/retailer name)
- Rating and review count
- Snippet description
- Extensions (badges like "Sponsored", sale labels)
- Delivery information
- Thumbnail image URL
- Product link
- Installment payment details (where available)
- Second-hand condition (for used/refurbished listings)
- Multiple sources (when a product is available from several sellers)
You can filter results by price range, sort by price, and restrict to free-shipping or on-sale items only.
Use Cases
- Price monitoring: Track prices for products across retailers over time
- Competitive analysis: See what sellers are offering a product and at what price
- Market research: Identify trending products, discount patterns, and seller landscape
- E-commerce intelligence: Monitor competitor pricing and promotions
- Price comparison tools: Build tools that compare prices from different sources
- Deal finding: Automatically find on-sale or free-shipping products
🔌 Integrations: Automate Google Shopping Scraping and Price Monitoring
A single run answers one question ("what does this product cost right now?"). The real value comes from running this Google Shopping API on a schedule, so fresh prices, sellers, and deals land in your stack every day. That is how a one-off lookup becomes ongoing Google Shopping monitoring: price tracking, deal alerts, and an ecommerce intelligence feed. See the full list of Apify platform integrations.
Tasks and Schedules (the core recipe). Save one task per thing you watch (a product query like dyson airwrap, or a filtered on_sale search), then attach a schedule from the actor's Actions, then Schedule menu. Useful cron strings: 0 7 * * * (daily 7 AM), 0 */6 * * * (every 6 hours), 0 9 * * 1 (Mondays), 0 8 * * 1-5 (weekday mornings). One schedule can trigger many tasks at once, so a whole watchlist refreshes in a single tick.
Store the price history (Supabase). Send each run's rows into a table so a price history of Google Shopping data builds up over time and you can chart the drops. No-code: the n8n Actor node, then a Supabase node. Or in Python, reading the real output fields (q, shopping_results, and each result's title, extracted_price, source, extracted_old_price, product_link):
from apify_client import ApifyClientfrom supabase import create_clientapify = ApifyClient("YOUR_APIFY_TOKEN")supabase = create_client("YOUR_SUPABASE_URL", "YOUR_SUPABASE_KEY")run = apify.actor("johnvc/google-shopping-api-google-shopping-products-prices-deals").call(run_input={"q": "wireless headphones","gl": "us","max_pages": 1,})rows = []for page in apify.dataset(run.default_dataset_id).iterate_items():for product in page.get("shopping_results", []):rows.append({"query": page["search_parameters"]["q"],"title": product.get("title"),"price": product.get("extracted_price"),"seller": product.get("source"),"old_price": product.get("extracted_old_price"),"link": product.get("product_link"),"captured_at": page.get("search_timestamp"),})supabase.table("shopping_prices").insert(rows).execute()
n8n. This API ships an n8n community node (see the n8n integration section below). A four-step price monitor: Schedule Trigger, then the Google Shopping API node, then a Filter on on_sale or a price threshold, then Slack or email.
Make and Zapier. The same pattern works no-code with Make and Zapier: trigger on a schedule, run the actor, route the new prices where you need them.
MCP and AI agents. Add this API as a tool in Claude or Cursor through the Apify MCP server so an agent can pull live prices and deals on request (see the Use with AI Agents section below).
Webhooks. For anything custom, fire an Apify webhook on ACTOR.RUN.SUCCEEDED to push each run's dataset into your own service.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
q | string | Yes | - | Search query (e.g., "wireless headphones") |
location | string | No | - | Geographic location (e.g., "Austin, Texas, United States") |
gl | string | No | - | Country code (e.g., "us", "uk", "de") |
hl | string | No | - | Language code (e.g., "en", "es", "de") |
google_domain | string | No | google.com | Google domain (e.g., "google.co.uk") |
device | string | No | desktop | Device type: desktop, tablet, mobile |
min_price | number | No | - | Minimum price filter |
max_price | number | No | - | Maximum price filter |
sort_by | integer | No | - | 1 = price low to high, 2 = price high to low |
free_shipping | boolean | No | false | Only return free-shipping results |
on_sale | boolean | No | false | Only return on-sale results |
max_pages | integer | No | 1 | Pages to fetch. 0 = no limit. |
output_file | string | No | - | Optional filename to save results locally |
Example Input
Basic search:
{"q": "wireless headphones","gl": "us","hl": "en","max_pages": 1}
Price-filtered search:
{"q": "laptop","min_price": 500,"max_price": 1200,"sort_by": 1,"gl": "us","max_pages": 2}
Sale items with free shipping:
{"q": "running shoes","free_shipping": true,"on_sale": true,"gl": "us","hl": "en","max_pages": 1}
UK market search:
{"q": "coffee machine","location": "London, England, United Kingdom","gl": "uk","hl": "en","google_domain": "google.co.uk","max_pages": 1}
Example Output
Each dataset item represents one page of results:
{"search_parameters": {"q": "wireless headphones","gl": "us","hl": "en","max_pages": 1},"search_metadata": {"results_count": 40,"pages_processed": 1,"max_pages_set": 1,"pagination_limit_reached": true},"search_timestamp": "2026-05-07T14:30:00.123456","page_number": 1,"shopping_results": [{"position": 1,"title": "Sony WH-1000XM5 Wireless Headphones","product_id": "1234567890","product_link": "https://www.example.com/product/12345","source": "Best Buy","price": "$279.99","extracted_price": 279.99,"old_price": "$349.99","extracted_old_price": 349.99,"rating": 4.7,"reviews": 12483,"snippet": "Industry-leading noise cancellation with 30-hour battery life...","extensions": ["20% off"],"delivery": "Free delivery","tag": "Sale"}],"filters": [...]}
Pricing
This Actor uses pay-per-event billing:
| Event | Cost | When charged |
|---|---|---|
| Setup | $0.02 | Once per run |
| Page processed | $0.02 | Per page of results (~40 products/page) |
Example costs:
- 1 page (~40 results): $0.04 total
- 5 pages (~200 results): $0.12 total
- 10 pages (~400 results): $0.22 total
Pagination
Google Shopping returns approximately 40 products per page. Use max_pages to control how many pages are fetched:
max_pages: 1- fetch the first page only (default)max_pages: 5- fetch up to 5 pages (~200 results)max_pages: 0- fetch all available pages
The Actor stops automatically when no more results are available.
Notes
- Results are localized based on
location,gl, andhlparameters. For accurate local pricing, set all three. - The
filtersarray is only included in the first page's dataset item. - Price filters (
min_price,max_price) use the local currency of the targeted country. - The
sort_byparameter changes the ordering but does not affect what products are available.
Use with AI Agents (MCP)
This Actor is available to any AI agent connected to the Apify MCP server. Once connected, the agent discovers and calls it automatically - no API client code required.
Setup video
Step-by-step: connect Apify to Claude, Cursor, VS Code, Cline, Windsurf, and more.
Also see: Integrate 5,000+ Apify Actors into Claude (full walkthrough)
Connect in 2 steps
Step 1 - Add the MCP server to your client
For Claude Desktop, Cursor, Windsurf, VS Code, or any client that accepts JSON MCP config:
{"mcpServers": {"apify": {"command": "npx","args": ["-y", "@apify/mcp-server"],"env": {"APIFY_TOKEN": "your_apify_token_here"}}}}
Or connect via the hosted endpoint (no install needed):
https://mcp.apify.com/sse?token=YOUR_APIFY_TOKEN
Get your API token at apify.com/account/integrations.
Step 2 - Ask the agent to search Google Shopping
The agent calls search-actors to find this Actor, reads its input schema via fetch-actor-details, then runs it with the right parameters. On supported clients (Cursor, VS Code, Cline, Windsurf), it is registered as a named tool for the rest of the session.
Example agent prompts
"Search Google Shopping for wireless headphones under $200, US only, sorted cheapest first."
"Find running shoes on sale with free shipping in the UK."
"Get the top 3 pages of results for 'standing desk' on google.de."
"Compare laptop prices on Google Shopping across US and UK markets."
Supported clients
| Client | Registered as named tool |
|---|---|
| Claude Code (free trial) | Yes |
| Cursor | Yes |
| VS Code (Copilot) | Yes |
| Cline | Yes |
| Windsurf | Yes |
| Glama | Yes |
| Kilo Code | Yes |
| Claude Desktop | No - calls on demand |
| ChatGPT | No - calls on demand |
Full compatibility list: github.com/apify/mcp-client-capabilities
🔗 Related Tools
Building a product-price or ecommerce intelligence pipeline? These tools from the same catalog pair well with Google Shopping data:
- Google Shopping Lite API: a lighter, lower-cost variant for quick product-price lookups when you do not need every filter and field.
- Google Immersive Product API: pull the detailed immersive product page for a listing, with richer specs and seller detail than a search row.
- Google Images API: fetch clean product image URLs to enrich the catalog you build from shopping results.
Other Google Shopping scrapers exist, such as codingfrontend/google-shopping-scraper, but it sees only single-digit adoption, carries no user rating, and ships a bare README with no example output or integration recipes. This API is actively maintained, returns documented structured JSON, and comes with published tasks, an example repo, an n8n node, and MCP support.
FAQ
How many results does each page return?
Approximately 40 products per page. Use max_pages: 5 to get ~200 results.
Can I search in other countries?
Yes. Set gl (country code), hl (language code), location, and google_domain together for accurate local results. Example: gl: "uk", hl: "en", google_domain: "google.co.uk".
What does max_pages: 0 do?
Fetches all available pages until Google Shopping has no more results. Use with caution - some queries have hundreds of pages.
Why do some products have an old_price field?
Google Shopping shows the original price alongside the discounted price for sale items. The old_price and extracted_old_price fields capture this.
Can I filter to only show items on sale?
Yes - set on_sale: true. This filters to items Google Shopping has tagged as discounted.
Why does the filters array only appear on the first page?
Google Shopping returns available filters (brand, price range, condition, etc.) with the first result page only. They are included in the first dataset item.
Can I schedule this Google Shopping scraper?
Yes, and this is where the tool earns its keep. Any run can be automated on a schedule: create a saved task with your query and filters, then attach a schedule from the actor's Actions, then Schedule menu. Handy cron strings are 0 7 * * * (daily at 7 AM), 0 */6 * * * (every six hours), and 0 9 * * 1 (Monday mornings). One schedule can trigger many tasks at once, so an entire watchlist of products refreshes in a single tick. See the Integrations section above for the full Tasks-and-Schedules recipe and a Supabase price-history snippet.
Should I use an API or a web scraper for Google Shopping?
Both, and this actor is both. A plain web scraper you build yourself has to fight page changes, proxies, and parsing, while an official retail API is usually rate limited and gated. This actor gives you the clean, structured result of a purpose-built API: send a query, get back product listings, prices, sellers, and deals as JSON, with no quotas to manage.
Can I use the Google Shopping API programmatically?
Yes. The Apify API runs the actor, schedules it, and fetches datasets, and the apify-client package exists for both Node.js and Python. See the Getting Started with the API section above, or the actor's API tab.
Can I use Google Shopping data through an MCP server?
Yes. Add it as a tool in any MCP client (Claude, Cursor, and others) through the hosted Apify MCP server with the actor-specific URL https://mcp.apify.com/?tools=actors,docs,johnvc/google-shopping-api-google-shopping-products-prices-deals. In Claude Code (free trial) or Claude Desktop your agent can then answer questions like "what is the cheapest wireless headphone on Google Shopping right now?" with live data. See the Apify MCP docs.
Can I integrate this scraper with other apps?
Yes. It connects to almost any cloud service through Apify integrations: Make, Zapier, Slack, the n8n community node, and webhooks on ACTOR.RUN.SUCCEEDED for custom actions. See the Integrations section above for full recipes.
Can I use Google Shopping data for market research and competitive analysis?
Yes. Because every run returns sellers, prices, ratings, and sale tags as structured rows, the output feeds straight into market research, competitive analysis, and repricing models. Run it on a schedule to track how prices and deals move across retailers over time.
How else can I track product prices across retailers?
Pair this API with related tools in the same catalog: the Google Shopping Lite API for lightweight price checks, the Google Immersive Product API for detailed product pages, and the Google Images API for product images. Google Shopping itself lives at shopping.google.com.
n8n integration
Available as an n8n community node, n8n-nodes-google-shopping-api. In n8n: Settings, Community Nodes, install n8n-nodes-google-shopping-api, then use it in any workflow (it also works as an AI Agent tool).
Featured Tasks
Ready-to-run examples that show this API solving a specific problem. Each opens its own setup so you can run it on your account in one click.
Product prices and deals
- Track Air Fryer Prices and Deals Across Retailers - air fryer prices, sale markers, sellers, ratings, and product links across retailers.
- Track Espresso Machine Prices and Deals by Brand - espresso and coffee machine prices, sale markers, sellers, ratings, and product links across retailers.
- Track Electric Bike Prices and Deals Across Sellers - electric bike prices and deals across sellers with ratings and product links.
- Find 4K TV Deals and Compare Prices by Size - 4K TV deals compared by size with sellers, prices, and product links.
- Track PS5 Pro prices across retailers - every retailer's PS5 Pro listing with seller, price, and product link.
- Monitor Nike Air Force 1 deals on Google Shopping - on-sale Air Force 1 listings with seller, sale price, and link.
- Track Robot Vacuum Prices and Sale Deals by Model - robot vacuum prices and sale deals by model with ratings and links.
- Track Dyson Airwrap Prices and Deals by Retailer - Dyson Airwrap and hair tool prices and deals by retailer.
- Track Gaming Laptop Deals and Price Drops by Retailer - gaming laptop deals and price drops by retailer.
- Track Smartwatch Prices and Deals Across Retailers - smartwatch and Apple Watch prices and deals across retailers.
Developer and integrations
- Get Google Shopping Prices in Python with a Simple API - get Google Shopping product prices in Python as clean JSON.
- Get Google Shopping Product Prices in an n8n Workflow - feed live Google Shopping product prices into an n8n workflow.
- Product Price API That Returns Clean JSON for AI Agents - give AI agents live product prices as clean JSON, callable via MCP.
- Check live product prices in Claude via MCP - live product price checks in Claude (free trial available) chat via MCP, with sellers and deals.
- Export Google Shopping Products to CSV - export product listings, prices, sellers, and links to CSV.
- Get Live Grocery and Food Prices with a Product API - live grocery and food prices for any item across retailers.
- Ecommerce Product Data API for Live Prices and Sellers - structured product data for live prices and sellers, ready for repricing.
Shopping use cases
- Find Gift Ideas Under Any Budget With Buy Links - find giftable products under a set budget with prices and buy links.
- Find Which Retailers Sell a Product and Their Price - list every retailer that sells a product with price, delivery, and link.
- Find Products With Free Shipping Across Retailers - find products that ship free across retailers with sellers and prices.
- Build Back to School Deal Lists by Category - build back-to-school deal lists by category with sellers and prices.
- Monitor Minimum Advertised Price Violations by Seller - flag MAP violations by tracking advertised price and seller across retailers.
- Find Dropshipping Products by Price and Demand Signals - find products by price band with demand signals for dropshipping research.
- Find Products on Sale With Old and New Prices - find products on sale with old and new prices side by side.
By country
- Get Google Shopping UK Price Data by Product - Google Shopping UK price data for any product.
- Get Google Shopping Canada Price Data by Product - Google Shopping Canada price data for any product.
- Get Google Shopping Australia Price Data by Product - Google Shopping Australia price data for any product.
- Get Google Shopping India Price Data by Product - Google Shopping India price data for any product.
- Get Google Shopping Germany Price Data by Product - Google Shopping Germany price data for any product.
中文 (Chinese)
- 美國代購比價:查詢美國商品即時價格與賣家 - US daigou price check in Chinese, with live prices, sellers, and product links.
- 美國打折促銷商品查詢:找折扣與最低價賣家 - US on-sale product finder in Chinese, comparing old and new prices.
Last Updated: 2026.07.11
