Skip to content

kwery API Reference (4.0)

Real-time price data across major European and global marketplaces.

New here? Start with the Guides — getting started, authentication, webhooks, and per-source field reference.

Try it — no account needed

A mock server is built into this reference: send requests to https://docs.kwery.co/_mock/api-reference and get back correctly-shaped example responses — no signup, no API key (any dummy Authorization header passes), and no credits consumed. Select Mock server in the Servers panel and the code samples switch to it automatically.

curl -X POST https://docs.kwery.co/_mock/api-reference/job \
  -H "Authorization: Bearer test123" \
  -H "Content-Type: application/json" \
  -d '{"source":"idealo","country":"de","key":"gtin","values":["4006381333962"]}'

The data returned is static example data from this specification, not a live crawl — but the response shapes are exactly what production returns, so you can build and test your integration end-to-end before creating an account.

Source and key reference

Each source supports a fixed set of key types. The key field determines what goes in values.

SourceKeyValues formatSupported countries
idealotermFree-text searchde at uk (gb) fr it es
idealoidIdealo product ID (numeric)de at uk (gb) fr it es
idealogtinEAN / GTIN-13de at uk (gb) fr it es
idealopznPharmacy product numberde
amazontermFree-text searchus ca mx br uk (gb) de at ch es fr it jp in ae au nl se pl be sg tr
amazonasinAmazon ASIN (10 chars)us ca mx br uk (gb) de at ch es fr it jp in ae au nl se pl be sg tr
amazongtinEAN / GTIN-13us ca mx br uk (gb) de at ch es fr it jp in ae au nl se pl be sg tr
googletermFree-text searchus de uk (gb) au at br ca cz dk fr in ie it jp mx no pl nz nl ru sg za es se fi ch tr ar cl co be gr hu pt ro sk hk id il my ph sa kr tw th ua vn ae
googleidGoogle Shopping product IDus de uk (gb) au at br ca cz dk fr in ie it jp mx no pl nz nl ru sg za es se fi ch tr ar cl co be gr hu pt ro sk hk id il my ph sa kr tw th ua vn ae
googleproductPipe-separated product record — see GoogleProductValueus de uk (gb) au at br ca cz dk fr in ie it jp mx no pl nz nl ru sg za es se fi ch tr ar cl co be gr hu pt ro sk hk id il my ph sa kr tw th ua vn ae
ebaytermFree-text searchau at be ca fr de ie it hk my nl pl sg es ch uk (gb) us
ebayideBay item ID (numeric)au at be ca fr de ie it hk my nl pl sg es ch uk (gb) us
ebaygtinEAN / GTIN-13au at be ca fr de ie it hk my nl pl sg es ch uk (gb) us
kauflandtermFree-text searchde cz sk pl at fr it
kauflandidKaufland product IDde cz sk pl at fr it
kauflandgtinEAN / GTIN-13de cz sk pl at fr it
ottotermFree-text searchde
ottoidOtto product IDde
billigertermFree-text searchde
billigeridbilliger.de product IDde
billigergtinEAN / GTIN-13de
guenstigertermFree-text searchde
guenstigeridguenstiger.de product ID (numeric)de
guenstigergtinEAN / GTIN-13de
walmarttermFree-text searchus
walmartidWalmart item IDus
walmartgtinEAN / UPC / GTINus
lidltermFree-text searchde at fr it nl pl uk …
lidlidLidl product IDde at fr it nl pl uk …
aliexpresstermFree-text searchus
aliexpressidAliExpress product IDus
rakutentermFree-text searchjp
rakutenidRakuten item IDjp

uk (gb) means uk and gb are two codes for the same UK marketplace — pass either one, it is not a separate locale. For Amazon, at and ch are served from the amazon.de storefront with Austria/Switzerland localization.

Authentication

Sign up at kwery.co; the dashboard issues your API key. Send it on every data-API request as either:

  • BearerAuthorization: Bearer kwy_live_...
  • API key headerx-api-key: kwy_live_...

Legacy/enterprise accounts provisioned before self-serve may still use HTTP Basic (username + password) or a Bearer JWT issued directly by us. See Authentication for details.

Access is controlled per source.country pair. A not subscribed to source error means your account is not provisioned for the requested combination.

Response envelope

Validation errors return HTTP 200 with "error": true. Always check the error field before consuming a response:

{ "error": true, "message": "country not supported by source" }

Infrastructure errors (auth, 5xx) use standard HTTP status codes.

Stream API

For large batches (up to 100 000 values), use the Stream endpoint. Results are pushed to your callback_url as they complete — no polling needed.

  1. POST /stream — submit values with a callback_url
  2. Results arrive at callback_url in batches as they complete
  3. GET /stream/{id} — optional progress check

Batch API

For standard batches (up to 1 000 values), use the Batch endpoint. Results are retained for 72 hours.

  1. POST /job — submit a list of values, receive a job ID
  2. GET /job/{id} — poll until status is finished
  3. GET /job/{id}/download — retrieve structured results
Download OpenAPI description
Overview
License
Languages
Servers
Mock server
https://docs.kwery.co/_mock/api-reference
Production
https://api.kwery.co