Datakällor och år
| Underlag | Källa | Avser | Senast uppdaterat |
|---|---|---|---|
| Grundskola: meritvärde årskurs 9 | Skolverket | läsåret 2025/26 | 2026-10-18 |
| SALSA (förväntat värde och avvikelse) | Skolverket via Kolada | 2025 | 2026-10-18 |
| Skolenkäten: trygghet, studiero, stöd (elever åk 5 och åk 8, visas på skolsidor, ingår inte i rankingen) | Skolinspektionen | omgång 2025–2026 | 2026-10-23 |
| Gymnasium: betygspoäng och examen inom 3 år | Skolverket via Kolada | 2025 | 2026-07-12 |
| Förskola: barn per legitimerad förskollärare | Skolverket via Kolada | 2025 | 2026-07-12 |
| Antagningspoäng, gymnasium (Stockholms län) | Storsthlm (gymnasieantagningen.storsthlm.se) | Slutantagning 2026 | 2026-08-05 |
| Elevnöjdhet, gymnasium (Stockholms län) | Storsthlms elevenkät | 2025 | 2026-09-12 |
Kolada är den öppna databas för kommun- och skolstatistik som drivs av RKA och som återpublicerar bland annat Skolverkets statistik. Årtal i Kolada är referensår, och datamängderna publiceras enligt olika scheman, så de avser inte samma år. Grundskolans meritvärden avser läsåret 2025/26 (referensår 2026). SALSA-värdena avser fortfarande 2025, eftersom Kolada ännu inte har publicerat SALSA för 2026. Kartpositioner för grundskolor kommer från samma filunderlag som meritvärdena.
Så beräknas rankingen
Grundskola
Skolorna sorteras fallande efter meritvärde i årskurs 9 (skala 0–340), som det redovisas av Skolverket. Inga egna vikter eller justeringar tillämpas. Endast skolor med både redovisat meritvärde och kartposition ingår. Placeringen inom en kommun är samma sortering begränsad till kommunens skolor.
SALSA visas separat och påverkar inte placeringen. Det är ett modellberäknat förväntat meritvärde utifrån bland annat föräldrarnas utbildningsnivå och andelen nyinvandrade elever; avvikelsen är skolans faktiska meritvärde minus det förväntade.
Gymnasium
Varje skolas genomsnittliga betygspoäng (gymnasieelever med examen) normaliseras till 0–100 mellan lägsta och högsta värdet bland alla rankade gymnasieskolor. Därefter räknas ett sammansatt värde:
poäng = 0,7 × normaliserad betygspoäng + 0,3 × examensandel inom 3 år (%)
Skolor utan redovisad examensandel rankas enbart efter den normaliserade betygspoängen, så att en saknad uppgift inte räknas som ett minus. Skolor utan betygspoäng ingår inte i rankingen. Antagningspoäng och elevnöjdhet (endast Stockholms län) visas som tilläggsinformation och påverkar inte rankingen.
Förskola
Förskoleenheter sorteras stigande efter antal barn per legitimerad förskollärare; lägre värde ger högre placering. Måttet beskriver bemanning, inte resultat, eftersom förskolan saknar betyg eller examen. Andel legitimerad personal visas som tilläggsinformation men påverkar inte placeringen. Enheter utan redovisat värde ingår inte.
Begränsningar
Rankingarna visar vad statistiken säger, inte hur bra en skola är för ett enskilt barn. Små skolor kan ha stora årliga svängningar, och skolor som saknar redovisade värden syns inte. Hittar du ett fel i uppgifterna, kontakta oss via adressen på Om Skolranking.
För utvecklare / API
Grundskoledatan finns som öppet JSON-API, fritt att använda utan nyckel (CC0, data från Skolverket). Ange gärna källan: Källa: skolranking.com, data Skolverket (CC0). Alla svar innehåller fälten source, license, dataYear och docs. Endast GET; CORS är öppet (*) och svar cachas i ett dygn.
GET /api/v1/kommuner– alla kommuner med antal skolor och länkar. ExempelGET /api/v1/schools?kommun=Göteborg– grundskolorna i en kommun, sorterade efter meritvärde. Valfria parametrar:limit(1–200, standard 100) ochoffset. Okänd kommun ger 404, ogiltiga parametrar 400, båda som JSON. ExempelGET /api/v1/schools/{id}– en skola, medidfrån listan ovan.
Fälten är bland annat meritValue (skala 0–340), rankSweden, rankKommun och salsa (förväntat värde och avvikelse). Toppfälten och rankingen avser läsåret 2025/26.
Historik (flera år)
Grundskola och gymnasium har historik bakåt i tiden. Den ligger additivt under school.history i GET /api/v1/schools/{id} och GET /api/v1/gymnasium/schools/{id}, och ändrar aldrig dagens värden eller rankingen. Skolor matchas mellan år på skolenhetskod (gymnasium: Koladas enhets-id). Ett år utan publicerat värde (skolan fanns inte än, är nedlagd eller källan saknar siffra) är null, aldrig 0; inget interpoleras.
"history": {
"years": [2022, 2023, 2024, 2025, 2026],
"sources": { "meritValue": "Kolada N15505/N15506 ...", ... },
"series": [
{ "year": 2022, "meritValue": 315.6, "salsaExpected": 264, "salsaDeviation": 52 },
...
{ "year": 2026, "meritValue": 320.7, "salsaExpected": null, "salsaDeviation": null }
]
}- Grundskola (
meritValue, Kolada N15505/N15506): 2022–2026, där 2026 = läsåret 2025/26.salsaExpectedochsalsaDeviation(U15415/U15416): 2022–2025; SALSA för 2026 är ännu inte publicerat och ärnull. - Gymnasium (Kolada referensår):
meritPoints(N17691/N17690) publiceras först från 2023, alltså 2023–2025.graduationRate(examen inom 3 år): 2022–2025 för kommunala skolor; för fristående skolor finns bara 2025, eftersom Kolada inte längre levererar den serien.rankingScoreoch placeringar finns bara för nuvarande år. - Förskola: ingen historik.
GET /api/v1/history/grundskolaochGET /api/v1/history/gymnasium– alla rankade skolor, en rad per skola och år, som CSV (standard). Lägg till?format=jsonför JSON. Tomma celler är saknade värden. Exempel
Gymnasium och förskola
Samma regler (CC0, inga nycklar, öppet CORS, limit/offset, JSON-fel med 404/400) gäller för gymnasium och förskola. Svaren anger eget dataYear (Kolada referensår 2025 respektive 2025) och bara de fält som finns i datasetet; ett saknat värde (till exempel examensandel) är null.
GET /api/v1/gymnasium/kommuner– kommuner med gymnasieskolor. ExempelGET /api/v1/gymnasium/schools?kommun=Göteborg– gymnasieskolorna i en kommun, sorterade efter rankingpoäng (70 % betygspoäng, 30 % examensandel). Fält:meritPoints,graduationRate,rankingScore,rankSweden,rankKommun.GET /api/v1/gymnasium/schools/{id}– en gymnasieskola.GET /api/v1/forskola/kommuner– kommuner med förskoledata. ExempelGET /api/v1/forskola/units?kommun=Göteborg– förskoleenheterna i en kommun, sorterade efter barn per legitimerad förskollärare (lägst först). Fält:childrenPerTeacher,certifiedShare,childrenPerStaff,rankSweden,rankKommun.GET /api/v1/forskola/units/{id}– en förskoleenhet.
MCP
Samma data finns som MCP-server (Model Context Protocol) för AI-assistenter: POST https://skolranking.com/api/mcp. Skrivskyddad, utan nyckel och utan sessioner (Streamable HTTP, JSON-RPC 2.0, ett meddelande per anrop, max 16 kB). Verktyg: list_kommuner, search_schools (kommun, valfria limit och offset) och get_school (id) för grundskola, samt search_gymnasium och get_gymnasium_school för gymnasium och search_forskola och get_forskola för förskola (samma parametrar; id:n är alfanumeriska koder). Alla svar innehåller samma källfält som REST-API:t.
curl -s https://skolranking.com/api/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'