Public Restaurant Data
These endpoints return restaurant data without requiring an API key or any authentication. Use them to display your menu, hours, or restaurant info directly on your website — no backend needed.
The {id} in each URL is your restaurant ID, available in
dashboard.getsuko.com under Settings.
Get full config
GET https://api.getsuko.com/api/public/restaurants/{id}/configReturns the complete public data object: menu, hours, and info in one request.
{
"menu": { ... },
"hours": { ... },
"info": { ... }
}Get menu
GET https://api.getsuko.com/api/public/restaurants/{id}/menuReturns your restaurant’s menu as configured in the dashboard.
Example
const res = await fetch('https://api.getsuko.com/api/public/restaurants/YOUR_ID/menu')
const menu = await res.json()Get hours
GET https://api.getsuko.com/api/public/restaurants/{id}/hoursReturns your opening hours by day.
Example response
{
"monday": "12:00–22:00",
"tuesday": "12:00–22:00",
"wednesday": "12:00–22:00",
"thursday": "12:00–23:00",
"friday": "12:00–23:00",
"saturday": "11:00–23:00",
"sunday": "11:00–21:00"
}Get info
GET https://api.getsuko.com/api/public/restaurants/{id}/infoReturns general restaurant info (address, phone, and any other details set in the dashboard).
Usage example — Next.js
Fetch and render your menu server-side with no API key:
export default async function MenuPage() {
const res = await fetch(
'https://api.getsuko.com/api/public/restaurants/YOUR_ID/menu',
{ next: { revalidate: 3600 } } // cache for 1 hour
)
const menu = await res.json()
return (
<ul>
{menu.categories?.map((cat) => (
<li key={cat.id}>
<h2>{cat.name}</h2>
<ul>
{cat.items.map((item) => (
<li key={item.id}>
{item.name} — ${item.price}
</li>
))}
</ul>
</li>
))}
</ul>
)
}No API key, no backend, no extra dependencies. Data updates instantly when you change your menu in the dashboard.