SCB Statistik-API utan cellgräns
SCB har statistiken många svenska dashboards till slut behöver: befolkning, branscher, kommunala nyckeltal, priser, migration och mer. Datan är värdefull. Det råa API:t kräver tålamod.
Du behöver hitta rätt tabell, bygga en POST-kropp, välja dimensioner och hålla dig under 100 000 celler per fråga.
Problemet med SCB:s råa API
Med SCB:s PxWeb-API börjar jobbet innan själva anropet:
- Hitta tabellen — bläddra genom nästlade mappar tills du hittar rätt tabell-ID
- Bygga POST-kroppar — välja exakta dimensioner, filtervärden 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.
- Parsa px-web-svar — svaret använder SCB:s egen struktur med separata nyckel/värde-listor
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 är inget du gissar dig till. Du letar upp det i SCB:s webbplats eller dokumentation, och hoppas sedan att valet av regioner, år och variabler håller sig under gränsen.
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/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. Apiverket mappar användbara SCB-tabeller till REST-endpoints och hanterar paginering för större dataset. Du behöver inte bygga in tabell-ID:n i din app.
Hitta SCB-tabellen bakom en endpoint
Du ska inte behöva gissa vilken PxWeb-tabell, vilket filter eller vilken period en endpoint använder. SCB-registret visar de utvalda tabeller som Apiverket bygger på, inklusive tabell-ID, dimensioner, standardfilter och körbara exempel.
# Lista utvalda SCB/PxWeb-tabeller
curl -H "Authorization: Bearer sk_test_demo" \
https://apiverket.se/v1/open-data/scb/tables
# Inspektera en tabell med dimensioner och exempel
curl -H "Authorization: Bearer sk_test_demo" \
https://apiverket.se/v1/open-data/scb/tables/TAB638
SCB-baserade svar kan innehålla extra metadata i meta.sources, till exempel table_id, table_title och period. Det gör det enklare att spåra det rena REST-svaret tillbaka till den officiella tabellen.
Tillgängliga statistikendpoints
| Endpoint | Beskrivning |
|---|---|
/v1/open-data/scb/tables | Register över utvalda SCB/PxWeb-tabeller |
/v1/population | Befolkningsdata per region och år |
/v1/statistics/industry/{sniCode} | Bransch- och företagsstatistik per SNI-kod |
/v1/prices/cpi | Konsumentprisindex |
/v1/gdp | BNP-data |
/v1/wages | Lönestatistik |
Testa nu
curl -H "Authorization: Bearer sk_test_demo" \
https://apiverket.se/v1/population
Lägg till svensk statistik i din app
Använd ren JSON och paginerade resultat. Börja med testnyckeln.
Öppna API-dokumentationenSe prisplaner — gratisplanen inkluderar 200 anrop/dag