Install
openclaw skills install dataify-google-shoppingWhen the user requests "call Google Shopping" or "shopping search/product search/price comparison", or explicitly mentions the shopping search field, the dataify-google-shopping skill is triggered.
openclaw skills install dataify-google-shoppingUse this skill to turn a user's Google Shopping request into a Dataify Scraper API call.
Before every real API call, follow this confirmation flow. These rules override any older workflow order in this skill.
engine value.pizza, us, en, dates, airport codes, or tokens as defaults.Authorization. Include the complete body field list from this skill's reference document, including engine, even when a field is currently blank.参数名, 当前值, 默认值, 说明.DATAIFY_API_TOKEN.Use the bundled preview helper whenever possible to generate the confirmation table from this skill's reference document:
python3 scripts/preview_params.py --params-json '{"q":"USER_QUERY"}'
Pass every parsed current value to preview_params.py using --params-json or matching --field value arguments. The helper reads defaults and descriptions from references/*api.md; if the helper cannot parse a default, leave the default blank rather than inventing one.
9. After confirmation and token handling, call the bundled Python script with python3 and return the API response body directly without summarizing, extracting, cleaning, translating, or reshaping it.
q as the shopping search query and always set engine to google_shopping.DATAIFY_API_TOKEN.json: "1" and google_domain: "google.com" unless the user asks for another value. Do not use example values from the API document as defaults.参数名, 当前值, 默认值, 说明. Mask the token status as 已提供 or 未提供; do not display the token. Ask whether the user wants to modify the parameters and do not call the API until the user confirms.python3. The script submits form data to the hardcoded endpoint https://scraperapi.dataify.com/request.Run commands from this skill directory, or use the absolute path to scripts/google_shopping.py.
Preview the complete parameter table:
python3 scripts/google_shopping.py --q "wireless headphones" --gl us --hl en --max_price 100 --free_shipping true --table
Call the API after the user confirms:
python3 scripts/google_shopping.py --q "wireless headphones" --gl us --hl en --max_price 100 --free_shipping true
For natural-language parsing, pass the user's request:
python3 scripts/google_shopping.py --request "搜索美国 Google Shopping 上 100 美元以下包邮的无线耳机,英文,返回 JSON" --table
For many fields, pass one JSON object with shell-appropriate quoting:
python3 scripts/google_shopping.py --params-json '{"q":"wireless headphones","gl":"us","hl":"en","max_price":"100","free_shipping":"true"}' --table
If the user provided a token in the conversation instead of an environment variable, pass it with --token and avoid echoing it back in the final answer:
python3 scripts/google_shopping.py --token "USER_TOKEN" --q "wireless headphones" --gl us --hl en
Use --dry-run only for internal verification. It prints the normalized payload JSON and does not call the API.
Use references/google_shopping_api.md when you need the complete field list, defaults, or exact descriptions for the preview table.
Core rules:
Content-Type: application/x-www-form-urlencoded.engine to google_shopping.q cannot be inferred.location and uule are present, prefer the explicit uule and omit location.Bearer is accepted and prefixed automatically.Common mappings:
json: "1"json: "2"json: "3"json: "4"glhlstart: String((N - 1) * 10)shoprsmin_pricemax_pricesort_by: "1"sort_by: "2"free_shipping: "true"on_sale: "true"small_business: "true"no_cache: "true"