lagen.nu

API och bulkdata

Hela korpusen går att hämta maskinellt, utan nyckel och utan registrering. Den här sidan är en översikt; den fullständiga tekniska referensen finns i API-dokumentationen på GitHub.

Två saker är värda att veta först:

REST-API

API:et ligger under /api/v1 på samma server som sidorna. Det är öppet för anrop från andra webbplatser (CORS, endast GET). Interaktiv dokumentation finns på /docs och ett maskinläsbart schema på /openapi.json.

Dokumentadresser skickas alltid som frågeparametern uri, aldrig som del av sökvägen – lagen.nu-adresser innehåller både : och /.

Jag vill...Anrop
söka i fulltextGET /api/v1/search?q=…
slå upp en hänvisningGET /api/v1/search?q=avtalslagen+36+§
lista källor och storlekarGET /api/v1/sources
räkna upp dokumentGET /api/v1/documents?source=sfs
bläddra efter facettGET /api/v1/facets, GET /api/v1/browse
hämta ett dokumentGET /api/v1/document?uri=…
se vilka som hänvisar hitGET /api/v1/document/inbound?uri=…
se vad ett dokument hänvisar tillGET /api/v1/document/outbound?uri=…
lista tidigare lydelserGET /api/v1/document/versions?uri=…
jämföra två lydelserGET /api/v1/document/diff?uri=…&from=…
hämta en faksimilsida (PNG)GET /api/v1/facsimile?uri=…&sid=N

Två av anropen gör sådant som är svårt att få tag på någon annanstans:

Sökningen förstår hänvisningar. Ser frågan ut som en hänvisning – avtalslagen 36 §, BrB 12:1, GDPR art 32 – löses den upp och det exakta lagrummet fästs som första träff. Det är samma uppslagning som sökrutan på sajten använder, och den hittar rätt även när namnet inte står någonstans i texten.

Citeringsgrafen är åtkomlig som data. inbound svarar på vilka andra dokument som hänvisar till exakt den här adressen. Skickar du med ett fragment (…#P6) får du hänvisningarna till just den paragrafen, inte till lagen som helhet.

Bulkfiler

För att bearbeta hela korpusen är det bättre att hämta bulkfilerna än att bläddra igenom API:et. De ligger under /dumps/, en fil per källa, och GET /api/v1/dumps listar dem med filnamn och storlek.

Filerna är stora – hela uppsättningen är ca 4,5 GB, varav förarbetena ensamma är ca 3,5 GB. De serveras med stöd för delhämtning, så ett avbrutet nedladdande går att återuppta.

Varje fil är gzippad NDJSON: en artefakt per rad, oförändrad – samma objekt som GET /api/v1/document returnerar under artifact. Eftersom varje artefakt bär sina egna hänvisningar är en rad självständig; ingen katalog behövs för att bearbeta materialet.

zcat sfs.ndjson.gz | head -1

Filerna byggs om tillsammans med resten av materialet, så de följer med när korpusen uppdateras.

Villkor

Statlig lagtext och myndighetsbeslut omfattas inte av upphovsrätt; rättsfallsreferat får återges fritt med angivande av källan (Domstolsverket). Återanvändning uppmuntras. Se vidare För utvecklare.

Vill du istället koppla materialet till ett AI-verktyg finns ett MCP-gränssnitt – se lagen.nu i AI-verktyg.