We use cookies on this site to analyze our traffic and display social networks buttons. You can find more information on their use on this page.

Helsingborgs statistikdatabas

All data i Helsingborgs stads statistikdatabas är tillgängligt som öppna data. Statistikdatabasen bygger på programmet PX-Web utvecklat av Statistiska centralbyrån. Denna API-dokumentation är specifik för Helsingborgs stads statistikdatabas, SCBs egen API-dokumentation innehåller mer allmängiltig och mer detaljerad teknisk dokumentation om systemet.

Mer information om statistikdatabasen och statistik i Helsingborg finns på Helsingborg.se/statistik.

Licens

All data i statistikdatabasen är fri att använda enligt licensen Creative Commons by Attribution. Det betyder att man får använda statistikdatan men att man alltid måste referera till var man har fått datan ifrån

Struktur

Statistiken i Helsingborg statistikdatabas ligger i tabeller och alla tabeller är grupperade efter ämnesområden. Det finns en handfull ämnesområden (tex utbildning, inkomster, val och socialtjänst) där varje ämnesområde har ett antal tabeller (tex "Valresultat i kommunvalen efter delområde, valår och avgivna röster mm."). Förutom själva statistikdata så har varje tabell metadata som beskriver vilka variabler som kan användas för att filtrera och söka i tabellens data.

Statistiken är i många fall indelat i geografiska statistikområden, grovt motsvarande stadsdelar i Helsingborg.

Hämta alla ämnesområden

Statistiken är indelad i ämnesområden som tex inkomster, arbetsmarknad, trafik och val. För att hämta alla tillgängliga ämnesområden så kan man göra följande API-anrop:

GET https://statistik.helsingborg.se/PXWeb/api/v1/sv/helsingborg/

Detta anrop returnerar en array med data om alla ämnesområden i JSON-format. Varje ämnesområde har ett unikt id, en typ ("l" = level, dvs undernivå, "t" = tabell) och en beskrivande text.

Exempel

Exempel på API-svar (förkortat):

<code>[     {         "id": "arbetsmarknad",         "type": "l",         "text": "arbetsmarknad"     },     {         "id": "befolkning",         "type": "l",         "text": "befolkning"     },     {         "id": "inkomster",         "type": "l",         "text": "inkomster"     },     {         "id": "ohalsotal",         "type": "l",         "text": "Ohälsotal"     },     ... ] 

Hämta alla tabeller inom ett ämnesområde

För att hämta information om alla statistiktabeller inom ett ämnesområde så använd ämnesområdets id (fås via att hämta alla ämnesområden) och gör följande anrop:

<code>GET https://statistik.helsingborg.se/PXWeb/api/v1/sv/helsingborg/[ÄMNESOMRÅDESID] 

Detta anrop returnerar returnerar en array med data om alla tabeller i JSON-format. Varje tabell har ett unikt id, en typ, en beskrivande text och information om när data i tabellen senast blev uppdaterad.

Exempel

Exempelanrop:
GET https://statistik.helsingborg.se/PXWeb/api/v1/sv/helsingborg/Arbetsmarknad

Exempel på API-svar (förkortat):

<code>[     {         "id": "AM01.px",         "type": "t",         "text": "Befolkning, 20-64 år, efter årtal, delområde, kön och sysselsättningsstatus",         "updated": "2014-09-29T15:58:47"     },     {         "id": "AM02.px",         "type": "t",         "text": "Arbetssökande 18-64 år i oktober efter årtal, delområde, kön och Arbetssökande",         "updated": "2014-09-29T15:58:47"     },             ... ] 

Hämta metadata om en tabell

För att hämta metadata för en given tabell så använd ämnesområdets id samt tabellerns unika id och gör följande anrop:

GET https://statistik.helsingborg.se/PXWeb/api/v1/sv/helsingborg/[ÄMNESOMRÅDESID]/[TABELLID]

Detta anrop returnerar JSON där den viktigaste delen är variables som är en array med de variabler som kan användas för att filtrera fram data ur tabellen. För varje parameter så finns en unik kod (variablens id), en beskrivande text, en array med giltiga värden och en array med dessa giltiga värdens beskrivande text.

Exempel

Exempelanrop:
GET https://statistik.helsingborg.se/PXWeb/api/v1/sv/helsingborg/Arbetsmarknad/AM02.px

Exempel på API-svar (förkortat):

<code>{     "title": "Arbetssökande 18-64 år i oktober efter årtal, delområde, kön och Arbetssökande",     "variables": [         {             "code": "årtal",             "text": "årtal",             "values": [                 "2004",             ...                 "2013"             ],             "valueTexts": [                 "2004",                 ...                 "2013"             ]         },         {             "code": "delområde",             "text": "delområde",             "values": [                 "0",                 ...                 "43"             ],             "valueTexts": [                 "001 Norr",                 ...                 "199 Rydebäck",                 "Övriga",                 "Helsingborg"             ]         },         ...     ] } 

Hämta statistikdata från en tabell

Statistik från en enskild tabell kan hämtas genom att man använder ämnesområdets id, tabellens unika id samt anger hur man vill filtrera statistikdata med hjälp av tabellens variabler (som kan fås genom att hämta tabellens metadata). Till skillnad från övriga API-frågor så görs detta via ett POST anrop där information om filtreringsvariabler och önskat format på API-svaret anges i anropets body i JSON-format.

Istället för att sätta samman ett anrop för hand eller genom att anropa APIet för att hämta alla möjliga parametrar för en tabell så kan man gå till Helsingborgs statistikdatabas, välja ämnesområde, tabell och fylla i vilka variabler man vill använda och sedan klicka på "fortsätt" för att visa tabellen. Gå sedan till tabben "Om tabellen" och längst ner på sidan så finns information om hur man "Gör denna tabell tillgänglig i din applikation". Där visas hela POST anropet, inklusive den body som ska användas. Vill man sedan testa dessa API-anrop så kan vi rekommendera gratisverktyget Postman.

API-anropet görs till:

<code>POST https://statistik.helsingborg.se/PXWeb/api/v1/sv/helsingborg/[ÄMNESOMRÅDESID]/[TABELLID] 

Med följande minimala body:

<code>{    "query" : [],    "response" : {"format":"json"} } 

Svarsformat

Genom response > format i anropets body så anger man i vilket dataformat man vill ha svaret. Giltiga värden är:

  • px - PC-Axis PX filformat
  • csv
  • json
  • xlsx
  • json-stat
  • sdmx

Filtrering

Via en query array i anropets body så kan man ange hur man vill filtrera tabellens data, dvs exakt vilken data man vill ha från tabellen. Detta görs genom att använda de parametrar och dess giltiga värden som finns i tabellens metadata. Varje filter anges genom att man anger parameterns kod, filtrets typ samt vilka värden man vill filtrera på med följande JSON-objekt:

<code> {   "code": "<parameterkod>",   "selection": {     "filter": "[FILTERTYP]",     "values": [       [GILTIGA PARAMETERVÄRDEN]     ]   } } </parameterkod>

Några av de giltiga typen av filter är:

  • Item - filtrera på de värden som anges i values
  • All - hämta alla som stämmer överens med den wildcardsökning som anges i values, tex "01*" hämtar alla värden vars värde börjar med "01"

Mer detaljer om filtreringsmöjligheter i PX-Web (den mjukvara statistikdatabasen bygger på) finns i sektion 4.4 i SCBs API-dokumentation.

Svaret

Det svar man får på ett API-anrop innehåller dels information om tabellens kolumner, dels själva statistikdatan. Columns är en array med kolumninformation där varje kolumn har en kod, en beskrivande text samt en typ ("d" = dimension, "t" = tidsdimension, "c" = innehåll). Data är en array där varje rad i statistikdatabasen som stämmer överens på den angivna filtren beskrivs. Varje rad har en key array med de värden som stämmer överens med alla dimensionkolumner anges och en values array där de värden som stämmer överens med de värden som stämmer överens med innehållskolumnerna anges.

Exempel

Exempelanrop:

<code>POST https://statistik.helsingborg.se/PXWeb/api/v1/sv/helsingborg/arbetsmarknad/AM01.px 

Body:

<code>{ "query": [     {     "code": "årtal",     "selection": {         "filter": "item",         "values": ["2012","2013"]     }     },     {     "code": "delområde",     "selection": {         "filter": "item",         "values": ["30"]     }     },     ... ], "response": {     "format": "json" } } 

Exempel på API-svar (förkortat):

<code>{     "columns": [         {             "code": "årtal",             "text": "årtal",             "type": "d"         },         ...         {             "code": "Arbetssökande 18-64 år i oktober",             "text": "Arbetssökande 18-64 år i oktober",             "type": "c"         }     ],     "comments": [],     "data": [         {             "key": [                 "2012",                 "30",                 "3",                 "1"             ],             "values": [                 "48"             ]         },         ...         {             "key": [                 "2013",                 "30",                 "3",                 "4"             ],             "values": [                 "1476"             ]         }     ] } 

Dataset schema

JSON Schema

The following JSON object is a standardized description of your dataset's schema. More about JSON schema.