Glowjakt Brands API
The Brands API from Glowjakt — 3 operation(s) for brands.
Operations 3
GET
/api/brands/{slug}/market
Brand presence on this market: product count, stock, stores, price range…
#
The Brands API from Glowjakt — 3 operation(s) for brands.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/glowjakt-se:glowjakt-se-brands-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Glowjakt Public Brands 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: Brands
paths:
/api/brands:
get:
operationId: listBrands
summary: Top brands by product count
parameters:
- name: limit
in: query
schema:
type: integer
default: 12
responses:
'200':
description: Brand list
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BrandSummary'
tags:
- Brands
/api/brands/{slug}:
get:
operationId: getBrand
summary: Single brand with description
parameters:
- $ref: '#/components/parameters/Slug'
responses:
'200':
description: Brand detail
content:
application/json:
schema:
$ref: '#/components/schemas/BrandDetail'
'404':
description: Unknown brand slug
tags:
- Brands
/api/brands/{slug}/market:
get:
operationId: getBrandMarket
summary: 'Brand presence on this market: product count, stock, stores, price range…'
description: Aggregated view of one brand on this country's market (the API host decides the country). Counts are EAN-grouped products; 'in_stock' is the subset currently in stock somewhere. 404 when the brand has no product rows on this market. Refreshed nightly.
parameters:
- $ref: '#/components/parameters/Slug'
responses:
'200':
description: Market summary for the brand
content:
application/json:
schema:
$ref: '#/components/schemas/BrandMarket'
'404':
description: Unknown brand slug, or no products on this market
tags:
- Brands
components:
parameters:
Slug:
name: slug
in: path
required: true
description: URL slug as returned by search/list endpoints.
schema:
type: string
schemas:
BrandDetail:
type: object
properties:
id:
type: integer
name:
type: string
slug:
type: string
description:
type:
- string
- 'null'
website:
type:
- string
- 'null'
certifications:
type: array
description: Third-party verified brand certifications from the Glowpedia fact base (Ecocert, Leaping Bunny, The Vegan Society...). Localized note explains each cert.
items:
type: object
properties:
name:
type: string
note:
type: string
claims:
type:
- array
- 'null'
description: The brand's OWN unverified marketing claims (localized strings). Always attribute to the brand — never present as verified facts.
items:
type: string
glowpedia_url:
type:
- string
- 'null'
description: Market-localized URL to the brand article on Glowpedia (the beauty-brand encyclopedia). Null until the market edition is launched.
guide_slug:
type:
- string
- 'null'
description: Slug of this brand's price guide when one exists in this market (GET /api/guides/{slug}); null otherwise.
BrandMarket:
type: object
description: 'One brand''s presence on this country''s market (source: the same nightly price data as the product listings).'
properties:
country:
type: string
description: 'Market code: se, no, dk, fi or de'
currency:
type: string
description: SEK, NOK, DKK or EUR
slug:
type: string
name:
type: string
products:
type: integer
description: EAN-grouped products listed on this market
in_stock:
type: integer
description: Products currently in stock at at least one store
listings:
type: integer
description: Store listings across all products
on_sale:
type: integer
description: Products whose lowest current price is below the store's own reference price
stores:
type: integer
store_names:
type: array
items:
type: string
description: Up to eight stores, most listings first
price:
type: object
properties:
min:
type:
- number
- 'null'
median:
type:
- number
- 'null'
max:
type:
- number
- 'null'
categories:
type: array
items:
type: object
properties:
slug:
type: string
count:
type: integer
subcategories:
type: array
items:
type: object
properties:
path:
type: string
count:
type: integer
cheapest:
type:
- object
- 'null'
properties:
name:
type: string
price:
type:
- number
- 'null'
store:
type:
- string
- 'null'
in_stock:
type: boolean
url:
type: string
description: Product page on the market site
certifications:
type: array
items:
type: object
claims:
type: array
items:
type: string
attributes:
type: array
items:
type: string
brand_url:
type: string
description: Brand page on the market site
ingredients:
type:
- object
- 'null'
description: Ingredient profile across the brand's products on this market, from parsed INCI lists. Shares use products with a known ingredient list as denominator.
properties:
products:
type: integer
with_inci:
type: integer
description: Products with a parsed ingredient list
with_keys:
type: integer
top:
type: array
description: Most common key-ingredient groups (non-controversial), up to 8
items:
$ref: '#/components/schemas/IngredientRef'
controversial:
type: array
description: Groups flagged as possibly affecting sensitive skin, up to 5
items:
$ref: '#/components/schemas/IngredientRef'
shares:
type: object
properties:
fragrance_free:
type:
- number
- 'null'
animal_free:
type:
- number
- 'null'
controversial_free:
type:
- number
- 'null'
hub_url:
type:
- string
- 'null'
description: Ingredient hub on the market site
as_of:
type: string
format: date
description: Day the block was computed (cached up to 1 h).
observed_at:
type:
- string
- 'null'
format: date
description: Latest store-feed date among the brand's listings on this market — the data's observation day, distinct from as_of.
BrandSummary:
type: object
properties:
brand:
type: string
brand_slug:
type: string
count:
type: integer
website:
type:
- string
- 'null'
primary_logo_url:
type:
- string
- 'null'
IngredientRef:
type: object
properties:
slug:
type: string
name:
type: string
description: Localized group name
category:
type:
- string
- 'null'
tier:
type:
- integer
- 'null'
count:
type: integer
description: Products in the brand's range containing the group
url:
type:
- string
- 'null'
description: Ingredient page on the market site, when published