Morrowbird tracks every roll-call vote in the European Parliament and traces each figure back to its official source — so how Members vote, and where they break with their group, is findable, attributable, and hard to quietly forget.
Morrowbird is an independent project — not affiliated with the European Parliament or any political group. The core record is public and free to read. The point isn’t to spin an outcome; it’s to make the official record easy to search, attribute to specific Members, and hold onto over time.
Every figure is meant to be checkable: each fact carries a reference back to the official document it came from, so you never have to take our word for it.
Everything traces to official European sources — no third-party aggregator, no hand-keyed accountability data:
If it’s in the record, it traces to one of these.
The source data is © European Union. The European Parliament’s Open Data is reused under the Creative Commons Attribution 4.0 licence (CC BY 4.0); EUR-Lex and Publications Office material is reused under the EU’s reuse terms. Morrowbird is an independent reproduction, not an authentic source — for legal purposes, only the Official Journal of the European Union is definitive.
We separate recorded facts (how each Member voted, the official result and tallies) from derived figures (how often a Member sided with their group, where they broke from it). Derived figures follow one explicit, reproducible rule:
The same inputs always produce the same figures, and anything we infer is labelled as derived rather than presented as an official fact.
AI never touches the official record. How each Member voted, the results and tallies, and the group figures are all computed from the source data with no model involved. AI appears in exactly two places, both kept separate from the record:
The record is a growing slice, not the whole archive. Some things are absent by nature:
Wherever data is missing, we say so plainly instead of filling the space with an estimate.
Official records get corrected, and sources sometimes change after the fact. When that happens we add and supersede rather than silently overwrite — the data carries when it was retrieved and where it came from, so a quiet edit can’t pass unnoticed. “The data changed and we can’t see what it used to say” is exactly the failure this project is built to prevent.