namenu+ Early Access Beta

Lunch menus,
structured & accessible.

namenu+ scrapes daily lunch menus from Slovak restaurants and exposes them via a clean REST API. Filter by city, day, allergens, price, delivery — and build things on top.

What is namenu+?

namenu+ aggregates daily lunch menus published on namenu.sk and other sources into a structured, queryable API. Instead of manually checking restaurant websites, you get clean JSON with dish names, prices, allergens, nutritional info, and delivery availability.

Currently covering Levice, Slovakia with more cities being added as the project grows. The full week's menu is scraped every day — so you can query Monday's menu on a Wednesday.

🗓
Full week coverage
Query any day of the current week, not just today.
Allergen filtering
14 standard EU allergens tracked per dish. Filter them out in the query.
🛵
Delivery aware
Know which restaurants offer delivery before you even open the menu.
🏗
Build anything
Telegram bots, lunch pickers, office tools, mobile apps — it's just JSON.

Authentication

All API requests require an API key passed in the Authorization header.

Authorization header

Include your key with every request:

GET https://api.namenuplus.toomcis.eu/api/levice/menu Authorization: your_api_key_here

Keys are personal and linked to your email. Don't share them. See the Access section below to request one.

API Endpoints

⚠ Base URL: https://api.namenuplus.toomcis.eu — not yet publicly hosted. Keys are issued now so you're ready when the server goes live.
GET /api/cities List all available cities

Returns all cities that have been scraped at least once.

// GET /api/cities [ { "id": 1, "name": "Levice", "slug": "levice", "url": "https://lv.namenu.sk/" } ]
GET /api/{city}/week Which days have data this week
paramtypedescription
citypathCity slug e.g. levicerequired
// GET /api/levice/week [ { "date": "2026-03-09", "has_data": true, "item_count": 182 }, { "date": "2026-03-10", "has_data": true, "item_count": 176 }, { "date": "2026-03-11", "has_data": false, "item_count": 0 }, ... ]
GET /api/{city}/restaurants List restaurants for a city
paramtypedescription
citypathCity slugrequired
datequeryYYYY-MM-DD, defaults to todayoptional
deliveryquerytrue/false — filter by deliveryoptional
GET /api/{city}/restaurants/{slug} Full menu for one restaurant
paramtypedescription
citypathCity slugrequired
slugpathRestaurant slugrequired
datequeryYYYY-MM-DD, defaults to todayoptional
// GET /api/levice/restaurants/restauracia-moja { "name": "Reštaurácia Moja", "delivery": true, "address": "Ul. Sv. Michala 12, Levice", "menu": [ { "type": "soup", "name": "Paradajková polievka", "price_eur": 1.40, "allergens": [1, 7], "nutrition": { "kcal": 180, "protein_g": 4 } } ] }
GET /api/{city}/menu All dishes across all restaurants — filterable
paramtypedescription
citypathCity slugrequired
datequeryYYYY-MM-DD, defaults to todayoptional
typequerysoup / main / dessertoptional
deliveryquerytrue/falseoptional
max_pricequeryMax price in EURoptional
exclude_allergensqueryComma-separated allergen numbers e.g. 1,7,14optional
limitqueryMax results, default 50, max 200optional
offsetqueryPagination offsetoptional
// GET /api/levice/menu?type=soup&max_price=2.00&exclude_allergens=7 { "date": "2026-03-05", "count": 14, "offset": 0, "results": [ ... ] }

Get API Access

namenu+ is currently in early access beta. Keys are issued manually — send a request email and you'll get a key linked to your address within a day or two.

✦ Early Access

Request your API key

Tell us what you're building. Keys are free during beta. One key per developer.

✉ Request early access
Sends a pre-filled email to contact@toomcis.eu — just hit send.