Google Shopping Lite API

Search Google Shopping in bulk and get one row per product - price, retailer, rating, delivery, and link - for fast e-commerce price monitoring. Send many search terms at once, target a country and language. Pay per product. MCP-ready for Claude and AI agents.

MEDIAN LAGon demand
PARAMETERS4
TOTAL USERS9
MONTHLY ACTIVE6
TOTAL RUNS96
RUNS SUCCEEDED100.0%
RATING5.0 (4)

Input parameters

PARAMETERTYPEREQDEFAULTDESCRIPTION
searchTerms string[] yes Provide one or more product search terms to look up on Google Shopping (e.g. 'wireless headphones', 'noise cancelling earbuds').
country string no us Set the two-letter country code to localize prices and availability (ISO 3166-1, e.g. 'us', 'gb', 'de', 'ca').
language string no en Set the two-letter interface language code (ISO 639-1, e.g. 'en', 'de', 'fr').
maxResultsPerSearch integer no 100 Set the maximum number of products to return for each search term. — drives your bill

Worked examples

Basic — the required input, with the schema's own example values
{
  "searchTerms": [
    "wireless headphones",
    "noise cancelling earbuds"
  ]
}

Tasks

Saved runs with the inputs already filled in — each one a standalone page and a working configuration example.

Request a task →

Code

curl

curl -X POST "https://api.apify.com/v2/acts/johnvc~google-shopping-lite-api/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchTerms": ["wireless headphones", "noise cancelling earbuds"]}'

Python

from apify_client import ApifyClient

client = ApifyClient("APIFY_TOKEN")
run = client.actor("johnvc/google-shopping-lite-api").call(
    run_input={'searchTerms': ['wireless headphones', 'noise cancelling earbuds']}
)
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)