Danish FMCG · catalog API + shelf intelligence

Ground truth for every shelf in Denmark.

One canonical catalog of every SKU, price and shelf share across Netto, Rema 1000, Føtex, Bilka, Coop and Lidl — served as REST and webhooks. The data your team has been hand-collecting in spreadsheets, in one place, always fresh.

4,554live offers
2,672stores covered
16chains tracked
Tracking live offers across
Bilka
Scandinavian Park
fakta Tyskland
Føtex
Fleggaard
Netto
CITTI
Calle
Løvbjerg
Lidl
BorderShop
Coop 365discount
Meny
Spar
Rema 1000
Min Købmand
Two products, one source of truth

Build with the data, or read it in your dashboard.

Catalog API

For engineers building grocery apps and pricing tools.

One REST endpoint per resource. Webhook events when a price or assortment changes. Normalized categories across every chain.

GET/v1/products/5740900403214200 OK
{
  "gtin": "5740900403214",
  "brand": "Coca-Cola",
  "name": "Coca-Cola Zero 1,5 L",
  "category": "beverages.carbonated",
  "prices": [
    {
      "chain": "netto",
      "price": 19.95,
      "observed_at": "…09:42Z"
    },
    {
      "chain": "rema",
      "price": 20.00,
      "observed_at": "…09:38Z"
    },
    {
      "chain": "foetex",
      "price": 21.50,
      "observed_at": "…09:31Z"
    }
  ]
}
  • REST + webhooks · OpenAPI spec
  • Normalized GTINs and categories
  • Live distribution across every chain we cover
Shelf Intelligence

For category and pricing teams at FMCG brands.

See your brand the way the market does — every price, promo and catalog placement across every covered chain, from the same live data behind our API. In-store signals like share-of-shelf are in development.

  • Price and promo tracking across every covered chain
  • Price history for your products, day by day
  • Catalog presence: where your brand is (and isn't) on offer
Coverage

Every chain we're live on.

As of 2026-08-02.

ChainStoresLive offersStatus
Bilka19962Live
Scandinavian Park1555Live
fakta Tyskland3481Live
Føtex119365Live
Fleggaard6351Live
Netto588300Live
CITTI1227Live
Calle6188Live
Løvbjerg18185Live
Lidl171179Live
BorderShop2178Live
Coop 365discount320176Live
Meny118158Live
Spar13897Live
Rema 100043891Live
Min Købmand17261Live
Who builds on it

Four teams, four different reasons.

Pricing

Track competitor prices live across every chain.

Query current prices over REST, or get a webhook the moment a price moves — instead of weekly manual checks.

  • 16chains
  • 4,554live offers
  • REST+ webhooks
Get API access
Category

See your category across every chain’s catalog.

Which products each chain lists, and at what price — rebuilt from every catalog we ingest. No store visits, no spreadsheets.

  • 16chains
  • 2,672stores
  • catalogsourced
Get API access
Developers

Ship a price-comparison app in days, not quarters.

One REST endpoint per resource, official SDKs, and webhooks for changes. The catalog is already normalized across chains.

  • REST+ webhooks
  • SDKsofficial
  • 4,554live offers
Get API access
Analysts

Alternative data on Danish FMCG pricing.

Price and assortment across every chain, straight from the API — with per-product price history. No scraping, no store panels.

  • 16chains
  • 4,554live offers
  • RESTAPI access
Get API access
Official SDKs

Typed clients for TypeScript, Python and Go.

Hand-written, idiomatic clients over the same public Catalog API — typed models, cursor pagination and typed errors, one call away.

TypeScript@shelfatlas/catalog-client
npmTerminal
npm install @shelfatlas/catalog-client
Pythonshelfatlas
pipTerminal
pip install shelfatlas
Goshelfatlas-go
goTerminal
go get github.com/SlambertDK/shelfatlas-go
Start mapping the shelf

Every SKU, every chain, every price — one call away.

Free to start across every chain. No credit card.