{"openapi":"3.1.0","info":{"title":"European Parliament API","version":"1.0.0","description":"The European Parliament as an API, powered by the official European Parliament Open Data portal (data.europarl.europa.eu). Track the EU's directly-elected legislature: list the Members of the European Parliament (MEPs) for any parliamentary term — term 10 is the current 2024-2029 Parliament — with pagination; read an individual MEP's profile including their full name, country of representation, gender, contact email, official photo and place of birth, together with their committee, political-group and delegation memberships split into current and past, each with the role held (member, chair, vice-chair, …) and start/end dates; and browse the Parliament's corporate bodies — its standing and special committees (such as ECON, ENVI, LIBE), political groups and inter-parliamentary delegations — with their id, acronym, label and type. The organization id that appears in an MEP's memberships matches a corporate body, so you can resolve exactly which committee or group a member sits on. Ideal for civic-tech and transparency tools, political research and journalism, lobbying and public-affairs monitoring, and EU-policy analytics. MEP ids come from the MEPs endpoint. Data from the European Parliament (CC-BY 4.0).","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/europarl-api","description":"oanor gateway"}],"tags":[{"name":"Parliament"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/bodies":{"get":{"operationId":"get_v1_bodies","tags":["Parliament"],"summary":"Committees, groups & delegations","description":"","parameters":[{"name":"q","in":"query","required":false,"description":"Filter by acronym/label, e.g. econ","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":30,"bodies":[{"id":"1","code":"1","type":"COMMITTEE_PARLIAMENTARY_STANDING","label":"ECON"},{"id":"10","code":"10","type":"COMMITTEE_PARLIAMENTARY_STANDING","label":"REGI"},{"id":"100","code":"100","type":"COMMITTEE_PARLIAMENTARY_STANDING","label":"REGI"},{"id":"1000","code":"1000","type":"DELEGATION_PARLIAMENTARY","label":"D06"},{"id":"1001","code":"1001","type":"DELEGATION_PARLIAMENTARY","label":"D07"},{"id":"1002","code":"1002","type":"DELEGATION_PARLIAMENTARY","label":"D08"},{"id":"1003","code":"1003","type":"DELEGATION_PARLIAMENTARY","label":"D09"},{"id":"1004","code":"1004","type":"DELEGATION_PARLIAMENTARY","label":"D-US"},{"id":"1005","code":"1005","type":"DELEGATION_PARLIAMENTARY","label":"D-CA"},{"id":"1006","code":"1006","type":"DELEGATION_PARLIAMENTARY","label":"D12"},{"id":"1007","code":"1007","type":"DELEGATION_PARLIAMENTARY","label":"D13"},{"id":"1008","code":"1008","type":"DELEGATION_PARLIAMENTARY","label":"D14"},{"id":"1009","code":"1009","type":"DELEGATION_PARLIAMENTARY","label":"D15"},{"id":"101","code":"101","type":"COMMITTEE_PARLIAMENTARY_STANDING","label":"TRAN"},{"id":"1010","code":"1010","type":"DELEGATION_PARLIAMENTARY","label":"D16"},{"id":"1011","code":"1011","type":"DELEGATION_PARLIAMENTARY","label":"D17"},{"id":"1012","code":"1012","type":"DELEGATION_PARLIAMENTARY","label":"D18"},{"id":"1013","code":"1013","type":"DELEGATION_PARLIAMENTARY","label":"D19"},{"id":"1014","code":"1014","type":"DELEGATION_PARLIAMENTARY","label":"D-ZA"},{"id":"1015","code":"1015","type":"DELEGATION_JOINT_COMMITTEE","label":"D-TR"},{"id":"1016","code":"1016","type":"DELEGATION_JOINT_COMMITTEE","label":"DM02"},{"id":"1017","code":"1017","type":"DELEGATION_JOINT_COMMITTEE","label":"DM03"},{"id":"1018","code":"1018","type":"DELEGATION_JOINT_COMMITTEE","label":"DM04"},{"id":"1019","code":"1019","type":"DELEGATION_JOINT_COMMITTEE","label":"DM05"},{"id":"102","code":"102","type":"COMMITTEE_PARLIAMENTARY_STANDING","label":"ENVI"},{"id":"1020","code":"1020","type":"DELEGATION_JOINT_COMMITTEE","label":"DM06"},{"id":"1021","code":"1021","type":"DELEGATION_JOINT_COMMITTEE","label":"DM07"},{"id":"1022","code":"1022","type":"DELEGATION_JOINT_COMMITTEE","label":"DM08"},{"id":"1023","code":"1023","type":"DELEGATION_JOINT_COMMITTEE","label":"DM09"},{"id":"1024","code":"1024","type":"DELEGATION_JOINT_COMMITTEE","label":"DM10"}]},"meta":{"timestamp":"2026-06-01T16:24:10.490Z","request_id":"c8ff3932-83da-459f-aaf2-875da34882d9"},"status":"ok","message":"Corporate bodies retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/mep":{"get":{"operationId":"get_v1_mep","tags":["Parliament"],"summary":"An MEP profile & memberships","description":"","parameters":[{"name":"id","in":"query","required":true,"description":"MEP id, e.g. 1294","schema":{"type":"string"},"example":"1294"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"mep":{"id":"1294","name":"Elio DI RUPO","email":"mailto:elio.dirupo@europarl.europa.eu","image":"https://www.europarl.europa.eu/mepphoto/1294.jpg","gender":"MALE","country":"BEL","given_name":"Elio","family_name":"Di Rupo","place_of_birth":"Morlanwelz","membership_count":28,"past_memberships":[{"end":"1991-06-10","role":"MEMBER","start":"1989-07-26","current":false,"organization":"214","classification":"DELEGATION_PARLIAMENTARY"},{"end":"1991-12-16","role":"MEMBER","start":"1989-07-25","current":false,"organization":"485","classification":"EU_POLITICAL_GROUP"},{"end":"1991-12-16","role":"MEMBER","start":"1991-06-10","current":false,"organization":"213","classification":"DELEGATION_PARLIAMENTARY"},{"end":"1991-12-16","role":"MEMBER","start":"1989-07-26","current":false,"organization":"12","classification":"COMMITTEE_PARLIAMENTARY_STANDING"},{"end":"1991-12-16","role":"MEMBER_PARLIAMENT","start":"1989-07-25","current":false,"organization":"ep-3"},{"end":"1991-12-16","role":"MEMBER","start":"1989-07-25","current":false,"organization":"ep-3","classification":"EU_INSTITUTION"},{"end":"1991-12-16","role":"MEMBER_SUBSTITUTE","start":"1989-07-26","current":false,"organization":"1","classification":"COMMITTEE_PARLIAMENTARY_STANDING"},{"end":"2025-01-19","role":"MEMBER_SUBSTITUTE","start":"2024-07-19","current":false,"organization":"7006","classification":"COMMITTEE_PARLIAMENTARY_SUB"},{"end":"1991-12-16","role":"MEMBER","start":"1989-07-25","current":false,"organization":"883","classification":"NATIONAL_POLITICAL_GROUP"}],"current_memberships":[{"role":"MEMBER","start":"2024-07-16","current":true,"organization":"6758","classification":"NATIONAL_POLITICAL_GROUP"},{"role":"MEMBER","start":"2024-07-19","current":true,"organization":"6562","classification":"COMMITTEE_PARLIAMENTARY_STANDING"},{"role":"MEMBER","start":"2025-01-29","current":true,"organization":"7904","classification":"WORKING_GROUP"},{"role":"MEMBER","start":"2025-02-27","current":true,"organization":"7892","classification":"WORKING_GROUP"},{"role":"MEMBER","start":"2025-01-30","current":true,"organization":"7907","classification":"WORKING_GROUP"},{"role":"MEMBER_SUBSTITUTE","start":"2024-09-19","current":true,"organization":"6606","classification":"DELEGATION_PARLIAMENTARY"},{"role":"MEMBER","start":"2025-02-25","current":true,"organization":"7899","classification":"WORKING_GROUP"},{"role":"MEMBER","start":"2025-01-23","current":true,"organization":"7911","classification":"COMMITTEE_PARLIAMENTARY_STANDING"},{"role":"MEMBER_PARLIAMENT","start":"2024-07-16","current":true,"organization":"ep-10"},{"role":"MEMBER","start":"2025-02-04","current":true,"organization":"7891","classification":"WORKING_GROUP"},{"role":"MEMBER","start":"2025-01-31","current":true,"organization":"7906","classification":"WORKING_GROUP"},{"role":"MEMBER_SUBSTITUTE","start":"2024-09-19","current":true,"organization":"6565","classification":"DELEGATION_PARLIAMENTARY_ASSEMBLY"},{"role":"MEMBER","start":"2024-07-16","current":true,"organization":"ep-10","classification":"EU_INSTITUTION"},{"role":"MEMBER_SUBSTITUTE","start":"2024-07-19","current":true,"organization":"6586","classification":"COMMITTEE_PARLIAMENTARY_STANDING"},{"role":"MEMBER","start":"2024-09-19","current":true,"organization":"6599","classification":"DELEGATION_PARLIAMENTARY"},{"role":"MEMBER_SUBSTITUTE","start":"2024-09-19","current":true,"organization":"6604","classification":"DELEGATION_PARLIAMENTARY"},{"role":"MEMBER","start":"2025-01-16","current":true,"organization":"7882","classification":"WORKING_GROUP"},{"role":"MEMBER","start":"2025-01-31","current":true,"organization":"7894","classification":"WORKING_GROUP"},{"role":"MEMBER","start":"2024-07-16","current":true,"organization":"7038","classification":"EU_POLITICAL_GROUP"}]}},"meta":{"timestamp":"2026-06-01T16:24:10.752Z","request_id":"2f90a72a-67e9-4530-8dea-e2262f843f3b"},"status":"ok","message":"MEP retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meps":{"get":{"operationId":"get_v1_meps","tags":["Parliament"],"summary":"MEPs for a parliamentary term","description":"","parameters":[{"name":"term","in":"query","required":true,"description":"Parliamentary term 1-10 (10 = current)","schema":{"type":"string"},"example":"10"},{"name":"limit","in":"query","required":false,"description":"Max results (1-800)","schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"description":"Offset","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"meps":[{"id":"1294","name":"Elio DI RUPO","sort_name":"DIRUPO"},{"id":"1909","name":"Bernd LANGE","sort_name":"LANGE BERND"},{"id":"1917","name":"Markus FERBER","sort_name":"FERBER"},{"id":"1927","name":"Peter LIESE","sort_name":"LIESE"},{"id":"2152","name":"Leoluca ORLANDO","sort_name":"ORLANDO"},{"id":"22418","name":"Esther HERRANZ GARCÍA","sort_name":"HERRANZGARCIA"},{"id":"2268","name":"Jonas SJÖSTEDT","sort_name":"SJOESTEDT"},{"id":"22858","name":"Fabienne KELLER","sort_name":"KELLER"},{"id":"2341","name":"Michael GAHLER","sort_name":"GAHLER"},{"id":"23699","name":"Kateřina KONEČNÁ","sort_name":"KONECNA"},{"id":"23781","name":"Janusz LEWANDOWSKI","sort_name":"LEWANDOWSKI"},{"id":"23788","name":"Adam BIELAN","sort_name":"BIELAN"},{"id":"23816","name":"András GYÜRK","sort_name":"GYURK"},{"id":"23868","name":"Monika BEŇOVÁ","sort_name":"BENOVA"},{"id":"24922","name":"Pascal ARIMONT","sort_name":"ARIMONT"},{"id":"24942","name":"Ana MIRANDA PAZ","sort_name":"MIRANDA ANA"},{"id":"25758","name":"Ruth FIRMENICH","sort_name":"FIRMENICHR"},{"id":"28122","name":"David CASA","sort_name":"CASA"},{"id":"28150","name":"Kinga GÁL","sort_name":"GAL"},{"id":"28219","name":"Daniel CASPARY","sort_name":"CASPARY"},{"id":"28223","name":"Andreas SCHWAB","sort_name":"SCHWAB"},{"id":"28226","name":"Christian EHLER","sort_name":"EHLER"},{"id":"4267","name":"Udo BULLMANN","sort_name":"BULLMANN"},{"id":"4289","name":"Angelika NIEBLER","sort_name":"NIEBLER"},{"id":"4395","name":"Mario MANTOVANI","sort_name":"MANTOVANIM"},{"id":"4746","name":"Sergio BERLATO","sort_name":"BERLATO"},{"id":"5392","name":"Lara WOLTERS","sort_name":"WOLTERS"},{"id":"5729","name":"Kathleen VAN BREMPT","sort_name":"VANBREMPT"},{"id":"5736","name":"Alexandre VARAUT","sort_name":"VARAUT"},{"id":"840","name":"Charles GOERENS","sort_name":"GOERENS"}],"term":"10","count":30},"meta":{"timestamp":"2026-06-01T16:24:11.294Z","request_id":"52c36b3f-da43-4edc-a2d4-38669796893d"},"status":"ok","message":"MEPs retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Usage notes","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Official open data of the European Parliament. /v1/meps?term=10 = the Members of the European Parliament (MEPs) for a parliamentary term (10 is the current 2024-2029 term; paginate with limit & offset), each with their id and name; /v1/mep?id=1294 = an MEP's profile — full name, country of representation (ISO3), gender, email, photo and place of birth — together with their committee, political-group and delegation memberships, split into current and past, each with the organization id, the role held (member, chair, vice-chair…) and the start/end dates; /v1/bodies?q=econ = the Parliament's corporate bodies — standing and special committees, political groups and delegations — with their id, acronym, label and type. The organization id in an MEP's memberships matches a corporate body's id, so you can resolve which committee or group a member belongs to. MEP ids come from /v1/meps. Data from the European Parliament (CC-BY 4.0). For other legislatures see the US Congress, UK Parliament, Bundestag and Canadian Parliament APIs.","source":"European Parliament Open Data (data.europarl.europa.eu)","endpoints":["/v1/meps","/v1/mep","/v1/bodies","/v1/meta"]},"meta":{"timestamp":"2026-06-01T16:24:11.349Z","request_id":"0769fe8a-f132-4d4d-bdc0-562d9f5d4555"},"status":"ok","message":"Meta retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":555,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":680,"monthly_call_quota":20900,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2090,"monthly_call_quota":92500,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":5800,"monthly_call_quota":402000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/europarl-api"}