Google Shopping Scraper (reliable, bulk) avatar

Google Shopping Scraper (reliable, bulk)

Pricing

$1.75 / 1,000 product listeds

Go to Apify Store
Google Shopping Scraper (reliable, bulk)

Google Shopping Scraper (reliable, bulk)

Product listings from Google Shopping per search query: title, current price, previous price, discount, merchant, delivery, returns, rating and review count, with the product id and URL. Up to 200 queries per run. Only delivered products are charged.

Pricing

$1.75 / 1,000 product listeds

Rating

0.0

(0)

Developer

Steadydata Team

Steadydata Team

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Share

Product listings from Google Shopping for up to 200 search queries per run: title, current price, previous price, discount, merchant, delivery, returns, rating and review count, with the product id and a link to the Google Shopping product page. You only pay for products that are actually delivered.

Why this scraper

  • No browser, no bot wall. Google's shopping results are fetched as server-rendered HTML through a country-matched search proxy. Browser-based scrapers get sent to a CAPTCHA; this route does not, and it is a fraction of the cost.
  • Parsed on the accessibility label, not on CSS classes. Google renames its classes constantly, which is why class-based scrapers break every few weeks. Every product card carries a screen-reader label with the full description, price, merchant and rating in one sentence. That is what this actor reads, and it is far more stable.
  • Only delivered products are charged. A query without results, or a temporary block, comes back as a clear error record at no cost.
  • A hard cost ceiling you control. maxProductsPerQuery is the cap: one delivered product is one charged event.
  • Region aware. country sets both the proxy exit country and the Google region, so Dutch prices come from a Dutch exit node instead of a US one.

Who this is for

Price monitoring across a product list, competitor and assortment research, and anyone who needs "what does Google Shopping show for these 200 searches" as a table instead of 200 browser tabs.

Who this is not for

If you need the stock level or the exact checkout price at one specific shop, go to that shop's own page. This actor reports what Google Shopping shows, which is a snapshot of the offers Google knows about at that moment.

It returns public product and merchant data only. No buyer data, no reviewer names, no personal data.

Input example

{
"queries": [
"wireless earbuds",
"dyson v15 detect",
"espresso machine"
],
"maxProductsPerQuery": 60,
"country": "US",
"language": "en"
}

Output example

{
"query": "wireless earbuds",
"country": "US",
"position": 1,
"productId": "7310953537322941042",
"productUrl": "https://www.google.com/shopping/product/7310953537322941042",
"title": "JLab GO Air Pop True Wireless Earbuds",
"price": 19.99,
"priceText": "$19.99",
"currency": "$",
"previousPrice": 25.0,
"discountPercent": 20,
"merchant": "Target",
"delivery": "Free delivery on $35+",
"returns": "30-day returns",
"rating": 4.3,
"reviewCount": 31000,
"status": "ok"
}

A query that cannot be delivered produces an error record instead, and is not charged:

{
"input": "asdkjhasdkjh",
"status": "error",
"errorCode": "NO_RESULTS",
"error": "No products on the results page for 'asdkjhasdkjh'"
}

Error codes: INVALID_QUERY, NO_RESULTS, BLOCKED.

Pricing

Pay per event: one product-listed event per delivered product. No charge for queries that fail or return nothing, no separate platform-usage surcharge.

FAQ

Why do some fields come back empty? Because Google did not show them for that product. A listing without a discount has no previous price, and a listing without reviews has no rating. Those fields are left empty rather than filled with a guess.

Do prices include tax and shipping? They are the prices Google displays, which follow the merchant's own convention per country. Delivery information is returned separately in the delivery field when Google shows it.

Why does the same product appear more than once? Because several merchants offer it. Each row is one offer, with its own merchant and price, which is exactly what you want for price comparison.

Can I track prices over time? Yes, and that is the common pattern: run the same query list on a schedule and keep the rows with a timestamp. Prices move, so a run is a snapshot.

Is personal data collected? No. Public product and merchant data only.

What happens when Google changes something? Google changes its markup constantly; that is the nature of this work. Reading the accessibility label instead of the CSS classes makes this actor far less sensitive to those changes, and it is monitored daily and fixed fast. While it is broken you are not charged, because only delivered products cost anything.