Ö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

Endpoint Radnivå Innehåll Källa
/nedladdning/skolor.csv
Dokumentation
En rad per skolenhet Alla skolenheter i Sverige med huvudman, skolform, kommun, status, koordinater och centrala nyckeltal. Skolverket
/nedladdning/kommuner.csv
Dokumentation
En rad per kommun Aggregerad grundskolestatistik per kommun med resultat, lärarbehörighet, elevantal och ekonomi. Kolada
/nedladdning/historik.csv
Dokumentation
En rad per kommun och statistikår Tidserier 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 skola Antagningspoä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ält Beskrivning
skolenhetskod Skolverkets unika identifierare för skolenheten
skolenhetNamn Officiellt namn på skolenheten
kommunNamn / kommunKod Kommun och fyrsiffrig kommunkod
huvudmanNamn Huvudman eller organisation som driver skolan
skolformer Skolformer som GR, GY och FORSK
lat / lng Koordinater i WGS84 när geokodning finns
meritvardeAk9 Genomsnittligt meritvärde i årskurs 9
behorigaLararePct Andel lärare med behörighet i procent
Kommundata
Fält Beskrivning
kommunKod Fyrsiffrig kommunkod
kommunNamn Kommunnamn
kostnadPerElev_kr Totalkostnad för grundskola per elev
elevPerLarare Elever per lärare
meritvardeSnitt Genomsnittligt meritvärde i årskurs 9
behorighetsgrad_pct Andel behöriga lärare i procent
andelKommunalElever_pct Andel elever i kommunala skolor
andelFristaendeElever_pct Andel elever i fristående skolor
Historik
Fält Beskrivning
kommunKod / kommunNamn Kommunidentifierare och namn
ar Statistikår
meritvardeSnitt Genomsnittligt meritvärde i årskurs 9
kostnadPerElev_kr Totalkostnad för grundskola per elev
elevPerLarare Elever per lärare
behorighetsgrad_pct Andel behöriga lärare i procent
Antagning
Fält Beskrivning
skolkod / skolnamn / kommun Skolidentifikation och ort
program / programkod Programnamn och programkod
inriktning Inriktning när den finns
ar Antagningsår
antagningspoang Lägsta antagningspoäng eller cutoff
antagna Antal antagna elever när källdata finns
sokande / forsthandssokande Sö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 datafiler och öppen data-portalen.