Google Shopping Scraper - Ads, Prices & Merchants avatar

Google Shopping Scraper - Ads, Prices & Merchants

Pricing

$3.00 / 1,000 shopping ad scrapeds

Go to Apify Store
Google Shopping Scraper - Ads, Prices & Merchants

Google Shopping Scraper - Ads, Prices & Merchants

Updated 7 Aug 2026. Google Shopping scraper and API for the PAID Shopping ads on Google Search, not the organic tab. ~5s per keyword, 20x faster. 47 fields: price, merchantDomain, landingPage, ratings, delivery, promotions + each merchant's CSS. Price monitoring and competitor analysis. UK/EU/US.

Pricing

$3.00 / 1,000 shopping ad scrapeds

Rating

0.0

(0)

Developer

Chris Coussons

Chris Coussons

Maintained by Community

Actor stats

1

Bookmarked

1

Total users

1

Monthly active users

6 days ago

Last modified

Share

Updated 7 August 2026.

A Google Shopping scraper and Google Shopping API alternative that returns the paid Shopping ad carousel from Google Search - not the organic Shopping tab.

Scrape Google Shopping results for any keyword and get 47 fields per ad at around 5 seconds per keyword, roughly 20x faster than comparable tools. Verified in the UK, Germany and the US.

Use it as an ecommerce price scraper, a Google Shopping results API, or a merchant discovery tool.

What you can do with it

Competitor price monitoring

Track what every competing merchant charges for a product, including the was-price, discount percentage and unit price. Run the same keyword set daily to watch price movements across a category.

Google Shopping price API

Query any keyword and get structured pricing back - price, priceValue, currency, currencyCode, originalPrice, discountPercent, pricePerUnitValue. No feed access or merchant account needed.

Google Shopping competitor analysis

See which merchants advertise on your keywords, where they rank in the carousel, what promotions they run and how their delivery and returns terms compare to yours.

Merchant and lead discovery

Every row carries merchantDomain and landingPage, so a keyword sweep becomes a list of advertising merchants with their websites - usable for outreach, not just price tracking.

Comparison Shopping Service (CSS) research

In the UK, EEA and Switzerland, Google prints an attribution line on every Shopping ad - "By Google", "By Producthero", "By FeedOptimise". This scraper returns it as cssProvider and cssType. No other Google Shopping scraper does.

It tells you whether a merchant advertises through Google's own Comparison Shopping Service, where they pay up to 20% more per click, or through a Google CSS partner. Useful for CSS partners building prospect lists, and for agencies auditing client accounts.

Why this scraper

Fast. About 4.7 seconds per keyword. Searches are batched inside a single warmed browser session rather than relaunching per keyword, which is where alternatives lose their time. A 40-keyword sweep returning 1,184 ads finishes in about three minutes.

Deep. 47 fields per ad, including merchant domain, landing page, Google's internal merchant and product IDs, unit pricing, delivery cost, returns policy and product condition.

No solver account needed, nothing to sign up for. Google's anti-bot interstitial is handled for you and included in the price. You never need a captcha-solving subscription, and the optional solver-key field can be left blank - it exists only for advanced users who prefer to bill solves to their own account.

Built to keep running. If a page misbehaves it retries through several approaches before giving up, every failed row carries a structured error code rather than failing silently, and it can email you when a run goes wrong.

Common questions this answers: Which merchants advertise on a keyword? What are competitors charging right now? Which merchant domains run Shopping ads in my category? Which Comparison Shopping Service does a merchant use? How do desktop and mobile Shopping ads differ?

Output fields

One row per ad. Every field below is returned; fields Google only shows on certain listings return null when absent.

Product

FieldTypeDescription
productTitlestringFull product title as shown on the ad
productIdstringGoogle's offer/product identifier
productImagestringProduct image (data URI or URL)
conditionstringNew, Refurbished, Used, Pre-owned or Open box

Pricing

FieldTypeDescription
pricestringDisplayed price, e.g. £339.00
priceValuenumberNumeric price, e.g. 339
currencystringCurrency symbol, e.g. £
currencyCodestringISO code, e.g. GBP
originalPricestringPre-discount price when shown
originalPriceValuenumberNumeric pre-discount price
discountPercentnumberCalculated discount percentage
checkoutPricestringTotal or checkout price when shown
checkoutPriceValuenumberNumeric checkout price
pricePerUnitTextstringUnit pricing, e.g. £2.80/1kg
pricePerUnitValuenumberNumeric unit price

Merchant

FieldTypeDescription
merchantstringMerchant name
merchantDomainstringMerchant website domain
merchantIdstringGoogle's internal merchant identifier
landingPagestringDirect product URL on the merchant site
googleAdUrlstringGoogle ad click URL

Fulfilment

FieldTypeDescription
deliveryTextstringDelivery line, e.g. Free by 12/08
deliveryCostnumberNumeric delivery cost, 0 when free
freeShippingbooleanWhether delivery is free
clickAndCollectbooleanWhether collection is offered
returnsTextstringReturns policy, e.g. 30-day returns

Ratings

FieldTypeDescription
ratingnumberProduct rating out of 5
reviewCountnumberNumber of product reviews
storeRatingnumberMerchant store rating out of 5
storeReviewCountnumberNumber of store reviews

Promotions and badges

FieldTypeDescription
saleLabelstringe.g. SALE, Special offer
priceDropLabelstringPrice drop indicator
promotionTextstringe.g. Save 10% when you subscribe
promotionCodestringVoucher code when shown
promotionDiscountPercentnumberPromotion percentage
badgestringe.g. Trending brand
topQualityStoreBadgebooleanGoogle Top Quality Store badge

Comparison Shopping Service

FieldTypeDescription
cssProviderstringThe CSS named on the ad, e.g. Google, Producthero, FeedOptimise
cssTypestringgoogle, partner, or label_not_read

cssType is never inferred. If the label could not be read, the row says label_not_read rather than guessing.

Context

FieldTypeDescription
searchQuerystringKeyword that produced the ad
positionnumberAd position for that keyword
devicestringdesktop or mobile
countrystringMarket code used
languagestringLanguage code used
detectedLocationstringLocation Google reported for the request
scrapedAtstringTimestamp
idstringStable row identifier
adCardScreenshotstringPNG URL, when screenshots are enabled

Input

FieldDefaultDescription
searchQueries-Buyer keywords, one per line (required)
googleDomainwww.google.co.ukGoogle front end to search
countryCodegbMarket targeting
languageCodeenLanguage
devicedesktopdesktop or mobile
location-Optional city or postal area for local ads
maxAdsPerQuery40Cap per keyword
maxTotalAds0Overall cap, 0 for no cap
queriesPerSession8Searches per browser session - higher is faster and cheaper
proxyTypeRESIDENTIALRESIDENTIAL or DATACENTER
captureScreenshotsfalseSave a PNG of each ad card
capsolverApiKey-Not required - leave blank. Solving is included. Only for advanced users who want solves billed to their own account

Example

{
"searchQueries": ["oak sideboard", "wireless headphones"],
"countryCode": "gb",
"device": "desktop",
"maxAdsPerQuery": 40
}

Returns rows like:

{
"searchQuery": "oak sideboard",
"position": 1,
"productTitle": "Ancroft Waxed Oak 3 Door 3 Drawer Large Sideboard",
"price": "£339.00",
"priceValue": 339,
"currencyCode": "GBP",
"merchant": "Oak World",
"merchantDomain": "oakworld.co.uk",
"landingPage": "https://www.oakworld.co.uk/shop/sideboards/ancroft-oak-large-sideboard/",
"deliveryText": "Free by 12/08",
"freeShipping": true,
"condition": "New",
"cssProvider": "Producthero",
"cssType": "partner"
}

Use cases

  • Competitive price monitoring across merchants and keywords
  • Shopping ad rank and share-of-voice tracking
  • Merchant and lead discovery with domains and landing pages
  • Promotion, discount and unit-price tracking
  • Desktop versus mobile Shopping ad comparison
  • Finding merchants on Google's own CSS who are overpaying per click
  • Building switch lists for CSS partners and feed agencies
  • Auditing which CSS a brand advertises through

Benchmarks

Measured on live results.

Speed and scale (UK): 40 keywords, 1,184 ads, 188 seconds end to end - about 4.7 seconds per keyword. 93% of ads carried a readable CSS label, 97.8% of merchants resolved, and every merchant returned the same CSS across every keyword it appeared on.

Verified across markets:

MarketAdsErrorsCurrencyCSS attribution
UK (google.co.uk)400GBP39 of 40 labelled
Germany (google.de)600EUR49 of 60 labelled
US (google.com)580USDn/a - no CSS programme

European number formats are handled (41,95 € parses to 41.95), and attribution is read in English, German, French and Spanish. In the US every field works except CSS, which does not exist there.

Also known as

Paid Shopping ads are also called product listing ads or PLAs. People look for this kind of tool as a Google Shopping scraper, a Google Shopping API, a Google Shopping results API, a Google Shopping search API, a way to scrape Google Shopping results, or an ecommerce price scraper. This Actor covers all of those, for paid ad data specifically.

Notes

CSS attribution exists only in the UK, EEA and Switzerland, where the Comparison Shopping Service remedy applies. All other fields work in every Google market.

Unit pricing, checkout price, promotion codes and price-drop labels are card features Google shows selectively. They populate when present - unit pricing fills on roughly a third of consumable listings and correctly returns null on categories like furniture.