Sveriges Radios öppna API - (version 2)
Användarvillkor
Materialet som tillhandahålls via API får inte användas på ett sådant sätt att det skulle kunna skada Sveriges Radios oberoende eller trovärdighet. Läs fullständiga villkor här.
Komma igång
Med APIet kan man hämta information om kanaler, program och sändningar. Vissa program finns också tillgängliga som via poddradio. Program kan delas in i olika kategorier, tex sport eller nyheter. Det snabbaste sättet att komma igång med APIet är att läsa om vilka objekt och id-nummer som används, hur ljud hanteras och sedan att gå igenom de tillgängliga API-metoderna.
Objekt & id-nummer
För att använda APIet så krävs det att man använder unika id-nummer för att identifiera APIets olika objekt - program, kanaler, kategorier etc. Det finns flera olika id:n som används, men vanligen betecknas dessa med parametern id, oavsett använding. En mer detaljerad beskrivning av dessa id:n finns för respektive metod.
Ljud
Det mesta i Sveriges Radios API handlar om metadata (titel, beskrivning, sändningstid etc) om publicerat ljud eller länkar till själva ljudfilerna. Beroende på vilken typ av objekt (sändning eller poddradio tex) och vilken API-metod som används så ser länkarna till ljudfilerna något annorlunda ut. Sveriges Radio erbjuder ljudfiler i många olika ljudformat. Läs mer om hur ljud fungerar i APIet för att se hur man hittar just det ljudformat som behövs i din applikation.
Blogg & diskussionsforum
Det är rekommenderat att alla som använder APIet följer Sveriges Radios utvecklingsblogg för att få nyheter och information om hur APIet utvecklas. Det finns också ett öppet forum för att ställa frågor om APIet och diskutera med andra API-användare hur man bäst löser olika problem.
API-metoder
Sveriges Radios öppna API har flera olika metoder indelat i följande grupper:
- Kanaler - metoder för att hitta kanaler och tablåer
- Program - metoder för att hitta program, kategorier, sändningar och poddar
- Avsnitt - metoder för att hitta avsnitt
- Grupp - metoder för att hitta avsnitt tillhörande grupp
- Ljud - metoder för visa ljudlänkstyper
- Musik - metoder för att hitta låtlistor
- Nyheter - metoder för att hitta nyhetsprogram
- Sport - metoder för att hitta sportsändningar, ligor och lag (Borttagen. Läs mer om varför)
- Extrasändningar - metoder för att hitta extrasändningar
- Tablå - metoder för att visa kanaltablåer
- Topplistor - metoder för de senaste sändningarna, nyheter och vad andra lyssnar på (Uppdaterad 2017-09-27)
- Trafik - metoder för att hämta trafikinformation
- Viktigt meddelande till allmänheten - metoder för att hämta viktiga meddelanden till allmänheten, VMA
- Cache - kort om outputcache och gruppering av cachetider
APIet stödjer även generella parametrar som underlättar användningen av metoderna.
Teknisk beskrivning
Alla API-metoder returnerar XML eller JSON, JSONP och stödjer CORS. alla api-metoder kallas med https get.
Generella parametrar
Metoderna i APIet stödjer ett flertal generella parametrar, detta för underlätta för dig som användare. Exempelvis styr parametrarna dataformat, paginering, ljudkvalitet och format i ljudlänkar, filtrering och sortering. Du kan läsa mer om detta i generella parametrar
Begränsningar
Det finns inga begränsningar på antalet anrop eller dylikt, men var snäll mot APIet och gör så få anrop som möjligt. Användare av APIet behöver inte registrera sig, även om det rekommenderas att alla användare är delaktiga i APIets öppna forum för att utbyta erfarenheter. Alla som använder APIet antas ha tagit del av och följa ovan nämnda användarvillkor.
Felhantering
Vid felaktigt formaterade URLer så returneras en HTTP 404 statuskod. Vid felaktikt angivna parametervärden (tex ett id som inte existerar) så reagerar metoderna olika. En del returnerar ett felmeddelande, andra returnerar ett tomt resultat.
URLer
Generellt så har alla metoder en URL som börjar med https://api.sr.se/api. Det finns vissa undantag, se dokumentationen för varje metod.
Intern användning av APIet
Om APIet ska användas internt inom Sveriges Radio så bör Produkt- och Tjänsteutveckling kontaktas. Det finns nämligen vissa skillnader mellan att använda APIet internt och externt och denna API-dokumentation är helt inriktad på extern användning.