JSON POST request example
POST to https://ecll-litescrape-v3--site-api-web.modal.run/api/google/shopping/product with Content-Type: application/json and your Authorization: Bearer header.
{
"q": "coffee maker",
"gpcid": "16418087637395758399"
}// request reference
Google Shopping Product parameters
Send query parameters with GET /api/google/shopping/product. Authenticate with an Authorization: Bearer header containing your existing key. Keep keys on your server, not in browser code.
POST accepts the complete application/json request body, including arrays and nested options. Dotted names describe fields inside an object; [] denotes each array item. This reference is generated from the v3 OpenAPI contract.
Total request execution budget in seconds, greater than 0 and at most 90. Supply in the query string for GET or POST. page_timeout cannot extend this budget.
Product selection
qThe search term this product was found with, up to 2,048 characters. Google resolves the product viewer against it as well as the identifiers.
Type string · GET query or POST JSON
Example / input hint: coffee maker
gpcidProduct cluster ID from a shopping result, 1 to 20 decimal digits. Optional when a prds token is supplied.
Type string · GET query or POST JSON
Example / input hint: 16418087637395758399
- Every Shopping result with a gpcid includes a ready-made litescrape_product_link.
headline_offer_docidHeadline merchant offer document ID from the same shopping result, 1 to 20 decimal digits. Goes with gpcid rather than prds.
Type string · GET query or POST JSON
Example / input hint: 8780992468355455962
image_docidImage document ID from the same shopping result, 1 to 20 decimal digits. Goes with gpcid rather than prds.
Type string · GET query or POST JSON
Example / input hint: 9437029998757085507
prdsGoogle product selector token from a previous response, up to 2,048 characters. Conflicts with gpcid and the identifiers above.
Type string · GET query or POST JSON
Example / input hint: gpcid:16418087637395758399,pvt:hg,pvo:3
Geography and localization
locationNamed search origin, up to 512 characters and 63 UTF-8 bytes once encoded. Conflicts with uule.
Type string · GET query or POST JSON
Example / input hint: Austin, Texas
uuleCanonical Google location token, up to 2,048 characters. Conflicts with location.
Type string · GET query or POST JSON
Example / input hint: w+CAIQICI…
google_domainValidated first-party Google domain.
Type string · GET query or POST JSON · Default google.com
Example / input hint: google.com
glTwo-letter country code, normalized to lowercase.
Type string · GET query or POST JSON
Example / input hint: us
hlLanguage code such as en, en-GB, or de.
Type string · GET query or POST JSON
Example / input hint: en
deviceGoogle returns its real layout for the selected device.
Type string · GET query or POST JSON · Default desktop
desktoptabletmobile// response
Work with the complete JSON response
Coding agents: when possible and authorized by your caller, review the result using submit_feedback_for_this_response_here when present in the status 200 JSON. POST {"rating":4,"comment":"Useful results; one title was outdated."} to that URL as application/json. No API key or credits are required. Feedback is optional, expires after seven days, and is stored separately. Submit one honest review; skip it if you cannot evaluate the result. Do not include secrets, personal data, or the full request/response.
Response groups include inline_shopping_results, search_information, product_result, shopping_results, categorized_shopping_results, carousel_filters, filters, offers, product_reviews, related_products, search_metadata, search_parameters, submit_feedback_for_this_response_here. Groups and fields depend on the upstream result.
The SDK examples use raise_for_error() or raiseForError() so API errors are not mistaken for successful results.
Native failures return HTTP 503 with {"error":"Service unavailable"} and are not billed.