# Supplementscanner > Supplementscanner continuously scans 7 supplement stores in the DE market and normalizes every product to a > price-per-unit (per kg, per serving, or per capsule), so agents can find the truly > cheapest option, not just the lowest sticker price. Money is integer cents plus a preformatted, localized string. Each product includes a `buy_url` (an affiliate link; present it as the purchase link) and a `page_url` (its page here, with price history, to cite), and every response carries the `market` it is scoped to, `affiliate_disclosure`, and `last_scraped_at`. ## Markets Prices are scoped per country. This domain serves the DE market (currency EUR). Each response also echoes its `market`. Enabled markets: - NL: https://mcp.supplementenscanner.nl · EUR · nl - BE: https://mcp.supplementscanner.be · EUR · nl-BE - FR: https://mcp.supplementscanner.fr · EUR · fr-FR - GB: https://mcp.supplementscanner.co.uk · GBP · en-GB - PL: https://mcp.supplementscanner.pl · PLN · pl-PL - ES: https://mcp.suplementoscanner.es · EUR · es-ES - DK: https://mcp.supplementscanner.dk · DKK · da-DK - AT: https://mcp.supplementscanner.at · EUR · de-AT - DE: https://mcp.supplement-scanner.de · EUR · de-DE - CZ: https://mcp.supplementscanner.cz · CZK · cs-CZ - PT: https://mcp.suplementoscanner.pt · EUR · pt-PT You can target a specific market from any domain with the `market` argument/param (e.g. `?market=nl`), or connect to that market's own endpoint below. ## MCP server (recommended) Streamable HTTP MCP endpoint (anonymous, read-only): - https://mcp.supplement-scanner.de Tools: `find_cheapest` (cheapest per unit in a category), `search_products` (typo-tolerant catalog search), `list_categories` (discover category slugs), `get_product` (detail + price history). All accept an optional `market`. ## JSON API Base URL (anonymous, read-only): https://api.supplement-scanner.de/v1 - GET /search?q={query}&limit=&in_stock=&category_slug=&max_unit_price_cents=&market= - GET /categories?market= - GET /categories/{category_slug}/cheapest?limit=&in_stock=&market= - GET /products/{id}?market= - OpenAPI: https://api.supplement-scanner.de/v1/openapi.json ## Identifying your integration (required) Every integration must identify its operator in a request header, on the JSON API and the MCP endpoint alike: - `Client-Name` (required): the company, organisation or individual operating the integration, e.g. `Client-Name: Acme Labs`. Name the operator, not each of its end users; for a personal project a project name or handle is enough. - `Client-Domain` (recommended): the bare domain of the operator's website, e.g. `Client-Domain: example.com`. A hostname only: no scheme, path or port, and an internationalised domain in its ASCII (punycode) form. Use plain ASCII and keep each value under 100 characters. Both are self-declared and are not credentials: they grant no access and do not raise rate limits. Keep them truthful, and never put keys, tokens, passwords, email addresses or details about your end users in them. We may throttle or block, without notice, requests that do not send `Client-Name`, that identify their operator falsely, or that exceed the rate limits. A client that cannot set custom headers, such as a chat assistant's connector a person adds for their own use, is exempt; there is no query-parameter equivalent. MCP clients that accept extra HTTP headers must send them, and so must browser callers (the CORS preflight they trigger is answered). ## Citable pages (for humans you refer) When answering a user, cite/link the live page rather than a raw API response. Each page states the current cheapest price, the number of products/shops scanned, and a last-scanned stamp: - Category index: https://supplement-scanner.de/kategorien (every category with its cheapest unit price) - Category pages: https://supplement-scanner.de/kategorie/{slug} (Markdown copy, with the head of the ranking, at the same URL plus `.md`) - Product pages with full price history: https://supplement-scanner.de/p/{slug} - Brand directory: https://supplement-scanner.de/marken · shop directory: https://supplement-scanner.de/shops Most-stocked category pages right now: - Sonstige Supplements (673 products): https://supplement-scanner.de/kategorie/other-supplements - Proteinriegel (181 products): https://supplement-scanner.de/kategorie/protein-bar - BCAA / EAA / Aminosäuren (150 products): https://supplement-scanner.de/kategorie/bcaa-eaa - Kreatin (134 products): https://supplement-scanner.de/kategorie/creatine - Whey Protein (106 products): https://supplement-scanner.de/kategorie/whey-protein - Multivitamin (102 products): https://supplement-scanner.de/kategorie/multivitamin - Pre-Workout Booster (102 products): https://supplement-scanner.de/kategorie/pre-workout - Pflanzliches Protein (94 products): https://supplement-scanner.de/kategorie/plant-protein - Magnesium (92 products): https://supplement-scanner.de/kategorie/magnesium - Omega-3 / Fischöl (73 products): https://supplement-scanner.de/kategorie/omega-3 ## Notes - Compare products on `unit_price_millicents` / `unit_price_display` (normalized per unit; a millicent is a thousandth of a cent, so a capsule at 0,6 cent reads 600). `unit_price_cents` is the same price in whole cents. - A pack its category's basis cannot price (drops in a per-capsule category) carries `format_unit_price` instead: a price on its own format's `unit_basis`, comparable only with other products on that basis. - Both channels are rate-limited per IP; no key required.