NAV Navbar
Logo
shell javascript

Introduction

Aggregates data about events around the city

API location (this page): http://linkedevents.tampere.fi/v1/

API endpoints:

Linked Events provides categorized data on events and places for Tampere region. The API contains all event data from the Visit Tampere API. In addition, Linked Events will be containing all suitable event data from Menovinkki.

The location information is not linked to any locational database and exists only as a part of the event information.

In the API, you can search data by query parameter filters or freetext.

The API provides data in JSON-LD format.

Events

Get All Events

curl "http://linkedevents.tampere.fi/v1/event"
const axios = require('axios');

let events = axios.get('http://linkedevents.tampere.fi/v1/event');

The above command returns JSON-LD structured like this:

{
    "meta": {
        "count": 803,
        "next": "http://linkedevents.tampere.fi/v1/event?page=2",
        "previous": null
    },
    "data":
    [
        {
            "id": "visittampere:10685",
            "@id": "http://linkedevents.tampere.fi/v1/event/visittampere:10685",
            "@context": "http://schema.org",
            "@type": "Event/LinkedEvent",
            "location": {
                "id": "visittampere:10685",
                "@id": "http://linkedevents.tampere.fi/v1/place/visittampere:10685",
                "@context": "http://schema.org",
                "@type": "Place",
                "name": {
                    "fi": "Useita tapahtumapaikkoja",
                    "en": "Useita tapahtumapaikkoja",
                    "ru": "Useita tapahtumapaikkoja"
                },
                "street_address": {
                    "fi": "Useita tapahtumapaikkoja",
                    "en": "Useita tapahtumapaikkoja",
                    "ru": "Useita tapahtumapaikkoja"
                },
                "address_region": "Tampere",
                "postal_code": 0,
                "data_source_id": "visittampere"
            },
            "name": {
                "ru": "Фестиваль гитарной музыки Тампере"
            },
            "description": {
                "ru": "12-й фестиваль гитарной музыки Тампере пройдет 4-12 декабря 2016. В эти дни гитарная музыка в исполнении мастеров со всего мира будет звучать на главных концертных площадках города, в церквях и даже сауне. В программе также мастер-классы."
            },
            "super_event": null,
            "last_modified_time": "2017-03-31T13:23:17+0000",
            "info_url": {
                "fi": "http://www.tgf.fi/",
                "en": "http://www.tgf.fi/",
                "ru": "http://www.tgf.fi/"
            },
            "date_published": "2016-03-11T13:20:09+0000",
            "image": "https://visittampere.fi/media/f1925e10-ec48-11e5-befd-3993d28fed11.jpg",
            "offers": [
                {
                    "is_free": false,
                    "description": null,
                    "price": null,
                    "info_url": {
                        "fi": "http://www.lippu.fi/12-tampere-guitar-festival-2016-arthur-bochkivskiy-rus-tampere-Lippuja.html?affiliate=ADV&doc=artistPages%2Ftickets&fun=artist&action=tickets&key=1610424%247566724",
                        "en": "http://www.lippu.fi/12-tampere-guitar-festival-2016-arthur-bochkivskiy-rus-tampere-Lippuja.html?affiliate=ADV&doc=artistPages%2Ftickets&fun=artist&action=tickets&key=1610424%247566724",
                        "ru": "http://www.lippu.fi/12-tampere-guitar-festival-2016-arthur-bochkivskiy-rus-tampere-Lippuja.html?affiliate=ADV&doc=artistPages%2Ftickets&fun=artist&action=tickets&key=1610424%247566724"
                    }
                }
            ],
            "keywords": [
                {
                    "id": "visittampere:festival",
                    "aggregate": false,
                    "data_source": "visittampere",
                    "name": {
                        "fi": "festival",
                        "en": "festival",
                        "ru": "festival"
                    },
                    "@id": "http://linkedevents.tampere.fi/v1/keyword/visittampere:festival",
                    "@context": "http://schema.org",
                    "@type": "Keyword"
                }
            ],
            "start_time": "2016-06-03T21:00:00+0000",
            "end_time": "2016-06-12T20:59:59+0000"
        }
    ]
}

This endpoint retrieves all events as paginated object array.

HTTP Request

GET http://linkedevents.tampere.fi/v1/event

Query Parameters

Parameter Default Description
page 1 Chuck of paginated results
start null Event start at. yyyy-mm-dd or today
end null Event end at. yyyy-mm-dd or today
keyword null Event keyword(s). To restrict the retrieved events by category, use the query parameter keyword, separating values by commas if you wish to query for several keywords. Keyword ids are found at the keyword endpoint.
location null Event location(s). To restrict the retrieved events by location, use the query parameter location, separating values by commas if you wish to query for several locations. Location ids are found at the location endpoint.
data_source null Data source id. Currently only visittampere.
recurring null Search for events based on whether they are part of recurring event set. 'super' specifies recurring, while 'sub' is non-recurring.
min_duration null Search for events that are longer than given time in seconds.
max_duration null Search for events that are shorter than given time in seconds.
sort start_time Sort the returned events in the given order. Possible sorting criteria are 'start_time', 'end_time' and 'last_modified_time'.
last_modified_since null Event has been modified at or since. yyyy-mm-dd or today

Get a Specific Event

curl "http://linkedevents.tampere.fi/v1/event/visittampere:1754"
const axios = require('axios');

let events = axios.get('http://linkedevents.tampere.fi/v1/event/visittampere:1754');

The above command returns JSON-LD structured like this:

{
    "data": {
        "id": "visittampere:1754",
        "@id": "http://linkedevents.tampere.fi/v1/event/visittampere:1754",
        "@context": "http://schema.org",
        "@type": "Event/LinkedEvent",
        "location": {
            "id": "visittampere:4056",
            "@id": "http://linkedevents.tampere.fi/v1/place/visittampere:4056",
            "@context": "http://schema.org",
            "@type": "Place",
            "name": {
                "fi": "Laukontori",
                "en": "Laukontori",
                "ru": "Laukontori"
            },
            "street_address": {
                "fi": "Laukontori",
                "en": "Laukontori",
                "ru": "Laukontori"
            },
            "address_region": "Tampere",
            "postal_code": null,
            "data_source_id": "visittampere"
        },
        "name": {
            "en": "Restaurant Boat's dinner cruise",
            "ru": "Водный круиз и ланч на борту"
        },
        "description": {
            "en": "A delicious dining experience with a thoroughly relaxing cruise.",
            "ru": "Традиционный ланч из финских лакомств и расслабляющй круиз по озеру"
        },
        "super_event": {
            "@id": "http://linkedevents.tampere.fi/v1/event/visittampere:4056"
        },
        "last_modified_time": "2017-03-31T13:22:57+0000",
        "info_url": {
            "fi": "http://www.ravintolalaiva.fi",
            "en": "http://www.ravintolalaiva.fi",
            "ru": "http://www.ravintolalaiva.fi"
        },
        "date_published": "2015-03-18T12:32:31+0000",
        "image": "https://visittampere.fi/media/15d3a690-d2ea-11e4-9def-7f9a6b524531.jpg",
        "offers": [
            {
                "is_free": false,
                "description": null,
                "price": null,
                "info_url": null
            }
        ],
        "keywords": [
            {
                "id": "visittampere:other-event",
                "aggregate": false,
                "data_source": "visittampere",
                "name": {
                    "fi": "other-event",
                    "en": "other-event",
                    "ru": "other-event"
                },
                "@id": "http://linkedevents.tampere.fi/v1/keyword/visittampere:other-event",
                "@context": "http://schema.org",
                "@type": "Keyword"
            }
        ],
        "start_time": "2015-08-01T16:00:00+0000",
        "end_time": "2015-08-01T19:00:00+0000"
    }
}

This endpoint retrieves a specific event.

HTTP Request

GET http://linkedevents.tampere.fi/v1/event/<ID>

URL Parameters

Parameter Description
ID The ID of the event to retrieve

Notes About Offers-objects

Since the origin API seems to have some inconsistencies with the way they notate whether some event is free or not, the is_free can sometimes be true even if there is a clear ticket link. The same way the is_free can also be false without any ticket links.

Places

Get All Places

curl "http://linkedevents.tampere.fi/v1/place"
const axios = require('axios');

let events = axios.get('http://linkedevents.tampere.fi/v1/place');

The above command returns JSON-LD structured like this:

{
    "meta": {
        "count": 244,
        "next": "http://linkedevents.tampere.fi/v1/place?page=2",
        "previous": null
    },
    "data": [
        {
            "id": "visittampere:11035",
            "@id": "http://linkedevents.tampere.fi/v1/place/visittampere:11035",
            "@context": "http://schema.org",
            "@type": "Place",
            "name": {
                "fi": "Kirkkovainiontie 10",
                "en": "Kirkkovainiontie 10",
                "ru": "Kirkkovainiontie 10"
            },
            "street_address": {
                "fi": "Kirkkovainiontie 10",
                "en": "Kirkkovainiontie 10",
                "ru": "Kirkkovainiontie 10"
            },
            "address_region": "Valkeakoski",
            "postal_code": null,
            "data_source_id": "visittampere"
        }
    ]
}

This endpoint retrieves all places as object array.

HTTP Request

GET http://linkedevents.tampere.fi/v1/place

Get a Specific Place

curl "http://linkedevents.tampere.fi/v1/place/visittampere:11035"
const axios = require('axios');

let events = axios.get('http://linkedevents.tampere.fi/v1/place/visittampere:11035');

The above command returns JSON-LD structured like this:

{
    "data": {
        "id": "visittampere:11035",
        "@id": "http://linkedevents.tampere.fi/v1/place/visittampere:11035",
        "@context": "http://schema.org",
        "@type": "Place",
        "name": {
            "fi": "Kirkkovainiontie 10",
            "en": "Kirkkovainiontie 10",
            "ru": "Kirkkovainiontie 10"
        },
        "street_address": {
            "fi": "Kirkkovainiontie 10",
            "en": "Kirkkovainiontie 10",
            "ru": "Kirkkovainiontie 10"
        },
        "address_region": "Valkeakoski",
        "postal_code": null,
        "data_source_id": "visittampere"
    }
}

This endpoint retrieves a specific place.

HTTP Request

GET http://linkedevents.tampere.fi/v1/place/<ID>

URL Parameters

Parameter Description
ID The ID of the place to retrieve

Keywords

Get All Keywords

curl "http://linkedevents.tampere.fi/v1/keyword"
const axios = require('axios');

let events = axios.get('http://linkedevents.tampere.fi/v1/keyword');

The above command returns JSON-LD structured like this:

{
    "meta": {
        "count": 17,
        "next": null,
        "previous": null
    },
    "data": [
        {
            "id": "visittampere:business",
            "aggregate": false,
            "data_source": "visittampere",
            "name": {
                "fi": "business",
                "en": "business",
                "ru": "business"
            },
            "@id": "http://linkedevents.tampere.fi/v1/keyword/visittampere:business",
            "@context": "http://schema.org",
            "@type": "Keyword"
        }
    ]
}

This endpoint retrieves all keywords as object array.

HTTP Request

GET http://linkedevents.tampere.fi/v1/keyword

Get a Specific Keyword

curl "http://linkedevents.tampere.fi/v1/keyword/visittampere:business"
const axios = require('axios');

let events = axios.get('http://linkedevents.tampere.fi/v1/keyword/visittampere:business');

The above command returns JSON-LD structured like this:

{
    "data": {
        "id": "visittampere:business",
        "aggregate": false,
        "data_source": "visittampere",
        "name": {
            "fi": "business",
            "en": "business",
            "ru": "business"
        },
        "@id": "http://linkedevents.tampere.fi/v1/keyword/visittampere:business",
        "@context": "http://schema.org",
        "@type": "Keyword"
    }
}

This endpoint retrieves a specific keyword.

HTTP Request

GET http://linkedevents.tampere.fi/v1/keyword/<ID>

URL Parameters

Parameter Description
ID The ID of the keyword to retrieve

Errors

The Linked Events Tampere API uses the following error codes:

Error Code Meaning
200 OK, not error
404 Not Found – The specified event could not be found
418 I’m a teapot
500 Internal Server Error – We had a problem with our server. Try again later.
503 Service Unavailable – We’re temporarily offline for maintenance. Please try again later.