All data och information på temperatur.nu kan hämtas via ett API som i detalj beskrivs nedan.
Informationen från APIet returneras i jsonformat.
Aktuell version är 1.19 – tidigare versioner kan inte användas i nya applikationer.
Innehållsförteckning
Support
För support på API-funktionen, kontakta [email protected].
Villkor
- Belastning:
Mjukvaran ska skrivas på ett sådant sätt att APIet inte automatiskt belastas med samma fråga oftare än var femte minut från en enskild klient. Klientid som bryter mot detta villkor kan komma att blockeras. - Osignerade anrop
Osignerade förfrågningar begränsas till ca 20 st per klientid/timme och blockeras därefter tillfälligt. Skriver du en app du ska använda själv ska den skrivas på ett sådant sätt att du inte använder fler än 20 api-anrop per timme. Använd din epostadress som cli. - Signering:
Förfrågningar från appar och i kommersiell användning ska signeras.
Se avsnittet ”Signering” nedan för hur du signerar dina anrop. Maila [email protected] för att erhålla en klientnyckel till ditt projekt. - Källhänvisning:
Källhänvisning till temperatur.nu måste alltid anges. Där det är möjligt bör en klickbar länk samt temperatur.nus logotyp visas. - Kommersiell användning:
Vid kommersiell användning krävs en särskild överenskommelse. Avgiften startar från 150 kr/mån beroende på omfattning. Syftet är att avgiften ska vara så låg att kostnaden inte begränsar användandet, men tillräcklig för att bidra till driften av temperatur.nu. Maila [email protected] för mer information.
Exempel
Så här kan resultatet från en förfrågan på http://api.temperatur.nu/tnu_1.19.php?p=ekholmen&cli=api_demo_v1.19 se ut:
{
"full_exec_time": 0.00230312347412109,
"title": "Temperatur.nu API 1.19",
"client": "unsigned",
"stations": [
{
"title": "Linköping/Ekholmen",
"id": "ekholmen",
"temp": "3.0"
}
]
}
Så här kan resultatet från en förfrågan på http://api.temperatur.nu/tnu_1.19.php?lat=58.376761&lon=15.562916&num=2&graph&cli=test_app2 se ut:
{
"full_exec_time": 0.0832459926605225,
"title": "Temperatur.nu API 1.19",
"client": "unsigned",
"stations": [
{
"title": "Linköping/Slaka",
"id": "slaka",
"temp": "2.1",
"dist": "1.3",
"graph": "https://graph.temperatur.nu/graph/slaka-1day-300-200-0-0-0-1-8-n-0.png"
},
{
"title": "Linköping/Vallastaden",
"id": "vallastaden",
"temp": "3.1",
"dist": "2.1",
"graph": "https://graph.temperatur.nu/graph/vallastaden-1day-300-200-0-0-0-1-8-n-0.png"
}
]
}
Parametrar
Generella parametrar
| Parameter | Beskrivning | Kan ej användas med |
|---|---|---|
| p | Anger för vilka orter data skall returneras – kommaseparerad lista. Utelämnas parametern returneras samtliga mätpunkter. | lat, lon, num |
| dc | Anger om decimalkomma skall användas i stället för decimalpunkt i fälten temperatur, lat, lon och dist. | |
| verbose | Returnerar alla fält för orten, se beskrivning nedan | |
| coordinates | Visar koordinaterna för valda orter. Kan användas för att kunna positionera orter på en karta utan att behöva hämta alla fält via verbose. | verbose |
| lat | Används tillsammans med lon och ev num. Det spelar inte någon roll om decimal- eller kommapunkt används. När dessa parametrar används returneras de num närmaste orterna, närmaste orten först. | p |
| lon | Används tillsammans med lat och ev num. Det spelar inte någon roll om decimal- eller kommapunkt används. När dessa parametrar används returneras de num närmaste orterna, närmaste orten först. | p |
| nearby | returnerar num närmaste mätpunkterna. Används med lat/lon. | p |
| num | Används tillsammans med amm och nearby. Anger hur många orter som skall returneras. Standard är 1 och max är 20. | p |
| cb | Om denna parameter anges kommer ett randomiserat värde att läggas till i slutet av graf-urlerna. Denna parameter kan användas för att se till att inte grafen cachas lokalt hos användaren eller i någon dåligt konfigurerad proxy mellan temperatur.nu och användaren. | |
| search | Fritextsök – söker på både ort och kommun. | p, lat, lon |
| sort | Sorteringsordning vid sökning, giltiga val är temperatur, latitud eller alfabetiskt (standard) | |
| by | Giltiga val är rising som anger stigande ordning på sortering eller falling som är fallande (standard) | |
| cli | Används för att identifiera vilken klient som hämtar data. Ex ”cli=tnu_widget”. Parametern är obligatorisk. | |
| sign | Används för att signera urlen om du skapar en tillämpning som kommer att användas av flera användare samtidigt., se instruktioner längre ner. |
Parametrar som är relaterade till att ange tider
| Parameter | Beskrivning | Kan ej användas med |
|---|---|---|
| span | Specificerar för vilket tidsperspektiv data ska hämtas. Giltiga värden är: 1day (standard), 1week, 1month, 1year. | start, end |
| shift | Anger om information skall visa äldre data. Exempel: om span är 1month och shift är 1 hämtas data för föregående månad. Standard är 0. Kan användas med daily, graph, data, tnudata mfl | start, end |
| start | Specificerar starttid. Formatet är Y-m-d-H-i, ex 2011-01-30-12-31. Alternativt kan unix timestamp anges. | span |
| end | Specificerar sluttid. Formatet är Y-m-d-H-i, ex 2011-01-30-12-31. Alternativt kan unix timestamp anges. Standard är nuvarande tid | span |
| history | Används för att i graf eller tnudata lägga in historik. Giltiga värden är: y (föregående span), 1year (föregående år) eller ett årtal med fyra siffror, ex 2017. |
Parametrar som är relaterade till att hämta statistik
| Parameter | Beskrivning |
|---|---|
| data | Används för att hämta rådata för en mätpunkt specificerade med variabeln p. |
| textfil | Används för att hämta länk till textfil med rådata för en mätpunkt specificerade med variabeln p. Ange variabel graddagar, dygnsmedel eller timmedel (ex textfil=graddagar) för att specificera vilket format textfilen ska ha. |
| amm | Används för att hämta Average, Min & Max för upp till 10 orter specificerade med variabeln p. |
| daily | Används för att hämta dygnsmedel samt lägsta och högsta temperatur per dygn. En mätpunkt specificerad med variabeln p. |
| tnudata | Används för att skapa data för grafgenerering på temperatur.nu. används med p och history. om flera p anges läggs data in parallellt och vid history hämtas relevant historik enligt specifikation för variabeln history. |
Parametrar relaterade till grafgenerering
| Parameter | Beskrivning |
|---|---|
| graph | Används för att generera en graf för upp till 5 orter specificerade med variabeln p. Anges variablen compare kommer orterna att läggas in i samma graf i stället för separata. |
| verbose_g | Visar min/max/medel/senaste värde i grafen. Visar även när data senast hämtades för den valda orten. |
| 1axis | Används för att endast visa temperaturskalan till vänster. Används med fördel i små grafer för att spara utrymme. |
| fontsize | Anger hur stor texten skall vara. Observera att värdet inte kan relateras till vanliga textstorlekar, du måste därför testa dig fram. |
| linewidth | Anger bredden på graflinjen. Giltiga värden 1 till 5. Även flyttal, ex 1.5, fungerar. Decimalkomma eller decimalpunkt spelar inte någon roll. |
| x | Specificerar hur bred grafen skall vara. Giltiga värden är 150-2500. 300 är standard. |
| y | Specificerar hur hög grafen skall vara. Giltiga värden är 125-2500. 200 är standard. |
| color | Anger vilken/vilka färger linjer i grafen skall ha, kommasepararead lista. Standard är #FF0000,#AADDAA,#FFCC00. |
| compare | Anger att order som skickats med p skall läggas in för jämförelse i samma graf. Om fler än tre orter anges måste även color definieras |
Beskrivning av returnerade fält
| Fält | Beskrivning | Parameter som visar |
|---|---|---|
| title | Mätpunktens namn på temperatur.nu | visas som standard |
| id | Mätpunktens id på temperatur.nu. Kan användas med parametern ”p” för att hämta endast denna mätpunkts information | visas som standard |
| temp | Mätpunktens senaste temperatur. Om decimalkomma eller decimalpunkt skall användas styrs med parametern dc. | visas som standard |
| client | Returnerar signed, unsigned eller blocked beroende på signeringsstatus | visas som standard |
| lat | Mätpunktens latitud i decimalt format. Om decimalkomma eller decimalpunkt skall användas styrs med parametern dc. | coordinates, verbose |
| lon | Mätpunktens longitud i decimalt format. Om decimalkomma eller decimalpunkt skall användas styrs med parametern dc. | coordinates, verbose |
| lastUpdate | Tidpunkt då informationen senast uppdaterades på temperatur.nu. | verbose |
| kommun | Den kommun som mätpunkten ligger i. | verbose |
| felmeddelande | Eventuellt felmeddelande om temperaturen just nu inte kan hämtas. Standard är ”Ok” | verbose |
| lan | Det län som mätpunkten ligger i. | verbose |
| sourceInfo | En kort textsträng med information om vem som loggar temperaturen för mätpunkten. | verbose |
| forutsattning | Textsträng med information om hur mätningarna sker – finns ej för alla mätpunkter och returernar om så är fallet ett tomt fält. | verbose |
| url | Url till mätpunkten på www.temperatur.nu | verbose |
| dist | Hur långt från de givna koordinaterna mätpunkten ligger. Enheten är kilometer. Om decimalkomma eller decimalpunkt skall användas styrs med parametern dc. | lat & lon |
| graph | Visar url till grafen för orten. Observera att ny graf endast genereras när parametern graph används. Det går därför inte att lokalt cacha urlen i klienten. | graph |
| daily | Har underliggande fält date, average, min, minTime, max, maxTime som representerar data för dygn angivet i fältet date. | daily |
| ammRange | Visar för vilket tidsperspektiv average, min och max har hämtats. | amm |
| uptime | Mätpunktens upptid i % det senaste året | verbose |
| start | Tidpunkt när mätpunkten lades till på temperatur.nu. | verbose |
| moh | Mätpunktens höjd över havsnivån (Meter above Sea Level) | verbose |
| rawdata | Temperaturdata i råformat. Varje rawdata-fält innehåller subfälten date, time, temperatur | data |
| textfil | Länk till fil med rådata i textformat. | textfil |
| search | Visar antal träffar tillsammans med medeltemperaturen när parametern search används. | search |
Signering av urler
Signering av API-anrop
Från och med version 1.19 krävs signering av alla API-anrop. Kontakta oss för att få en klientnyckel (cli och cli_key).
Så fungerar det:
- Bygg din URL utan &sign=-parametern:
api.temperatur.nu/tnu_1.19.php?p=stockholm&verbose&cli=din_klient - Beräkna en hash av URL:en sammansatt med din hemliga nyckel, separerade med +: md5(”api.temperatur.nu/tnu_1.19.php?p=stockholm&verbose&cli=din_klient+DIN_HEMLIGA_NYCKEL”)
- Lägg till hashen som &sign=-parameter: https://api.temperatur.nu/tnu_1.19.php?p=stockholm&verbose&cli=din_klient&sign=a1b2c3d4e5…
Exempel i PHP:
$cli_key = "din_hemliga_nyckel";
$url = "api.temperatur.nu/tnu_1.19.php?p=stockholm&verbose&cli=din_klient";
$sign = md5($url . "+" . $cli_key);
$signed_url = "https://" . $url . "&sign=" . $sign; $data = json_decode(file_get_contents($signed_url), true);
Exempel i Python:
import hashlib, urllib.request, json
cli_key = "din_hemliga_nyckel"
url = "api.temperatur.nu/tnu_1.19.php?p=stockholm&verbose&cli=din_klient"
sign = hashlib.md5((url + "+" + cli_key).encode()).hexdigest()
signed_url = f"https://{url}&sign={sign}"
data = json.loads(urllib.request.urlopen(signed_url).read())
Viktigt:
- sign måste alltid vara den sista parametern i URL:en
- Varje unik URL ger en unik signatur — ändrar du parametrar måste du signera om
- Osignerade anrop begränsas och blockeras efter ett fåtal förfrågningar
Ändringslogg
2010-05-04 – Version 1.0 Första releasen.
2010-05-13 – Version 1.1 Variabeln cli tillagd.
2010-05-19 – Version 1.2 Stöd för att hämta grafer
2010-06-09 – Version 1.3 Bugfix som fixar en bugg introducerad i 1.2 (det gick inte att hämta alla orter genom att skippa variabeln p).
2010-08-04 – Version 1.4 Värden för x och y justerade. Parametern cli krävs för att apiet skall returnera data.
2010-09-01 – Version 1.5 Parametrar för att via mer info i grafen. Parametrar för att visa grafer för i går, förra veckan, 2 år sedan etc.
2010-09-01 – Version 1.6 Parameter för att ange om 1 eller 2 y-axlar skall visas.
2010-11-22 – Version 1.7 Möjlighet att välja hur tjock graflinjen skall vara.
2010-12-19 – Version 1.8 CacheBust-funktion, möjlighet att ändra textstorlek samt information om vem som loggar temperaturen när verbose är specat.
2011-01-13 – Version 1.9 Signeringsfunktion inlagd. Signeringsfunktionen kommer från mitten av 2011 krävas för alla tillämpningar och och kommer successivt att läggas in i alla versioner av apiet.
2011-01-17 – Version 1.10 Möjlighet att via Apiet hantera informaion gällande den senaste tillgängliga klientversionen.
2011-01-30 – Version 1.11 Mer flexibel specificering av tidsperspektiv för grafer. amm – möjlighet att hämta medel/min/max i ett valfritt tidsperspektiv, antalet osignerade accesser begränsat i denna version.
2011-10-08 – Version 1.12 Variabeln history tillagd. Visar föregående periods temperatur i grafer.
2012-05-04 – Version 1.13 Variablerna compare och color angivna, gör det möjligt att jämföra flera orter i samma graf samt helt styra vilka färger linjerna i graferna skall ha. color kan sättas även för vanliga grafer.
2013 – Version 1.14 Parametern history_year som används för att jämföra data med tidigare år. Buggfixar
2014-01-26 – Version 1.15 Parametern daily. Används för att hämta dygnsmedel i ett specificerat tidsspann.
2021-02-25 – Version 1.16 Parametern json för att få ut data i json-format. Parametern data som används för att få ut data i råformat. Parametern textfil som används för att få ut rådata i en textfil. Mer information returneras när parametern verbose används. sign ändrat till token. Generell buggrättning
2021-06-01 – Version 1.17 parameter json borttagen och data returneras endast i jsonformat.
2026-02-28 – Version 1.19 (1.18 har endast använts internt). parametern nearby är tillagd. Signering av urler är nu obligatoriskt.

