Öppen data för agenter

AI-guide för Skolkolls öppna data

En kompakt referens för AI-agenter, browser agents och andra program som behöver hitta, läsa och jämföra svensk skoldata utan manuell navigering.

Maskinläsbar endpoint-katalog

Sidans #ai-data-endpoints-script innehåller samma katalog som JSON: endpoint-URL:er, CSV-format, fältbeskrivningar, licens, radnivå och typiska agentflöden.

Format
CSV (UTF-8, semikolon, svenskt decimalkomma)
Licens
CC BY 4.0 med källhänvisning till Skolkoll och ursprungskälla
Schema
Schema.org DataCatalog med ett Dataset per CSV-endpoint och DataDownload-distribution
DCAT-AP SE
/data/catalog.jsonld med komplett maskinläsbar datasetkatalog. AI-chatten exponerar samma katalog via /api/ai/dcat.
Rekommenderad parsning
Läs CSV med sep=";", encoding="utf-8-sig", decimal="," och comment="#"

CSV-endpoints

EndpointRadnivåInnehållKälla
/nedladdning/skolor.csv
Dokumentation
En rad per skolenhetAlla skolenheter i Sverige med huvudman, skolform, kommun, status, koordinater och centrala nyckeltal.Skolverket
/nedladdning/kommuner.csv
Dokumentation
En rad per kommunAggregerad grundskolestatistik per kommun med resultat, lärarbehörighet, elevantal och ekonomi.Kolada
/nedladdning/historik.csv
Dokumentation
En rad per kommun och statistikårTidserier per kommun för grundskolan: resultat, kostnad per elev, elever per lärare och lärarbehörighet.Kolada
/nedladdning/antagning.csv
Dokumentation
En rad per gymnasieprogram och skolaAntagningspoäng och programutbud per gymnasieprogram och skola, med historik där den finns.Gymnasieantagningen / Skolverket

Agentflöden

Topplista inom en kommun

Fråga: Hitta topp-10 grundskolor i Uppsala efter meritvärde och visa lärarbehörighet bredvid.

Metod: Filtrera skolor.csv på kommunNamn=Uppsala och skolformer som innehåller GR, sortera fallande på meritvardeAk9.

Datafiler: Skoldata

Kommunjämförelse

Fråga: Jämför kostnad per elev, lärarbehörighet och meritvärde mellan Nacka, Uppsala och Lund.

Metod: Använd kommuner.csv för senaste värden och historik.csv för trend över tid per kommunKod.

Datafiler: Kommundata, Historik

Gymnasieval

Fråga: Lista naturvetenskapsprogram i Göteborg där senaste antagningspoängen är under 270.

Metod: Filtrera antagning.csv på kommun=Göteborg och programkod=NA, konvertera antagningspoang till tal och sortera.

Datafiler: Antagning

Fält att börja med

Skoldata
FältBeskrivning
skolenhetskodSkolverkets unika identifierare för skolenheten
skolenhetNamnOfficiellt namn på skolenheten
kommunNamn / kommunKodKommun och fyrsiffrig kommunkod
huvudmanNamnHuvudman eller organisation som driver skolan
skolformerSkolformer som GR, GY och FORSK
lat / lngKoordinater i WGS84 när geokodning finns
meritvardeAk9Genomsnittligt meritvärde i årskurs 9
behorigaLararePctAndel lärare med behörighet i procent
Kommundata
FältBeskrivning
kommunKodFyrsiffrig kommunkod
kommunNamnKommunnamn
kostnadPerElev_krTotalkostnad för grundskola per elev
elevPerLarareElever per lärare
meritvardeSnittGenomsnittligt meritvärde i årskurs 9
behorighetsgrad_pctAndel behöriga lärare i procent
andelKommunalElever_pctAndel elever i kommunala skolor
andelFristaendeElever_pctAndel elever i fristående skolor
Historik
FältBeskrivning
kommunKod / kommunNamnKommunidentifierare och namn
arStatistikår
meritvardeSnittGenomsnittligt meritvärde i årskurs 9
kostnadPerElev_krTotalkostnad för grundskola per elev
elevPerLarareElever per lärare
behorighetsgrad_pctAndel behöriga lärare i procent
Antagning
FältBeskrivning
skolkod / skolnamn / kommunSkolidentifikation och ort
program / programkodProgramnamn och programkod
inriktningInriktning när den finns
arAntagningsår
antagningspoangLägsta antagningspoäng eller cutoff
antagnaAntal antagna elever när källdata finns
sokande / forsthandssokandeSöktryck när källdata finns

Python-exempel

import pandas as pd

schools = pd.read_csv(
    "https://skolkoll.se/nedladdning/skolor.csv",
    sep=";",
    encoding="utf-8-sig",
    decimal=",",
    comment="#",
)

uppsala_top10 = (
    schools[
        (schools["kommunNamn"] == "Uppsala")
        & schools["skolformer"].str.contains("GR", na=False)
    ]
    .sort_values("meritvardeAk9", ascending=False)
    .head(10)
)

print(uppsala_top10[["skolenhetNamn", "meritvardeAk9", "behorigaLararePct"]])

För fler datafiler och historiska versioner, se nedladdningsbara datafileroch öppen data-portalen.