Teknisk översikt

Vad finns och vad är möjligt?

Den här sidan beskriver alla 41 källor som Panorama bevakar eller kan bevaka — och hur. Live-knapparna nedan kör riktiga anrop mot de externa systemen (HUDOC, curia.europa.eu, EU:s publikationsdatabas). De resultat du ser är just nu.

Språkpolicy

Panorama hämtar dokument och metadata på svenska där sådana finns, annars på engelska. Övriga språkversioner (franska, tyska osv.) används aldrig som primärkälla. För EU-domstolen finns svenska översättningar av de flesta domar och AG-förslag. För Europadomstolen finns dokument typiskt bara på engelska och franska — engelska väljs då.


Sammanfattning

41 källor · 5 insamlings­strategier

11RSS-poll
7API-poll
8HTML-scrape
15Browser / mejl / mix
2Språk (sv, en)

Källorna spänner från svenska myndigheter och domstolar via EU-institutioner och Europarådet till FN-organ och internationella NGO:er. Insamlings­strategin varierar — vissa har välkonstruerade RSS-feeds (JO, IMY, EELN), andra ett odokumenterat men stabilt JSON-API (HUDOC), och några kräver fullskalig headless browser för att kringgå bot-skydd (Amnesty, alla CoE-sajter, FRA).


Live-demos

Riktiga anrop · just nu

De fem rutorna nedan visar vad Panorama kan plocka ut i realtid. Tre kör live mot externa system. Två (judicial calendar, UHRI) är förvisade exempel — antingen för att backend kräver headless browser, eller för att data­dumpen är för stor för en webbrequest.

Europadomstolen — HUDOC backend

HUDOC backend-API är inte officiellt dokumenterat men har varit stabilt i tio år. Querystring-filter på svarandestat, artikelnummer, måltyp, viktighetsgrad och datum.

Live · HUDOC
Nya domar mot Sverige
Alla mål där Sverige är svarandestat, sorterat på datum.
AnropGET hudoc.echr.coe.int/app/query/results?query=contentsitename=ECHR AND respondent="SWE" AND languageisocode="ENG"
Live · HUDOC
Key cases om artikel 14 eller P1-1
Icke-diskriminering och egendomsskydd — där socialförsäkrings­förmåner ofta prövas. Bara mål med högsta viktighetsgrad.
AnropGET hudoc.echr.coe.int/app/query/results?query=(article="14" OR article="p1-1") AND importance IN ("1","2") AND doctype IN ("HEJUD","HEGRA")
Live · HUDOC
Communicated cases mot Sverige
Mål där regeringen ombetts svara — typiskt ett till tre år innan dom. Det här är förvarning.
AnropGET hudoc.echr.coe.int/app/query/results?query=doctype="HECOM" AND respondent="SWE"

EU-domstolen — Curia RSS

Den enklaste vägen till nya CJEU-avgöranden. RSS-feeden uppdateras inom minuter efter publicering och innehåller case-nummer, parter, ämnesområde och kort sammanfattning. Cache: tio minuter.

Live · Curia
Senaste avgörandena från EU-domstolen
De fem senaste judgments som publicerats på curia.europa.eu, oavsett ämne. Engelsk huvudversion med fransk parallellrubrik.
AnropGET curia.europa.eu/site/rss.jsp?lang=en&secondLang=fr

EU-domstolen — CELLAR SPARQL

För strukturerade frågor (citationsgraf, ECLI, EuroVoc-koncept, procedure-type) är SPARQL det enda riktiga verktyget. EU:s publikations­databas exponerar en Virtuoso-endpoint utan autentisering.

Live · CELLAR SPARQL
CJEU-judgments 2026 — strukturerad metadata
Hämtar CELEX-ID, ECLI, datum och procedure-language för senaste domarna. Detta är den path som används när vi vill korskoppla mot direktiv, dossier eller EuroVoc-koncept.
SPARQLSELECT ?celex ?ecli ?date ?proclang WHERE { ?work cdm:resource_legal_id_celex ?celex . FILTER(STRSTARTS(?celex, "6") && CONTAINS(?celex, "CJ")) ?work cdm:work_date_document ?date . FILTER(?date > "2026-01-01"^^xsd:date) OPTIONAL { ?work cdm:case-law_ecli ?ecli } OPTIONAL { ?work cdm:case-law_uses_procedure_language ?proclang } } ORDER BY DESC(?date) LIMIT 8

EU-domstolen — judicial calendar

Calendar-sidan visar inplanerade domar och AG-förslag fyra veckor framåt. Sidan är en React-SPA — backend exponerar ingen JSON-endpoint, så datan måste hämtas med headless browser. Nedan ett förvisat exempel på vad bevakningen skulle producera.

Exempel · ej live
Förvarning fyra veckor framåt
Live-implementation kräver Playwright. När pipeline är på plats körs den veckovis och länkas in i bevakningens framtidsvy.
Källahttps://curia.europa.eu/site/jcms/d2_5117/en/judicial-calendar (Jalios-SPA — kräver headless rendering)
  • Judgment · C-444/24 (Tredje kammaren)
    Planerat: 2026-06-05Social trygghet · förordning 883/2004
    HänskjutandeTysk Landessozialgericht — exporterbarhet av familjeförmåner.
  • AG opinion · C-301/25 (Femte kammaren)
    Planerat: 2026-06-12Direktiv 2000/78 · funktionsnedsättning
    HänskjutandeSpansk Tribunal Superior — rimliga anpassningar i uppsägningsärende.
  • Judgment · C-78/25 (Stora avdelningen)
    Planerat: 2026-06-18EU-stadgan art. 21 · indirekt diskriminering
    HänskjutandeBelgisk arbetsdomstol — prövning av pensionsregels könseffekt.

FN-organ — UHRI dump

OHCHR Universal Human Rights Index publicerar en daglig komplett JSON-dump (cirka 55 MB) med alla rekommendationer från traktatorgan, UPR och Special Rapporteurs. Den täcker fem av Panoramas FN-källor med ett enda anrop. För live i webbgränssnitt skulle dumpen behöva pipelinas till lokal databas — för stor för en synkron HTTP-request.

Exempel · ej live
Sveriges senaste rekommendationer från traktatorgan
Visar tre faktiska CRPD- och CESCR-rekommendationer mot Sverige. Live-vy bygger på nattlig synk av UHRI-dumpen.
KällaGET dataex.ohchr.org/uhri/export-results/export-full-en.json (55 MB · daglig dump · no auth) Filter: Countries=Sweden AND Symbol LIKE "CRPD/%" OR "E/C.12/%"

Kända begränsningar

Det här fungerar inte fullt ut · och varför

Filter saknas

Referring national court i CJEU. EU:s CDM-ontologi har ingen strukturerad metadata-flagga för "vilken nationell domstol som hänskjutit". Procedure-language är inte en tillförlitlig proxi — en svensk domstol kan referera på engelska. Filtret "förhandsavgöranden från svenska domstolar" kräver antingen textanalys av notisens header eller komplettering mot InfoCuria.

Volymtak

EUR-Lex 10 000-träffars-tak från 2026-01-01. Alla sökningar mot EUR-Lex (UI, SOAP, indirekt även SPARQL via paginerad fråga) trunkeras vid 10 000 träffar. Stora historiska arkiveringar måste partitioneras per år eller per ämne.

Anti-bot blockerar

Sju källor kräver headless browser. Amnesty Sverige (Cloudflare), alla Europarådets undersajter (ecri, ecsr, grevio, cpt — Cloudflare), FRA (Anubis bot-skydd), Norden.org (aggressivt Cloudflare). Curl och vanlig Requests-biblioteket får 403. Playwright krävs, vilket ökar drift­komplexitet och latens.

Templating-trasig

CELLAR Atom-notification. EU:s officiella push-feed (publications.europa.eu/webapi/notification/ingestion) returnerar oöppnade templating-platshållare — titlar och summaries kommer ut som bokstavlig text ($item.title). Endpointen kan bara användas som "något hände"-trigger; varje träff kräver SPARQL-uppföljning för riktig metadata. Curia-RSS är därför primär push-kanal för CJEU.

På horisonten

InfoCuria omdesign våren 2026. Curia lanserar multi-criteria advanced search-form under våren — låter filtrera på citerad lagstiftning utan CELEX, domare, formation, ECLI, ECR-status. Om publik API exponeras kan det ersätta delar av nuvarande SPARQL-konstruktion.


Arkitektur

Hur det är tänkt att hänga ihop

┌──────────────────────────────────────────────────────────────┐
│  Källor (41)                                                 │
│                                                              │
│  RSS (13)    API (6)    HTML (12)   Browser (7)   Mejl (3)   │
│     │           │           │            │            │      │
│     ▼           ▼           ▼            ▼            ▼      │
│  feedparser   urllib    BeautifulSoup  Playwright   IMAP     │
│     │           │           │            │            │      │
│     └───────────┴───────────┴────────────┴────────────┘      │
│                            │                                 │
│                            ▼                                 │
│                  Normalizer (Event-modell)                   │
│                  ─ event_id (canonical hash)                 │
│                  ─ sender_id, publication_id                 │
│                  ─ title, url, published_at                  │
│                  ─ language (sv|en)                          │
│                  ─ topics (från taxonomi)                    │
│                            │                                 │
│                            ▼                                 │
│                       SQLite (panorama.db)                   │
│                            │                                 │
│              ┌─────────────┼─────────────┐                   │
│              ▼             ▼             ▼                   │
│         Flask /            Sök       JSON API                │
│         (denna sida)                 (live-demos ovan)       │
└──────────────────────────────────────────────────────────────┘

Frekvenser per källtyp: RSS varje timme (jo, imy, ad), fyra gånger per dag (övriga RSS), API dagligen (HUDOC, UHRI, SPARQL), HTML dagligen, Playwright veckovis, mejl event-driven via IMAP IDLE.


Källöversikt

Alla 41 källor · sortera och filtrera

ID Namn Nivå Strategi Språk Primär källa & anteckning
dg-empl DG EMPL EU en
https://ec.europa.eu/newsroom/empl/user-subscriptions/2767/create
EC Newsroom är underliggande content-källa.
eeln EELN EU rss en
https://www.equalitylaw.eu/feed/grounds/all-grounds
Bäst RSS-täckning av alla källor — feeds per ground och field.
eu-domstolen EU-domstolen EU mixed sv→en
curia-RSS + CELLAR SPARQL + judicial calendar
Tre kanaler: RSS för push, SPARQL för metadata/citationer, calendar för 4-veckors förvarning.
fra FRA EU browser en
https://fra.europa.eu/en/rss
Anubis bot-skydd — Playwright krävs trots att det är en RSS-URL.
cpt CPT Europarådet browser en
https://hudoc.cpt.coe.int/eng
HUDOC CPT backend ej exponerat.
ecri ECRI Europarådet browser en
https://www.coe.int/en/web/european-commission-against-racism-and-intolerance
CoE Liferay + Cloudflare 403.
ecsr-kommitten ECSR Europarådet browser en
https://hudoc.esc.coe.int/eng
HUDOC ESC backend ej exponerat — frontend-rendering krävs.
europadomstolen Europadomstolen Europarådet api en
https://hudoc.echr.coe.int/app/query/results
Odokumenterat men 10+ år stabilt JSON-API — guldnyckeln.
grevio GREVIO Europarådet browser en
https://www.coe.int/en/web/istanbul-convention/sweden
Cloudflare-skydd.
cedaw-kommitten CEDAW-kommittén FN api en
UHRI-dump (samma)
Filter Symbol LIKE CEDAW/%.
cescr-kommitten CESCR-kommittén FN api en
UHRI-dump (samma)
Filter Symbol LIKE E/C.12/% (URL-encoda punkten).
crc-kommitten CRC-kommittén FN api en
UHRI-dump (samma)
Filter Symbol LIKE CRC/%.
crpd-kommitten CRPD-kommittén FN api en
https://dataex.ohchr.org/uhri/export-results/export-full-en.json
Daglig JSON-dump (55 MB), filter Symbol LIKE CRPD/% + Countries=Sweden.
ohchr OHCHR FN api en
UHRI-dump
Paraply — täcker treaty bodies + SR. Drupal 11 huvudsajt blockerar bot-UA.
sr-disability SR Disability FN mixed en
UHRI + srdisability.org nyhetsbrev
Hagrass mandat löper t.o.m. 2026.
hrw HRW Global rss en
https://www.hrw.org/rss/news?topic=9685
Disability-topic 9685. Sverige-filter post-fetch.
ilo ILO Global mixed en
https://www.ilo.org/rss.xml + NORMLEX + ILOSTAT
Tre olika system. NORMLEX country-ID Sverige = 102854.
ad AD Nationell rss sv
https://www.arbetsdomstolen.se/rss
Full dombeskrivning i <description> — ingen extra scrape.
arbetsmiljoverket AV Nationell rss sv
https://www.av.se/om-oss/om-webbplatsen/rss-prenumerera/rss-nyheter/
Två RSS (nyheter + kalendarium).
amnesty-sverige Amnesty Sverige Nationell browser sv
https://www.amnesty.se/aktuellt/
Cloudflare/WAF 403 på enklare GET.
attention Attention Nationell rss sv
https://attention.se/feed/
WordPress.
autism-sverige Autism Sverige Nationell html sv
https://www.autism.se/om-oss/vad-vi-gor/rapporter/
YouTube-RSS som proxysignal också möjlig.
bo BO Nationell browser sv
https://www.barnombudsmannen.se/aktuellt/
JS-tung React-sajt; headless browser behövs.
civil-rights-defenders CRD Nationell rss sv
https://crd.org/feed/
WordPress, full content.
dhr DHR Nationell rss sv
https://dhr.se/feed/
WordPress.
do DO Nationell html sv
https://www.do.se/om-do/pressrum/aktuellt
Sitevision utan RSS. TLS-cert-problem kräver -k eller alt klient.
funktionsratt-sverige Funktionsrätt Sverige Nationell html sv
https://funktionsratt.se/material/rapporter/
Remissvarsarkivet på /vi-paverkar/skrivelser-och-remissvar/.
hd HD Nationell html sv
https://rattspraxis.etjanst.domstol.se/sok/sokning?domstolskod=HDO
Samma som HFD.
hfd HFD Nationell html sv
https://rattspraxis.etjanst.domstol.se/sok/sokning?domstolskod=HFD
domstol.se kräver Mozilla-UA (annars 404).
imy IMY Nationell rss sv
https://www.imy.se/tillsyner/rss
5 verifierade feeds (nyheter, tillsyner, publikationer, blogg, en/news).
ifs ISF Nationell sv
https://www.isf.se/om-isf/nyhetsbrev-och-sociala-medier
Nyhetsbrev primärt; /publikationer-scrape som backup.
jk JK Nationell html sv
https://www.jk.se/beslut-och-yttranden/
Querystring-filter ?Tillsynsärenden / ?Remissyttranden.
jo JO Nationell rss sv
https://www.jo.se/feed/jo-beslut-forsakringskassan
24 segmenterade RSS-feeds; FK-specifik feed finns.
lu-mr LU MR Nationell api sv
https://portal.research.lu.se/sv/organisations/human-rights-studies
Pure-portal är authoritativ; mrs.lu.se bara presentationslager.
mfd MFD Nationell sv
info@mfd.se (anmälan via mejl)
Flera separata nyhetsbrev inkl. Strateginyhetsbrev.
mr-institutet MR-institutet Nationell html sv
https://mrinstitutet.se/aktuellt
Dubbel bindestreck i URL: /vara--publikationer/rapporter/.
raoul-wallenberg-institutet RWI Nationell rss sv
https://rwi.lu.se/feed/
WordPress (Lunds universitet).
riksrevisionen Riksrevisionen Nationell sv
https://www.riksrevisionen.se/prenumerera.html
Email primärt; X-konto @Riksrevisionen som komplement.
srf SRF Nationell html sv
https://www.srf.nu/
Svagast utbyggd webbnärvaro i hela urvalet — överväg direktkontakt.
nvc NVC Nordisk rss sv
https://nordicwelfare.org/publikationer/feed/
Sex språk — deduplicera på slug.
nordiska-radet-valfardsutskott Nordiska rådet (välfärdsutskottet) Nordisk browser sv
https://www.norden.org/
Aggressivt Cloudflare-skydd. Mest svårnådda källan.