Export — Dokumentation

Ladda ner skoldata som CSV, Excel eller JSON.

Export — Ladda ner data som CSV, Excel eller JSON

Skapa en export

Portal
1
Konfigurera exporten

Gå till Export i menyn. Välj format, datatyp och vilka enheter du vill inkludera.

Ny export
2
Ladda ner filen

Filen genereras direkt och en nedladdningslänk visas. Alla exporterade filer sparas i 90 dagar.

Dina exporter
FilFormatStatus
skolkoll-school-2026-03-18.csvCSVKlar

Tre format

Portal

Välj det format som passar bäst:

  • CSV — en enkel textfil som öppnas direkt i Excel. Kan också importeras i statistikprogram som R eller Python. En rad per skola/kommun, med historiska värden som extra kolumner.
  • Excel (XLSX) — en arbetsbok med tre flikar: Nyckeltal (aktuella värden), Historik (en rad per enhet och år) och Metadata (exportdatum, vilka filter du valde och förklaringar av nyckeltalen).
  • JSON — strukturerad datafil som passar för systemintegration och egna analysverktyg. Varje enhet innehåller sin historik som ett nästlat objekt.

Inkludera historik

Portal

Kryssa i "Inkludera historik" för att få med tidsserier — dvs. inte bara årets värden utan även tidigare års data. I CSV-format läggs historiken som extra kolumner (t.ex. "Meritvärde 2024", "Meritvärde 2023"). I Excel-format skapas en separat flik med en rad per enhet och år.

Historik finns tillgänglig för skoldata. Filer som blir stora (över 1 MB) komprimeras automatiskt till ZIP.

Schemalägg exporter

Portal

Skapa ett schema för automatiska exporter. Tre frekvenser:

  • Dagligen — varje dag
  • Varje vecka — varje måndag
  • Varje månad — den första varje månad

Du får en nedladdningslänk via e-post varje gång exporten genererats. Max 10 scheman per organisation.

Tillgängliga nyckeltal

Du väljer vilka nyckeltal som ska ingå i exporten. Om du inte väljer några inkluderas alla tillgängliga.

14 skolnyckeltal:

NyckeltalBeskrivningEnhet
Meritvärde åk 9Genomsnittligt meritvärde för avgångseleverpoäng
Behöriga lärareAndelen lärare (omräknat till heltidstjänster) med lärarlegitimation och behörighet, där behörigheten gäller skolform, ämne och, i grundskolan, även stadium för den undervisning läraren har.%
Elever per lärareAntal elever per heltidstjänstantal
Antal eleverTotalt antal inskrivna eleverantal
Behörighet gymnasiet åk 9Andel elever behöriga till gymnasiet%
Godkänd alla ämnen åk 6Andel elever med godkänt i samtliga ämnen%
Godkänd alla ämnen åk 9Andel elever med godkänt i samtliga ämnen%
Nationellt prov svenska åk 9Genomsnittligt provbetygspoängpoäng
Nationellt prov matematik åk 9Genomsnittligt provbetygspoängpoäng
Nationellt prov engelska åk 9Genomsnittligt provbetygspoängpoäng
Gymnasieexamen inom 3 årAndel elever som tar examen inom 3 år%
Behörighet till högskolaAndel elever med grundläggande högskolebehörighet%
Andel med pedagogisk högskoleutbildning (förskola)Andel av personalen (omräknat till heltidstjänster) på förskoleenheten med pedagogisk högskoleutbildning, enligt Skolverkets förskolestatistik%
Barn per årsarbetare (förskola)Antal inskrivna barn per pedagogisk personal omräknat till heltidstjänsterantal

Nyckeltalen ”Behöriga lärare” och ”Elever per lärare” redovisas för enheter med grundskola eller gymnasieskola. Förskoleenheter utan grundskola eller gymnasieskola redovisas i stället under de två förskolenyckeltalen, och för dem avser ”Antal elever” inskrivna barn.

För kommundata finns 142 nyckeltal (samma som i Benchmark). Om du inte väljer specifika nyckeltal ingår 8 standardnyckeltal: kostnad per elev, meritvärde snitt, andel behöriga lärare, elever per lärare, antal elever, nöjdhet åk 5, nöjdhet åk 8 och andel godkända alla ämnen.

För utvecklare: API-referens

API
Visa API-dokumentation

Exportfunktioner används via portalen och organisationens inloggade Firebase-session. Det här är interna Pro-endpoints för exporter, inte Skolkolls publika API-roadmap eller en API-nyckelprodukt.

Endpoints:

// Exportjobb:
POST   /api/pro/export/jobs                  Skapa export
         format (csv|xlsx|json, obligatoriskt)
         entityType (school|municipality, obligatoriskt)
         schoolCodes / municipalityCodes (valfritt, utelämna för alla)
         kpis (valfritt, array med KPI-nycklar)
         includeHistory (valfritt, bara school)
         compress (valfritt, tvinga ZIP)
GET    /api/pro/export/jobs                  Lista exporter
         ?limit=20                           Max antal (standard 20)
GET    /api/pro/export/jobs/{jobId}          Hämta enskilt jobb

// Schemaläggning:
POST   /api/pro/export/schedules             Skapa schema
         format, entityType, frequency (daily|weekly|monthly)
         kpis, includeHistory (valfria)
GET    /api/pro/export/schedules             Lista scheman
PATCH  /api/pro/export/schedules/{id}        Uppdatera (enabled, frequency etc.)
DELETE /api/pro/export/schedules/{id}        Ta bort schema

Svar från exportjobb följer kontraktet konto.first-value-output.v1. sampleRows är begränsade och kalkylbladssäkrade; emptyReason anges när urvalet ger 0 rader.

Exempel:

// Exportera utvalda skolor till Excel med historik:
POST /api/pro/export/jobs
{
  "format": "xlsx",
  "entityType": "school",
  "schoolCodes": ["12345678", "23456789"],
  "kpis": ["meritRating9", "totalPupils", "certifiedTeachersPercent"],
  "includeHistory": true,
  "compress": false
}
→ 201 {
    "jobId": "job_abc123",
    "status": "done",
    "downloadUrl": "https://storage.googleapis.com/...",
    "fileName": "skolkoll-school-2026-03-18.xlsx",
    "rowCount": 2,
    "schemaPreview": [{ "key": "skolenhetskod", "label": "Skolenhetskod", "nullCount": 0 }],
    "sampleRows": [{ "skolenhetskod": "12345678", "namn": "Exempelskolan" }],
    "emptyReason": null,
    "dataVersion": "2026-03-18"
  }

// Exportera kommundata till CSV:
POST /api/pro/export/jobs
{
  "format": "csv",
  "entityType": "municipality",
  "municipalityCodes": ["0180", "0580", "1480"],
  "kpis": ["meritvardeSnitt", "kostnadPerElev"]
}
→ 201 {
    "jobId": "job_def456",
    "status": "done",
	    "downloadUrl": "https://storage.googleapis.com/...",
	    "fileName": "skolkoll-municipality-2026-03-18.csv",
	    "rowCount": 3,
	    "schemaPreview": [{ "key": "kommunKod", "label": "Kommunkod", "nullCount": 0 }],
	    "sampleRows": [{ "kommunKod": "0180", "kommun": "Stockholm" }],
	    "emptyReason": null,
	    "dataVersion": "2026-03-18",
	    "summary": { "coverage": { "status": "complete", "rowCount": 3 } }
	  }

// Schemalägg veckovis export:
POST /api/pro/export/schedules
{
  "format": "csv",
  "entityType": "school",
  "frequency": "weekly",
  "kpis": ["meritRating9", "totalPupils"],
  "includeHistory": true
}
→ 201 { "id": "sched_abc", "enabled": true, "frequency": "weekly", "nextRunAt": "2026-03-24T02:00:00Z" }

// Lista/pausa/ta bort scheman:
GET /api/pro/export/schedules
PATCH /api/pro/export/schedules/sched_abc
{ "enabled": false }
DELETE /api/pro/export/schedules/sched_abc
→ 200 { "ok": true }

Detaljer:

Jobbstatus: queued → processing → done (eller failed). Klara jobb inkluderar downloadUrl, fileName och fileSize.

Obs: municipalityCodes måste vara 4-siffriga strängar (t.ex. "0180", inte 180).

Webhook: Avslutade exporter triggar en export.completed webhook med jobId, downloadUrl, fileName och fileSize. Webhooks aktiveras per organisation efter separat Pro-konfiguration.

Dataretention: Exporterade filer sparas i 90 dagar. Nedladdningslänkar förnyas vid varje listanrop (1 timmes giltighet).

Max: 10 scheman per organisation, 100 jobb per dygn.

Felkoder: 400 (valideringsfel, t.ex. ogiltigt format eller saknad entityType), 403 (saknar export-behörighet), 404 (jobb/schema hittades inte), 429 (daglig gräns nådd).

Har du frågor? Mejla info@skolspegeln.se. Förfrågan tas emot och hanteras manuellt via e-post; ingen supportportal används för ny intake.