Google Shopping Ads Spy Scraper avatar

Google Shopping Ads Spy Scraper

Pricing

from $17.00 / 1,000 ad scrapeds

Go to Apify Store
Google Shopping Ads Spy Scraper

Google Shopping Ads Spy Scraper

Google Shopping ads spy tool. Scrape paid PLA listings from desktop or mobile Google SERP with titles, prices, merchants, landing pages, and screenshots.

Pricing

from $17.00 / 1,000 ad scrapeds

Rating

0.0

(0)

Developer

LurkAPI

LurkAPI

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Google Shopping ads spy tool. Scrape paid PLA (Product Listing Ad) listings from desktop or mobile Google SERP with titles, prices, merchants, landing pages, and screenshots.

Unlike scrapers that only touch the organic shopping.google.com tab, this actor targets the paid Shopping carousel that appears at the top of a regular Google search. That's where the actual ad competition lives: the inventory, creative, and merchant pricing your competitors are spending on right now.

πŸ‘€ Who this is for

Performance marketers. Your CPCs jumped 40% on Tuesday. Run this on your top 10 keywords. You see four new advertisers entered the auction this week, two are pushing aggressive sale labels, and you now know who you are bidding against and what their creative says.

Pricing analysts. You are launching a new $79 SKU. Run this on the competitor product. Five minutes later you know the price floor ($32), the ceiling ($120), and where the cluster sits ($45 to $65). You set the price with data instead of guessing.

Ecommerce founders. You are evaluating a new category before committing. One run on the lead keyword returns 38 sponsored products from 14 brands, with prices and landing pages. You compress a week of competitive research into one dataset.

Agencies. You report on competitive ad activity every month. Schedule this actor on the keyword set per client. The dataset lands in your spreadsheet or BI tool. No manual screenshotting, ever.

πŸš€ Quick start

  1. Enter one or more search queries: wireless headphones, running shoes, whatever your competitors are bidding on.
  2. Pick a country and device (mobile and desktop Google show different ad inventory).
  3. Open the Proxy section and set the proxy country to match the country you picked in step 2. Residential is the default and works for every country.
  4. Toggle the add-ons you want: ad screenshot. (Landing page archive coming soon.)
  5. Click Start and collect the dataset.

🎯 What you get per ad

One row per unique sponsored product Google shows for your query. With the dataset you can:

  • Track competitor pricing live. Pull every ad on your keyword set every Monday. Build a pricing tracker without touching merchant sites.
  • Audit your own ads against the live carousel. Run on your brand keyword. See your actual position, who is between you and #1, and what their creative says.
  • Map a category before you launch. Run on the category lead keyword. Get a full sweep of who is bidding, at what price, on what landing pages.
  • Catch new entrants in real time. Schedule weekly. Diff the merchant list run-over-run. Spot the brands that just started bidding before they scale up.

Every row tells you:

  • The product. Title, image, current price, original price, discount percent, currency.
  • The seller. Brand name, storefront domain, star rating, review count.
  • The creative. Free-shipping badge, sale label, price-drop label, top-quality-store badge, promotional copy.
  • The landing. The real merchant URL the click goes to. Optionally: the full HTML snapshot of that page (coming soon), plus a PNG screenshot of the rendered ad card.
  • Sanity check. The city Google geolocated your session to. Confirms your targeting worked.

πŸ’° Pricing (pay-per-event)

You pay only for what the actor delivers. Product thumbnails and the landing page URL are included free on every row. No flag to enable, no per-event charge.

EventPrice
Ad scraped (base)$20.00 per 1,000
Landing page HTML archived (add-on) (coming soon)$5.00 per 1,000
Ad screenshot captured (add-on)$5.00 per 1,000

Add-ons only bill when they actually deliver a result. If an ad-screenshot fails for an ad, you are not charged for that ad.

❓ FAQ

How often does the data update? Every time you run it. There is no cache. The actor opens Google in real time and reads the current carousel. Run it again 5 minutes later and you may see different ads.

Can I schedule it? Yes. Apify's built-in scheduler lets you run this actor on any cron expression. Most agencies schedule weekly per client; some run daily on the keywords they care most about.

What countries and languages are supported? 50 countries (every market where Google Shopping ads run, including US, UK, Japan, Germany, France, Brazil, and more) and 37 languages. The full list is in the input form.

Do I need to configure a proxy? The actor ships with Residential proxy as the default and works for every supported country. You can pick Apify's datacenter proxy for US runs, or plug in your own custom proxies. The actor verifies before each scrape that the proxy is serving from the country you picked, and rotates the proxy session if it is not.

Why did my query return no ads? Google's Shopping ad inventory changes by the minute. The same query can return 15 ads one minute and 3 the next. Two things to try:

  1. Re-run the same query. Running 2 or 3 times and combining results gives you a far fuller picture than a single run.
  2. Use a fresh proxy session. A specific proxy may have landed on a thin set of ads. Re-running picks a new proxy and usually brings the missing ads back.

If you still see 0 ads after 2 or 3 attempts, switch to a more shopping-intent keyword (a brand name or a specific product) or to a country with consistently high inventory like US or GB.

Why do I sometimes see CAPTCHAs in the log? Google occasionally challenges a specific proxy session. The actor automatically retries with a fresh session up to 5 times per query, which usually clears it. If you see CAPTCHAs on most retries, double-check that your country and language match (for example, country JP with language ja).

πŸ’‘ Good to know

  • Mobile and desktop show different ads. Mobile Google Shopping often has richer carousels. Desktop shows fewer ads but with direct merchant links. Run both if you want full competitive coverage.
  • Inventory varies by country and query. A query with 40 ads in the US may have 3 in Germany. Branded and product-specific queries pull more ads than generic ones.
  • Inventory is dynamic for the same query. The same keyword can return 15 ads one minute and 3 the next, depending on which advertisers are actively bidding, your detected location, and Google's per-session audience sampling. Run the same query 2 or 3 times and merge the datasets before drawing conclusions. You will get a far more complete competitive picture than from a single run.
  • isSponsored is always true. This actor only scrapes paid listings, never organic results.
  • Add-on files (ad screenshots, plus the landing page HTML archive once that ships) are stored in the run's output storage. Retention follows your Apify plan.
  • The detectedLocation field shows the city Google geolocated the session to. Useful for confirming your targeting worked.

πŸ“‹ Output schema

Field names match what you see in the dataset.

FieldDescription
searchQueryThe query that produced this ad
devicemobile or desktop β€” the device profile used for this run
positionRank inside the Shopping Ads carousel
productTitleAd headline
productImageProduct image URL (renderable)
priceCurrent price shown on the ad
currencyISO currency code (USD, JPY, EUR, etc.)
originalPricePre-sale price when a discount is shown
discountPercentDiscount percentage when shown
merchantSeller brand name
merchantDomainSeller's storefront domain
ratingProduct star rating on the ad card (0 to 5)
reviewCountNumber of product reviews
storeRatingMerchant's store-level rating (0 to 5), shown on some cards instead of a per-product rating (e.g. Five Below). Independent of rating.
freeShippingtrue when the ad shows a "Free shipping" badge
saleLabelSale label text ("Sale", "Limited time deal", etc.)
priceDropLabel"Price drop" label text when shown
promotionTextPromo copy on the ad ("Spend $X get $Y", "Code: ABC", etc.)
topQualityStoreBadgeGoogle's "Top quality store" flag
detectedLocationCity Google geolocated this session to (sanity check your targeting)
landingPageThe real merchant URL behind the ad click. Included free
thumbnailKvUrlSaved product thumbnail image. Included free on every row
savedLandingPageFull landing page HTML snapshot saved to your run's storage (paid add-on) (coming soon)
adScreenshotKvUrlPNG screenshot of the rendered ad card (paid add-on)

βš™οΈ Advanced configuration

InputDescriptionDefault
searchQueriesList of search terms to scrape (up to 500 per run)required
countryCountry code: US, GB, JP, FR, and 46 others (full list in the input form)US
languageLanguage code matching the country: en, ja, fr, and 34 othersen
devicemobile or desktopmobile
maxAdsPerQueryStop scrolling once this many ads have been collected20
proxyConfigurationApify proxy. Residential is the default and required for any non-US countryResidential
captureScreenshotPaid add-on: save a PNG screenshot of the rendered ad cardfalse
outputPrice, outputMerchant, outputProductImage, outputRating, outputBadgesToggle field groups in the output rowsall true

βš–οΈ Disclaimer

This tool is intended for competitive research and personal use. You are responsible for complying with Google's Terms of Service and applicable laws in your jurisdiction. Data availability depends on what Google serves at run time.


Keywords: google shopping ads spy, shopping ads scraper, competitor ads scraper, google ads intelligence, sponsored listings scraper, ecommerce competitive intelligence, shopping campaign research, product listing ads scraper.