Google Shopping API | Google Shopping Products, Prices & Deals avatar

Google Shopping API | Google Shopping Products, Prices & Deals

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Google Shopping API | Google Shopping Products, Prices & Deals

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

John

Maintained by Community

Actor stats

6

Bookmarked

23

Total users

13

Monthly active users

18 hours ago

Last modified

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.

🔗 View on Apify Store


Quickstart

  1. Click Try for free on the Apify Store page
  2. Enter a search query in the q field (e.g., wireless headphones)
  3. 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
}

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

Input Parameters

ParameterTypeRequiredDefaultDescription
qstringYes-Search query (e.g., "wireless headphones")
locationstringNo-Geographic location (e.g., "Austin, Texas, United States")
glstringNo-Country code (e.g., "us", "uk", "de")
hlstringNo-Language code (e.g., "en", "es", "de")
google_domainstringNogoogle.comGoogle domain (e.g., "google.co.uk")
devicestringNodesktopDevice type: desktop, tablet, mobile
min_pricenumberNo-Minimum price filter
max_pricenumberNo-Maximum price filter
sort_byintegerNo-1 = price low to high, 2 = price high to low
free_shippingbooleanNofalseOnly return free-shipping results
on_salebooleanNofalseOnly return on-sale results
max_pagesintegerNo1Pages to fetch. 0 = no limit.
output_filestringNo-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:

EventCostWhen charged
Setup$0.02Once per run
Page processed$0.02Per 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, and hl parameters. For accurate local pricing, set all three.
  • The filters array 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_by parameter 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

ClientRegistered as named tool
Claude CodeYes
CursorYes
VS Code (Copilot)Yes
ClineYes
WindsurfYes
GlamaYes
Kilo CodeYes
Claude DesktopNo - calls on demand
ChatGPTNo - calls on demand

Full compatibility list: github.com/apify/mcp-client-capabilities


FAQ

Q: How many results does each page return?
A: Approximately 40 products per page. Use max_pages: 5 to get ~200 results.

Q: Can I search in other countries?
A: 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".

Q: What does max_pages: 0 do?
A: Fetches all available pages until Google Shopping has no more results. Use with caution - some queries have hundreds of pages.

Q: Why do some products have an old_price field?
A: Google Shopping shows the original price alongside the discounted price for sale items. The old_price and extracted_old_price fields capture this.

Q: Can I filter to only show items on sale?
A: Yes - set on_sale: true. This filters to items Google Shopping has tagged as discounted.

Q: Why does the filters array only appear on the first page?
A: Google Shopping returns available filters (brand, price range, condition, etc.) with the first result page only. They are included in the first dataset item.


Last Updated: 2026.06.01