Methodology & caveats

Everything on this site is computed from official European Parliament data, with the exact rules below. If anything looks wrong, report an error — the full pipeline is open source.

The disclosure obligation

Under Article 7 of the Code of Conduct for Members of the European Parliament, MEPs must publish online all scheduled meetings with interest representatives falling under the Transparency Register’s scope, and with representatives of public authorities of non-EU countries. This obligation applied to rapporteurs, shadow rapporteurs and committee chairs from July 2019, and was extended to all MEPs in November 2023. Today every MEP is covered; we highlight shadow rapporteurs because they directly shape legislation and each declared meeting is tagged with the capacity it was held in. There is no oversight body actively policing these declarations.

Scope of this site: the 10th parliamentary term (2024–2029), i.e. meetings dated 16 Jul 2024 onwards. Earlier terms are out of scope.

Data sources

View A — disclosure volume

meetings_total
All meetings the MEP has published for the current term, any capacity.
by capacity
Split across shadow rapporteur / rapporteur / committee chair / member / other, exactly as tagged in the official record. Meetings held by the MEP’s staff fall under “other”.
distinct organisations
Unique organisation strings met (case- and accent-insensitive).
% registered
Share of meetings whose counterpart links to an EU Transparency Register entry. Not all legitimate counterparts must register (e.g. representatives of non-EU public authorities).

More published meetings means more disclosure — it can also reflect more lobbying access. Read it as a transparency signal, not a virtue score.

View B — shadow-rapporteur compliance lower confidence

files_shadowed
Procedures where the MEP holds a term-10 shadow-rapporteur appointment (report or committee opinion).
files_with_related_meeting
How many of those files have at least one declared meeting by that MEP whose procedure reference matches — counting meetings of any capacity, to be fair to MEPs who tag meetings differently.
coverage
files_with_related_meeting ÷ files_shadowed, shown as “has a related meeting on record for X of Y files shadowed (Z%)”.

Ranking ties break by matched files, then shadow-capacity meetings, then name — fully deterministic.

Why this view is lower confidence:
  • Matching uses the structured procedure code only. A meeting declared as free text (“CSRD implementation chat”) without a code will not match, undercounting the MEP.
  • A low or 0% figure can simply mean no lobby meetings happened on those files — absence of declared meetings is not evidence of wrongdoing.
  • Assignment data follows the Parliament’s open-data records, which can lag committee decisions.

“MEP of the Week” & Watchlist

General caveats

Update cadence & corrections

Data refreshes automatically every Monday morning (UTC) and the site is rebuilt from scratch; “data updated” timestamps appear in the footer of every page. Generated 4 Jun 2026. Corrections: email us or open an issue on GitHub — we aim to fix verified errors in the next weekly build.

Attribution & licence

Source data © European Union / European Parliament, reused under Creative Commons Attribution 4.0. This site’s own datasets and code are open source. See also Transparency International EU’s Integrity Watch EU, which tracks the same declarations and is useful for cross-checking.