Scraper API

Google Shopping Results API

with products, prices, and seller ratings

Search Google Shopping and get the whole grid as clean JSON. One request returns every listing with title, price, seller, rating, and delivery across the sponsored, organic, and comparison blocks, with geo-targeting handled for you.

SUCCESS
99.9%

of requests succeed

P50
5.7s

median response

P95
11.9s

95% finish faster

PRICE
$0.75

per 1k shopping searches at volume

Stop maintaining scrapers

Google reshuffles Shopping constantly. Your parser shouldn't care.

  • Prices in a dozen currencies and formats
  • Sponsored and organic listings mixed together
  • Sellers and ratings nested per product
  • Immersive product pages behind tokens
  • Re-parse the grid after each redesign
One integration commit replaces a backlog you’ll never finish.
scraper | git log
hotfix: markup changed, nulls in price
fix: sponsored listing parsed as organic
fix: currency symbol broke extractedPrice
chore: rotate proxies for shopping runs again
fix: seller rating misparse on multi-offer
hotfix: thumbnail URLs stopped resolving
fix: pagination token changed past page one
chore: refresh residential IPs by country
fix: delivery string format switched by locale
fix: retry storm on rate limits
hotfix: markup changed, nulls in price
fix: sponsored listing parsed as organic
fix: currency symbol broke extractedPrice
chore: rotate proxies for shopping runs again
fix: seller rating misparse on multi-offer
hotfix: thumbnail URLs stopped resolving
fix: pagination token changed past page one
chore: refresh residential IPs by country
fix: delivery string format switched by locale
fix: retry storm on rate limits
hotfix: markup changed, nulls in price
fix: sponsored listing parsed as organic
fix: currency symbol broke extractedPrice
chore: rotate proxies for shopping runs again
fix: seller rating misparse on multi-offer
hotfix: thumbnail URLs stopped resolving
fix: pagination token changed past page one
chore: refresh residential IPs by country
fix: delivery string format switched by locale
fix: retry storm on rate limits
hotfix: markup changed, nulls in price
fix: sponsored listing parsed as organic
fix: currency symbol broke extractedPrice
chore: rotate proxies for shopping runs again
fix: seller rating misparse on multi-offer
hotfix: thumbnail URLs stopped resolving
fix: pagination token changed past page one
chore: refresh residential IPs by country
fix: delivery string format switched by locale
fix: retry storm on rate limits
feat: integrate HasData API
Code Examples

One GET Request. That's the whole integration.

Start with just a query. Add more parameters when your use case needs them.

request example
curl -G 'https://api.hasdata.com/scrape/google/shopping' \
	--data-urlencode 'q=Coffee' \
	--data-urlencode 'location=Austin,Texas,United States' \
	--data-urlencode 'deviceType=desktop' \
	--header 'x-api-key: <YOUR_API_KEY>' \
	--header 'Content-Type: application/json'
q * Search Query
Specify the search term for which you want to scrape the SERP.
location Location
Google canonical location for the search.
uule Encoded Location
The encoded location parameter.
domain Domain
Google domain to use. Default is google.com.
gl Country
The two-letter country code for the country you want to limit the search to.
hl Language
The two-letter language code for the language you want to use for the search.
tbs Advanced Search Parameters
This parameter supports various filters that can be combined by separating them with a comma. Here are examples of these filters: - Specific Time Range: `cdr:1,cd_min:10/17/2018,cd_max:3/8/2021` - Filter results to show only those within the defined date range. - Sort by Date: `sbd:1` - Results are sorted by date, from the most recent to the oldest. - Sort by Relevance: `sbd:0` - Results are sorted by relevance to the search query. - Sites with Images: `img:1` - Only show results from webpages that contain images. Quick Date Range (qdr): - `qdr:h` - Show results from the past hour. - `qdr:d` - Limit results to the past day. - `qdr:w` - Filter results from the week. - `qdr:m` - Display results from the past month. - `qdr:y` - Show results from the past year. - `qdr:h10`, `qdr:d10`, `qdr:w10`, `qdr:m10`, `qdr:y10` - Specify a number to show results from the last 10 hours, days, weeks, months, or years respectively. These filters enhance the control over search results, allowing for precise retrieval of information based on specific criteria.
shoprs Search Filter ID
Specifies the helper ID for applying search filters. Must be used with the updated `q` parameter, which includes the selected filter (e.g., Coffee sale). To apply filters, use the `hasdata_link` from `filters[index].options[index]` in the JSON. Apply multiple filters by following each `hasdata_link` one by one. To remove a filter, follow its specific `hasdata_link`.
start Result Offset
This parameter specifies the number of search results to skip and is used for implementing pagination. For example, a value of 0 (default) indicates the first page of results, 40 refers to the second page, and 80 to the third page.
deviceType Device
Specify the device type for the search.
TRY ALL 10 PARAMETERS FREE
Response

Every block, one predictable schema

Sponsored grid, comparison listings, and filters come back with the same keys on every request. Map them once and forget about it.

shoppingResults.json
[
  {
    "position": 1,
    "title": "Apple MacBook Air M1 Chip",
    "productId": "1434325277585982111",
    "immersiveProductPageToken": "eyJyZHMiOiJQQ18xMTUyMzM4MDc3ODU0NDE0ODQx...",
    "price": "$419.00",
    "extractedPrice": 419,
    "source": "Walmart - Seller",
    "rating": 4.6,
    "reviews": 18000,
    "delivery": "Free delivery",
    "extensions": ["LOW PRICE"],
    "thumbnail": "https://files.hasdata.com/1a268bee-f995-47dc-bf45-4db0e738eba2.webp"
  }
]
Fields in shoppingResults
position number

Rank within the shopping grid

title string

Product name as listed

productId string

Google's product identifier

price / extractedPrice string / number

Display price and its numeric value

source string

Seller or retailer behind the listing

rating / reviews number

Average rating and review count

delivery string

Delivery terms shown on the card

extensions string[]

Badges like LOW PRICE or SALE

immersiveProductPageToken string

Token to pull the full product page

What We Offer

An all-in-one scraping service

Every feature you need to collect data from thousands to millions of requests.

Loved by developers

Teams that deleted their scraper

Now it's the part of the pipeline they don't think about

4.8 ★★★★★
across 100+ reviews on 5 platforms
Trustpilot Trustpilot ★★★★★

HasData delivers exactly what we need: speed and comprehensive search features. It's the fastest API we've used in this space. Plus, their customer support is fantastic.

Denver Sinclair
Denver Sinclair
Capterra Capterra ★★★★★

We rely on HasData for search performance data and broader scraping needs. Their APIs deliver highly structured data that integrates directly into our platforms.

JN
Jacob N.
Trustpilot Trustpilot ★★★★★

Great web scraping API which is incredibly easy to use. It requires minimal effort to get up and running, and the documentation is very clear and helpful.

Arnold Foster
Arnold Foster
Trustpilot Trustpilot ★★★★★

I needed to scrape some information they didn't already support, and they wrote the code for me right away, which was super nice of them.

Hussein Ali
Hussein Ali
Clutch Clutch ★★★★★

We were particularly impressed with how easily we could integrate HasData into our existing workflow.

TB
Taras Bazyshyn
CEO at BAZTDL Sp. z o.o
Pricing

Plans that get cheaper at scale

Fixed price, fixed volume, no surprises at the end of the month. Upgrade when you need more.

Free
$0 /mo
One-time free trial
100 shopping searches to start
1 concurrent request
Team seats
Community support
Start free
Startup
$41 /mo
$2.04 / 1k shopping searches
20K shopping searches / month
15 concurrent requests
Team seats
Email support
Get started
Business
Recommended
$83 /mo
$0.82 / 1k shopping searches
100K shopping searches / month
30 concurrent requests
Team seats
Priority email support
Get started
Growth
$208 /mo
$0.69 / 1k shopping searches
50 concurrent requests
Team seats
Dedicated account manager
Get started
Monthly shopping search volume
Free 100K 500K 2M 6M 10M
Best fit
Business
shopping searches / mo
100K
Concurrency
30
$ / 1k shopping searches
$0.82
$83 /mo
Get Started
Enterprise
Custom price based on required volume

Past 100M scrapes a month, or terms the self-serve plans do not cover. We shape the contract around your workload.

Credits rollover
Unused credits carry into the next billing period.
Concurrency 2000+
Parallel request limits set to your peak load.
#1 request priority
Highest speed, always first in the queue.
Personal manager
A direct line to the founding team.
SSO
SAML single sign-on for the whole team.
SOC-2 compliance
Security review, DPA, and audit reports.
Talk to sales Quote within one business day
FAQ

Questions, answered

1 Grab your API key 2 Send a GET request 3 Get structured JSON

Your first shopping search
is minutes away

100 shopping searches free · no credit card