API

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.17 – tidigare versioner ska inte användas i nya applikationer.

Support

För support på API-funktionen, ställ dina frågor i forumet på temperatur.nu.

Villkor

  • 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.
  • Källhänvisning måste alltid anges och där det är möjligt bör länk + temperatur.nus logga visas.
  • Används apiet i ett företags verksamhet krävs särskild överenskommelse, maila [email protected] för mer information.
  • Förfrågningar till APIet kan signeras med en token, osignerade förfrågningar är begränsade till ca 20/timma per klientid (Vilket är tänkt att räcka vid privat bruk). Maila [email protected] för att att erhålla en token till ditt projekt.
  • För att finansiera temperatur.nu debiteras en avgift vid kommersiell användning av data. Avgiften startar från 100kr/mån och beror på i vilken omfattning data används. Syftet med avgiften är att den ska vara så låg/rimlig att kostnaden inte begränsar användandet. 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.17.php?p=ekholmen&cli=api_demo se ut:

{
   "title":"Temperatur.nu API 1.17",
   "clientkey":"unsigned",
   "stations":[
      {
         "title":"Linköping/Ekholmen",
         "id":"ekholmen",
         "temp":"6.7"
      }
   ]
}

Så här kan resultatet från en förfrågan på http://api.temperatur.nu/tnu_1.17.php?lat=58.376761&lon=15.562916&num=2&graph&cli=test_app2 se ut:

{
	"title": "Temperatur.nu API 1.17",
	"clientkey": "unsigned",
	"stations": [
		{
			"title": "Linköping/Slaka",
			"id": "slaka",
			"temp": "6.6",
			"dist": "1.3",
			"graph": "https://graph.temperatur.nu/graph/slaka-1day-300-200-0-0-0-1-8-n-0-n.png"
		},
		{
			"title": "Linköping/Hagaberg",
			"id": "hagaberg",
			"temp": "6.1",
			"dist": "3.7",
			"graph": "https://graph.temperatur.nu/graph/hagaberg-1day-300-200-0-0-0-1-8-n-0-n.png"
		}
	]
}

Parametrar

Generella parametrar

ParameterBeskrivningKan ej användas med
pAnger för vilka orter data skall returneras – kommaseparerad lista. Utelämnas parametern returneras samtliga mätpunkter.lat, lon, num
dcAnger om decimalkomma skall användas i stället för decimalpunkt i fälten temperatur, lat, lon och dist.
verboseReturnerar alla fält för orten, se beskrivning nedan
coordinatesVisar 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
latAnvä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
lonAnvä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
numAnvänds tillsammans med amm. Anger hur många orter som skall returneras. Standard är 1 och max är 20.p
cbOm 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.
searchFritextsök – söker på både ort och kommun. p, lat, lon
sortSorteringsordning vid sökning, giltiga val är temperatur, latitud eller alfabetiskt (standard)
byGiltiga val är rising som anger stigande ordning på sortering eller falling som är fallande ((standard)
cliAnvänds för att identifiera vilken klient som hämtar data. Ex ”cli=tnu_widget”. Parametern är obligatorisk.
tokenAnvä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

ParameterBeskrivningKan ej användas med
spanSpecificerar för vilket tidsperspektiv data ska hämtas. Giltiga värden är: 1day (standard), 1week, 1month, 1year.start, end
shiftAnger 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 mflstart, end
startSpecificerar starttid. Formatet är Y-m-d-H-i, ex 2011-01-30-12-31. Alternativt kan unix timestamp anges.span
endSpecificerar sluttid. Formatet är Y-m-d-H-i, ex 2011-01-30-12-31. Alternativt kan unix timestamp anges. Standard är nuvarande tidspan
historyAnvä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

ParameterBeskrivning
dataAnvänds för att hämta rådata för en mätpunkt specificerade med variabeln p.
textfilAnvä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.
ammAnvänds för att hämta Average, Min & Max för upp till 10 orter specificerade med variabeln p.
dailyAnvänds för att hämta dygnsmedel samt lägsta och högsta temperatur per dygn. En mätpunkt specificerad med variabeln p.
tnudataAnvä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

ParameterBeskrivning
graphAnvä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_gVisar min/max/medel/senaste värde i grafen. Visar även när data senast hämtades för den valda orten.
1axisAnvänds för att endast visa temperaturskalan till vänster. Används med fördel i små grafer för att spara utrymme.
fontsizeAnger hur stor texten skall vara. Observera att värdet inte kan relateras till vanliga textstorlekar, du måste därför testa dig fram.
linewidthAnger bredden på graflinjen. Giltiga värden 1 till 5. Även flyttal, ex 1.5, fungerar. Decimalkomma eller decimalpunkt spelar inte någon roll.
xSpecificerar hur bred grafen skall vara. Giltiga värden är 150-2500. 300 är standard.
ySpecificerar hur hög grafen skall vara. Giltiga värden är 125-2500. 200 är standard.
colorAnger vilken/vilka färger linjer i grafen skall ha, kommasepararead lista. Standard är #FF0000,#AADDAA,#FFCC00.
compareAnger 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ältBeskrivningParameter som visar
titleMätpunktens namn på temperatur.nuvisas som standard
idMätpunktens id på temperatur.nu. Kan användas med parametern ”p” för att hämta endast denna mätpunkts informationvisas som standard
tempMätpunktens senaste temperatur. Om decimalkomma eller decimalpunkt skall användas styrs med parametern dc.visas som standard
clientReturnerar signed, unsigned eller blocked beroende på signeringsstatusvisas som standard
latMätpunktens latitud i decimalt format. Om decimalkomma eller decimalpunkt skall användas styrs med parametern dc.coordinates, verbose
lonMätpunktens longitud i decimalt format. Om decimalkomma eller decimalpunkt skall användas styrs med parametern dc.coordinates, verbose
lastUpdateTidpunkt då informationen senast uppdaterades på temperatur.nu.verbose
kommunDen kommun som mätpunkten ligger i.verbose
felmeddelandeEventuellt felmeddelande om temperaturen just nu inte kan hämtas. Standard är ”Ok”verbose
lanDet län som mätpunkten ligger i.verbose
sourceInfoEn kort textsträng med information om vem som loggar temperaturen för mätpunkten.verbose
forutsattningTextsträ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
urlUrl till mätpunkten på www.temperatur.nu
verbose
distHur 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
graphVisar 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
dailyHar underliggande fält date, average, min, minTime, max, maxTime som representerar data för dygn angivet i fältet date. daily
ammRangeVisar för vilket tidsperspektiv average, min och max har hämtats.amm
uptimeMätpunktens upptid i % det senaste åretverbose
startTidpunkt när mätpunkten lades till på temperatur.nu.verbose
mohMätpunktens höjd över havsnivån (Meter above Sea Level)verbose
rawdataTemperaturdata i råformat. Varje rawdata-fält innehåller subfälten date, time, temperaturdata
textfilLänk till fil med rådata i textformat.textfil
searchVisar antal träffar tillsammans med medeltemperaturen när parametern search används.search

Signering av urler

Förfrågningar till APIet kan signeras. Antalet osignerade förfrågningar begränsade till ca 20 per timma. Skriver du en privat tillämpning kan du använda APIet utan att signera URLerna.

Om du skriver en tillämpning som kommer att användas av flera olika användare samtidigt (ex en app till en telefon) måste du ange ett token till ditt client-id för att förfrågnignarna inte ska blockeras.

Maila [email protected] för att erhålla token.

Du anger sedan token som en parameter enligt följande exempel:

http://api.temperatur.nu/tnu_1.17.php?p=ekholmen&cli=api_demo&token=XXXXXXXX

Ä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.