Free Google Shopping Scraper - Extract offers from any EAN/SKU
Pricing
from $8.00 / 1,000 google-skus
Free Google Shopping Scraper - Extract offers from any EAN/SKU
Grab all offers from all sellers of a Google Shopping EAN/SKU. Whether you're monitoring competitor prices, optimizing your pricing strategy, or tracking market trends, this scraper delivers the insights you need at scale.
Pricing
from $8.00 / 1,000 google-skus
Rating
0.0
(0)
Developer
SR
Maintained by CommunityActor stats
12
Bookmarked
483
Total users
55
Monthly active users
1.3 days
Issues response
5 days ago
Last modified
Categories
Share
Google Shopping Scraper — Real-Time Price & Offer Data by EAN / GTIN
Extract live pricing data from Google Shopping for any product, identified by EAN or GTIN barcode. Get every seller offer — price, shipping, condition, seller identity — across 25+ countries, in one clean JSON output per product.
Products are looked up by EAN/GTIN only. Every product requires a valid EAN/GTIN barcode. Entries without a valid EAN produce an error record.
What It Does
This actor resolves your EAN/GTIN codes against Google Shopping and returns a structured dataset of all seller offers. For each product you submit, you receive the full competitive landscape: who is selling it, at what price, with what shipping cost, and under what conditions.
Data is served from a fresh cache. The first time you request an EAN (or when the cached data is older than 24 hours), the actor triggers a background fetch and returns a free "pending" record asking you to run again in about 1 hour — you are not charged for that. Once the data is ready, the same request returns the full offers and is charged. See Pricing.
Output Schema
Each record in the dataset represents one product lookup.
Product Record
| Field | Type | Description |
|---|---|---|
ean | string | EAN / GTIN barcode |
title | string | Product title as listed on Google Shopping |
brand | string | Brand name |
url | string | Google Shopping product page URL |
thumbnail | string | Product image URL |
currency | string | ISO 4217 currency code (e.g. EUR, GBP) |
found | boolean | true if the product exists on Google Shopping |
offers_count | integer | Number of seller offers returned |
lowest_total_price | number | Lowest combined price + shipping across all offers |
highest_total_price | number | Highest combined price + shipping across all offers |
offers | array | Full list of seller offers — see below |
Offer Object
| Field | Type | Description |
|---|---|---|
sellerName | string | Shop or marketplace name (e.g. Amazon.fr, Zalando.fr) |
sellerReference | string | Direct URL to the product listing at the seller |
price | string | Base product price |
shippingPrice | string | null | Shipping cost, or null if unknown |
totalPrice | string | Price + shipping combined |
condition | string | Product condition (New, Used, Refurbished) |
availability | string | Stock availability (e.g. InStock) |
Example — Product Found
{"ean": "0198376596101","title": "Sandales Skechers Desert Kiss Low Femme","brand": null,"url": null,"thumbnail": "https://encrypted-tbn3.gstatic.com/shopping?q=...","currency": "EUR","found": true,"offers_count": 7,"lowest_total_price": 35.99,"highest_total_price": 82.0,"offers": [{"sellerName": "Amazon.fr","sellerReference": "https://www.amazon.fr/Skechers-Femme-Desert-Sandale-Glissante/dp/B0DC8QSWVC","price": "35.99","shippingPrice": null,"totalPrice": "35.99","condition": "New","availability": "InStock"},{"sellerName": "obishoes.fr","sellerReference": "https://obishoes.fr/sandales/9624-sandales-skechers-bobs-desert-kiss-low-peak-look-114707-noir","price": "40.99","shippingPrice": "4.95","totalPrice": "45.94","condition": "New","availability": "InStock"}]}
Example — Data Being Fetched (Pending, Free)
When you request an EAN that is not yet cached (or whose cached data is stale), the actor triggers a background fetch and returns this free record. Run the actor again for the same EAN in about 1 hour to get the offers.
{"ean": "0198376596101","gl": "fr","found": false,"status": "pending","message": "Data is being fetched for this product. This request is free of charge. Please run the actor again for this EAN in about 1 hour to retrieve the offers.","retry_after_hours": 1}
Example — Input Without EAN (Error Record)
Entries that do not contain a valid EAN/GTIN are not processed. Instead, an error record is added to the dataset:
{"input": "not-an-ean","error": "EAN is required. Supply a valid EAN/GTIN (8, 12, 13 or 14 digits) for every product."}
Input Format
Select your target country from the dropdown (default: Netherlands), then enter one EAN/GTIN code per line:
87206483641814024074895542193575000923
Accepted formats: EAN-8 (8 digits), UPC-A (12 digits), EAN-13 (13 digits), GTIN-14 (14 digits). Any entry that is not a valid EAN/GTIN is rejected with an error record in the dataset.
Supported Countries
| Country | Code | Google Shopping Domain |
|---|---|---|
| Netherlands | NL | shopping.google.nl |
| Germany | DE | shopping.google.de |
| France | FR | shopping.google.fr |
| Belgium | BE | shopping.google.be |
| Austria | AT | shopping.google.at |
| Switzerland | CH | shopping.google.ch |
| Spain | ES | shopping.google.es |
| Italy | IT | shopping.google.it |
| Poland | PL | shopping.google.pl |
| Sweden | SE | shopping.google.se |
| Denmark | DK | shopping.google.dk |
| Norway | NO | shopping.google.no |
| Finland | FI | shopping.google.fi |
| Portugal | PT | shopping.google.pt |
| Ireland | IE | shopping.google.ie |
| Czech Republic | CZ | shopping.google.cz |
| Hungary | HU | shopping.google.hu |
| Romania | RO | shopping.google.ro |
| Greece | GR | shopping.google.gr |
| Slovakia | SK | shopping.google.sk |
| Croatia | HR | shopping.google.hr |
| Bulgaria | BG | shopping.google.bg |
| United Kingdom | UK | shopping.google.co.uk |
| United States | US | shopping.google.com |
| Australia | AU | shopping.google.com.au |
| Canada | CA | shopping.google.ca |
| Brazil | BR | shopping.google.com.br |
| India | IN | shopping.google.co.in |
| Japan | JP | shopping.google.co.jp |
Supported Product Identifiers
EAN / GTIN barcodes — the only supported identifier. Our matching algorithm resolves these against Google Shopping automatically:
- EAN-8 (8 digits)
- UPC-A (12 digits)
- EAN-13 (13 digits, most common in Europe)
- GTIN-14 (14 digits)
Every product must include a valid EAN/GTIN. Entries without one return an error record telling you an EAN is needed.
Item Limits and Plan Tiers
| Plan | Limit |
|---|---|
| Free | 20 products per dataset |
| Paid | Set via ACTOR_MAX_PAID_DATASET_ITEMS environment variable |
The actor tracks unique products by EAN. Re-submitting the same identifier in a single run does not count twice. Items already in the dataset from previous runs count toward the limit.
Configuring a paid limit:
- Apify Console → Your Actor → Settings → Environment variables
- Add
ACTOR_MAX_PAID_DATASET_ITEMSwith your desired value (e.g.5000)
Pricing
You are only charged for records where the offers are actually returned ("found": true).
Data is served from a fresh cache with a 24-hour freshness window:
- Cache hit (
found: true) — offers are returned immediately and the lookup is charged. - Cache miss / stale (
found: false,status: "pending") — the actor triggers a background fetch and returns a free pending record. No charge is incurred. Run the actor again for that EAN in about 1 hour to retrieve the offers.
Submitting the same EAN or GTIN repeatedly within the freshness window drives up costs with no additional value. We recommend:
- Caching results on your side and setting a minimum re-query interval (24 hours is a reasonable baseline)
- Re-running only the EANs that came back as
"pending", after waiting ~1 hour - Reviewing your input list for duplicates before each run
Use Cases
Retail price monitoring — track how your products are priced across all Google Shopping sellers in each of your markets. Identify undercutting, map-price violations, and grey-market listings.
Dynamic repricing — feed real-time competitor prices into your repricing engine to stay competitive without eroding margin.
Market entry research — before expanding to a new country, assess the competitive landscape by querying your catalogue against that market's Google Shopping.
Marketplace benchmarking — compare your prices against the lowest and highest offers across multiple sellers to understand your positioning.
Price drop alerts — schedule regular runs and compare lowest_total_price against a stored baseline to trigger alerts when a competitor drops price significantly.
Support
For questions, issues, or feature requests, open a ticket via the Apify platform.
