“Tablåtjänsten” is an API which provides schedules for SVT’s channels for a given date range and also all active VODs on svtplay.se
The schedule data is returned in the TVAnytime format (version 1.11.1) which is standardized by the Nordig organisation - where SVT
is one of the members.
For more information about Nordig, please visit https://nordig.org.
We support both JSON and XML
as response format.
Typical content may be:
It’s possible to choose the date range. A typical date range can be from today up to four weeks ahead. Only the definitive days (published by SVT) can be returned. See section 'Schedule Visibility' for details.
Changes that are made in the schedule are usually reflected within a few seconds in “Tablåtjänsten”. Active Play content is refreshed within minutes. That way, the information is always valid and up to date.
Information about accessibility can be found under "captionLanguage" and "signLanguage". "captionLanguage.supplemental" indicates visual description. "signLanguage" indicates sign language for the content. Attribute "primary" distinguish if the content is produced specifically for the hearing impaired or not.
For the regional broadcast e.g. the local news ("Lokala nyheter"), there will be secondary titles for all regions. See Reference below for a list of regions.
There are two types of grouping: "season" and "otherCollection". A season has unique non-zero season number for the same "memberOf/crid" (i.e series hash) in "groupingInformation". Otherwise, it is labeled as otherCollection and can then have any season number.
For all linear channels a schedule day starts at 06:00:00 and ends the next day at 05:59:59.
For channel PLAY a schedule day starts at 00:00:00 and ends at 23:59:59.
All times are in CET.
SVT catch up rights is available for some programs, these right-periods can be found under "programDescription/programLocationTable/onDemandService". See example below.
All currently active Play content is available under "programDescription/programLocationTable/onDemandService". See example below.
For the active play content there is now a 'brief' and an 'extended' synopsis at the group information level.
The 'brief' and the 'extended' synopsis are the program descriptions that is used on svtplay.se at the title page i.e. the series information.
The 'short' and 'long' synopsis are still included at the group level but is mostly used for seasonal broadcast presentations.
For the linear channels and the upcoming play content only the 'short' and 'long' synopsis is available on the group information level to describe the season.
Publicly available schedules is defined by SVT. The 'visibleTo' parameter per channel defines to which date schedules can be retrieved.
https://api.svt.se/tablatjansten/schedule-visibility-dates
'programLocationTable.schedule' contains public visible programs.
'segmentList' contains non public visible programs.
For most cases only 'schedule' is enough to use.
The API is reached at:
Path | Description | Parameters |
---|---|---|
https://api.svt.se/tablatjansten |
Returns full day schedules for multiple days |
|
https://api.svt.se/tablatjansten/play/active |
Returns all currently active Play content (in TV-Anytime format) |
|
https://api.svt.se/tablatjansten/play/premieres |
Returns all Play premieres for the next 30 days |
|
https://api.svt.se/tablatjansten/keywords |
Returns all now valid keywords to be used in filters, see example below. |
|
https://api.svt.se/tablatjansten/play |
Deprecated. Returns all active Play content (in SVT proprietary format) |
https://api.svt.se/tablatjansten?from=2024-11-18&channels=SVT1&format=json&auth=
This returns the schedule for one day, 2024-11-18, and one channel, SVT1, in json format.
https://api.svt.se/tablatjansten?from=2024-11-18&channels=PLAY&format=json&auth=
This returns the VOD content that has a publishing start time on Play at 2024-11-18, in json format.
https://api.svt.se/tablatjansten?from=2024-11-18&to=2024-11-20&channels=SVT1,SVT2&format=xml&auth=
This returns the SVT1 & SVT2 schedules for 2024-11-18 to 2024-11-20 in xml format.
This returns the active VOD content that has both 'barn' AND 'halloween' as keywords, in json format.
https://api.svt.se/tablatjansten?from=2024-11-18&channels=SVT1&format=json&auth=
This returns the schedule for one day, 2024-11-18, and one channel, SVT1, in json format.
An API key, which is needed access the API, may be obtained from SVT kommunikation/SVT Communication: marknadsdesken@svt.se. The API-key is sent as an HTTP header:
Authorization: Bearer API_KEY_GOES_HERE
Or it may be sent as a regular request parameter named “auth”:
https://api.svt.se/tablatjansten/...&auth=API_KEY_GOES_HERE
If no API key is given, the response will be an HTTP 401 Unauthorized.
To access stage environment use: https://api.stage.svt.se
We use ETag which allows clients to check if a resource has been updated since last time it was fetched. Responses contain an ETag header which is to be included in the next request as an HTTP header:
If-None-Match: <Hash goes here>Unless the schedule has changed, the response will be empty with a status code of 304 Not Modified.
To check which schedules have changed, use the following endpoint:
https://api.svt.se/tablatjansten/change-times?from=2024-11-18&to=2024-11-19&channels=SVT1,SVT2&format=json
The fields:
actualStartTime, actualEndTime, actualDurationare only available at a maximum of two days from now.
The fields aren't guaranteed to be definitive close to the transmission and may change between requests.
Already published programs will not have these fields updated.
Json: https://api.svt.se/tablatjansten/docs/example.json
XML: https://api.svt.se/tablatjansten/docs/example.xml
This is an example for a filtered active Play content as it was 2024-11-18:Json: https://api.svt.se/tablatjansten/docs/example-active.json
XML: https://api.svt.se/tablatjansten/docs/example-active.xml
{ "metadataOriginationInformationTable": { "metadataOriginationInformation": { "originID": "svt.se", "publisher": "SVT", "rightsOwner": "SVT", "copyrightNotice": [ "Copyright SVT © 2020" ] } }, "programDescription": { "programInformationTable": { // Program information "programInformation": [ { "programId": "crid://svt.se/1412044-001W", // EpisodeVersion "basicDescription": { "title": [ { "type": "main", "lang": "swe", "text": "Dox: Exilpresidenten" }, { "type": "seriesTitle", "lang": "swe", "text": "Dox" }, { "type": "alternative", // Used in combination with seriesTitle "lang": "swe", "text": "Exilpresidenten" } ], keyword": [ // List of keywords { "lang": "swe", "text": "samhälle|Samhälle" // Left part is used for filtering. Right part can be used for display purposes. }, { "lang": "swe", "text": "dokumentär|Dokumentär" }, { "lang": "swe", "text": "upplast-undertext|Uppläst undertext" } ], "genre": [ // List of genres { "href": "urn:tva:metadata:cs:FormatCS:2011:3.1.3", "type": "main" }, { "href": "urn:tva:metadata:cs:ContentCS:2011:2.1.4", "type": "main" } ] }, "parentalGuidance": { "minimumAge": 15 }, "relatedMaterial": [ // Media/Images { "howRelated": { "href": "urn:nordig:metadata:cs:HowRelatedNordigCS:2022:19.5", "name": null }, "format": { "stillPictureFormat": { "href": "image/jpg", "horizontalSize": 1920, "verticalSize": 1080 } }, "mediaLocator": { "mediaUri": "https://imagehost.svt.se/keyart/images/1412044/SVT-DOX-2024-E00-6b70.jpg" }, "promotionalText": [ // 1 or more fields "Dox: Exilpresidenten, Amerikansk dokumentär från 2024", "© Roast Beef Productions & All3Media International" ] } ], "language": [ // spoken language { "type": "original", "value": "swe" } ], "captionLanguage": [ // open and closed subtitling { "closed": true, "value": "swe" }, { "supplemental": true, // Indicates if visual description is available "value": "swe" } ], signLanguage": [ // Exists if sign language is available { "primary": true, // Indicates if the content is produced specifically for the hearing impaired or not. "value": "swe" } ], "creditList": { "creditsItem": [ { "role" : "urn:tva:metadata:cs:TVARoleCS:2011:V22", // Producing Department code|description, SVT internal or external, e.g. SVAP|SVT PGD Programinköp "organizationName" : "SVAP|SVT PGD Programinköp", "presentationRole" : { "lang" : "eng", "text" : "Producing Department" } } ] }, "productionDate": { "timePoint": "2024-11-01T00:00:00" }, "productionLocation": [ "SE" ], "episodeOf": { // Part of series "crid": "crid://svt.se/1412044", "index": 1 // Episode number } }, "otherIdentifier": { // SvtId "type": "CRID", "value": "crid://svt.se/svtid/ja4E17g" }, "avAttributes": { // Technical attributes "audioAttributes": { "numOfChannels": 2 // more than 2 implies surround sound }, "videoAttributes": { "aspectRatio": "16:9", "pictureFormat": { "href": "urn:tva:metadata:cs:PictureFormatCS:2015:1.1", "name": "SD" } } }, }, ... ] }, "groupInformationTable": { // Series information "groupInformation": [ { "groupId": "crid://svt.se/1412044", // Programme id "numOfItems": 2, // Number of episodes in series. Singles have value 1. "groupType": { "value": "season" // Possible values: “season” or "otherCollection" }, "basicDescription": { "title": [ // Season title { "type": "main", "text": "Dox" } ], "synopsis": [ // Possible values: short/long/brief/extended, see documentation about Synopsis { "length": "short", "text": "Amerikansk dokumentär från 2024" }, { "length": "long", "text": "När Svetlana Tichanovskaja tilläts ställa upp i presidentvalet i Rysslandsvänliga Belarus år 2020 sågs hon som chanslös. Men hon fick oväntat fler röster än den sittande presidenten och tvingades ut ur landet. Nu leder hon kampen för ett demokratiskt Belarus i exil, samtidigt som hennes make är politisk fånge i ett belarusiskt fängelse. En film av Mike Lerner från 2024. Originalets titel: The Accidental president." }, { "length": "brief", "text": "Amerikansk dokumentär" }, { "length": "extended", "text": "Nu på SVT Play: När Svetlana Tichanovskaja tilläts ställa upp i presidentvalet i Rysslandsvänliga Belarus år 2020 sågs hon som chanslös. Men hon fick oväntat fler röster än den sittande presidenten och tvingades ut ur landet. Nu leder hon kampen för ett demokratiskt Belarus i exil, samtidigt som hennes make är politisk fånge i ett belarusiskt fängelse. En film av Mike Lerner från 2024. Originalets titel: The Accidental president." } ], "relatedMaterial": [ // Media/images + onDemand deepLinks for multiple platforms { "howRelated": { "href": "urn:nordig:metadata:cs:HowRelatedNordigCS:2022:19.5", // Media/images, see reference section below "name": null }, "format": { "stillPictureFormat": { "href": "image/jpg", "horizontalSize": 2160, "verticalSize": 3240 } }, "mediaLocator": { "mediaUri": "https://imagehost.svt.se/keyart/images/1412044/SVT-DOX-2024-E00-6b70.jpg" }, "promotionalText": [ // 1 or more fields "Must see show!" ] }, { "howRelated": { "href": "urn:tva:metadata:cs:HowRelatedCS:2012:4.2" // onDemand deepLink }, "mediaLocator": { "mediaUri": "https://www.svtplay.se/video/ja4E17g/exilpresidenten?utm_source=svtintern", "streamID": 0 // 0 = web } }, { "howRelated": { "href": "urn:tva:metadata:cs:HowRelatedCS:2012:4.2" // onDemand deepLink }, "mediaLocator": { "mediaUri": "svtplay://ja4E17g/?utm_source=svtintern", "streamID": 1 // 1 = ios } }, { "howRelated": { "href": "urn:tva:metadata:cs:HowRelatedCS:2012:4.2" // onDemand deepLink }, "mediaLocator": { "mediaUri": "https://www.svtplay.se/video/ja4E17g/exilpresidenten?utm_source=svtintern", "streamID": 2 // 2 = android } }, { "howRelated": { "href": "urn:tva:metadata:cs:HowRelatedCS:2012:4.2" // onDemand deepLink }, "mediaLocator": { "mediaUri": "https://hbbtv.play.svt.se/v2/index.xhtml#/details/ja4E17g/Default?utm_source=svtintern", "streamID": 3 // 3 = smartTv } }, { "howRelated": { "href": "urn:tva:metadata:cs:HowRelatedCS:2012:4.2" // onDemand deepLink }, "mediaLocator": { "mediaUri": "svtplay://www.svtplay.se/xml/us/episode/ja4E17g?utm_source=svtintern", "streamID": 4 // 4 = appleTv } } ], }, "memberOf": { "crid": "crid://svt.se/171994ae268f7cd4f6eec68883d9c553", // Series hash "index": 0 // Season number. 0 means not a season but grouped as otherCollection. } } ] }, "programLocationTable": { // Publishings "schedule": [ // schedule is only for linear channels, not for on-demand content { "serviceIDRef": "svt.se/SVT2", // Channel ref "start": "2020-01-30T06:00:00+01:00", // Schedule start time "end": "2020-01-31T05:59:59+01:00", // Schedule end time "scheduleEvent": [ { "program": { "crid": "crid://svt.se/1412044-001W" // EpisodeVersion ref }, "instanceMetadataId": "imi:30196114", // Publishing id "instanceDescription": { "title": [ { "type": "main", "lang": "swe", "text": "Lokala nyheter" }, { "type": "secondary", // Regional title "lang": "swe", "text": "SVT Nyheter Blekinge" }, { "type": "secondary", // Regional title "lang": "swe", "text": "SVT Nyheter Stockholm" } ], "synopsis": [ { "length": "long", "text": "Dagens lokala nyheter" // Synopsis if existing for the scheduleEvent } ] }, "publishedStartTime": "2020-01-30T21:46:00+01:00", "publishedEndTime": "2020-01-30T21:56:00+01:00", "publishedDuration": "PT10M", "actualStartTime": "2020-01-30T21:46:00+01:00", "actualEndTime": "2020-01-30T21:56:00+01:00", "actualDuration": "PT10M", "live": { // Live? "value": true }, "repeat": { // Is this a rerun? "value": true } } ] }, { "serviceIDRef": "svt.se/SVT2", "start": "2020-01-31T06:00:00+01:00", "end": "2020-02-01T05:59:59+01:00", "scheduleEvent": [ ... ] } ], "broadcastEvent": [ // List of previous and upcoming publishings in all services (channels) including publishings both in the current schedule and in the segmentList. { "serviceIDRef": "svt.se/SVT1", "program": { "crid": "crid://svt.se/1396910-057A" }, "publishedStartTime": "2020-03-20T07:15:00+01:00", "publishedEndTime": "2020-03-20T07:16:00+01:00" }, { "serviceIDRef": "svt.se/SVT1", "program": { "crid": "crid://svt.se/1396998-005A" }, "publishedStartTime": "2020-03-22T02:30:00+01:00", "publishedEndTime": "2020-03-22T03:00:00+01:00" }, ... ], "onDemandService": [ // Contains list of onDemandServices { "serviceIDRef": "svt.se/SVTR", "onDemandProgram": [ // Contains list of SVTr right periods { "program": { "crid": "crid://svt.se/1404342-202A" }, "publishedDuration": "PT15M", "startOfAvailability": "2022-10-11T06:00:00+02:00", "endOfAvailability": "2022-10-18T23:59:00+02:00" }, ... ], }, { "serviceIDRef": "svt.se/PLAY", "onDemandProgram": [ // Contains list of Play publishings { "program": { "crid": "crid://svt.se/1403258-001A" }, "programURL": "https://svtplay.se/video/Kq2WARY?utm_source=svtintern", // onDemand deepLink for web "publishedDuration": "PT1H35M", "startOfAvailability": "2023-03-03T02:00:00+01:00", "endOfAvailability": "2023-04-02T23:59:00+02:00", "firstAvailability": { "value": false // First time on play }, "instanceDescription": { "relatedMaterial": [ { "howRelated": { "href": "urn:tva:metadata:cs:HowRelatedCS:2012:4.2" // onDemand deepLink }, "mediaLocator": { "mediaUri": "svtplay://ja4E17g/?utm_source=svtintern", "streamID": 1 // 1 = ios } }, { "howRelated": { "href": "urn:tva:metadata:cs:HowRelatedCS:2012:4.2" // onDemand deepLink }, "mediaLocator": { "mediaUri": "https://www.svtplay.se/video/ja4E17g/exilpresidenten?utm_source=svtintern", "streamID": 2 // 2 = android } }, { "howRelated": { "href": "urn:tva:metadata:cs:HowRelatedCS:2012:4.2" // onDemand deepLink }, "mediaLocator": { "mediaUri": "https://hbbtv.play.svt.se/v2/index.xhtml#/details/ja4E17g/Default?utm_source=svtintern", "streamID": 3 // 3 = smartTv } }, { "howRelated": { "href": "urn:tva:metadata:cs:HowRelatedCS:2012:4.2" // onDemand deepLink }, "mediaLocator": { "mediaUri": "svtplay://www.svtplay.se/xml/us/episode/ja4E17g?utm_source=svtintern", "streamID": 4 // 4 = appleTv } } ] } } ] } ] }, "serviceInformationTable": { "serviceInformation": [ // Available services (channels) { "serviceId": "svt.se/SVT1", "name": "SVT 1", "owner": "SVT", "serviceLanguage": "swe" }, { "serviceId": "svt.se/SVT2", "name": "SVT 2", "owner": "SVT", "serviceLanguage": "swe" } ] }, "segmentInformationTable": { "segmentList": { "segmentInformation": [ // List of program parts that is not exposed in the main schedule. { "segmentId": "imi:30125172", "programRef": { "crid": "crid://svt.se/1396908-057A" }, "instanceMetadataIdRef": "imi:30124904", "description": { "title": [ { "type": "main", "lang": "swe", "text": "Väder" } ] }, "segmentLocator": { "mediaRelTimePoint": "PT15M", "mediaDuration": "PT2M" }, "isPrintable": false }, ... ] } }, "rightsInformationTable": { // Only available for onDemandPrograms. "rightsStatement": [ { "programId": "crid://svt.se/1403258-001A", "rightsExpression": "Only available in Sweden", "rightsType": { "href": "urn:nordig:metadata:cs:RightsTypeCS:2017:1" }, "geographicalScope": { "href": "urn:ebu:metadata-cs:ISO3166CountryCodeCS:SE" // Only available in Sweden. } } ] } } }
{ "programLocationTable": { "schedule": [ { "serviceIDRef": "svt.se/SVT1", "start": "2020-03-23T06:00:00+01:00", "end": "2020-03-24T05:59:59+01:00", "scheduleEvent": [ { "program": { "crid": "crid://svt.se/1396877-058A" }, "instanceMetadataId": "imi:30124905", // Publishing id "instanceDescription": { "title": [ { "type": "main", "lang": "swe", "text": "Morgonstudion" } ] }, "publishedStartTime": "2020-03-23T06:00:00+01:00", "publishedEndTime": "2020-03-23T09:40:00+01:00", "publishedDuration": "PT3h30M", "actualStartTime": "2020-03-23T06:00:00+01:00", "actualEndTime": "2020-03-23T06:15:00+01:00", "actualDuration": "PT15M", "live": { "value": true }, "repeat": { "value": false } } ] } ] }, "segmentInformationTable": { "segmentList" { "segmentInformation": [ { "segmentId": "imi:30125173", "programRef": { "crid": "crid://svt.se/1396908-058A" // Reference to programId in programInformationTable }, "instanceMetadataIdRef": "imi:30124905", // Reference to instanceMetadataId in scheduleEvent "description": { "title": [ { "type": "main", "lang": "swe", "text": "Väder" } ] }, "segmentLocator": { "mediaRelTimePoint": "PT15M", "mediaDuration": "PT2M" }, "isPrintable": false } ] } } }
Where:
Please contact marknadsdesken@svt.se
synopsis
with "length": "short"Use the
title
with "type": "episodeTitle"Use the
synopsis
with "length": "long"Check if there is a
videoAttributes -> pictureFormat
with "name": "HD"
audioAttributes -> numOfChannels
with a value greater than 2 implies surround sound.programLocationTable -> broadcastEvent
are all the publishings for each program listed, here you can find all previous and coming publishings for this program. The key is crid, for example "crid://svt.se/1399478-045A".captionLanguage
describes if the programme has closedSubtitling, we have historically written "Textat sid. 199."
This text is no longer a part of the standard. It's possible to determine if this is true by searching for an element with the attribute "closed": truePage number "199" is for all channels at the moment.
“Play” is an API which provides information about all shows currently available via SVT Play The schedule data is returned in a format that is proprietary. as response format. The format may change although it is unlikely.
Content is lists of:
{ "id": "1397371-001", "deepLinks": { "svtplay": { "info": "https://www.svtplay.se/abba-hemligheterna-bakom-hitsen/info/1397371-001", "watch": "https://www.svtplay.se/abba-hemligheterna-bakom-hitsen/spela/1397371-001" } }, "name": "ABBA: Hemligheterna bakom hitsen", "image": "https://www.svtstatic.se/image/wide/600/27289441/1592917355", "shortDescription": "Brittisk musikdokumentär från 2019", "longDescription": "De är tre av ABBA:s absolut största hits, men kan de lära oss något om personerna bakom musiken? I den här dokumentären får vi följa den svenska supergruppen runt tiden för inspelningen av Mamma Mia, Dancing Queen och The Winner Takes It All och får veta vad som inspirerade och influerade Björn, Benny, Agnetha och Anni-Frid till att skapa några av vår tids mest kända hits. ", "genres": [ { "id": "kultur-och-musikdokumentarer", "name": "Kultur & musikdokumentärer" }, { "id": "pop-och-rock", "name": "Pop & rock" }, { "id": "dokumentar", "name": "Dokumentär" }, { "id": "musik", "name": "Musik" }, { "id": "musikdokumentarer", "name": "Musikdokumentärer" }, { "id": "nostalgi", "name": "Nostalgi" } ], "productionYear": 2019, "duration": 2703, "validFrom": "2020-06-21T02:00:00+02:00", "validTo": "2021-12-13T22:59:00+01:00" }
{ "id": "11150305", "deepLinks": { "svtplay": { "info": "https://www.svtplay.se/vanner-med-doreen/info/11150305", "watch": "https://www.svtplay.se/vanner-med-doreen/spela/11150305" } }, "name": "Vänner med Doreen", "image": "https://www.svtstatic.se/image/wide/600/11150985/1479462585", "shortDescription": "Doreen och hennes vänner testar lekar från hela världen!", "longDescription": "Lek med Doreen och hennes vänner när de testar lekar från hela världen!", "genres": [ { "id": "barn", "name": "Barn" } ], "seasons": [ { "id": "11150305-2016", "number": 2016, "name": "2016", "numberOfProducedEpisodes": 10, "episodes": [ { "id": "1372269-010", "deepLinks": { "svtplay": { "info": "https://www.svtplay.se/vanner-med-doreen/avsnitt-10/info/11150305/1372269-010", "watch": "https://www.svtplay.se/vanner-med-doreen/avsnitt-10/spela/11150305/1372269-010" } }, "name": "Avsnitt 10", "image": "https://www.svtstatic.se/image/wide/600/11318562/1480485723", "shortDescription": "", "longDescription": "Doreen reser ut i världen och träffar barn i Ungern.", "number": 10, "productionYear": 2016, "duration": 120, "validFrom": "2021-01-31T18:15:00+01:00", "validTo": "2021-03-02T23:59:59+01:00" } ] } ] }