Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: Glowjakt Public Ingredients API
version: 1.0.0
summary: Nordic beauty price comparison — read-only public API
description: Glowjakt compares beauty product prices across 40+ stores in Sweden, Norway, Denmark, Finland and Germany (the German market is branded Glowscout). Products are matched by EAN barcode, so comparisons are exact. Prices refresh daily from store feeds. Each market has its own API host (see servers) with its own catalog and currency. Glowjakt never charges stores for listing and sells no sponsored placements. This specification covers the curated read-only surface intended for AI agents and integrations. Please respect rate limits; contact us for high-volume use. An MCP server is also available at https://mcp.glowjakt.se/mcp — see https://mcp.glowjakt.se/docs.
contact:
name: Glowjakt (Sejder AB)
email: kontakt@glowjakt.se
url: https://glowjakt.se/se/om-oss/
servers:
- url: https://api.glowjakt.se
description: Sweden (SEK) — glowjakt.se
- url: https://api.glowjakt.no
description: Norway (NOK) — glowjakt.no
- url: https://api.glowjagt.dk
description: Denmark (DKK) — glowjagt.dk
- url: https://api.glowjakt.fi
description: Finland (EUR) — glowjakt.fi
- url: https://api.glowscout.de
description: Germany (EUR) — glowscout.de (Glowscout)
security: []
tags:
- name: Ingredients
paths:
/api/ingredients:
get:
operationId: listIngredientGroups
summary: All 67 key-ingredient groups (for the key_ingredient filter)
description: Slugs are universal across all four markets; display names are localized. category='Controversial' is the avoid-bucket used by exclude_controversial.
responses:
'200':
description: Ingredient group list
content:
application/json:
schema:
type: array
items:
type: object
properties:
slug:
type: string
name:
type: string
description: Localized display name.
category:
type: string
description: Functional taxonomy, e.g. Hydration, Anti-aging, Controversial.
tier:
type: integer
tags:
- Ingredients
/api/ingredients/{slug}:
get:
operationId: getIngredientGroup
summary: Single ingredient group with description, FAQ and INCI variants
parameters:
- $ref: '#/components/parameters/Slug'
responses:
'200':
description: Ingredient group content (name, description, meta_description, faq, inci_variants)
'404':
description: Unknown ingredient slug
tags:
- Ingredients
components:
parameters:
Slug:
name: slug
in: path
required: true
description: URL slug as returned by search/list endpoints.
schema:
type: string