European Parliament Scraper avatar

European Parliament Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
European Parliament Scraper

European Parliament Scraper

Scrape European Parliament open data - list current MEPs by country and political group, fetch detailed MEP profiles, and browse plenary sitting days. Powered by the official data.europarl.europa.eu API. No login or API key.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Scrape the European Parliament open data service at data.europarl.europa.eu. List every current Member of the European Parliament (MEP) filtered by country and political group, pull detailed MEP profiles (email, birth date, photo, social accounts, committee memberships), and browse plenary sitting days by year. HTTP-only via the official open data API. No login, no API key, no proxy.

What this actor does

  • Three modes: meps (list & filter current MEPs), mepDetails (full profile by ID), meetings (plenary sitting days by year)
  • Filters: country of representation (27 EU member states) and political group (all 9 groups of the current 10th term)
  • Rich profiles: email, gender, citizenship, birth place & date, official portrait, homepage, social media accounts, and current committee / delegation / group memberships
  • Portrait images: official MEP photo URL on every MEP record
  • Empty fields are omitted — you never get nulls

Output: MEP (mode = meps)

  • mepId — European Parliament person ID (e.g. 197494)
  • name, familyName, givenName
  • country — ISO country of representation (e.g. FR)
  • politicalGroup — group code (e.g. Renew)
  • photoUrl — official portrait image (JPEG)
  • recordType: "mep", sourceUrl, scrapedAt

Output: MEP profile (mode = mepDetails)

  • mepId, name, familyName, givenName
  • email, gender, honorificPrefix
  • citizenship — ISO-3 code (e.g. LUX)
  • placeOfBirth, dateOfBirth
  • photoUrl — official portrait image (JPEG)
  • homepage — the MEP's personal website
  • socialAccounts[]{ platform, url } for Twitter, Facebook, Instagram, YouTube, LinkedIn, Telegram, …
  • currentMemberships[]{ classification, role, organizationId, startDate } for current committees, delegations and groups
  • recordType: "mep", sourceUrl, scrapedAt

Output: plenary meeting (mode = meetings)

  • meetingId — activity ID (e.g. MTG-PL-2024-01-15)
  • date — sitting day (calendar date)
  • startDateTime, endDate — start and end timestamps of the sitting
  • label — English label (e.g. Monday, 15 January 2024)
  • locationStrasbourg or Brussels
  • term — parliamentary term (e.g. ep-10)
  • attendeeCount — number of MEPs recorded as present
  • excusedCount — number of MEPs recorded as excused
  • agendaItemCount — number of agenda items / votes on the sitting day
  • activityType — activity classification
  • documents[] — official document URLs (agenda, minutes, verbatim report, roll-call votes)
  • recordType: "meeting", sourceUrl, scrapedAt

Input

FieldTypeDefaultDescription
modestringmepsmeps / mepDetails / meetings
countryselectEU member state (ISO code) to restrict the MEP list (mode=meps)
politicalGroupselectPolitical group of the current term (mode=meps)
mepIdsarrayMEP IDs or europarl.europa.eu profile URLs (mode=mepDetails)
yearint2024Calendar year of plenary sitting days (mode=meetings)
maxItemsint50Hard cap on records (1–1000)

Example: all French MEPs in Renew Europe

{ "mode": "meps", "country": "FR", "politicalGroup": "Renew", "maxItems": 50 }

Example: full profiles for two MEPs

{ "mode": "mepDetails", "mepIds": ["1294", "840"] }

Example: every current MEP (no filter)

{ "mode": "meps", "maxItems": 1000 }

Example: plenary sitting days in 2024

{ "mode": "meetings", "year": 2024, "maxItems": 100 }

Use cases

  • Civic-tech & transparency — mirror the full roster of sitting MEPs with contact details and portraits
  • Political research — analyse Parliament composition by country and group over the current term
  • Journalism — build MEP contact sheets with email, homepage and social accounts
  • Advocacy & public affairs — identify committee and delegation memberships for outreach
  • Attendance analysis — track plenary sitting days and recorded attendance by year

Political groups (10th term)

PPE (EPP), S&D, Renew, Verts/ALE (Greens/EFA), ECR, PfE (Patriots for Europe), ESN (Europe of Sovereign Nations), The Left (GUE/NGL), NI (Non-attached).

FAQ

Do I need an account or API key? No. All data comes from the free, public European Parliament open data API.

Where does the data come from? The official data.europarl.europa.eu open data service published by the European Parliament (JSON-LD).

How do I find an MEP's ID? Open the MEP on europarl.europa.eu/meps — the number in the URL is the ID — or run meps first and reuse the mepId. You can also paste the full profile URL into mepIds.

Which MEPs are covered? The meps mode lists all current, sitting MEPs. Use mepDetails to fetch any MEP (current or former) by ID.

Why is the political group filter applied on the results rather than the query? Group filtering is applied to the full current-MEP list to guarantee correct, complete results — the group codes match exactly what the Parliament publishes.

Are email and social accounts always present? No. They are included only when the MEP publishes them. Empty fields are omitted from the record.

How far back do meetings go? Plenary sitting days are available for recent parliamentary years; older years may return no results.

Data source

This actor uses the European Parliament's official open data API, which is free and publicly accessible without authentication.