Google Shopping Scraper avatar

Google Shopping Scraper

Pricing

from $2.00 / 1,000 dataset items

Go to Apify Store
Google Shopping Scraper

Google Shopping Scraper

Export Google Shopping results by keyword in 24 countries: price, previous price and discount, shop, delivery, returns, rating, review count and product ids. Use Google's own filters (On sale, brand, store, price) and many keywords per run. Pay only for the products you get.

Pricing

from $2.00 / 1,000 dataset items

Rating

0.0

(0)

Developer

axly

axly

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

2 days ago

Last modified

Share

Export Google Shopping results by keyword in 24 countries: product title, price, previous price and discount, the shop selling it, delivery and returns terms, star rating, review count, image and Google's product ids. Use Google's own filters (On sale, 4 and up, a brand, a store, a price bucket) by name, run many keywords in one go, and get clean JSON, CSV or Excel.

Who uses it

  • Brands and online shops: watch competitor prices, discounts and which shops list your products.
  • Agencies and analysts: share of shelf per shop, price and discount tracking per market, assortment research.
  • Product researchers and dropshippers: compare price, rating and review count across hundreds of keywords.
  • AI agents: one call returns structured shopping results for a keyword (see the AI section below).

What you get (one row per product)

FieldTypeExample
query, countrystringwireless earbuds, US
position, pageinteger3, 1
titlestringJBL Vibe Buds 2 Noise Cancelling True Wireless Earbuds
price, price_text, currencynumber, string, string39.95, $39.95, USD
old_price, old_price_text, discount_percentnumber, string, integer65, $65, 38
merchantstringCrutchfield
more_sellersbooleantrue when Google lists more shops ("& more")
price_varies_by_sellerbooleantrue when Google notes "and more prices"
delivery, returnsstringFree delivery on $50+, 60-day returns
rating, reviews_countnumber, integer4.3, 5000
badgesstring[]["3D"], ["Pre-owned"], ["SALE"]
thumbnailstringproduct image URL (not available for some top cards)
google_shopping_urlstringopens the product on Google Shopping with all its offers
product_id, offer_id, catalog_id, gpc_id, image_idstringGoogle's ids, stable keys for tracking
blockstringgrid, shelf or carousel (where the card sat on the page)
scraped_atstringISO-8601 time

Prices are parsed for each country's number format (152,99 € → 152.99, (2,2 k) reviews → 2200).

Use cases

  1. Competitor price monitoring: schedule your product keywords daily and compare price and old_price per merchant.
  2. Discount tracking: run with the On sale filter and track discount_percent across a category.
  3. Shop share of shelf: count how often each merchant appears in the first 100 products for your category keywords.
  4. Market comparison: run the same keywords in the US, UK, Germany and France and compare prices by currency.
  5. Product research: pull rating and reviews_count for many keywords and rank products by demand.

Input

FieldDefaultDescription
queries["wireless earbuds"]Keywords; one Google Shopping search each
countryUSUS, GB, CA, AU, NZ, IE, IN, SG, DE, AT, CH, FR, BE, NL, IT, ES, PT, PL, SE, DK, NO, MX, BR, JP
maxItemsPerQuery50Up to 200; Google shows about 100 unique products per search
filters[]Google's filter labels as shown for that keyword, e.g. On sale, 4 and up, Sony, Best Buy, Under $35
minPrice, maxPriceemptyKeep only products in this price range (products outside it are not pushed or charged)
languagecountry defaultInterface language code, e.g. es for Spanish results in the US
includeSummaryfalseAdd Google's one-line card summary

Example input

{
"queries": ["wireless earbuds", "running shoes"],
"country": "US",
"maxItemsPerQuery": 50,
"filters": ["On sale"]
}

Example output

{
"query": "wireless earbuds",
"country": "US",
"position": 1,
"page": 1,
"title": "JLab Go Air Sport True Wireless Earbuds",
"price": 24.74,
"price_text": "$24.74",
"currency": "USD",
"old_price": 32,
"old_price_text": "$32",
"discount_percent": 22,
"merchant": "Best Buy",
"more_sellers": true,
"price_varies_by_seller": false,
"delivery": "Free delivery",
"returns": null,
"rating": 4.1,
"reviews_count": 18000,
"badges": [],
"thumbnail": null,
"google_shopping_url": "https://www.google.com/search?ibp=oshop&q=wireless+earbuds&prds=catalogid:14611047641738732344,gpcid:14823241773140039338,headlineOfferDocid:15469061001594283225,productDocid:13973934425568129325&udm=28&hl=en&gl=us",
"product_id": "13973934425568129325",
"offer_id": "15469061001594283225",
"catalog_id": "14611047641738732344",
"gpc_id": "14823241773140039338",
"image_id": null,
"block": "shelf",
"scraped_at": "2026-10-21T03:02:50+00:00"
}

Filters

Google decides which filters exist for each keyword, so the actor uses Google's own labels instead of a fixed list. Write them as Google shows them in that country's language: On sale, 4 and up, New, Used, a brand, a store or a price bucket. Price buckets differ per keyword (Under $35 for one search, Under $50 for another). Every run saves the labels Google offered for each keyword in the key-value store record FILTERS, so you can copy them into the next run. If you ask for a label Google does not offer, that keyword is skipped and no products are charged for it. Several filters can be combined (for example On sale + 4 and up).

Scheduling and integrations

Schedule the actor (daily or hourly) in Apify Console to build a price history, and send results to Google Sheets, a webhook, Make, Zapier, n8n, S3 or your database with Apify integrations. Every row has product_id and offer_id, so runs can be joined over time.

Use it from AI agents (MCP)

AI assistants that support MCP can call this actor through Apify's MCP server (https://mcp.apify.com) and get structured Google Shopping results for a keyword, for example: "find the 20 cheapest wireless earbuds on sale in the UK".

FAQ

How many products can I get per keyword? Google shows about 100 unique products for one search (we have seen 100 to 134). For more, run several specific keywords (wireless earbuds sony, wireless earbuds under 50) or use filters.

Which countries work? The 24 countries in the country field. The actor checks that each page is really for the country you picked and loads it again when Google serves another market.

Do I get the shop's product link? The results page only shows the headline shop. google_shopping_url opens the product on Google Shopping with all its offers.

Can I sort by price? Not yet: Google's sort option does not change the server-rendered results. Use minPrice / maxPrice or a price-bucket filter instead.

What if a keyword has no matching products? Google then shows unrelated popular items. The actor detects this, skips the keyword and charges no products for it. If a real keyword is skipped as unmatched, add a product word to it (for example alphabet pixel phone instead of alphabet).

Is it legal? The actor collects publicly visible product listings. Make sure your use complies with the laws that apply to you and with Google's terms.

Something broke? Open an issue on the actor's Issues tab; reports are answered.