Files
politics-tracking/backend/tests/fixtures/europarl.meps/meps.expected.json
T
simonandClaude Opus 5.5 583ccba31c Politrack: track Austrian politicians from public sources
Initial import of Politrack, a self-hosted service that tracks Austrian
politicians from federal to municipal level - roles, votes, money flows,
statements, meetings, social media and legal proceedings - with every claim
linked to its sources.

- backend: FastAPI + Postgres/pgvector; adapter framework (fetch -> parse ->
  load -> enrich) with robots.txt/TDM-aware fetching, a raw-response archive
  for reparsing, and a claim/evidence model with corroboration
- sources: Parliament, Wikidata, EU Parliament/Commission, Council of
  Ministers, Rechnungshof party reports and donations, procurement, RTR media
  transparency, political ad libraries, WKStA, news feeds, Wikipedia edits,
  Bluesky, Mastodon, public Telegram channels, YouTube and X (official API)
- web: Next.js frontend in German and English with typed API client
- mcp: MCP server for AI agents and RAG
- docs: architecture, data model, sources, legal notes, Unraid deployment and
  contributor guides; Docker Compose setup for Unraid

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 20:02:01 +01:00

491 lines
9.4 KiB
JSON

[
{
"__type__": "PersonRecord",
"aliases": [
"Harald VILIMSKY"
],
"birth_date": null,
"death_date": null,
"family_name": "Vilimsky",
"full_name": "Harald Vilimsky",
"gender": null,
"given_name": "Harald",
"honorific_prefix": null,
"honorific_suffix": null,
"match_by_name": true,
"photo_url": null,
"ref": {
"__type__": "PersonRef",
"hints": {},
"ids": {
"ep": "125001"
},
"name": "Harald Vilimsky"
}
},
{
"__type__": "Request",
"conditional": true,
"headers": null,
"json": null,
"kind": "mep",
"meta": {
"group": "PfE",
"mep_id": "125001",
"name": "Harald Vilimsky"
},
"method": "GET",
"params": {
"format": "application/ld+json"
},
"skip_unchanged": true,
"url": "https://data.europarl.europa.eu/api/v2/meps/125001"
},
{
"__type__": "Request",
"conditional": true,
"headers": null,
"json": null,
"kind": "declarations",
"meta": {
"mep_id": "125001",
"name": "Harald Vilimsky"
},
"method": "GET",
"params": {
"format": "application/ld+json",
"limit": 100,
"person-id": "125001"
},
"skip_unchanged": true,
"url": "https://data.europarl.europa.eu/api/v2/meps-declarations"
},
{
"__type__": "PersonRecord",
"aliases": [
"Thomas WAITZ"
],
"birth_date": null,
"death_date": null,
"family_name": "Waitz",
"full_name": "Thomas Waitz",
"gender": null,
"given_name": "Thomas",
"honorific_prefix": null,
"honorific_suffix": null,
"match_by_name": true,
"photo_url": null,
"ref": {
"__type__": "PersonRef",
"hints": {},
"ids": {
"ep": "190464"
},
"name": "Thomas Waitz"
}
},
{
"__type__": "Request",
"conditional": true,
"headers": null,
"json": null,
"kind": "mep",
"meta": {
"group": "Verts/ALE",
"mep_id": "190464",
"name": "Thomas Waitz"
},
"method": "GET",
"params": {
"format": "application/ld+json"
},
"skip_unchanged": true,
"url": "https://data.europarl.europa.eu/api/v2/meps/190464"
},
{
"__type__": "Request",
"conditional": true,
"headers": null,
"json": null,
"kind": "declarations",
"meta": {
"mep_id": "190464",
"name": "Thomas Waitz"
},
"method": "GET",
"params": {
"format": "application/ld+json",
"limit": 100,
"person-id": "190464"
},
"skip_unchanged": true,
"url": "https://data.europarl.europa.eu/api/v2/meps-declarations"
},
{
"__type__": "PersonRecord",
"aliases": [
"Lukas MANDL"
],
"birth_date": null,
"death_date": null,
"family_name": "Mandl",
"full_name": "Lukas Mandl",
"gender": null,
"given_name": "Lukas",
"honorific_prefix": null,
"honorific_suffix": null,
"match_by_name": true,
"photo_url": null,
"ref": {
"__type__": "PersonRef",
"hints": {},
"ids": {
"ep": "190713"
},
"name": "Lukas Mandl"
}
},
{
"__type__": "Request",
"conditional": true,
"headers": null,
"json": null,
"kind": "mep",
"meta": {
"group": "PPE",
"mep_id": "190713",
"name": "Lukas Mandl"
},
"method": "GET",
"params": {
"format": "application/ld+json"
},
"skip_unchanged": true,
"url": "https://data.europarl.europa.eu/api/v2/meps/190713"
},
{
"__type__": "Request",
"conditional": true,
"headers": null,
"json": null,
"kind": "declarations",
"meta": {
"mep_id": "190713",
"name": "Lukas Mandl"
},
"method": "GET",
"params": {
"format": "application/ld+json",
"limit": 100,
"person-id": "190713"
},
"skip_unchanged": true,
"url": "https://data.europarl.europa.eu/api/v2/meps-declarations"
},
{
"__type__": "PersonRecord",
"aliases": [
"Alexander BERNHUBER"
],
"birth_date": null,
"death_date": null,
"family_name": "Bernhuber",
"full_name": "Alexander Bernhuber",
"gender": null,
"given_name": "Alexander",
"honorific_prefix": null,
"honorific_suffix": null,
"match_by_name": true,
"photo_url": null,
"ref": {
"__type__": "PersonRef",
"hints": {},
"ids": {
"ep": "197648"
},
"name": "Alexander Bernhuber"
}
},
{
"__type__": "Request",
"conditional": true,
"headers": null,
"json": null,
"kind": "mep",
"meta": {
"group": "PPE",
"mep_id": "197648",
"name": "Alexander Bernhuber"
},
"method": "GET",
"params": {
"format": "application/ld+json"
},
"skip_unchanged": true,
"url": "https://data.europarl.europa.eu/api/v2/meps/197648"
},
{
"__type__": "Request",
"conditional": true,
"headers": null,
"json": null,
"kind": "declarations",
"meta": {
"mep_id": "197648",
"name": "Alexander Bernhuber"
},
"method": "GET",
"params": {
"format": "application/ld+json",
"limit": 100,
"person-id": "197648"
},
"skip_unchanged": true,
"url": "https://data.europarl.europa.eu/api/v2/meps-declarations"
},
{
"__type__": "PersonRecord",
"aliases": [
"Angelika WINZIG"
],
"birth_date": null,
"death_date": null,
"family_name": "Winzig",
"full_name": "Angelika Winzig",
"gender": null,
"given_name": "Angelika",
"honorific_prefix": null,
"honorific_suffix": null,
"match_by_name": true,
"photo_url": null,
"ref": {
"__type__": "PersonRef",
"hints": {},
"ids": {
"ep": "197652"
},
"name": "Angelika Winzig"
}
},
{
"__type__": "Request",
"conditional": true,
"headers": null,
"json": null,
"kind": "mep",
"meta": {
"group": "PPE",
"mep_id": "197652",
"name": "Angelika Winzig"
},
"method": "GET",
"params": {
"format": "application/ld+json"
},
"skip_unchanged": true,
"url": "https://data.europarl.europa.eu/api/v2/meps/197652"
},
{
"__type__": "Request",
"conditional": true,
"headers": null,
"json": null,
"kind": "declarations",
"meta": {
"mep_id": "197652",
"name": "Angelika Winzig"
},
"method": "GET",
"params": {
"format": "application/ld+json",
"limit": 100,
"person-id": "197652"
},
"skip_unchanged": true,
"url": "https://data.europarl.europa.eu/api/v2/meps-declarations"
},
{
"__type__": "PersonRecord",
"aliases": [
"Andreas SCHIEDER"
],
"birth_date": null,
"death_date": null,
"family_name": "Schieder",
"full_name": "Andreas Schieder",
"gender": null,
"given_name": "Andreas",
"honorific_prefix": null,
"honorific_suffix": null,
"match_by_name": true,
"photo_url": null,
"ref": {
"__type__": "PersonRef",
"hints": {},
"ids": {
"ep": "197670"
},
"name": "Andreas Schieder"
}
},
{
"__type__": "Request",
"conditional": true,
"headers": null,
"json": null,
"kind": "mep",
"meta": {
"group": "S&D",
"mep_id": "197670",
"name": "Andreas Schieder"
},
"method": "GET",
"params": {
"format": "application/ld+json"
},
"skip_unchanged": true,
"url": "https://data.europarl.europa.eu/api/v2/meps/197670"
},
{
"__type__": "Request",
"conditional": true,
"headers": null,
"json": null,
"kind": "declarations",
"meta": {
"mep_id": "197670",
"name": "Andreas Schieder"
},
"method": "GET",
"params": {
"format": "application/ld+json",
"limit": 100,
"person-id": "197670"
},
"skip_unchanged": true,
"url": "https://data.europarl.europa.eu/api/v2/meps-declarations"
},
{
"__type__": "PersonRecord",
"aliases": [
"Günther SIDL"
],
"birth_date": null,
"death_date": null,
"family_name": "Sidl",
"full_name": "Günther Sidl",
"gender": null,
"given_name": "Günther",
"honorific_prefix": null,
"honorific_suffix": null,
"match_by_name": true,
"photo_url": null,
"ref": {
"__type__": "PersonRef",
"hints": {},
"ids": {
"ep": "197677"
},
"name": "Günther Sidl"
}
},
{
"__type__": "Request",
"conditional": true,
"headers": null,
"json": null,
"kind": "mep",
"meta": {
"group": "S&D",
"mep_id": "197677",
"name": "Günther Sidl"
},
"method": "GET",
"params": {
"format": "application/ld+json"
},
"skip_unchanged": true,
"url": "https://data.europarl.europa.eu/api/v2/meps/197677"
},
{
"__type__": "Request",
"conditional": true,
"headers": null,
"json": null,
"kind": "declarations",
"meta": {
"mep_id": "197677",
"name": "Günther Sidl"
},
"method": "GET",
"params": {
"format": "application/ld+json",
"limit": 100,
"person-id": "197677"
},
"skip_unchanged": true,
"url": "https://data.europarl.europa.eu/api/v2/meps-declarations"
},
{
"__type__": "PersonRecord",
"aliases": [
"Hannes HEIDE"
],
"birth_date": null,
"death_date": null,
"family_name": "Heide",
"full_name": "Hannes Heide",
"gender": null,
"given_name": "Hannes",
"honorific_prefix": null,
"honorific_suffix": null,
"match_by_name": true,
"photo_url": null,
"ref": {
"__type__": "PersonRef",
"hints": {},
"ids": {
"ep": "197682"
},
"name": "Hannes Heide"
}
},
{
"__type__": "Request",
"conditional": true,
"headers": null,
"json": null,
"kind": "mep",
"meta": {
"group": "S&D",
"mep_id": "197682",
"name": "Hannes Heide"
},
"method": "GET",
"params": {
"format": "application/ld+json"
},
"skip_unchanged": true,
"url": "https://data.europarl.europa.eu/api/v2/meps/197682"
},
{
"__type__": "Request",
"conditional": true,
"headers": null,
"json": null,
"kind": "declarations",
"meta": {
"mep_id": "197682",
"name": "Hannes Heide"
},
"method": "GET",
"params": {
"format": "application/ld+json",
"limit": 100,
"person-id": "197682"
},
"skip_unchanged": true,
"url": "https://data.europarl.europa.eu/api/v2/meps-declarations"
}
]