API for Dagligvarepriser.

Beta

Kassalapp sitt API gir deg tilgang til produktinformasjon, priser og næringsinnhold på mange dagligvarer solgt i Norske butikker.

Spørsmål og svar

  • Dataene som hentes ut fra Kassalapp, skal ikke brukes til kommersielle formål uten avtale.
  • Allergi-informasjonen hentet ut fra APIet skal ikke presenteres til sluttbruker uten å vise følgende eller tilsvarende advarsel: "Merk at allergeninformasjon bare er veiledende, og kan inneholde feil og mangler, Husk å alltid lese innholdsfortegnelsen på pakken før du bruker varen."
  • Om prosjektet som bruker Kassalapp APIen er offentlig tilgjengelig på nett, må du inkludere en link til Kassalapp på nettsiden.

Dette API-et i sin nåværende tilstand er primært tiltenkt hackatons, studentprosjekter/skoleoppgaver og personlig bruk

Om du ønsker å bruke API-et eller dataen til kommersielle formål, ta kontakt på e-post, for å se om vi kan få til en avtale.

Ta kontakt på e-post for mer info.

API-et leverer ut produktnavn, beskrivelse, merke, leverandør, allergener*, næringsinnhold, prishistorikk, produktbilde** og ingrediensliste, hvorvitt disse er tilgjengelig for det spesifikke produktet.

*Allergener er bare til informasjon, og kan være mangelfulle, dataene fra Kassalapp API-et skal ikke brukes til allergivarsling eller helse-relaerte formål hvor nøyaktig allergi-merking er et krav.
**Bilder kan være beskyttet av opphavsrett, Kassalapp eier ikke rettighetene til bildene levert fra API-et.

Prisene blir innhentet minst 1 gang hver uke, men vi henter også priser sporadisk på diverse produkter, det hender også at et produkt går ut av sortementet hos butikkene, i dette tilfelle blir ikke prisene oppdatert.

Du kan gjøre maks 60 kall per minutt, dette tilsvarer 1 kall per sekund.

Ja, du kan gjøre oppslag enten ved fri-tekst søk, eller du kan slå opp et produkt med EAN nummer (strekkode).

Kategoriseringen til produktet er per np ikke inkludert i API-et, da kategoriseringen av en del produkter er mangelfull.

Du kan bruke endepunktet: https://kassal.app/api/v1/products/find-by-url/compare eller https://kassal.app/api/v1/products/ean/{ean} for å sammenligne produkter

Her vil API-et returnere alle produkter som matcher EAN koden som er gitt, eller om man bruker en URL vil API-et returnere alle produkter som matcher EAN koden til produktet i URLen som er gitt (Dette gir mer mening om du lager f.eks en Chrome extension hvor du slår opp basert på produktet sin url)

HTTP 429 betyr at du har sendt for mange kall for fort, APIen har en rate limit på 60 kall per minutt, legg inn en delay i koden, slik at du havner under denne rate-limiten.

Dette er planlagt funksjonalitet, men er ikke klart helt enda.

Ikke per i dag, nei.

API Dokumentasjon

GET
/api/v1/physical-stores
search optional
string Searches the name and address of the store.
page optional
integer The page to return
size optional
integer How many results to return, 10 by default, 100 maximum
lat lng optional
float Only show stores that are within km = 5 radius of the provided position.
km optional
float The search radius in kilometers when lat and lng is provided, if omitted, 5 is used by default.
group optional
BUNNPRIS
Only show stores from chain 'Bunnpris'
COOP_BYGGMIX
Only show stores from chain 'Coop Byggmix'
COOP_ELEKTRO
Only show stores from chain 'Coop Elektro'
COOP_EXTRA
Only show stores from chain 'Coop Extra'
COOP_MARKED
Only show stores from chain 'Coop Marked'
COOP_MEGA
Only show stores from chain 'Coop Mega'
COOP_OBS
Only show stores from chain 'Obs'
COOP_OBS_BYGG
Only show stores from chain 'Obs Bygg'
COOP_PRIX
Only show stores from chain 'Coop Prix'
EUROPRIS_NO
Only show stores from chain 'Europris'
JOKER_NO
Only show stores from chain 'Joker'
KIWI
Only show stores from chain 'KIWI'
MATKROKEN
Only show stores from chain 'Matkroken'
MENY_NO
Only show stores from chain 'Meny'
NAERBUTIKKEN
Only show stores from chain 'Nærbutikken'
REMA_1000
Only show stores from chain 'REMA1000'
SPAR_NO
Only show stores from chain 'SPAR'
GET
/api/v1/physical-stores/{id}
id required
string The id of the store.
GET
/api/v1/products
search optional
string Search for all words in the product name, fuzzy matches "grandiosa kjøttdeig løk" -> "Grandiosa Pizza Kjøttdeig&Løk 520g Stabburet"
page optional
integer The page to return
size optional
integer How many results to return, 10 by default, 100 maximum
brand optional
string Filter products that is of a certain brand ex: "Bama"
price_min optional
number Only show products where the current price is larger than the number provided
price_max optional
number Only show products where the current price is smaller than the number provided
sort optional
date_asc
Sort by date ascending, aka oldest products first
date_desc
Sort by date descending, aka newest products first
name_asc
Sort alphabetically product name (A > Å)
name_desc
Sort alphabetically product name in reverse order (Å > A)
price_asc
Sort by price ascending, cheapest products first
price_desc
Sort by price descending, most expensive products first
GET
/api/v1/products/id/{id}
id required
integer ID of the product to retrieve data for.
GET
/api/v1/products/ean/{ean}
ean required
string EAN number (barcode) of product to get data for.
GET
/api/v1/products/find-by-url/single
url required
string Url of a product page from a grocery store
example: https://meny.no/Varer/middag/pizza/pizza/grandiosa-pizza-7039010576963
GET
/api/v1/products/find-by-url/compare
url required
string Url of a product page from a grocery store
example: https://meny.no/Varer/middag/pizza/pizza/grandiosa-pizza-7039010576963