Politics

Each speech below the KPIs is one full Bundestag plenary speech, parsed from the DIP API, with rhetorical-pattern markup. Click "Browse speeches" to read full texts.

MeasureCountShareDistribution (scaled per group)
All speeches7788100%
by electoral term
WP15160.2%
WP16340.4%
WP17350.4%
WP18630.8%
WP193734.8%
WP20272535.0%
WP21454258.3%
by parliamentary group
AfD134017.2%
CDU/CSU189224.3%
Grüne169221.7%
Linke114114.7%
SPD172322.1%
by topic multiple per speech
Innere Sicherheit130016.7%
Migration118515.2%
Umwelt84310.8%
by reading level labelled only
B2501664.4%
C1277235.6%

Bars scaled to the largest value in each group so small differences show; the Share column is the true percentage of all 7788 speeches.

Topos density per 10k tokens. Higher = topos more present in that fraction's speeches on this subject.

Rhetorical pattern AfD
247 speeches in topic
CDU/CSU
256 speeches in topic
Linke
147 speeches in topic
Grüne
294 speeches in topic
SPD
241 speeches in topic
Gefahrentopos
Migration framed as a security threat. Crime, terror, danger.
38.4 n=42 24.5 n=18 n=1 n=2 24.8 n=5
Belastungstopos
Migration as a burden on the welfare state, housing, schools.
34.0 n=24 29.2 n=13 - n=1 n=2
Nutzentopos
Migration as a benefit: skilled labour, growth, demographics.
- 31.5 n=7 n=1 32.5 n=4 38.8 n=5
Schadentopos
Damage and decline caused by bad migration policy.
32.8 n=12 25.9 n=3 n=2 26.9 n=5 n=1
Humanitätstopos
Humanitarian duty: asylum, refugees, human dignity.
26.4 n=8 44.2 n=14 48.9 n=11 38.0 n=12 83.4 n=8
Kulturtopos
Cultural identity, integration, national values, language.
23.9 n=13 15.5 n=3 - n=1 44.5 n=3
Rechtsstaatstopos
Rule of law: laws, courts, enforcement, due process.
59.7 n=52 50.3 n=29 83.7 n=3 48.4 n=6 39.8 n=18
Mißbrauchstopos
Abuse of the asylum system: bogus claims, fraud.
24.0 n=13 34.9 n=7 - - 37.3 n=5
FlutMetapher
Flood metaphors: wave, stream, mass. Dehumanising scale imagery.
17.9 n=8 16.1 n=5 - - n=1
EigenVsFremdgruppe
Us vs them: our people against outsiders or foreigners.
23.0 n=23 19.4 n=8 n=1 n=2 -

Cell value: average count of that rhetorical pattern per 10,000 words, computed only over the speeches where the stance pass labelled this pattern as deploy (speaker uses the frame as their own argument). The number under each value (n=X) is how many speeches contributed. Cells with n < 3 are shown as "n=X" without a density value because the average isn't trustworthy at that sample size. The thin bar under each cell shows the stance split across all speeches that triggered this pattern: orange = deploy, blue = critique, grey = unrelated. Click any cell to read the speeches behind it.

Topos density per 10k tokens. Higher = topos more present in that fraction's speeches on this subject.

Rhetorical pattern AfD
148 speeches in topic
CDU/CSU
208 speeches in topic
Linke
121 speeches in topic
Grüne
166 speeches in topic
SPD
200 speeches in topic
Apokalyptiktopos
Existential climate threat: catastrophe, tipping points, doom.
n=1 - 33.0 n=14 49.5 n=8 n=1
Generationengerechtigkeit
Duty to future generations, intergenerational fairness.
n=1 19.6 n=3 27.5 n=6 - -
Technikoptimismus
Faith in technology to solve the climate problem.
22.1 n=3 54.6 n=17 19.0 n=3 19.3 n=3 33.3 n=9
Kostentopos
Climate policy too expensive, burden on taxpayers and industry.
45.0 n=30 35.0 n=11 38.9 n=10 49.7 n=9 41.2 n=10
Verzichtstopos
Climate action requires sacrifice, giving up comforts.
32.3 n=5 - n=1 n=1 -
Wettbewerbstopos
Climate as economic race: green industries, competitiveness.
38.1 n=15 51.6 n=17 47.4 n=4 61.3 n=9 36.6 n=10
Wissenschaftstopos
Science, IPCC, evidence, expert consensus.
- 83.6 n=8 29.7 n=3 n=1 n=2
Klimaskepsistopos
Climate skepticism: denial, doubt, conspiracy claims.
26.6 n=5 n=2 n=1 - -

Cell value: average count of that rhetorical pattern per 10,000 words, computed only over the speeches where the stance pass labelled this pattern as deploy (speaker uses the frame as their own argument). The number under each value (n=X) is how many speeches contributed. Cells with n < 3 are shown as "n=X" without a density value because the average isn't trustworthy at that sample size. The thin bar under each cell shows the stance split across all speeches that triggered this pattern: orange = deploy, blue = critique, grey = unrelated. Click any cell to read the speeches behind it.

Innere Sicherheit

Topos density per 10k tokens. Higher = topos more present in that fraction's speeches on this subject.

Rhetorical pattern AfD
270 speeches in topic
CDU/CSU
326 speeches in topic
Linke
162 speeches in topic
Grüne
278 speeches in topic
SPD
264 speeches in topic
Härtetopos
Tougher penalties, harsher sentences, zero tolerance.
32.1 n=19 31.1 n=26 47.8 n=4 20.9 n=4 20.9 n=15
Rechtsdurchsetzungstopos
Enforce existing law: deport, prosecute, no leniency.
78.8 n=51 78.4 n=49 99.8 n=9 75.2 n=18 79.4 n=35
Polizeistärkungstopos
More police, better equipment, more powers.
102.3 n=40 96.9 n=30 69.6 n=5 75.9 n=23 133.5 n=26
Bürgerrechtstopos
Civil liberties, privacy, pushback on surveillance.
52.1 n=22 41.9 n=12 79.3 n=12 36.8 n=16 24.6 n=12
Extremismustopos
Extremism: right-wing, left-wing, Islamist threat framing.
61.7 n=51 68.2 n=36 80.8 n=27 101.3 n=37 46.5 n=27
Präventionstopos
Prevention: education, social work, deradicalisation.
32.6 n=7 26.9 n=10 40.3 n=14 32.2 n=20 25.6 n=11
Bedrohungslagetopos
Threat assessment: threat level, intelligence reporting.
29.7 n=19 20.8 n=16 n=1 23.4 n=12 25.8 n=10
Vertrauenstopos
Trust in institutions, police, judiciary.
31.9 n=16 26.4 n=15 23.3 n=4 23.6 n=13 39.5 n=19

Cell value: average count of that rhetorical pattern per 10,000 words, computed only over the speeches where the stance pass labelled this pattern as deploy (speaker uses the frame as their own argument). The number under each value (n=X) is how many speeches contributed. Cells with n < 3 are shown as "n=X" without a density value because the average isn't trustworthy at that sample size. The thin bar under each cell shows the stance split across all speeches that triggered this pattern: orange = deploy, blue = critique, grey = unrelated. Click any cell to read the speeches behind it.

Top earners - declared sidejob income

WP18-21

MdBs in this corpus ranked by reported Nebentätigkeiten income (abgeordnetenwatch aggregation of Bundestag disclosures). Click a name for the full profile.

MdBFraktionSidejobsDeclared total
Alexander Engelhard CDU/CSU 154 5,069,994 EUR
Thomas Heilmann CDU/CSU 16 3,511,649 EUR
Fritz Güntzler CDU/CSU 95 1,387,740 EUR
Enrico Komning AfD 558 1,280,279 EUR
Gregor Gysi Linke 494 744,703 EUR
Sebastian Maack AfD 73 438,617 EUR
Bernd Schattner AfD 16 416,046 EUR
Lars Klingbeil SPD 26 319,395 EUR
Saskia Esken SPD 11 315,000 EUR
Kevin Kühnert SPD 4 315,000 EUR

Recent immunity proceedings

Plenary decisions, all parties

Latest cases where parliament voted to lift an MdB's immunity. Source: DIP Vorgangstyp Immunitätsangelegenheit.

DateWPMdBPartyTypeOutcome
2026-04-23 WP21 Gökay Akbulut DIE LINKE. Strafverfahren aufgehoben
2026-04-23 WP21 Hannes Gnauck AfD Disziplinarverfahren aufgehoben
2026-02-26 WP21 Maximilian Krah AfD Durchsuchung/Beschlagnahme aufgehoben
2025-11-06 WP21 Arne Raue AfD Disziplinarverfahren aufgehoben
2025-11-06 WP21 Raimond Scheirich AfD Durchsuchung/Beschlagnahme aufgehoben
2025-11-06 WP21 Raimond Scheirich AfD Durchsuchung/Beschlagnahme aufgehoben
2025-10-09 WP21 Matthias Moosdorf AfD Strafverfahren aufgehoben
2025-10-09 WP21 Stephan Brandner AfD andere aufgehoben
2025-09-11 WP21 Stephan Brandner AfD Strafverfahren aufgehoben
2025-09-11 WP21 Maximilian Krah AfD Durchsuchung/Beschlagnahme aufgehoben

Recent jobs

IDJobStatusEnqueued
28classify_stance all gpt-4o-minidone2026-05-25 18:18:17
27analyze_topoi sicherheitdone2026-05-25 18:18:17
26analyze_topoi klimadone2026-05-25 18:18:17
25analyze_topoi migrationdone2026-05-25 18:18:17
24classify_stance all gpt-4o-minifailed2026-05-25 16:12:13
23analyze_topoi sicherheitdone2026-05-25 16:12:13
22analyze_topoi klimadone2026-05-25 16:12:13
21analyze_topoi migrationdone2026-05-25 16:12:13
20sync_fractionsrunning2026-05-25 16:12:13
19classify_stance all gpt-4o-minidone2026-05-25 16:02:13