Statistisk sentralbyrå sitt API mot Statistikkbanken. Presentasjon på Difi sitt Datadelingsforum 31. august 2016. Streamet Video ligger på http://kartverket.23video.com/ssbs-api-mot-statistikkbanken
1. Jan Bruusgaard
Seksjon web og Statistikkbank
Difi Datadelingsforum / #hack4no 31.8.20161
SSBs API mot Statistikkbanken
2. 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
3. Hva kan en bruke SSBs API til
SSB API3
• hente data automatisk inn i:
• Tekst
• Figur / visualisering
• Tabell
• Webapplikasjon
• Database
• Analyseverktøy
– SAS, R etc.
4. SSB har 2 API-er
SSB API4
• Ferdige datasett (lansert juni 2013)
• Lag egne datasett (kom mai 2016)
5. API: Ferdige datasett
SSB API
5
• 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
6. API: Lag egne datasett
SSB API6
• 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
7
10. Spørring - filter
• Item
• enkeltverdier
• All
• Trunkering *
• Bare * - velger alle
• Top
• Siste / øverste verdier
• Egnet for rullerende tid
SSB API10
11. 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 API11
12. 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 API12
13. Direkte til datasettene – via url
• http://data.ssb.no/api/v0/no/table/
• JSON
• {id … text …}
• POST mot url
SSB API13
14. 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
15. 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
16. 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
17. SSBs API: Oppsummert
SSB API17
• 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: statistikkbanken@ssb.no (evt. jbr@ssb.no)
Editor's Notes
Kort om APIet vi har hatt siden 2013, detaljert om det nye APIet og til slutt noen anbefalte ressurser for å anvende det.
Alt er både på norsk og engelsk
Bloomberg publiserer nyheter et par sekunder etter oss, oversetter minus til underskudd. Robotjournalistikk kommer, Finn tall for din kommune.
Da vi kom med vårt beta-Api i 2013 var SSB første nasjonale statistikkbyråbyrå til å ta i bruk formatet JSON-stat. Det er spesielt egnet for statistikk eller mangedimensjonale datakuber.
500.000 celler inkluderer også celler uten verdier
Består av altså av to deler
API konsoll
Egenutviklet
API Direkte til datasettene (PX-API)
API (PX-API) første skritt mot ny Statstikkbank (PX-web)
Det aller viktigste å gjøre oppmerksom på er at det nye APIet bruker protokollen http POST. Det er uvanlig. Også for it-folk som jobber lite med web er dette ukjent.
Gå til http://www.ssb.no/omssb/tjenester-og-verktoy/api
Den enkle måten å bruke det nye APIet er Velg Lag egne datasett - konsoll
Søk folkemengde ettårig alder – nullstill – tabellnummer 07459
Eksempelspørring - 3 første av hver variabel - JSON
Velg Kjør
Vis resultatrute – JSON-stat
Rediger spørring – år 2016 - Kjør
Vis response – endre til csv
Enkel og kompakt
enkelt å lære grunnleggende syntaks også for ikke programmerere
Mange ferdige biblioteker
tar mer og mer over for XML
Spørring innledes med {«query»
Item
enkeltverdier
All
Trunkering *
Top
Siste / øverste verdier Egnet for tid– her et et eksempel med siste 13 måneder for regne ut prosentvis årsendring. Tid Top 1 sikrer alltid siste tall
Det finnes to filtre til for aggregeringer og grupperinger, men de vises ikke i metadata (kommer)
JSON-stat tilbys nå av alle nordiske statistikkbyråer, samt Eurostat. Veldig mange norske data leveres til Eurostat som er EUs statistikkkontor. Om en vil sammenlikne Norske data med andre Europeiske land, kan det være verdt å sjekke
JSON-stat
har ferdige biblioteker
Enkle POST eksempler
Python
R
Microsoft Power BI / Power Query
SAS
For lenker, se brukerveiledningen