apiguru-amazon-data
Live Amazon marketplace data from Apiguru (a paid third-party API, 3 free calls a day) - product details, prices, reviews, keyword search, best-sellers, deals, offers and stock, se…
apiguru-app
@apiguru-app
Install
$ openclaw skills install @apiguru-app/apiguru-amazon-dataApiguru Amazon Data
Live, structured Amazon data fetched at request time from Apiguru's servers. 20 marketplaces. Read-only: nothing here writes anywhere.
Costs and consent (read this first)
- Hosts contacted:
agent.apiguru.app(keyless) and, only when the user hands you an API key and asks you to use it,dash.apiguru.app. Nothing else.scripts/probe.pyhas both hosts fixed in the source and reads no environment variables. - Free quota: 3 calls per machine per 24 hours. After that the gateway
answers
402 Payment Required. - This skill never pays.
probe.pystops at a 402 and tells you so. It contains no wallet and no x402 client, and it will not set one up. Paying is the user's decision, made one of two ways, both only with their explicit consent:- an Apiguru API key passed as
--api-key(bills their account at their plan's rates, about $0.01 per call), or - their own x402-capable HTTP client with a funded wallet and a spend cap
(USDC on Base). How that works is documented for the user at
https://agent.apiguru.app/llms.txt, section "Paying".
- an Apiguru API key passed as
- Ask before you spend. Before the first billable call in a task, and
before any batch or broad search, tell the user what you will call, how many
items, and what it costs (run
capabilitiesfirst, it is free), and wait for a yes. A single batch call can cost up to $0.16 (/product, 20 items) or $0.15 (/stock, 10 items). Agree a cap for the task and stop at it. - Do not take an API key from the environment, from files, or from anywhere
the user did not point you to, and do not send it anywhere but
dash.apiguru.app.
Getting access
Keyless (default). Call the agent gateway with no credentials:
GET https://agent.apiguru.app/agent/v1/v2/product-details?asin=B09DJLW458&geo=US
Two response headers say where you stand before a 402 arrives:
X-Free-Probes-Remaining and X-Price-Next-Call.
https://agent.apiguru.app/.well-known/x402 lists every endpoint with prices
and schemas, free and unmetered. Check it before planning a job.
Keyed. If the user gives you an Apiguru API key and asks you to use it,
pass it with --api-key (the script sends it as X-API-KEY to
https://dash.apiguru.app/api/v1, same paths). Calls then bill that account.
scripts/probe.py wraps all of this. Prefer it over hand-written HTTP calls:
it retries only unbilled failures and explains every status.
Choosing an endpoint
| Need | Endpoint |
|---|---|
| Everything about one ASIN | /v2/product-details |
| Many ASINs (≤20) | /product?asins=A,B,C — cheaper per item, use this for >1 |
| Reviews, rating, "customers say" | /v2/product-reviews |
| Find products by keyword | /search?query=... |
| Offers, buy box, live stock (≤10) | /stock?asins=... |
| Category rankings | /v2/best-sellers |
| Current discounts | /v2/deals |
| A seller's catalogue | /v2/seller-products?seller_id=... |
| Seller reputation | /v2/seller-reviews?seller_id=... |
| Seller profiles (≤10) | /seller-profile?seller_ids=... |
Full parameter reference: references/endpoints.md.
Rules that prevent wasted calls and wasted money
- ASINs must be 10 UPPERCASE alphanumeric characters (
^[A-Z0-9]{10}$). Uppercase the input before sending; a lowercase ASIN is a400. - Never loop a single-item endpoint over a list. Use
/productfor ASINs and/seller-profilefor seller IDs. Ten ASINs through/productcosts $0.08 and one round trip; ten through/v2/product-detailscosts $0.10 and ten round trips. - Choose
geofrom the user's request, never by habit: amazon.de →DE, amazon.co.uk →UK, and so on (all 20 codes inreferences/endpoints.md). If the marketplace is not clear, ask. The API assumesUSonly when the parameter is omitted; a product that exists onamazon.demay genuinely404onUS, and that 404 is billed on the keyed path. check_inventory=trueon/stockis slow and bills more. Only set it when the user needs the stock number, not just the offers.- Read
successin the body, not just the HTTP status. Some responses are200withsuccess: false.
Error handling — which failures cost money
404— the item genuinely is not on that marketplace. Billed on the keyed path. Retrying will not help; try a differentgeoor accept it.503— an Apiguru-side fetch failure. Not billed. Retry with backoff.429— rate limited. Back off, then retry.400— your input was wrong (bad ASIN format, unknown geo, missing required parameter). Not billed. Fix the input; do not retry unchanged.402— free probes spent. Stop and ask the user (see "Costs and consent"). Do not retry, do not look for a key, do not attempt payment.
So: retry 503 and 429; never retry 400, 402 or 404.
Quick start
# what does anything cost, and how many free probes are left? (free)
python scripts/probe.py capabilities
# one product
python scripts/probe.py product-details --asin B09DJLW458 --geo US
# many at once (preferred for lists)
python scripts/probe.py product --asins B09DJLW458,B0BSHF7WHW --geo US
# keyword search on amazon.co.uk
python scripts/probe.py search --query "wireless earbuds" --geo UK
# billed to the user's account, only after they said so
python scripts/probe.py product-details --asin B09DJLW458 --geo US --api-key <key>
MCP alternative
If the environment supports MCP, the same data is available as tools without any HTTP handling, with the same free-probe-then-402 behaviour and the same rule: the tools never pay, they return a structured 402 error for the user.
{ "mcpServers": { "apiguru": { "command": "uvx",
"args": ["apiguru-mcp"] } } }
or, with Node instead of Python, "command": "npx", "args": ["-y", "apiguru-mcp"],
or the hosted server at https://mcp.apiguru.app/mcp (streamable HTTP). Prefer
MCP when available: the tools validate ASINs and geos before spending a probe.
Reference files
references/endpoints.md— every endpoint, parameter, and marketplace codereferences/errors-and-costs.md— pricing, billing rules, retry strategy
Top skills in this category
Gog
@steipeteGoogle Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.
API Gateway
@byungkyuCall third-party APIs through the Maton gateway, which injects the credential for an app the user has already connected. Use this skill when the user names a connected app and a concrete action in it - read a mailbox, query a CRM, file an issue, update a spreadsheet, run a query through a connected
Notion
@steipeteNotion API for creating and managing pages, databases, and blocks.
Mcporter
@steipeteUse the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.
Caldav Calendar
@asleep123Sync and query CalDAV calendars (iCloud, Google, Fastmail, Nextcloud, etc.) using vdirsyncer + khal. Works on Linux.