The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Google Shopping listing page.
The efficient, reliable, and developer-friendly way to use the Google Shopping API.
Actor page: apify.com/johnvc/google-shopping-api-google-shopping-products-prices-deals Input schema: apify.com/johnvc/google-shopping-api-google-shopping-products-prices-deals/input-schema
The Google Shopping API returns Google Shopping product listings for a query as clean, structured JSON: title, merchant source, current and original price, rating, review count, sale tag, delivery terms, and a product ID. Filter by price band, sort order, free shipping, and on-sale status, and localize by country, language, and Google domain. Built for price comparison, deal tracking, competitive monitoring, and AI agent workflows.
Clone the repository
Install dependencies with UV
Configure your API key
Run the example
Prices across merchants. Get the products Google Shopping shows for a query, each with its merchant source, current price, and original price when discounted.
Built-in deal signals. Sale tags (for example 16% OFF), original prices, and an on-sale filter make deal tracking straightforward.
Ratings and delivery. Each listing carries a rating, review count, and delivery terms, so you can rank on more than price.
Flexible filtering. Narrow by min_price and max_price, sort by price, and restrict to free shipping or on-sale items.
Localized. Target by location, country (gl), language (hl), and Google domain, and emulate desktop, tablet, or mobile.
Predictable, pay-per-use pricing. Billing is per page processed (about 40 products each), with a small per-run fee.
shopping_results arrayprice plus numeric extracted_priceold_price, tag) when a product is discountedfilters returned per page| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
q | str | Yes | - | Product or keyword to search, e.g. wireless headphones. |
location | str | No | - | Geographic location, e.g. Austin, Texas, United States. |
gl | str | No | - | Country code, e.g. us, uk, de. |
hl | str | No | - | Language code, e.g. en, es. |
google_domain | str | No | google.com | Google domain, e.g. google.co.uk. |
device | str | No | desktop | desktop, tablet, or mobile. |
min_price | number | No | - | Only products above this price. |
max_price | number | No | - | Only products below this price. |
sort_by | int | No | - | 1 price low to high, 2 high to low; blank = relevance. |
free_shipping | bool | No | false | Only products with free shipping. |
on_sale | bool | No | false | Only products on sale or discounted. |
max_pages | int | No | 1 | Pages to fetch (~40 products each); 0 = unlimited. Each page is billed. |
A real result for wireless headphones (one item per page; shopping_results is trimmed to a single product, and filters lists the available refinements).
Each page item echoes the search_parameters, reports search_metadata (result count and pages processed), and lists every product in shopping_results with its position, title, merchant source, formatted and numeric price, optional sale fields (old_price, tag), rating, reviews, delivery terms, and product_id. The filters array returns the refinements Google offers for the query.
You can load the Google Shopping API as an MCP tool so assistants call it for you. The MCP server URL preloads just this one Actor:
Authenticate with OAuth in the browser when offered, or with your Apify API token (the same APIFY_API_TOKEN used by the Python example). Get a token at https://console.apify.com/settings/integrations and a free Apify account at https://apify.com?fpr=9n7kx3 .

Cowork is the desktop app's automation mode. To give it the Google Shopping API as a tool, add the Apify MCP server as a connector.
claude_desktop_config.json directly).
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonDownload the desktop app and start a free trial: https://claude.ai/referral/uIlpa7nPLg More help: https://docs.apify.com/platform/integrations/claude-desktop

Claude Code is the command-line tool. Add the Actor's MCP server with one command:
To use a token instead of browser OAuth:
Then verify with claude mcp list, or run /mcp inside a session. Ask Claude Code to call the Google Shopping API.
Try Claude Code free: https://claude.ai/referral/uIlpa7nPLg Claude Code MCP docs: https://code.claude.com/docs/en/mcp

On claude.ai you add Apify as a connector, then enable just this Actor's tool.
johnvc/google-shopping-api-google-shopping-products-prices-deals.https://mcp.apify.com/?tools=actors,docs,johnvc/google-shopping-api-google-shopping-products-prices-deals, using OAuth when prompted.Open Claude on the web: https://claude.ai/referral/uIlpa7nPLg

Cursor reads MCP servers from a project file at .cursor/mcp.json.
.cursor/mcp.json:New to Cursor? Get it here: https://cursor.com/referral?code=XQP4VBLI3NNX

ChatGPT connects to the Apify MCP server through Developer mode (available on ChatGPT Pro, Plus, Business, Enterprise, and Education plans).
https://mcp.apify.com/?tools=actors,docs,johnvc/google-shopping-api-google-shopping-products-prices-dealsMore help: https://docs.apify.com/platform/integrations/mcp
Use the Google Shopping API to power price comparison, deal tracking, and competitive monitoring with reliable, structured results.
Ready-to-run examples on the Apify Store.
Last Updated: 2026.09.09