SCB Statistik-API utan cellgräns
Statistiska centralbyrån (SCB) är Sveriges officiella statistikmyndighet. Deras API ger tillgång till befolkningsdata, branschstatistik, kommunala nyckeltal och mycket mer. Men API:et har en betydande begränsning: ett maximum på 100 000 celler per fråga, och frågor kräver komplexa POST-kroppar med dimensionsval.
Problemet med SCB:s råa API
SCB:s PxWeb-API kräver att du:
- Navigerar en tabellhierarki — bläddra genom nästlade mappar för att hitta rätt tabell-ID
- Bygger POST-frågekroppar — specificera exakta dimensionsvärden, filterkriterier och svarsformat i JSON
- Håller dig under cellgränsen — frågor som överskrider 100 000 celler avvisas. Du måste dela upp stora förfrågningar manuellt.
- Parsar px-web-svarsformat — svaret använder SCB:s eget format med separata nyckel/värde-arrayer
Rått SCB API-anrop
curl -X POST "https://api.scb.se/OV0104/v1/doris/en/ssd/BE/BE0101/BE0101A/BesijpSNpunktAr" \
-H "Content-Type: application/json" \
-d '{
"query": [
{
"code": "Region",
"selection": { "filter": "item", "values": ["00"] }
},
{
"code": "ContentsCode",
"selection": { "filter": "item", "values": ["BE0101N1"] }
}
],
"response": { "format": "json" }
}'
Tabell-ID:t (BefolkningNy) är inte upptäckbart — du behöver bläddra på SCB:s webbplats eller dokumentation för att hitta det. Och om din fråga spänner över för många regioner × år × variabler misslyckas den tyst.
Apiverket-sättet
SCB direkt (POST)
// 1. Hitta rätt tabell-ID
// 2. Bygg POST-kropp med dimensioner
const res = await fetch(
"https://api.scb.se/OV0104" +
"/v1/doris/en/ssd/BE/BE0101" +
"/BE0101A/BefolkningNy",
{
method: "POST",
headers: { "Content-Type":
"application/json" },
body: JSON.stringify({
query: [{ code: "Region",
selection: { filter: "item",
values: ["00"] }}],
response: { format: "json" }
})
}
);
Apiverket (GET)
const res = await fetch(
"https://apiverket.se" +
"/v1/statistics/population",
{
headers: {
Authorization:
"Bearer sk_live_YOUR_KEY"
}
}
);
const { data } = await res.json();
// data.population = 10_551_707
// data.year = 2025
// data.by_region = [...]
GET istället för POST. Ingen cellgräns. Inga tabell-ID:n. Apiverket förmappar de mest användbara SCB-tabellerna till intuitiva REST-endpoints och hanterar paginering för stora dataset.
Tillgängliga statistikendpoints
| Endpoint | Beskrivning |
|---|---|
/v1/statistics/population | Befolkningsdata per region och år |
/v1/statistics/industry | Bransch- och företagsstatistik |
/v1/demographics/... | Åldersfördelning, migration, födslar/dödsfall |
/v1/municipalities/{code} | Kommunala nyckeltal och statistik |
Testa nu
curl -H "Authorization: Bearer sk_test_demo123" \
https://apiverket.se/v1/statistics/population
Behöver du svensk statistik i din app?
Ren JSON, paginerade resultat, ingen cellgräns. Börja med testnyckeln.
Utforska API-dokumentationenSe prisplaner — gratisplanen inkluderar 200 anrop/dag