Amsterdam Coffeeshop Menus 18+

Home · Prijzen · Over & juridisch

Hoe deze site werkt

Amsterdam Coffeeshop Menus is een archief van menuprijzen die Amsterdamse coffeeshops hebben afgedrukt. Elke prijs op de site staat op een menukaart met een datum, en die datum reist met de prijs mee overal waar hij verschijnt.

Deze pagina legt uit hoe uit een menukaart een prijsregel wordt, hoe twee prijzen worden vergeleken, en waar de data ophoudt. Het is de kortste eerlijke beschrijving van wat het archief wel en niet kan beantwoorden. Momentopname: 2026-11-03.

Waar de data vandaan komt

De bron. Het archief wordt opgebouwd uit een openbaar menu-archief op het web. Elke winkel heeft een pagina met zijn menukaarten, en elke menukaart heeft een foto en een datum. Een alleen-lezen-crawler bezoekt die pagina's en neemt de foto en de datum over zoals die op de pagina staat. De datum wordt altijd uit de paginatext gelezen, nooit uit een bestandsnaam.

Van foto naar prijsregel. De menufoto wordt met OCR gelezen. Het resultaat is een kleine tabel: productnaam, prijs, formaat en de datum van de menukaart. De naam wordt daarna genormaliseerd (kleinschrijving, afgekapt, plus een korte aliassenlijst voor spellingvarianten). Een prijs per gram wordt alleen berekend als de menukaart het gewicht vermeldt: prijs ÷ gram. Ontbreekt het gewicht, dan blijft de regel een eenheidsprijs en komt hij nooit in een vergelijking per gram terecht.

De datum is de menudatum. Het is niet de datum van de crawl, niet de datum waarop het archief is herbouwd, en niet de datum waarop het product in de vitrine ligt.

Geen menselijke controle. Niets wordt bevestigd door een bezoek of een telefoontje. Een twijfelachtige regel blijft in het archief met een vlag, in plaats van stilletjes verwijderd te worden.

Eén prijsregel, veld voor veld

Twee echte regels uit het archief. Elk veld hieronder is overgenomen van de menukaart, en er wordt niets ingevuld als de menukaart het niet vermeldt.

VeldRegister ARegister B
Winkel Bagheera Freedom
Datum op de menukaart 2026-10-20 2026-10-21
Productnaam (genormaliseerd) cbd candy runtz amnesia
Formaat op de menukaart 1g 1g
Prijs op de menukaart € 6.00 € 10.00
Prijs per gram (prijs ÷ gram) € 6.00/g € 10.00/g
Genetica niet op de menukaart vermeld sativa
THC op de menukaart 0.2 % niet op de menukaart vermeld

Wat er in het archief zit

251winkels gevolgd
212winkels met een gedateerde menukaart
9,542prijsregels
2007-04-17vroegste menudatum
Geteld uit de catalogusmomentopname van 2026-11-03
WatAantalHoe het wordt geteld
Winkels in de gids251elke winkel in het winkelbestand
Winkels met een gedateerde menukaart212minstens één menukaart met datum op de kaart
Winkels zonder menukaart in het archief39gevolgd, maar er is geen menukaart gevonden
Menukaarten die de bron voor die winkels vermeldt4,369menukaarten uit de brongids, waarvan het archief per winkel de meest recente bewaart
Winkels met een menukaart van de laatste 30 dagen20menudatum binnen 30 dagen van 2026-11-03
Winkels met alleen een oudere menukaart192prijzen bewaard en gemarkeerd als laatst bekend
Prijsregels9,542één rij per productregel die van een menukaart is gelezen
Productseries8,988productnaam + formaat, per winkel
Verschillende productnamen3,754namen na normalisatie (kleinschrijving, afgekapt), nooit geschat
Winkels met minstens één prijsregel185van de 212 winkels met een menukaart hebben er 27 geen prijsregel in het archief
Regels met een prijs per gram6,41467.2% van alle regels: alleen waar de menukaart het gewicht vermeldt
Regels per stuk of per joint3,128vergeleken als eenheidsprijs, nooit als prijs per gram
Regels in de ranglijst4,021één regel per product en variant
Vroegste menudatum2007-04-17oudste gedateerde prijsregel in het archief
Laatste menudatum2026-10-28nieuwste gedateerde prijsregel in het archief

Hoe een prijs wordt vergeleken

Per gram tegenover per gram. Voor wiet, hasj en extracten is de vergelijkingsmaat het gram, en die wordt alleen gebruikt als de menukaart het gewicht vermeldt. Joints en eetwaren worden per joint en per stuk vergeleken. Een eenheidsprijs komt nooit in een mediaan per gram terecht.

Eén prijs per winkel per product. Binnen een groep bewaart het archief de goedkoopste prijs die elke winkel afdrukte, dus een winkel met een regel van 1 g en een regel van 5 g telt één keer mee, niet twee keer.

Varianten worden niet gemengd. Een cali-product en een dutch-product met dezelfde naam zijn twee aparte groepen. Hasj wordt gesplitst per methode (sift, ice, import) en per herkomst. Een product wordt nooit met zijn variant gemiddeld.

Verpakkingen blijven apart. Een verpakking van 5 g houdt haar eigen regel en is gemarkeerd als verpakking. De prijspagina's zetten losse grammen en verpakkingen in twee blokken, zodat een verpakkingsprijs nooit als prijs per gram wordt gelezen.

Mediaan, geen gemiddelde. De mediaan op de prijspagina's is de middelste waarde van de gesorteerde prijzen; bij een even aantal prijzen is dat het gemiddelde van de twee middelste waarden. Eén duur menu verschuift hem niet, en één goedkoop menu ook niet.

De mediaan wordt alleen over verse menukaarten berekend. Alleen prijzen op menukaarten van de laatste 30 dagen komen in de mediaan. Oudere menukaarten houden hun eigen regel, gemarkeerd als laatst bekend, en het verschil met de mediaan wordt als indicatief getoond, niet als huidige korting.

De spanningsbreedte staat naast de mediaan. Laagste en hoogste prijs van dezelfde groep, zodat een mediaan nooit zonder context staat.

Een doorberekend voorbeeld

Verse regels, per gram, met de mediaan opnieuw berekend uit dezelfde rijen. Voor de 379 verse groepen die een mediaan publiceren, levert het herberekenen van de mediaan uit de ruwe regels de gepubliceerde waarde op in 379 van de 379 gevallen.

Beste prijs, mediaan en spanningsbreedte per productgroep (menukaarten van de laatste 30 dagen)
#ProductVariantBeste prijsWinkel en menudatumMediaanSpanningsbreedteMeegetelde winkels
1 amnesia standard € 6.00/g Amnesia · 2026-10-06 € 9.00 € 6.00 – € 10.00 5
2 lemon cherry gelato standard € 10.00/g 7th Heaven · 2026-10-14 € 13.50 € 10.00 – € 13.50 5
3 bluzzi standard € 14.00/g Loft · 2026-10-16 € 14.00 € 14.00 – € 14.00 4
4 candy fumez standard € 12.00/g Loft · 2026-10-16 € 12.00 € 12.00 – € 12.00 4
5 champagne sift € 11.00/g Loft · 2026-10-16 € 11.00 € 11.00 – € 11.00 4
6 donkey butter standard € 11.00/g Loft · 2026-10-16 € 11.00 € 11.00 – € 11.00 4
7 gouda berry standard € 10.00/g Loft · 2026-10-16 € 10.00 € 10.00 – € 10.00 4
8 lemon zkittlez standard € 13.00/g Loft · 2026-10-16 € 13.00 € 13.00 – € 13.00 4

De winkel achter elke beste prijs en de menudatum erbij staan op de prijspagina's: alle prijzen, goedkoopste regels, producten.

Wat deze site niet weet

  • Een prijs is niet de prijs van vandaag. Een prijs hoort bij de menukaart waarop hij geschreven staat. De nieuwste menukaart in het archief is van 2026-10-28; de momentopname van deze pagina is van 2026-11-03. Een coffeeshop kan zijn prijzen een dag na het afdrukken al hebben aangepast.
  • Beschikbaarheid wordt niet gecontroleerd. Niemand belt een coffeeshop om te vragen of het product in de vitrine ligt. Een menuregel bewijst dat het product op die datum op een menukaart stond, en verder niets.
  • 39 van de 251 gevolgde winkels hebben geen menukaart in het archief. Dat is ontbrekende data, geen uitspraak over hun voorraad. Nog 27 winkels hebben wel een menukaart in de gids maar geen prijsregel in het archief. In totaal dragen 185 winkels prijsregels.
  • Genetica en THC bestaan alleen waar de menukaart ze vermeldt. 710 van de 9,542 regels (7.4%) vermelden een THC-percentage en 2,133 (22.4%) een genetische label. De rest is onbekend, niet nul. Een THC-cijfer hier betekent "op die menukaart vermeld", en verder niets.
  • OCR kan fout zijn. 1,171 regels hebben minstens één vlag. Daarvan zijn 50 gemarkeerd als moeilijk leesbaar, hebben 53 een afwijkend formaat en liggen 105 buiten het normale prijsbereik. Regels met een afwijkend formaat blijven buiten de ranglijsten; de rest blijft zichtbaar met de vlag erbij.
  • Namen zijn niet canoniek. Hetzelfde product kan onder meer dan één spelling voorkomen, en 313 regels zijn verpakkingen in plaats van losse grammen. Een korte aliassenlijst voegt alleen de voor de hand liggende spellingvarianten samen en niets anders.
  • De site verkoopt niets. Alleen informatie, 18+, en er worden geen aankopen geregeld, geen bestellingen opgenomen en geen betalingen verwerkt. Zie de juridische pagina's en de notitie over het lezen van de data.

Prijsgeschiedenis

Elke prijs draagt de datum van de menukaart waarop hij geschreven staat, en het archief loopt van 2007-04-17 tot 2026-10-28. Niets wordt naar voren doorgerekend: een prijs van 2007-04-17 is nog steeds een prijs van 2007-04-17.

Het archief bewaart voor elke winkel de meest recente menukaart die het vond, dus een jaarpagina is geen maandindex van één winkel. Een jaarpagina is de mediaan van de prijzen per gram op de menukaarten met die datum, over alle winkels, en gebruikt elke regel van dat jaar, niet alleen de laatste 30 dagen.

Een winkel die jarenlang geen menukaart heeft gepubliceerd toont nog steeds zijn oude prijzen, gemarkeerd als laatst bekend en nooit door elkaar gerekend met de huidige mediaan. De oudere jaren bestaan daardoor uit minder menukaarten, en het aantal regels staat naast elke mediaan.

Mediaanprijs per gram naar jaar van de menudatum
JaarMediaan €/g wietMediaan €/g hasjRegels per gramJaarpagina's
2007 € 10.50 — 10 wiet
2008 € 9.00 € 11.25 34 wiet · hasj
2009 € 8.33 € 8.00 30 wiet · hasj
2011 € 8.50 € 9.00 35 wiet · hasj
2012 € 8.33 € 7.50 18 wiet · hasj
2013 € 9.00 € 10.00 50 wiet · hasj
2014 € 9.09 € 6.94 66 wiet · hasj
2015 € 12.00 € 11.00 64 wiet · hasj
2016 € 11.36 € 9.58 84 wiet · hasj
2019 € 14.00 € 13.60 148 wiet · hasj
2020 € 11.00 € 10.00 77 wiet · hasj
2021 € 10.00 € 10.00 49 wiet · hasj
2022 € 14.00 € 11.00 143 wiet · hasj
2023 € 12.50 € 12.00 180 wiet · hasj
2024 € 12.00 € 10.00 513 wiet · hasj
2025 € 12.82 € 11.00 789 wiet · hasj
2026 € 12.50 € 12.00 3776 wiet · hasj

Volledige jaarlijst voor wiet: /prices/weed/2026/ · alle categorieën: /prices/. De mediaanwaarden hierboven zijn degene die op de jaarpagina's staan: de middelste waarde van de gesorteerde prijzen per gram van dat jaar, waarbij bij een even aantal de bovenste middelste waarde wordt genomen.

Vragen

Zijn dit live prijzen?

Nee. Elke prijs op deze site staat op een menukaart met een datum, en die datum staat naast de prijs. Een menuprijs is wat een winkel op een bepaalde dag heeft opgeschreven. Het is geen controle op de actuele beschikbaarheid, en het is geen door een mens gecontroleerd bezoek.

Hoe bereken je de mediaan?

Prijzen worden gegroepeerd per productnaam en variant, zodat een cali-product en een dutch-product met dezelfde naam gescheiden blijven. Binnen een groep wordt per winkel maar één prijs bewaard, de goedkoopste die die winkel heeft afgedrukt. De mediaan is de middelste waarde van die prijzen, berekend over menukaarten van de laatste 30 dagen; bij een even aantal prijzen is dat het gemiddelde van de twee middelste waarden. De laagste en de hoogste prijs van de groep staan er naast.

Waar komen de menukaarten vandaan?

Uit een openbaar menu-archief op het web dat de menukaarten van elke winkel opsomt, met voor elke menukaart een foto en een datum. De pagina's worden gelezen zonder in te loggen en zonder iets te kopen. De foto's worden met OCR gelezen en de datum komt uit de tekst van de pagina, nooit uit een bestandsnaam. Niemand van het team controleert een menukaart met de hand.

Hoe vers is de data?

Deze pagina is een momentopname van 2026-11-03. 20 van de 251 gevolgde winkels hebben een menukaart van de laatste 30 dagen. 192 winkels hebben alleen een oudere menukaart, en hun prijzen worden getoond als laatst bekend in plaats van als actueel. 39 winkels hebben helemaal geen menukaart in het archief.

Waarom staat hetzelfde product onder verschillende namen?

Twee redenen. Menukaarten schrijven hetzelfde product met verschillende spellingen en varianten, en OCR kan een naam iets verkeerd lezen. Een korte aliassenlijst voegt alleen de voor de hand liggende spellingvarianten samen en niets anders: een cali-product en een dutch-product met dezelfde naam worden nooit tot één gemiddelde samengevoegd.

Mag ik jullie data gebruiken?

Ja, zolang je de menudatum vermeldt. De alleen-lezen JSON-API staat beschreven op de API-documentatiepagina, en de voorwaarden op de juridische pagina. Prijzen zijn indicatief, kunnen oud zijn, en zijn geen aanbod van een winkel. Vermeld altijd de datum van de menukaart waarop een prijs staat.

Waar je verder kunt

  • Prijzen — mediaanprijs per gram per categorie, met spanningsbreedtes en menudatums.
  • Producten — alle productnamen in het archief, met hun prijsgeschiedenis.
  • Goedkoopste — regels onder het Amsterdamse medianiveau, op verse menukaarten.
  • Winkels — de 251 gevolgde winkels en de datum van hun laatste menukaart.
  • Merken — producenten zoals op de menukaarten vermeld, nooit geschat.
  • API-documentatie — de alleen-lezen JSON-eindpunten over dezelfde regels.
  • Juridisch — voorwaarden, privacy, en hoe je de data moet lezen.