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 speeches3784100%
by electoral term
WP17160.4%
WP1820.1%
WP19491.3%
WP20106628.2%
WP21265170.1%
by parliamentary group
AfD76320.2%
CDU/CSU88723.4%
Grüne76820.3%
Linke64317.0%
SPD72319.1%
by topic multiple per speech
Innere Sicherheit72819.2%
Migration64016.9%
Umwelt41811.0%
by reading level labelled only
B2246565.1%
C1131934.9%

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

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

Rhetorical pattern AfD
168 speeches in topic
CDU/CSU
133 speeches in topic
Linke
82 speeches in topic
Grüne
139 speeches in topic
SPD
118 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
84 speeches in topic
CDU/CSU
92 speeches in topic
Linke
79 speeches in topic
Grüne
80 speeches in topic
SPD
83 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
176 speeches in topic
CDU/CSU
183 speeches in topic
Linke
97 speeches in topic
Grüne
129 speeches in topic
SPD
143 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
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
Simone Borchardt CDU/CSU 4 205,970 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