Skip to content
CrawlerData
Menu
Solution

Size a product category from Google Shopping data

See which products show up for a category, who sells them, at what prices, and how they are rated, in any of 31 countries.

The problem

What gets in the way

Sizing a category usually means sampling a few retailer sites by hand and guessing at the rest.

Google Shopping already brings products and sellers from many retailers together. What you need is that view as data you can aggregate.

The approach

How CrawlerData solves it

  1. Run a shopping search for each category term: shopping_results gives title, price, old_price, merchant, rating and reviews.

    Google Shopping API
  2. For the products that matter, the sellers endpoint gives sellers_count, every seller and the product price_range.

    Google Shopping Sellers API
  3. Repeat per country to compare markets. Prices come with value and currency, so you can convert them.

    Google Shopping API
  4. Use autocomplete to expand a seed term into the searches people actually type.

    Google Autocomplete API
Example

One request, structured data back

old_price is set when Google shows a reduced price. Use product_id to fetch every seller for a product.

REQUEST / RESPONSEPOSTapi.crawlerdata.com/v1/jobs
curl -X POST https://api.crawlerdata.com/v1/jobs \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"endpoint":"google-shopping-search","params":{"query":"wireless headphones","country":"us"},"queue":"live"}'
{
  "shopping_results": [
    {
      "position": 1,
      "product_id": "14580532573920022357",
      "title": "Soundplay Foldable Wireless Headphones Bluetooth Over-Ear Headset with Built-in Mic",
      "price": {
        "value": 14.94,
        "currency": "USD",
        "raw": "$14.94"
      },
      "old_price": null,
      "merchant": "Walmart",
      "rating": 4.6,
      "reviews": 866
    },
    {
      "position": 2,
      "product_id": "18438405240876542552",
      "title": "Sony WH-CH520 Wireless On-Ear Headphones with Microphone",
      "price": {
        "value": 49.99,
        "currency": "USD",
        "raw": "$49.99"
      },
      "old_price": {
        "value": 68,
        "currency": "USD",
        "raw": "$68"
      },
      "merchant": "Best Buy",
      "rating": 4.5,
      "reviews": 5600
    }
  ]
}

Excerpt of the result object, with fields and items trimmed. Full response on the Google Shopping API page.

What it costs

A worked example

Every endpoint costs 1 credit per request. Here is what a typical one-off workload costs with whole credit packs.

300 category searches + sellers for the top 40 products in each (12,000)

= 12,300 requests in total

1 credit per request, so 12,300 credits.

Buy for the whole job (best)

1 × Starter (50,000 credits) for $50.00

$50.00

$0.0041 per request

What you get

37,700 credits left over for re-runs and spot checks. Credits are valid for 6 months.

Larger packs go down to $0.30 per 1,000 requests.

Packs are bought whole, like in the pricing calculator. Credits are valid for 6 months. Failed requests are not charged. Prices exclude sales tax/VAT.

Good to know

Limits to plan for

  • A shopping search returns the first set of results Google shows (page 1 only). It is a sample of the category, not a full census.
  • Results reflect what Google Shopping shows at request time in the chosen country. Repeat the study to see change over time.
  • Sellers requests can take tens of seconds each. Run large studies on the regular queue.
  • Ratings and review counts are Google's figures and can be null for some products.
FAQ

Questions

How many products does one shopping search return?

The results Google Shopping shows on its first page for the query. Only page 1 is supported, since Google loads more by scrolling.

Can I compare countries?

Yes. Run the same query with different country codes. Prices include the currency.

How do I count sellers per product?

Request the product with the sellers endpoint. sellers_count gives the number and sellers[] lists them.

Do I need a subscription?

No. You buy credit packs, and credits are valid for 6 months.

Try it on your own data

Get 50 free credits when you sign up with your work email and verify it. Failed requests are never charged.

Get 50 free credits