{"removeAttribution":false,"l10n":{"translations":{"default_locale":{"translation":{}}},"defaultLocale":"default_locale","locales":[{"code":"default_locale","name":"default_locale"}]},"navbar":{"items":[{"type":"link","fsPath":"index.md","metadata":{"type":"markdown"},"label":"Guides","link":"/","linePosition":"top","routeSlug":"/"},{"type":"link","fsPath":"sources/index.md","metadata":{"type":"markdown"},"label":"Sources","link":"/sources","linePosition":"top","routeSlug":"/sources"},{"type":"link","fsPath":"openapi.yaml","metadata":{"type":"openapi","title":"Kwery — Price Data API","description":"Real-time price data across major European and global marketplaces.\n\nNew here? Start with the **[Guides](https://kwery.co/developers/docs)** — getting started,\nauthentication, webhooks, and per-source field reference.\n\n## Source and key reference\n\nEach source supports a fixed set of `key` types. The `key` field\ndetermines what goes in `values`.\n\n| Source | Key | Values format | Supported countries |\n|--------|-----|---------------|---------------------|\n| `idealo` | `term` | Free-text search | de at uk (gb) fr it es |\n| `idealo` | `id` | Idealo product ID (numeric) | de at uk (gb) fr it es |\n| `idealo` | `gtin` | EAN / GTIN-13 | de at uk (gb) fr it es |\n| `idealo` | `pzn` | Pharmacy product number | de |\n| `amazon` | `term` | Free-text search | us ca mx br uk (gb) de at ch es fr it jp cn in ae au nl se pl be sg tr |\n| `amazon` | `asin` | Amazon ASIN (10 chars) | us ca mx br uk (gb) de at ch es fr it jp cn in ae au nl se pl be sg tr |\n| `amazon` | `gtin` | EAN / GTIN-13 | us ca mx br uk (gb) de at ch es fr it jp cn in ae au nl se pl be sg tr |\n| `google` | `term` | Free-text search | us 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 |\n| `google` | `id` | Google Shopping product ID | us 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 |\n| `google` | `product` | Pipe-separated product record — see `GoogleProductValue` | us 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 |\n| `ebay` | `term` | Free-text search | au at be ca fr de ie it hk my nl pl sg es ch uk (gb) us |\n| `ebay` | `id` | eBay item ID (numeric) | au at be ca fr de ie it hk my nl pl sg es ch uk (gb) us |\n| `ebay` | `gtin` | EAN / GTIN-13 | au at be ca fr de ie it hk my nl pl sg es ch uk (gb) us |\n| `kaufland` | `term` | Free-text search | de cz sk pl at fr it |\n| `kaufland` | `id` | Kaufland product ID | de cz sk pl at fr it |\n| `kaufland` | `gtin` | EAN / GTIN-13 | de cz sk pl at fr it |\n| `otto` | `term` | Free-text search | de |\n| `otto` | `id` | Otto product ID | de |\n| `billiger` | `term` | Free-text search | de |\n| `billiger` | `id` | billiger.de product ID | de |\n| `billiger` | `gtin` | EAN / GTIN-13 | de |\n| `guenstiger` | `term` | Free-text search | de |\n| `guenstiger` | `id` | guenstiger.de product ID (numeric) | de |\n| `guenstiger` | `gtin` | EAN / GTIN-13 | de |\n| `walmart` | `term` | Free-text search | us |\n| `walmart` | `id` | Walmart item ID | us |\n| `walmart` | `gtin` | EAN / UPC / GTIN | us |\n| `lidl` | `term` | Free-text search | de |\n| `lidl` | `id` | Lidl product ID | de |\n| `aliexpress` | `term` | Free-text search | us |\n| `aliexpress` | `id` | AliExpress product ID | us |\n| `rakuten` | `term` | Free-text search | jp |\n| `rakuten` | `id` | Rakuten item ID | jp |\n\n> `uk (gb)` means `uk` and `gb` are two codes for the **same** UK marketplace —\n> pass either one, it is not a separate locale. For Amazon, `at` and `ch` are\n> served from the amazon.de storefront with Austria/Switzerland localization.\n\n## Authentication\n\nSign up at [kwery.co](https://kwery.co); the dashboard issues your API key. Send it on\nevery data-API request as either:\n- **Bearer** — `Authorization: Bearer kwy_live_...`\n- **API key header** — `x-api-key: kwy_live_...`\n\nLegacy/enterprise accounts provisioned before self-serve may still use HTTP Basic\n(username + password) or a Bearer JWT issued directly by us. See\n[Authentication](authentication.md) for details.\n\nAccess is controlled per `source.country` pair. A `not subscribed to source`\nerror means your account is not provisioned for the requested combination.\n\n## Response envelope\n\nValidation errors return **HTTP 200** with `\"error\": true`. Always check the\n`error` field before consuming a response:\n\n```json\n{ \"error\": true, \"message\": \"country not supported by source\" }\n```\n\nInfrastructure errors (auth, 5xx) use standard HTTP status codes.\n\n## Stream API\n\nFor large batches (up to **100 000 values**), use the Stream endpoint.\nResults are pushed to your `callback_url` as they complete — no polling needed.\n\n1. `POST /stream` — submit values with a `callback_url`\n2. Results arrive at `callback_url` in batches as they complete\n3. `GET /stream/{id}` — optional progress check\n\n## Batch API\n\nFor standard batches (up to **1 000 values**), use the Batch endpoint.\nResults are retained for **72 hours**.\n\n1. `POST /job` — submit a list of values, receive a job ID\n2. `GET /job/{id}` — poll until `status` is `finished`\n3. `GET /job/{id}/download` — retrieve structured results\n"},"label":"API Reference","link":"/openapi","linePosition":"top","routeSlug":"/openapi"},{"type":"link","fsPath":"roadmap.md","metadata":{"type":"markdown"},"label":"Roadmap","link":"/roadmap","linePosition":"top","routeSlug":"/roadmap"}]},"footer":{"copyrightText":"© Kwery. All rights reserved."},"markdown":{"frontMatterKeysToResolve":["image","links"],"partialsFolders":["**/_partials/**"],"lastUpdatedBlock":{"format":"timeago"},"toc":{"header":"On this page","depth":3},"editPage":{}},"mcp":{"hide":false,"docs":{"hide":false,"name":"MCP server","ignore":[]}},"banner":[],"breadcrumbs":{"prefixItems":[]},"userMenu":{"hide":true},"logo":{},"auth":{"idpsInfo":[]},"search":{},"entitiesCatalog":{},"apiProducts":{},"searchFeatures":{"advanced":{"enabled":false},"ai":{"enabled":false}},"analytics":{"ga":{"trackingId":"","exclude":[],"trackers":{}}}}