Home / Tools / Google Shopping Scraper

E-commerce & reviews

Google Shopping Scraper

Compare Google Shopping prices by keyword, barcode (UPC/EAN/GTIN), product ID or URL. Every seller offer with price, shipping, total, condition and stock, plus min/max/typical price. Price monitoring flags price drops and new or removed sellers. 45 countries.

Run it on Apify API & MCP

Sample output

ProductMin priceMax priceSellersRating
FOLGERS Classic Roast Ground Coff…15.4937.8854.54
Mr. Coffee 12 Cup Programmable Co…39.99274.1234

Real rows from the prefilled example run (Oct 19, 2026), 5 of 35+ fields shown. Export as JSON, CSV, Excel or HTML, or read them through the API.

Full JSON of one real output row (8 rows in the example dataset)
{
  "type": "product",
  "title": "FOLGERS Classic Roast Ground Coffee",
  "productId": "14870010698400265781",
  "gid": "3245476400833551948",
  "gtin": "025500304076",
  "gtin14": "00025500304076",
  "brand": "Folgers",
  "image": "https://encrypted-tbn0.gstatic.com/shopping?q=tbn:ANd9GcRlHx77-x9dpoYEJJ3RAB_y6ZghtVS5N8LUPrcA3jRG9JqFMQxcuMPl0BxGyV7zCMSAn1CudHyJ5w1PVpg0DzzsFkiKNdkBZUtuYDufvGUjFLGkNTsp7DKV",
  "rating": 4.54,
  "reviewsCount": 18584,
  "price": 16.69,
  "oldPrice": null,
  "minPrice": 15.49,
  "maxPrice": 37.88,
  "typicalPrice": 21.75,
  "minTotalPrice": 16.48,
  "cheapestSeller": "Home Depot",
  "sellersCount": 5,
  "currency": "USD",
  "headlineSeller": "Target",
  "delivery": "Free delivery on $35+",
  "tags": null,
  "productUrl": "https://www.folgerscoffee.com/coffee/ground/classic-roast",
  "googleShoppingUrl": "https://www.google.com/search?ibp=oshop&q=oid:5318820814816993831&prds=gpcid:3245476400833551948,rds:PC_3245476400833551948|PROD_PC_3245476400833551948,headlineOfferDocid:5318820814816993831,catalogid:14870010698400265781,pvt:hg&hl=en&gl=us&udm=28",
  "description": "SKU 46431727- No matter what morning brings, you know you can count on the iconic red Folgers coffee canister for The Best Part of Wakin’ Up. Folgers Classic Roast ground coffee has been loved for generations for its famously fresh aroma and rich, smooth flavor. It’s the quintess...",
  "images": [
    "https://encrypted-tbn0.gstatic.com/shopping?q=tbn:ANd9GcRlHx77-x9dpoYEJJ3RAB_y6ZghtVS5N8LUPrcA3jRG9JqFMQxcuMPl0BxGyV7zCMSAn1CudHyJ5w1PVpg0DzzsFkiKNdkBZUtuYDufvGUjFLGkNTsp7DKV",
    "https://encrypted-tbn3.gstatic.com/shopping?q=tbn:ANd9GcSqkZE6vR4UPCfrLDWe88vkRA2IpFbBYjVdaojVaHKl4hnvFLSxbh-rOmn849VbXvFPxPlDvC9JPbYESaCrOpKjrDVzE4q6H-17OCvETU03jFMKKTfqVF3fog",
    "https://encrypted-tbn0.gstatic.com/shopping?q=tbn:ANd9GcRI8tGCN0wuvyi81i5GVPyLHPU3QpOxElox5wvVTXX_WkT5-fauXv5cW__MLs9Fq_pE_NMbgRLs3vcPuYQ2bb8vPog6HYDkXdMH7oLfnqccSDLmhDUM7-uH",
    "... 9 more"
  ],
  "specifications": {
    "Form Type": "Ground",
    "Roast Type": "Medium",
    "Aroma": "Fresh aroma",
    "Certifications": "Kosher",
    "Region of Origin": "Mountain Grown",
    "Flavor Notes": "Coffee",
    "Flavor Profile": "Smooth, Robust",
    "Flavor Type": "Pure",
    "Container Type": "Canister",
    "Variety Pack": "No",
    "Bulk": "No",
    "Caffeine Content": "Caffeinated",
    "Free Of": "Fat Free",
    "Contains": "100% Pure Coffee",
    "Dietary Restrictions": "Gluten Free",
    "Highlighted Ingredients": "100% Pure Coffee",
    "Allergens": "Celery",
    "Fat Content": "Fat Free",
    "Sugar Content": "0g (Total Sugars)",
    "Sustainability Practices": "Proudly roasted in New Orleans",
    "Environmental Impact": "0% Total Recycled Content Percent",
    "Brewing Method": "French press, Automatic drip",
    "Grind Size": "Medium",
    "Serving Suggestion": "Share a pot with your crew, Enjoy it by the cup",
    "Top Use Cases": "Daily brewing",
    "Dietary Needs": "Gluten-free",
    "Typical Users": "Coffee lovers",
    "Brand": "Folgers",
    "Manufacturer": "Folgers",
    "Highlighted Features": "Classic Roast",
    "Seasonal": "No"
  },
  "features": null,
  "variants": [
    {
      "title": "6 Pack",
      "category": "Pack Size",
      "productId": "14870010698400265781",
      "url": "https://www.google.com/search?ibp=oshop&q=oid:5318820814816993831&hl=en&gl=us&prds=catalogid:14870010698400265781,gpcid:3245476400833551948,headlineOfferDocid:5318820814816993831,pvo:3,pvt:hg,rds:PC_3245476400833551948|PROD_PC_3245476400833551948,pvf:EhMiCXBhY2sgc2l6ZSoGNiBwYWNr&..."
    },
    {
      "title": "Single",
      "category": "Pack Size",
      "productId": "14870010698400265781",
      "url": "https://www.google.com/search?ibp=oshop&q=oid:5318820814816993831&hl=en&gl=us&prds=catalogid:14870010698400265781,gpcid:3245476400833551948,headlineOfferDocid:5318820814816993831,pvo:3,pvt:hg,rds:PC_3245476400833551948|PROD_PC_3245476400833551948,pvf:EhMiCXBhY2sgc2l6ZSoGc2luZ2xl&..."
    },
    {
      "title": "25.9 oz",
      "category": "Size",
      "productId": "14870010698400265781",
      "url": "https://www.google.com/search?ibp=oshop&q=oid:5318820814816993831&hl=en&gl=us&prds=catalogid:14870010698400265781,gpcid:3245476400833551948,headlineOfferDocid:5318820814816993831,pvo:3,pvt:hg,rds:PC_3245476400833551948|PROD_PC_3245476400833551948,pvf:Eg8iBHNpemUqBzI1Ljkgb3o&pvf=E..."
    },
    "... 2 more"
  ],
  "match": {
    "method": "barcode_search",
    "confidence": "high",
    "searchRank": 1,
    "webName": "folgers classic roast ground coffee medium 25.9 oz"
  },
  "source": {
    "type": "barcode",
    "input": "025500304076"
  },
  "country": "US",
  "language": "en",
  "location": "United States",
  "scrapedAt": "2026-10-19T10:00:38Z"
}

Output fields

From the Actor's dataset schema. Every row has the same flat shape, so it drops straight into a spreadsheet, a database or an agent's context.

FieldTypeDescription
typestringproduct, offer or not_found (not_found rows are free)
titlestringProduct title
productIdstringGoogle Shopping product ID (catalog ID)
gidstringGoogle global product ID
gtinstringBarcode you searched (barcode lookups)
gtin14stringBarcode as 14-digit GTIN
brandstringBrand (with details)
imagestringMain image URL
ratingnumberProduct rating 1-5
reviewsCountintegerNumber of product reviews
pricenumberHeadline price shown on Google Shopping
oldPricenumberPrevious / strike-through price
minPricenumberLowest seller price
maxPricenumberHighest seller price
typicalPricenumberMedian seller price
minTotalPricenumberLowest price incl. shipping
cheapestSellerstringSeller with the lowest total price
sellersCountintegerNumber of sellers (offers returned, or Google's count)
currencystringCurrency (ISO code)
headlineSellerstringSeller shown in search results
deliverystringDelivery info
tagsarrayBadges, e.g. LOW PRICE, 10% OFF
productUrlstringBrand / product URL
googleShoppingUrlstringGoogle Shopping product link

Pricing

Pay per result, billed by Apify. No subscription and no minimum. Discount tiers apply automatically on paid Apify plans.

EventFree planBronzeSilverGold
Product result main
Charged once for each product successfully saved to the dataset.
$0.002$0.0017$0.0015$0.0013
Barcode lookup
Charged once when a product is matched from a barcode (GTIN/UPC/EAN), with details included.
$0.012$0.012$0.012$0.012
Offer result
Charged once for each seller offer successfully saved to the dataset.
$0.0005$0.0005$0.0005$0.0005
Product details
Charged once when product details are fetched (product ID/URL lookups, or includeDetails for search rows).
$0.003$0.003$0.003$0.003
Actor start
Charged once when the Actor run starts.
$0.001$0.001$0.001$0.001

Examples on the Free plan: 100 product results = $0.20, 1,000 product results = $2, 10,000 product results = $20. Apify's Free plan includes $5 of monthly usage credit. Prices read from the Apify API at build time (2026-10-19).

Scheduled price change from 2026-11-02 (Free-plan tier): Product result: $0.002 → $0.003. Paid-plan tiers change accordingly. The table shows today's prices.

Example input

This is the prefilled input on the Store page. Keep it and click Start to see real data in seconds.

{
  "queries": [
    "coffee maker"
  ],
  "gtins": [
    "025500304076"
  ],
  "country": "US",
  "sort": "relevance",
  "condition": "any",
  "maxProducts": 2,
  "maxProductsPerQuery": 40,
  "fetchOffers": true,
  "maxOffersPerProduct": 10,
  "includeDetails": false,
  "resolveOfferUrls": true,
  "onlyChanges": false,
  "minPriceChangePct": 0
}

Use it from code, no-code or an AI agent

cURL (one request, returns rows)
curl -X POST \
  "https://api.apify.com/v2/acts/wrenfield-data~google-shopping-price-comparison/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"queries": ["coffee maker"], "gtins": ["025500304076"], "country": "US", "sort": "relevance", "condition": "any", "maxProducts": 2, "maxProductsPerQuery": 40, "fetchOffers": true, "maxOffersPerProduct": 10, "includeDetails": false, "resolveOfferUrls": true, "onlyChanges": false, "minPriceChangePct": 0}'
Python
# pip install apify-client
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("wrenfield-data/google-shopping-price-comparison").call(
    run_input={
    "queries": [
        "coffee maker"
    ],
    "gtins": [
        "025500304076"
    ],
    "country": "US",
    "sort": "relevance",
    "condition": "any",
    "maxProducts": 2,
    "maxProductsPerQuery": 40,
    "fetchOffers": True,
    "maxOffersPerProduct": 10,
    "includeDetails": False,
    "resolveOfferUrls": True,
    "onlyChanges": False,
    "minPriceChangePct": 0
},
    max_total_charge_usd=1.00,  # hard cap for this run
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(row)
JavaScript / Node
// npm i apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('wrenfield-data/google-shopping-price-comparison').call({
  "queries": [
    "coffee maker"
  ],
  "gtins": [
    "025500304076"
  ],
  "country": "US",
  "sort": "relevance",
  "condition": "any",
  "maxProducts": 2,
  "maxProductsPerQuery": 40,
  "fetchOffers": true,
  "maxOffersPerProduct": 10,
  "includeDetails": false,
  "resolveOfferUrls": true,
  "onlyChanges": false,
  "minPriceChangePct": 0
}, { maxTotalChargeUsd: 1 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
MCP (Claude, Cursor, VS Code, any MCP client)
{
  "mcpServers": {
    "wrenfield-google-shopping-price-comparison": {
      "url": "https://mcp.apify.com?tools=wrenfield-data/google-shopping-price-comparison"
    }
  }
}

Remote MCP server hosted by Apify. Sign in with OAuth on first use, or send Authorization: Bearer <APIFY_TOKEN>. The tool appears as wrenfield-data--google-shopping-price-comparison. More client setups on the MCP page.

n8n, Make, Zapier

Use the official Apify node or app, pick Run Actor, enter wrenfield-data/google-shopping-price-comparison and paste the input JSON above. Then read the run's dataset items. Ready-made n8n workflows are on the n8n templates page.

FAQ

How much does Google Shopping Scraper cost?

$0.002 per product result on the Apify Free plan ($2 per 1,000), billed per result by Apify with no subscription. Plus $0.012 per barcode lookup. Plus $0.0005 per offer result. Plus $0.003 per product details. Plus $0.001 per actor start. Higher Apify plans get the discounted tiers shown in the pricing table. You can cap any run with a maximum cost.

Can I search Google Shopping by UPC or EAN?

Yes. Put the barcodes in Barcodes (UPC / EAN / GTIN). Each barcode is matched to a Google Shopping product and you get its offers. See "how matching works" above.

How accurate is the barcode lookup?

In our tests about 86% of barcodes matched the exact product and about 10% were not listed on Google Shopping in that country (those are free). Every row has match.confidence. Use high and medium for automated pipelines.

Why is a barcode "not found"?

The product isn't sold by any store on Google Shopping in the chosen country, or the barcode isn't publicly known (common for private-label products). Try the country where the product is sold.

Which countries are supported?

45 countries, including the US, UK, Germany, France, Italy, Spain, the Netherlands, Canada, Australia, India, Japan and Brazil. You can also set a city, ZIP code or region for local prices.

Does it include shipping and tax?

shippingPrice and totalPrice are included whenever Google shows them. In the US, prices exclude sales tax, as on Google Shopping.

Can I get all sellers for a product?

Yes. Turn on Get all seller offers and set max offers per product (up to 100).

Related tools

Compare and plan

Try Google Shopping Scraper now

Open it on Apify, keep the prefilled example and click Start. The Apify Free plan includes $5 of monthly credit, no card needed.

Open on Apify