qstringrequired
Required search term from the shopping request that found the product. Google resolves the product page against it as well as the identifiers.
Start building
Platform API endpoint with unified authentication and usage tracking.
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
-X POST "https://api.sandbase.ai/v1/api/google-shopping/product" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'SANDBASE_JSON'
{
"q": "coffee maker",
"hl": "en",
"device": "desktop",
"google_domain": "google.com"
}
SANDBASE_JSON
)
printf '%s\n' "$result"Set your SandBase API key in your server environment. Requests use Bearer authentication.
export SANDBASE_API_KEY="YOUR_API_KEY"Keep your key on the server. Do not expose it in browser code.
qstringrequiredRequired search term from the shopping request that found the product. Google resolves the product page against it as well as the identifiers.
gpcidstringProduct cluster ID from a shopping result. Required unless prds is supplied; follow litescrape_product_link for a ready-made request.
headline_offer_docidstringOptional headline offer document ID from the same shopping result; use with gpcid.
image_docidstringOptional image document ID from the same shopping result; use with gpcid.
prdsstringGoogle product selector token from a previous response. Mutually exclusive with gpcid and its companion document IDs.
locationstringHuman-readable search location, such as Austin, Texas. At most 63 UTF-8 bytes. Mutually exclusive with uule.
uulestringPre-encoded Google location token. Mutually exclusive with location.
google_domainstringGoogle domain used for the request.
Default: "google.com"
glstringTwo-letter country code used to localize results.
hlstringLanguage code such as en, en-GB, or de.
Default: "en"
devicestringGoogle device layout. Each device is served Google's real layout for it.
Default: "desktop"
Possible values: desktop, tablet, mobile
timeoutnumberOptional budget for the entire request in seconds, measured from gateway receipt until the response is ready to send. Includes admission, queueing and settlement. Must be greater than 0 and at most 90. On expiry, the call is not billed and returns 503 request_deadline_exceeded with retryable=true an
Saved example response for this API; no live request is made when viewing it.
No saved response has been published. Run the API in Playground to inspect its response.