Tutorial

How to Get Google Shopping Data Without Proxies

Extract Google Shopping results via a structured search API instead of managing proxies. Get prices, ratings, and product links as clean JSON.

Google Shopping data is essential for price monitoring, competitive analysis, and e-commerce research. Scraping Google Shopping with proxies is brittle because Google aggressively blocks automated requests, rotates page layouts, and requires JavaScript rendering. A search API like Scavio returns structured Google Shopping results as JSON, including product titles, prices, ratings, seller names, and links. This tutorial shows how to query Google Shopping data in Python and JavaScript without touching a proxy or headless browser. You will get reliable, structured results in under ten lines of code.

Prerequisites

  • Python 3.8+ or Node.js 18+ installed
  • requests library installed (Python) or fetch available (JS)
  • A Scavio API key from scavio.dev

Walkthrough

Step 1: Set up your API key

Store your Scavio API key as an environment variable to keep it out of source control.

Python
import os
API_KEY = os.environ.get("SCAVIO_API_KEY", "your_scavio_api_key")

Step 2: Query Google Shopping results

POST to the Scavio API with your product query. The response contains structured shopping results with prices, ratings, and seller info.

Python
import requests

resp = requests.post("https://api.scavio.dev/api/v1/search",
    headers={"x-api-key": API_KEY},
    json={"platform": "google", "query": "wireless earbuds", "type": "shopping"})
data = resp.json()

Step 3: Parse product data

Extract price, rating, and seller from each shopping result for analysis or storage.

Python
for item in data.get("shopping_results", [])[:5]:
    print(f"{item['title']} - {item.get('price', 'N/A')}")
    print(f"  Seller: {item.get('source', 'N/A')}")
    print(f"  Rating: {item.get('rating', 'N/A')} ({item.get('reviews', 0)} reviews)")

Step 4: Export to CSV

Save shopping results to a CSV file for spreadsheet analysis or downstream pipelines.

Python
import csv

with open("shopping_results.csv", "w", newline="") as f:
    w = csv.DictWriter(f, fieldnames=["title", "price", "source", "rating", "link"])
    w.writeheader()
    for item in data.get("shopping_results", []):
        w.writerow({
            "title": item.get("title", ""),
            "price": item.get("price", ""),
            "source": item.get("source", ""),
            "rating": item.get("rating", ""),
            "link": item.get("link", ""),
        })

Python Example

Python
import os, requests
API_KEY = os.environ["SCAVIO_API_KEY"]
resp = requests.post("https://api.scavio.dev/api/v1/search",
    headers={"x-api-key": API_KEY},
    json={"platform": "google", "query": "wireless earbuds", "type": "shopping"})
for item in resp.json().get("shopping_results", [])[:5]:
    print(f"{item['title']} - {item.get('price', 'N/A')}")

JavaScript Example

JavaScript
const r = await fetch("https://api.scavio.dev/api/v1/search", {
  method: "POST",
  headers: {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"},
  body: JSON.stringify({platform: "google", query: "wireless earbuds", type: "shopping"})
});
const data = await r.json();
(data.shopping_results || []).slice(0, 5).forEach(i =>
  console.log(i.title, i.price)
);

Expected Output

JSON
A list of Google Shopping products with title, price, seller, rating, and link returned as structured JSON without any proxy infrastructure.

Related Tutorials

Frequently Asked Questions

Most developers complete this tutorial in 15 to 30 minutes. You will need a Scavio API key (free tier works) and a working Python or JavaScript environment.

Python 3.8+ or Node.js 18+ installed. requests library installed (Python) or fetch available (JS). A Scavio API key from scavio.dev. A Scavio API key gives you 250 free credits per month.

Yes. The free tier includes 250 credits per month, which is more than enough to complete this tutorial and prototype a working solution.

Scavio has a native LangChain package (langchain-scavio), an MCP server, and a plain REST API that works with any HTTP client. This tutorial uses the raw REST API, but you can adapt to your framework of choice.

Start Building

Extract Google Shopping results via a structured search API instead of managing proxies. Get prices, ratings, and product links as clean JSON.