Quick start
Three examples you can run right now from a terminal.
$ curl https://mt.inovexlabs.com/pl/api/v1/stays?city=Beograd
$ curl https://mt.inovexlabs.com/pl/api/v1/events?type=festival
$ curl https://mt.inovexlabs.com/pl/api/v1/stats
Endpoints
| Method | URL | Description | Action |
|---|---|---|---|
| GET | /api/v1 | Returns the list of all endpoints. | Open in browser → |
| GET | /api/v1/places | All tourist places. Filter by category and region. | Open in browser → |
| GET | /api/v1/stays | Accommodation. Filter by type, city, region. | Open in browser → |
| GET | /api/v1/tours | Guided tours. Filter by type and starts_in. | Open in browser → |
| GET | /api/v1/events | Events. Filter by type, city, region. | Open in browser → |
| GET | /api/v1/news | News. Localised title and summary. | Open in browser → |
| GET | /api/v1/stats | KPIs and stats. Same numbers as /stats. | Open in browser → |
| GET | /api/v1/regions | Serbia's 6 macro-regions, multilingual. | Open in browser → |
Service descriptor
Returns the list of all endpoints.
Query parameters
No parameters.
Sample response
{
"name": "Smart Serbia Travel — Open Tourism Data API",
"version": "1.0",
"license": "CC-BY-4.0",
"endpoints": {
"places": "https://mt.inovexlabs.com/pl/api/v1/places",
"stays": "https://mt.inovexlabs.com/pl/api/v1/stays",
"tours": "https://mt.inovexlabs.com/pl/api/v1/tours",
"events": "https://mt.inovexlabs.com/pl/api/v1/events",
"news": "https://mt.inovexlabs.com/pl/api/v1/news",
"stats": "https://mt.inovexlabs.com/pl/api/v1/stats",
"regions": "https://mt.inovexlabs.com/pl/api/v1/regions"
}
}
Places
All tourist places. Filter by category and region.
Query parameters
| Name | Type | Description |
|---|---|---|
category |
string | monastery | fortress | park | ethno_village | spa | gastro | archaeological | city | mosque | catholic_church | synagogue |
region |
string | belgrade | vojvodina | sumadija | western | eastern | southern |
Sample response
{
"count": 1,
"license": "CC-BY-4.0",
"data": [
{
"id": 7,
"slug": "manastir-studenica",
"name": "Manastir Studenica",
"category": "monastery",
"region": "western",
"lat": 43.4861,
"lng": 20.5325,
"unesco": true,
"year_founded": 1190,
"photo_url": "https://example.com/assets/img/places/studenica.jpg",
"detail_url": "https://example.com/sr/places/manastir-studenica"
}
]
}
Stays
Accommodation. Filter by type, city, region.
Query parameters
| Name | Type | Description |
|---|---|---|
type |
string | apartment | etno_village | hotel | cabin | guesthouse |
city |
string | e.g. Beograd, Novi Sad, Zlatibor |
region |
string | belgrade | vojvodina | sumadija | western | eastern | southern |
Sample response
{
"count": 1,
"license": "CC-BY-4.0",
"data": [
{
"id": 12,
"slug": "apartman-savamala",
"name": "Apartman Savamala",
"type": "apartment",
"city": "Beograd",
"region": "belgrade",
"lat": 44.8125,
"lng": 20.454,
"price_per_night": 78,
"currency": "EUR",
"max_guests": 4,
"bedrooms": 2,
"bathrooms": 1,
"rating_avg": 4.7,
"rating_count": 142,
"amenities": [
"wifi",
"kitchen",
"aircon"
],
"photo_url": "https://example.com/assets/img/stays/savamala.jpg",
"detail_url": "https://example.com/sr/stays/apartman-savamala"
}
]
}
Tours
Guided tours. Filter by type and starts_in.
Query parameters
| Name | Type | Description |
|---|---|---|
type |
string | walking | day_trip | multi_day | wine | adventure | cultural |
starts_in |
string | starting city, e.g. Beograd |
Sample response
{
"count": 1,
"license": "CC-BY-4.0",
"data": [
{
"id": 4,
"slug": "beograd-walking",
"name": "Beograd — old town walking tour",
"type": "walking",
"starts_in": "Beograd",
"duration_hours": 3,
"duration_days": 0,
"difficulty": "easy",
"group_max": 12,
"price_per_person": 18,
"currency": "EUR",
"languages": [
"en",
"sr",
"de"
],
"rating_avg": 4.8,
"rating_count": 87,
"meeting_point": "Knez Mihailova 1",
"includes": [
"Local guide",
"Coffee stop"
],
"photo_url": "https://example.com/assets/img/tours/beograd-walking.jpg",
"detail_url": "https://example.com/sr/tours/beograd-walking"
}
]
}
Events
Events. Filter by type, city, region.
Query parameters
| Name | Type | Description |
|---|---|---|
type |
string | concert | festival | sport | cultural | food |
city |
string | e.g. Guča, Novi Sad, Beograd |
region |
string | belgrade | vojvodina | sumadija | western | eastern | southern |
Sample response
{
"count": 1,
"license": "CC-BY-4.0",
"data": [
{
"id": 9,
"slug": "exit-festival-2026",
"name": "EXIT Festival 2026",
"type": "festival",
"city": "Novi Sad",
"region": "vojvodina",
"venue": "Petrovaradinska tvrđava",
"starts_at": "2026-07-09 20:00:00",
"ends_at": "2026-07-12 06:00:00",
"lat": 45.2519,
"lng": 19.8635,
"price_from": 8900,
"currency": "RSD",
"capacity": 50000,
"has_tickets": true,
"is_free": false,
"external_url": "https://exitfest.org",
"photo_url": "https://example.com/assets/img/events/exit.jpg",
"detail_url": "https://example.com/sr/events/exit-festival-2026"
}
]
}
News
News. Localised title and summary.
Query parameters
| Name | Type | Description |
|---|---|---|
category |
string | announcement | advisory | funding | event | partnership | update |
importance |
string | low | normal | high | critical |
Sample response
{
"count": 1,
"license": "CC-BY-4.0",
"locale": "pl",
"data": [
{
"id": 3,
"slug": "horizon-europe-2026",
"category": "funding",
"importance": "high",
"pinned": true,
"published_at": "2026-04-12 09:00:00",
"source": "Tourism Organisation of Serbia",
"title": "€3.1M Horizon Europe grant awarded",
"summary": "Sustainable mountain tourism project (Tara/Kopaonik) receives multi-year funding…",
"locale": "pl",
"detail_url": "https://example.com/pl/news/horizon-europe-2026"
}
]
}
Statistics
KPIs and stats. Same numbers as /stats.
Query parameters
No parameters.
Sample response
{
"period": "2026-YTD",
"kpi": {
"arrivals_ytd": 2847392,
"avg_nights": 3.2,
"occupancy_pct": 67.8,
"revenue_eur_billion": 2.1,
"smart_tourism_score": 78
},
"visitors_by_region": {
"belgrade": {
"share_pct": 28.4,
"count": 808410
},
"vojvodina": {
"share_pct": 19.2,
"count": 546699
},
"...": "..."
},
"eu_projects_active": 4,
"eu_funding_total_eur_million": 18,
"updated_at": "2026-05-10T12:00:00+02:00"
}
Regions
Serbia's 6 macro-regions, multilingual.
Query parameters
No parameters.
Sample response
{
"count": 6,
"license": "CC-BY-4.0",
"data": [
{
"code": "belgrade",
"name_sr": "Beograd",
"name_en": "Belgrade",
"name_de": "Belgrad",
"name_ru": "Белград"
},
"..."
]
}
Use cases
Build a travel app
Build alternative clients with the same data as the official app.
Display live availability
Tourism boards can pull live inventory without maintaining a database.
Tourism research
Structured KPIs for academic tourism research.
Government open-data integration
Government portals can redistribute under CC-BY-4.0.
Rate limits & fair use
v1: no strict limit, fair use applies.
License & attribution
Data is CC-BY-4.0. Credit "Smart Serbia Travel" with a link.
EU smart-tourism context
Aligned with EU Tourism Data Spaces and DEPLOYTOUR.