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>
491 lines
9.4 KiB
JSON
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"
|
|
}
|
|
]
|