Free Google Shopping Scraper - Extract offers from any EAN/SKU avatar

Free Google Shopping Scraper - Extract offers from any EAN/SKU

Pricing

from $5.00 / 1,000 google-skus

Go to Apify Store
Free Google Shopping Scraper - Extract offers from any EAN/SKU

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 $5.00 / 1,000 google-skus

Rating

0.0

(0)

Developer

SR

SR

Maintained by Community

Actor stats

8

Bookmarked

290

Total users

49

Monthly active users

a day ago

Last modified

Share

Google Shopping Scraper — Real-Time Price & Offer Data by EAN, GTIN or SKU

Extract live pricing data from Google Shopping for any product, identified by EAN barcode, GTIN, or Google Shopping SKU. Get every seller offer — price, shipping, condition, seller identity — across 25+ countries, in one clean JSON output per product.

What It Does

This actor resolves your product identifiers 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.

Results are delivered whether a product is found or not. Every lookup counts — see Pricing for why this matters.

Output Schema

Each record in the dataset represents one product lookup.

Product Record

FieldTypeDescription
skustringGoogle Shopping product identifier
eanstringEAN / GTIN barcode
titlestringProduct title as listed on Google Shopping
brandstringBrand name
urlstringGoogle Shopping product page URL
thumbnailstringProduct image URL
currencystringISO 4217 currency code (e.g. EUR, GBP)
foundbooleantrue if the product exists on Google Shopping
offers_countintegerNumber of seller offers returned
lowest_total_pricenumberLowest combined price + shipping across all offers
highest_total_pricenumberHighest combined price + shipping across all offers
offersarrayFull list of seller offers — see below

Offer Object

FieldTypeDescription
sellerNamestringShop or marketplace name (e.g. bol.com, Amazon)
sellerCodestringGoogle Shopping's internal seller identifier
sellerReferencestringDirect URL to the product listing at the seller
pricestringBase product price
formerPricestring | nullOriginal price before discount, or null
shippingPricestringShipping cost ("0.00" for free shipping)
totalPricestringPrice + shipping combined
conditionstringProduct condition (New, Used, Refurbished)
shippingMethodstringShipping method (standard, express, etc.)

Example — Product Found

{
"sku": "15946942461803762490",
"ean": "8720938897238",
"title": "Luminize Oplaadbare wandlamp met Afstandsbediening Dimbaar",
"brand": "Luminize",
"url": "https://www.google.com/search?udm=3&q=shopping&dpr=1#oshopproduct=cid:15946942461803762490&oshop=apv&pvs=0&gl=nl",
"thumbnail": "https://encrypted-tbn0.gstatic.com/shopping?q=...",
"currency": "EUR",
"found": true,
"offers_count": 2,
"lowest_total_price": 39.95,
"highest_total_price": 39.95,
"offers": [
{
"sellerName": "bol.com",
"sellerCode": "7520579",
"sellerReference": "https://www.bol.com/nl/nl/p/...",
"price": "39.95",
"formerPrice": null,
"shippingPrice": "0.00",
"totalPrice": "39.95",
"condition": "New",
"shippingMethod": "standard"
},
{
"sellerName": "Luminize",
"sellerCode": "728738463",
"sellerReference": "https://www.luminize.eu/...",
"price": "39.95",
"formerPrice": null,
"shippingPrice": "0.00",
"totalPrice": "39.95",
"condition": "New",
"shippingMethod": "standard"
}
]
}

Example — Product Not Found

{
"sku": null,
"ean": "0000000000000",
"title": null,
"brand": null,
"url": null,
"thumbnail": null,
"currency": null,
"found": false,
"offers_count": 0,
"offers": []
}

Input Format

Select your target country from the dropdown (default: Netherlands), then enter one product code per line:

2813164546123018462
8720648364181
4024074895542
193575000923

The actor automatically detects whether a code is a Google Shopping SKU, EAN-8, EAN-13, UPC-A, or GTIN-14. No manual labelling required.

Supported Countries

CountryCodeGoogle Shopping Domain
NetherlandsNLshopping.google.nl
GermanyDEshopping.google.de
FranceFRshopping.google.fr
BelgiumBEshopping.google.be
AustriaATshopping.google.at
SwitzerlandCHshopping.google.ch
SpainESshopping.google.es
ItalyITshopping.google.it
PolandPLshopping.google.pl
SwedenSEshopping.google.se
DenmarkDKshopping.google.dk
NorwayNOshopping.google.no
FinlandFIshopping.google.fi
PortugalPTshopping.google.pt
IrelandIEshopping.google.ie
Czech RepublicCZshopping.google.cz
HungaryHUshopping.google.hu
RomaniaROshopping.google.ro
GreeceGRshopping.google.gr
SlovakiaSKshopping.google.sk
CroatiaHRshopping.google.hr
BulgariaBGshopping.google.bg
United KingdomUKshopping.google.co.uk
United StatesUSshopping.google.com
AustraliaAUshopping.google.com.au
CanadaCAshopping.google.ca
BrazilBRshopping.google.com.br
IndiaINshopping.google.co.in
JapanJPshopping.google.co.jp

Supported Product Identifiers

Google Shopping SKU — the long numeric identifier found in Google Shopping URLs (e.g. 13284544990519418637). Use this for guaranteed exact-product matching.

EAN / GTIN barcodes — our matching algorithm resolves these to the correct Google Shopping SKU automatically:

  • EAN-8 (8 digits)
  • UPC-A (12 digits)
  • EAN-13 (13 digits, most common in Europe)
  • GTIN-14 (14 digits)

Item Limits and Plan Tiers

PlanLimit
Free20 products per dataset
PaidSet via ACTOR_MAX_PAID_DATASET_ITEMS environment variable

The actor tracks unique products by SKU or 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:

  1. Apify Console → Your Actor → Settings → Environment variables
  2. Add ACTOR_MAX_PAID_DATASET_ITEMS with your desired value (e.g. 5000)

Pricing

Every product lookup — whether the product is found or not — is charged.

This is not a policy choice; it reflects the actual infrastructure cost. Each lookup runs the full resolution pipeline: our matching algorithm submits a real query to Google Shopping, handles anti-bot measures, resolves the EAN/GTIN to a SKU, and fetches all available offers. A "not found" result consumes the same resources as a successful one, because the absence of a result is only confirmed after the full pipeline has executed.

Submitting the same EAN or GTIN repeatedly 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)
  • Using "found": false records to identify products that are not listed on Google Shopping in a given market — and excluding them from future runs until there is a reason to believe their status has changed
  • 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.