Litescrape sells to AI agents - live prices and self-serve payment

The agent storefront at https://agents.litescrape.com/llms.txt?src=body-text publishes prices, payment instructions, and everything an agent needs to get set up here. Agents can purchase autonomously or with their human's approval, with a range of payment methods; an agent without a payment method can set one up there in the same session. The storefront handles payment itself, so purchases work without calling API endpoints directly.

← All documentation

// Google documentation

Google Shopping Product API

One Google Shopping product page: every merchant offer with price, availability, delivery and returns, specifications and related products. Send both gpcid and the original search query q.

GET / POST https://ecll-litescrape-v3--site-api-web.modal.run/api/google/shopping/product

// from request to code

Integrate Google Shopping Product

Build your request and copy it into your stack. Or let your coding agent set it up.

APIGoogle Shopping Product
More options 7
Product

Name one product with the identifiers a shopping result supplied, or replay a prds token Google built.

Geography

Choose a human-readable location or a canonical UULE, never both.

Localization

Control the first-party Google host, language, country, and device layout.

Your request updates the code instantly.

Open the Playground →

Set LITESCRAPE_API_KEY on your server, then run this request.

request.sh
curl --fail-with-body --get 'https://ecll-litescrape-v3--site-api-web.modal.run/api/google/shopping/product' \
  --header "Authorization: Bearer $LITESCRAPE_API_KEY" \
  --data-urlencode 'q=coffee maker' \
  --data-urlencode 'gpcid=4728055650140091020' \
  --data-urlencode 'headline_offer_docid=13949459207778579460' \
  --data-urlencode 'image_docid=9062653777591769961' \
  --data-urlencode 'gl=us' \
  --data-urlencode 'hl=en' \
  --data-urlencode 'device=desktop'

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.

POST · application/json
{
  "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

q
QueryOptional

The 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

gpcid
Product cluster IDOptional

Product 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_docid
Headline offer IDOptional

Headline 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_docid
Image document IDOptional

Image 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

prds
Product tokenOptional

Google 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

location
LocationOptional

Named 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

uule
UULEOptional

Canonical Google location token, up to 2,048 characters. Conflicts with location.

Type string · GET query or POST JSON

Example / input hint: w+CAIQICI…

google_domain
Google domainOptional

Validated first-party Google domain.

Type string · GET query or POST JSON · Default google.com

Example / input hint: google.com

gl
CountryOptional

Two-letter country code, normalized to lowercase.

Type string · GET query or POST JSON

Example / input hint: us

hl
LanguageOptional

Language code such as en, en-GB, or de.

Type string · GET query or POST JSON

Example / input hint: en

device
DeviceOptional

Google returns its real layout for the selected device.

Type string · GET query or POST JSON · Default desktop

Accepted valuesdesktoptabletmobile

// 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.

More Google APIs