Museum · Amsterdam

EAT Advertising

Your museum day in Amsterdam starts here.

Have you visited a museum today? museumtickets.nl

About the museum

Your table, on the museum page

Museum visitors decide where to eat while they're still inside. This is where you reach them: a booking box on the museum's own page, showing your restaurant to people planning breakfast, lunch or dinner four minutes from your door.

Nine placements per museum. Three breakfast, three lunch, three dinner. When they're taken, they're taken — we don't add a tenth, because a page with thirty restaurants on it is a directory.

From €90 to €175 a month depending on the museum. No commission on any booking, ever. The reservation goes straight to your own system and the guest stays yours.

Pick your museum below. The ones nearest you tend to go first.

Breakfast

DEMO SPONSORED

☀ Breakfast

Canal Morning Café

Average price: €18

A bright canal-side spot for fruit bowls, grains and fresh coffee before the museum opens.

● Museumplein, Amsterdam

🚶 2 min walk from the Stedelijk Museum

☎ +31 20 123 4567

How to get thereBook your table+ Add to my Cultural Passport

DEMO SPONSORED

☀ Breakfast

Jordaan Breakfast Room

Average price: €21

A relaxed Jordaan breakfast room with eggs, artisan bread and seasonal produce.

● Museumplein, Amsterdam

🚶 4 min walk from the Van Gogh Museum

☎ +31 20 123 4569

How to get thereBook your table+ Add to my Cultural Passport

DEMO SPONSORED

☀ Breakfast

Museum Quarter Bakery

Average price: €16

A contemporary Amsterdam bakery with croissants, pastries and coffee before a museum visit.

● Museumplein, Amsterdam

🚶 1 min walk from the Rijksmuseum

☎ +31 20 123 4570

How to get thereBook your table+ Add to my Cultural Passport

Lunch

DEMO SPONSORED

☀ Lunch

Amsterdam Table

Average price: €27

An easy canal-side lunch of seasonal salads and open sandwiches for a relaxed afternoon.

● Museumplein, Amsterdam

🚶 3 min walk from the Van Gogh Museum

☎ +31 20 123 4568

How to get thereBook your table+ Add to my Cultural Passport

DEMO SPONSORED

☀ Lunch

Canal House Kitchen

Average price: €29

A light-filled kitchen serving homemade soup and artisan bread for a relaxed museum afternoon.

● Museumplein, Amsterdam

🚶 2 min walk from the Stedelijk Museum

☎ +31 20 123 4571

How to get thereBook your table+ Add to my Cultural Passport

DEMO SPONSORED

☀ Lunch

Heritage Lunchroom

Average price: €25

A welcoming heritage lunchroom with Mediterranean plates and quick service.

● Museumplein, Amsterdam

🚶 1 min walk from the Rijksmuseum

☎ +31 20 123 4572

How to get thereBook your table+ Add to my Cultural Passport

Dinner

DEMO SPONSORED

☾ Dinner

Evening Atelier

Average price: €48

A candlelit modern Dutch dining room presenting seasonal vegetables with careful technique.

● Museumplein, Amsterdam

🚶 2 min walk from the Stedelijk Museum

☎ +31 20 123 4573

How to get thereBook your table+ Add to my Cultural Passport

DEMO SPONSORED

☾ Dinner

Dutch Dining Room

Average price: €55

An elegant canal-house dining room focused on refined fish dishes and warm hospitality.

● Museumplein, Amsterdam

🚶 3 min walk from the Van Gogh Museum

☎ +31 20 123 4574

How to get thereBook your table+ Add to my Cultural Passport

DEMO SPONSORED

☾ Dinner

The Orange Lantern

Average price: €46

An intimate orange-lit bistro with handmade pasta, close to the museum district.

● Museumplein, Amsterdam

🚶 1 min walk from the Rijksmuseum

☎ +31 6 43 17 11 08

How to get thereBook your table+ Add to my Cultural Passport

.mad{--ink:#202124;--body:#5F6368;--muted:#80868B;--line:#DADCE0;--surf:#F1F3F4;
--paper:#fff;--deep:#C4441C;--museum:#F25727;--eat:#F6D200;--shop:#EA409F;--sleep:#00A7E1;
font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
color:var(--body);font-size:15px;line-height:1.65;max-width:1120px;margin:0 auto}
.mad *{box-sizing:border-box}
.mad__strip{display:flex;height:4px;margin-bottom:20px}
.mad__strip i{flex:1}
.mad__strip i:nth-child(1){background:var(--museum)}
.mad__strip i:nth-child(2){background:var(--eat)}
.mad__strip i:nth-child(3){background:var(--shop)}
.mad__strip i:nth-child(4){background:var(--sleep)}

.mad__steps{display:flex;gap:28px;list-style:none;margin:0 0 22px;padding:0 0 14px;
border-bottom:1px solid var(--line)}
.mad__steps li{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--muted)}
.mad__steps li span{width:22px;height:22px;border-radius:50%;background:var(--surf);
border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:11px}
.mad__steps li.is-on{color:var(--ink);font-weight:500}
.mad__steps li.is-on span{background:var(--ink);color:#fff;border-color:var(--ink)}

.mad__eyebrow{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.mad__h2{font-size:26px;font-weight:500;color:var(--ink);margin:0 0 6px;line-height:1.25;letter-spacing:-.01em}
.mad__lead{font-size:15px;color:var(--body);margin:0 0 24px;max-width:640px}
.mad__label{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.mad__hint{font-size:12px;color:var(--muted);margin:0}
.mad__museums-head{display:flex;justify-content:space-between;align-items:baseline}

.mad__grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:24px;align-items:start}
.mad__cols{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:16px;align-items:start}

.mad__meals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:22px}
.mad__meal{background:var(--surf);border:1px solid var(--line);border-top:3px solid var(--eat);
border-radius:2px;padding:11px 12px;font:inherit;font-size:13px;color:var(--body);cursor:pointer;text-align:left}
.mad__meal.is-on{outline:2px solid var(--ink);outline-offset:-2px;color:var(--ink);font-weight:500}

.mad__provinces{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:2px;overflow:hidden}
.mad__provinces>li+li{border-top:1px solid var(--line)}
.mad__prov{width:100%;display:flex;justify-content:space-between;gap:8px;align-items:center;
background:var(--paper);border:0;padding:10px 12px;font:inherit;font-size:13px;font-weight:500;
color:var(--ink);cursor:pointer;text-align:left}
.mad__prov em{font-style:normal;font-size:12px;color:var(--muted);font-weight:400}
.mad__prov::before{content:"+";margin-right:8px;color:var(--muted);font-weight:400}
.mad__prov.is-open::before{content:"–"}
.mad__prov.is-open{background:var(--surf)}
.mad__more{width:100%;margin-top:8px;background:var(--paper);border:1px solid var(--line);
border-radius:2px;padding:9px;font:inherit;font-size:13px;color:var(--ink);cursor:pointer}
.mad__more:hover{background:var(--surf)}
.mad__cities{list-style:none;margin:0;padding:0;overflow:hidden}
.mad__city{width:100%;display:flex;justify-content:space-between;gap:8px;align-items:center;
background:var(--surf);border:0;border-top:1px solid var(--line);padding:9px 12px 9px 26px;
font:inherit;font-size:13px;color:var(--body);cursor:pointer;text-align:left}
.mad__city em{font-style:normal;font-size:12px;color:var(--muted)}
.mad__city.is-on{background:var(--ink);color:#fff;font-weight:500}
.mad__city.is-on em{color:rgba(255,255,255,.62)}

.mad__museums{list-style:none;margin:0;padding:0;min-height:60px;
display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mad__m{display:flex;align-items:center;gap:10px;background:var(--surf);
border:1px solid var(--line);border-radius:2px;padding:11px 13px;cursor:pointer}
.mad__empty{grid-column:1/-1}
.mad__m.is-on{border-color:var(--ink);outline:1px solid var(--ink);outline-offset:-2px}
.mad__m.is-full{opacity:.45;cursor:not-allowed}
.mad__m input{margin:0;flex:0 0 auto;accent-color:var(--ink)}
.mad__m-body{flex:1;min-width:0}
.mad__m-body{display:block}
.mad__m-name{display:block;margin:0;font-size:14px;color:var(--ink);font-weight:500}
.mad__m-sub{display:block;margin:2px 0 0;font-size:12px;color:var(--body)}
.mad__m.is-full .mad__m-sub{color:#B3261E}
.mad__m-price{font-size:14px;font-weight:500;color:var(--ink);white-space:nowrap}
.mad__empty{padding:16px;font-size:13px;color:var(--muted)}

.mad__panel{background:var(--ink);border-radius:2px;padding:22px;position:sticky;top:20px}
.mad__panel-label{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
color:rgba(255,255,255,.62);margin:0}
.mad__panel-label--rule{border-top:1px solid rgba(255,255,255,.18);padding-top:16px;margin-top:18px}
.mad__price{font-size:40px;font-weight:500;color:#fff;margin:6px 0 2px;line-height:1.05}
.mad__price small{font-size:14px;color:rgba(255,255,255,.62);font-weight:400}
.mad__panel-sub{font-size:12px;color:rgba(255,255,255,.62);margin:0}

.mad__mode{display:block;width:100%;text-align:left;background:transparent;color:#fff;
border:1px solid rgba(255,255,255,.28);border-radius:2px;padding:13px 14px;margin-top:10px;
font:inherit;cursor:pointer}
.mad__mode.is-on{border-color:#fff;background:rgba(255,255,255,.1)}
.mad__mode-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.mad__mode-top strong{font-size:14px;font-weight:500}
.mad__save{font-style:normal;background:#E6F4EA;color:#137333;font-size:11px;font-weight:500;
padding:3px 8px;border-radius:2px;white-space:nowrap}
.mad__mode-price{display:block;font-size:22px;font-weight:500;margin:6px 0 2px}
.mad__mode-note{display:block;font-size:12px;color:rgba(255,255,255,.62);line-height:1.5}

.mad__fields{margin-top:18px}
.mad__fields label{display:block;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
color:rgba(255,255,255,.62);margin:12px 0 5px}
.mad__fields input{width:100%;font:inherit;font-size:14px;color:var(--ink);background:#fff;
border:1px solid rgba(255,255,255,.28);border-radius:2px;padding:10px 12px}

.mad__go{width:100%;margin-top:16px;background:#fff;color:var(--ink);border:0;border-radius:4px;
padding:12px;font:inherit;font-size:14px;font-weight:500;cursor:pointer}
.mad__go:hover{background:#f1f3f4}
.mad__go[disabled]{opacity:.5;cursor:not-allowed}
.mad__error{background:#FCE8E6;color:#B3261E;font-size:13px;border-radius:2px;padding:10px 12px;margin:14px 0 0}
.mad__fine{font-size:12px;color:rgba(255,255,255,.62);margin:12px 0 0}

@media(max-width:1024px){.mad__grid{grid-template-columns:1fr}.mad__panel{position:static}}
@media(max-width:900px){.mad__museums{grid-template-columns:1fr}}
@media(max-width:640px){.mad__cols{grid-template-columns:1fr}.mad__h2{font-size:22px}
.mad__price{font-size:32px}}

  1. 1Choose your placement
  2. 2Pay

Step 1 · your placement

Be present where visitors decide what comes next

Pick a meal period, then one museum page. Nine places on every museum: three breakfast, three lunch, three dinner.

Meal period



City

Museums

Choose one

    window.MADSell = {"ajaxUrl":"https:\/\/museumtickets.nl\/wp-admin\/admin-ajax.php","nonce":"2e1fd77047","prices":{"flagship":175,"medium":145,"standard":90},"yearly":{"flagship":1925,"medium":1595,"standard":990}};

    (function () {
    var root = document.querySelector('[data-mad]');
    if (!root || !window.MADSell) { return; }

    var cfg = window.MADSell,
    state = { meal: 'lunch', city: null, museum: null, mode: 'monthly' },
    listEl = root.querySelector('[data-mad-museums]'),
    priceEl = root.querySelector('[data-mad-price]'),
    subEl = root.querySelector('[data-mad-sub]'),
    payEl = root.querySelector('[data-mad-pay]'),
    monEl = root.querySelector('[data-mad-monthly]'),
    yrEl = root.querySelector('[data-mad-yearly]'),
    saveEl = root.querySelector('[data-mad-save]'),
    errEl = root.querySelector('[data-mad-error]'),
    goEl = root.querySelector('[data-mad-go]'),
    cityLbl = root.querySelector('[data-mad-city-label]'),
    moreEl = root.querySelector('[data-mad-more]'),
    PAGE = 20,
    all = [],
    shown = 0;

    function euro(n) {
    return '€' + Number(n).toLocaleString('nl-NL', { minimumFractionDigits: 0, maximumFractionDigits: 0 });
    }

    function post(action, data) {
    data = data || {};
    data.action = action;
    data.nonce = cfg.nonce;
    return fetch(cfg.ajaxUrl, {
    method: 'POST',
    headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
    body: new URLSearchParams(data)
    }).then(function (r) { return r.json(); });
    }

    function loadMuseums() {
    if (!state.city) { return; }
    listEl.innerHTML = '

  • Loading…
  • ';
    post('museumad_city_museums', { city: state.city, meal: state.meal }).then(function (res) {
    if (!res.success) { listEl.innerHTML = '

  • ' + res.data.message + '
  • '; return; }
    render(res.data.museums);
    }).catch(function () {
    listEl.innerHTML = '

  • Could not load museums.
  • ';
    });
    }

    function render(museums) {
    all = museums;
    shown = 0;
    listEl.innerHTML = '';
    if (!museums.length) {
    listEl.innerHTML = '

  • No museums in this city yet.
  • ';
    moreEl.hidden = true;
    return;
    }
    more();
    }

    function more() {
    var slice = all.slice(shown, shown + PAGE);
    shown += slice.length;
    slice.forEach(function (m) {
    var full = m.left < 1,
    li = document.createElement('li');
    li.className = 'mad__m' + (full ? ' is-full' : '');
    li.innerHTML =
    '' +
    '' +
    '' + m.name + '' +
    '' + m.tier + ' · ' +
    (full ? state.meal + ' fully booked'
    : m.left + ' ' + state.meal + ' place' + (m.left === 1 ? '' : 's') + ' left') +
    '
    ' +
    '
    ' +
    '' + euro(m.price) + '';
    if (!full) {
    li.addEventListener('click', function () { choose(m, li); });
    }
    listEl.appendChild(li);
    });

    var left = all.length - shown;
    moreEl.hidden = left 0) {
    moreEl.textContent = 'Show ' + left + ' more museum' + (left === 1 ? '' : 's');
    }
    }

    moreEl.addEventListener('click', more);

    function choose(m, li) {
    state.museum = m;
    Array.prototype.forEach.call(listEl.children, function (el) { el.classList.remove('is-on'); });
    li.classList.add('is-on');
    var radio = li.querySelector('input');
    if (radio) { radio.checked = true; }

    var yearly = m.price * 11;
    priceEl.innerHTML = euro(m.price) + '/month';
    subEl.textContent = m.name + ' · ' + state.meal;
    monEl.textContent = euro(m.price) + '/month';
    yrEl.textContent = euro(yearly) + '/year';
    saveEl.textContent = 'Save ' + euro(m.price);
    payEl.hidden = false;
    }

    root.querySelectorAll('[data-meal]').forEach(function (b) {
    b.addEventListener('click', function () {
    root.querySelectorAll('[data-meal]').forEach(function (x) {
    x.classList.remove('is-on'); x.setAttribute('aria-checked', 'false');
    });
    b.classList.add('is-on'); b.setAttribute('aria-checked', 'true');
    state.meal = b.dataset.meal;
    state.museum = null;
    payEl.hidden = true;
    priceEl.textContent = '—';
    subEl.textContent = 'Select a museum';
    loadMuseums();
    });
    });

    root.querySelectorAll('[data-prov]').forEach(function (b) {
    b.addEventListener('click', function () {
    var open = b.classList.contains('is-open');
    root.querySelectorAll('[data-prov]').forEach(function (x) {
    x.classList.remove('is-open');
    x.setAttribute('aria-expanded', 'false');
    var ul = x.parentNode.querySelector('.mad__cities');
    if (ul) { ul.hidden = true; }
    });
    if (!open) {
    b.classList.add('is-open');
    b.setAttribute('aria-expanded', 'true');
    var ul = b.parentNode.querySelector('.mad__cities');
    if (ul) { ul.hidden = false; }
    }
    });
    });

    root.querySelectorAll('[data-city]').forEach(function (b) {
    b.addEventListener('click', function () {
    root.querySelectorAll('[data-city]').forEach(function (x) {
    x.classList.remove('is-on'); x.setAttribute('aria-pressed', 'false');
    });
    b.classList.add('is-on'); b.setAttribute('aria-pressed', 'true');
    state.city = b.dataset.city;
    if (cityLbl) { cityLbl.textContent = 'Museums in ' + state.city; }
    state.museum = null;
    payEl.hidden = true;
    priceEl.textContent = '—';
    subEl.textContent = 'Select a museum';
    loadMuseums();
    });
    });

    root.querySelectorAll('[data-mode]').forEach(function (b) {
    b.addEventListener('click', function () {
    root.querySelectorAll('[data-mode]').forEach(function (x) {
    x.classList.remove('is-on'); x.setAttribute('aria-pressed', 'false');
    });
    b.classList.add('is-on'); b.setAttribute('aria-pressed', 'true');
    state.mode = b.dataset.mode;
    });
    });

    goEl.addEventListener('click', function () {
    var name = root.querySelector('[data-mad-name]').value.trim(),
    email = root.querySelector('[data-mad-email]').value.trim();

    errEl.hidden = true;

    if (!state.museum) { return fail('Choose a museum first.'); }
    if (!name) { return fail('Enter your business name.'); }
    if (!/^\S+@\S+\.\S+$/.test(email)) { return fail('Enter a valid business email.'); }

    goEl.disabled = true;
    goEl.textContent = 'One moment…';

    post('mtrr_start_checkout', {
    museum: state.museum.id,
    meal: state.meal,
    mode: state.mode,
    business_name: name,
    business_email: email
    }).then(function (res) {
    if (res.success && res.data.url) { window.location = res.data.url; return; }
    fail((res.data && res.data.message) || 'Could not start payment.');
    goEl.disabled = false;
    goEl.textContent = 'Continue to payment';
    }).catch(function () {
    fail('Could not reach the server.');
    goEl.disabled = false;
    goEl.textContent = 'Continue to payment';
    });
    });

    function fail(msg) {
    errEl.textContent = msg;
    errEl.hidden = false;
    }

    // Open on the first city.
    var first = root.querySelector('[data-city]');
    if (first) { state.city = first.dataset.city;
    if (cityLbl) { cityLbl.textContent = 'Museums in ' + state.city; }
    loadMuseums(); }
    })();

    museumtickets.nl Culture Passport Save this museum to your cultural library. Plan your visits, tick off what you have seen and build your own cultural journey.