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>
70 lines
6.8 KiB
Markdown
70 lines
6.8 KiB
Markdown
# More data points for investigative work
|
||
|
||
A shortlist of additional **legally accessible** sources and the correlations they enable, ranked by
|
||
value per effort. "Status" refers to this project: ✅ done · 🟡 next · ⛔ not accessible · 🔍 manual research only
|
||
(no bulk access).
|
||
|
||
## 1. Money that follows power
|
||
|
||
| Data | Source & access | Why it matters | Status |
|
||
|---|---|---|---|
|
||
| **Public contracts** ≥ €50k (core data, *Kerndaten*) | Contracting authorities must publish award metadata as open data on data.gv.at within 30 days (§62 BVergG 2018; amended from 1 Oct 2026, check the new version) | Correlate **donors ↔ contract winners ↔ awarding ministry/party**. This is the classic pay-to-play pattern | ✅ `vergabe.awards` |
|
||
| Government **advertising** per ministry → outlet | RTR Medientransparenz open data | Which ministries fund which media, and does coverage change? Inserate affairs | ✅ `rtr.medientransparenz` (ads and media subsidies) |
|
||
| Party **annual reports** (*Rechenschaftsberichte*) and audit results | Rechnungshof (PDF) | Income, related organisations (*Vorfeldorganisationen*), sponsoring, loans; discrepancies the Rechnungshof finds | ✅ `rechnungshof.party_reports` (XLSX totals, loans, holdings, affiliated organisations; audit findings 🟡) |
|
||
| Public **party funding** (*Parteienförderung, Klubförderung, Akademieförderung*) | Federal/state budgets, Rechnungshof | Context for donations; how much taxpayers pay each party | ✅ from the annual reports (federal budgets 🟡) |
|
||
| **EU agricultural subsidies** per recipient | EU-mandated transparency database (AMA) | Farmer-politicians and their associations | 🟡 |
|
||
| COVID aid (COFAG) large recipients | Published lists | Companies close to parties that received aid | 🟡 |
|
||
| Political **ad spending** online | Meta Ad Library API (verified developer account), Google Political Ads Transparency (public BigQuery dataset) | Spend per party/politician, targeting, timing before elections | ✅ `ads.google` (public bundle), `ads.meta` (token) |
|
||
| Company roles (management, supervisory boards, shareholdings) | Firmenbuch (fee per query; the status of free EU "high-value dataset" access in Austria is unclear) | Revolving door, conflicts of interest, donor networks | 🔍 (until free bulk access is confirmed) |
|
||
| Land register (*Grundbuch*) | Fee per query | Property deals involving politicians | 🔍 |
|
||
|
||
## 2. Influence & access
|
||
|
||
| Data | Source | Why | Status |
|
||
|---|---|---|---|
|
||
| Lobbying register | BMJ (public part) | Who lobbies, for which clients | ⛔ Lotus Notes application without stable URLs – not reliably accessible |
|
||
| **EU Transparency Register** and Commission meetings | Open data (also via LobbyFacts.eu) | Meetings of the Austrian commissioner/cabinet and of MEPs (MEPs must publish meetings when they are rapporteurs) | ✅ Commission meetings `eu.commission_meetings`; MEP meetings 🟡 |
|
||
| MEP declarations of financial interests | European Parliament website | Side income of Austrian MEPs (an EU-level counterpart to the Unv-Transparenz lists) | ✅ `europarl.meps` |
|
||
| Cabinet staff (*Kabinettsmitarbeiter*), appointments to state-owned companies (ÖBAG holdings, ORF bodies, Nationalbank) | Answers to parliamentary questions (already ingested as claims), annual reports, Wikidata | Patronage (*Postenschacher*) | 🟡 (extract from answers) |
|
||
| Council of Ministers minutes (*Ministerratsprotokolle*) | Bundeskanzleramt | What the government decided, and when | ✅ `bundesregierung.ministerrat` |
|
||
| EU Council participant lists | Council website (PDF) | Ministers' travel and attendance | 🟡 |
|
||
|
||
## 3. Legal & accountability
|
||
|
||
| Data | Source | Why | Status |
|
||
|---|---|---|---|
|
||
| Immunity waiver requests | Parliament | Investigations against MPs: authority, alleged offence, outcome | ✅ |
|
||
| Prosecutor and court **press releases** (WKStA, Landesgerichte' media offices), media dates of prominent trials | justiz.gv.at | Official statements on stages of high-profile cases. Feed them into `legal_proceeding` with *official* evidence (no headline guessing) | ✅ WKStA `justiz.wksta` (documents; claims after review), courts 🟡 |
|
||
| Court decisions | RIS (anonymised) | Link only when a case number is cited in an official source | 🟡 |
|
||
| **Investigative committees** (*Untersuchungsausschüsse*): witness lists, protocols, final reports | Parliament open data | Who testified, what they said, contradictions with later statements | ✅ hearings (who, when); protocols 🟡 |
|
||
| Audit reports on ministries and agencies | Rechnungshof | Mismanagement in departments led by a given minister | 🟡 |
|
||
| Insolvency notices (Ediktsdatei) | Justiz | Companies tied to politicians. Check the terms before automating | 🔍 |
|
||
|
||
## 4. Words vs. deeds
|
||
|
||
| Idea | Data | Status |
|
||
|---|---|---|
|
||
| **Say vs. vote**: compare statements (speeches, posts, interviews) with roll-call and faction votes on the same topic | statements + votes + embeddings | ✅ basic: votes show whether the person spoke on the item; topic-level comparison 🟡 |
|
||
| Election programmes and the government programme vs. what was passed | Party programmes (Manifesto Project: check its licence), government programme PDF, parliament items | 🟡 |
|
||
| Dissent tracker | Roll-call votes (✅): who breaks with their faction, and on which topics | ✅ basic |
|
||
| Wikipedia edits from parliament/government IP ranges | Wikipedia API (open) + public IP allocations | ✅ `wikipedia.institution_edits` |
|
||
|
||
## 5. Coverage & reach
|
||
|
||
| Data | Source | Status |
|
||
|---|---|---|
|
||
| Candidate lists of all elections (federal, state, municipal) | BMI / state election authorities, official gazettes | 🟡. This is the most reliable way to find *local* politicians and party affiliations |
|
||
| Election results per municipality | BMI open data | 🟡 |
|
||
| TV appearances (Pressestunde, ZIB 2, Im Zentrum guest lists) | ORF programme metadata / headlines | ✅ headline detection, 🟡 programme metadata |
|
||
| Bluesky, Mastodon, public Telegram channels, YouTube; X via the official API | open APIs / public web preview / paid API | ✅ (Threads 🟡) |
|
||
|
||
## Correlations the data model already supports
|
||
|
||
* **Person timeline** (all claims over time, filter by period): ✅
|
||
* **Calendar**: sessions, committees, trips, meetings, per-day activity: ✅
|
||
* **Former politicians**: latest coverage plus career entries (revolving door): ✅
|
||
* **Corroboration**: the same fact from independent sources is merged and shown as confirmed: ✅
|
||
* **Follow the money**: per person, the organisations they are connected to (side jobs, careers, party, meetings) and those organisations' donations, contracts, ads and funding: ✅ (`/personen/<slug>?tab=money`, `/api/v1/persons/<slug>/network`)
|
||
* **Organisation pages**: money paid/received by kind, top counterparties, connected people: ✅
|
||
* Next: a visual **network graph** and company roles (Firmenbuch – no free bulk access yet).
|