Jan Bruusgaard Seksjon web og Statistikkbank Difi Datadelingsforum / #hack4no 31.8.2016 1 SSBs API mot Statistikkbanken
1
Jan BruusgaardSeksjon web og Statistikkbank
Difi Datadelingsforum / #hack4no 31.8.2016
SSBs API mot Statistikkbanken
ssb.no/api
• API mot SSBs «skattkiste» – Statistikkbanken.
• Statistikkbanken har• Mer enn en milliard tall• Fordelt på 5000 tabeller• Av dette 456 tabeller på kommunenivå
• Oppdateres (nesten) hver dag• Tall tilbake til 1769
SSB API3
Hva kan en bruke SSBs API til• hente data automatisk inn i:• Tekst • Figur / visualisering• Tabell• Webapplikasjon• Database• Analyseverktøy
– SAS, R etc.
SSB API4
SSB har 2 API-er• Ferdige datasett (lansert juni 2013)• Lag egne datasett (kom mai 2016)
5
API: Ferdige datasett
SSB API
• SSB lager datasettet• Kun 250 datasett
• Dekker mest etterspurte tabeller• Fordel: SSB holder oversikt over endringene
• Egen adresse (URL) til hvert datasett • http GET
• Utformat• JSON-Stat• CSV
SSB API6
API: Lag egne datasett• Dekker alle 5000
statistikkbanktabellene• Fleksibelt• Bruker definerer selv uttrekk• Velg størrelse fra 1 til 500.000 celler• Høyere maks. grense enn Statistikkbanken• Velger kun variabler en har behov for
7
API: Lag egne datasett
• Består av to deler• API: konsoll• teste og redigere spørringer
• API: Direkte til datasettene • http POST• Poste spørring mot url
• GET for å traversere
Spørringer
• Formuleres i JSON-format• Enkel og kompakt• enkelt å lære grunnleggende syntaks
SSB API10
Spørring - filter
• Item• enkeltverdier
• All• Trunkering *
• Bare * - velger alle
• Top• Siste / øverste verdier• Egnet for rullerende tid
SSB API11
Output formater• JSON-stat (http://json-stat.org) • Anbefalt og forhåndsvalgt i konsoll-spørring• Ferdige bibliotek for
• Javascript• Java• R• Python
• CSV (kommaseparert)• XLSX (Excel)
SSB API12
Statuskoder
• 200 – ok• 404 – feil i URL eller i syntaks på spørringen.• 403 – sperre ved for stort datasett.
500 000 celler (inkl. tomme celler). • 429 – for mange spørringer. Grensen er 30 i
minuttet• 503 – time-out etter 60 sekunder
SSB API13
Direkte til datasettene – via url• http://data.ssb.no/api/v0/no/table/• JSON• {id … text …}
• POST mot url
Kjente mangler
• GET støttes (foreløpig) ikke• Metadata viser ikke aggregeringer og
grupperinger• Ingen informasjon om neste publisering• «Foreløpige tall» vises forskjellig eller
markeres ikke i det hele tatt• Se også brukerveiledningen
Hva skjer framover• JSON-Stat 2.0
• nå har vi versjon 1.2• Ny statistikkbank basert på PX-web / KOSTRA
modernisering• videreutvikling API som del av PX-web
• Støtte for http GET• Ny datamodell
• vil bl.a. ha hierarkiske variabler• KLASS – ny standarddatabase med eget API
Ressurser• Se Brukerveiledningen nytt API for lenker
• Har også enkle eksempler på spørringer med POST i:• Python, R, SAS, Microsoft Power BI / Power Query
• JSON-Stat• json-stat.org
• Se også json-stat.com/nsm – kursmateriale og verktøy
• Nettleser utvidelser• Jsonviewer• Poster
• Curl
SSB API17
SSBs API: Oppsummert• Det nye API-et er best:
• Mest fleksibelt• Lag egne datasett
• Størst • 5000 tabeller, • opptil 500.000 celler pr. spørring
• Det gamle API-et er:• Enklest
• Ferdige datasett• Raskest• Begrenset
• http://www.ssb.no/api• Kontakt: [email protected] (evt. [email protected])