Google Shopping Scraper avatar

Google Shopping Scraper

Pricing

from $0.20 / 1,000 results

Go to Apify Store
Google Shopping Scraper

Google Shopping Scraper

Search Google Shopping for product offers, merchants, prices, ratings, and review counts. Batch product phrases in one run to compare retail listings or monitor prices.

Pricing

from $0.20 / 1,000 results

Rating

0.0

(0)

Developer

Scrappa

Scrappa

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Categories

Share

Collect Shopping offers for multiple phrases. Results include product names, merchants, prices, ratings, review totals, categories, and thumbnails.

What data can you extract?

FieldTypeDescription
positionIntegerPosition of the offer in Google Shopping results, starting at 1.
categoryStringProduct category assigned to the shopping offer.
titleStringProduct name displayed for this Google Shopping offer.
sourceStringMerchant name selling the product.
thumbnailStringProduct image preview URL supplied with the offer.
priceStringDisplayed offer price and currency when provided by the merchant.
ratingNumberAverage customer rating shown for the product.
reviewsIntegerNumber of customer reviews shown for the product.
input_qStringProduct search phrase submitted to Google Shopping.
scraped_atStringUTC date and time when this shopping offer was collected.

Use cases

  • Retail teams can compare merchant offers and displayed prices.
  • E-commerce analysts can track ratings and review counts across products.
  • Category managers can collect product links for assortment reviews.

How to use

  1. Add one product phrase to queries for each Shopping search.
  2. Use maxPages to bound collection and maxResults to cap offers.
  3. Compare merchant, price, rating, and review fields.
{
"queries": [
{
"q": "running shoes"
}
],
"maxResults": 20,
"maxPages": 2
}

Input

FieldTypeRequiredDescription
queriesArray<object>YesProduct phrases to search in Google Shopping.
queries[].qstringYes per entryProduct search query.
queries[].glstringNoTwo-letter country code. Default: us.
queries[].hlstringNoTwo-letter interface language. Default: en.
queries[].locationstringNoLocation name encoded as a best-effort canonical UULE. Cannot be used with uule; provide uule directly for exact targeting.
queries[].uulestringNoEncoded Google location. Cannot be used with location.
queries[].startintegerNoZero-based pagination offset. Default: 0.
queries[].devicestringNodesktop, mobile, or tablet. Default: desktop.
queries[].small_businessbooleanNoOnly return small-business results. Cannot be used with shoprs.
queries[].shoprsstringNoOpaque Google Shopping filter token. Cannot be used with small_business.
glstringNoTwo-letter country code. Default: us.
hlstringNoTwo-letter interface language. Default: en.
locationstringNoLocation name encoded as a best-effort canonical UULE. Cannot be used with uule; provide uule directly for exact targeting.
uulestringNoEncoded Google location. Cannot be used with location.
startintegerNoZero-based pagination offset. Default: 0.
devicestringNodesktop, mobile, or tablet. Default: desktop.
small_businessbooleanNoOnly return small-business results. Cannot be used with shoprs.
shoprsstringNoOpaque Google Shopping filter token. Cannot be used with small_business.
maxResultsintegerNoMaximum dataset items to save across this entire run.
maxPagesintegerNoMaximum pages to request for each batch entry.

Output example

{
"position": 1,
"category": "Electronics",
"title": "Soundcore Space One Wireless Headphones",
"source": "Soundcore Store",
"thumbnail": "https://cdn.soundcore.com/products/space-one/black-front.jpg",
"price": "$99.99",
"rating": 4.6,
"reviews": 1842,
"input_q": "running shoes",
"scraped_at": "2026-10-01T12:00:00Z"
}

Pricing

$0.30 per 1,000 results. Apify saves one dataset item per result and applies the Actor’s per-result price to saved items.

Pagination follows the source response. Set maxPages per batch entry and maxResults across the run.

FAQ

Rules depend on the source, location, data type, and intended use. Check applicable laws and source terms, and make sure your workflow follows privacy and data protection requirements.

What limits apply?

Submit up to 100 batch entries per run. Use maxResults to cap saved items and maxPages to limit pages for each entry. Results also depend on source availability and your Scrappa API plan.

Can I start runs through the Apify API?

Yes. Send a POST request to https://api.apify.com/v2/acts/thescrappa~google-shopping-scraper/runs with your Actor input, or use an Apify client library. Read the output from the run dataset.

Can I connect the results to other tools?

Yes. Apify integrations and APIs can pass dataset results to Make, Zapier, n8n, Google Sheets, and other data workflows.

What happens when one input fails?

The Actor logs a short source error and continues with the remaining entries. Transient rate limits and gateway errors are retried; if every entry fails, the run reports an error.

Are prices normalized to one currency?

The Actor returns source price text. Use the displayed market and currency context when comparing offers.