Lobbyieng visualises lobbying activity in Ireland. It scrapes the official Register of Lobbying, links records to elected officials, and presents it in a searchable, interactive UI.
- Browse records by official or lobbyist
- Filter by year, method (meetings, emails, calls, etc.), job title, or name
- Force‑directed graph of connections (react‑force‑graph‑2d)
- Chord diagram to compare two officials
- Pie charts for method breakdown (Chart.js)
- Framework: Next.js (SSR + API routes)
- UI: React, Tailwind CSS, react-select
- Data: SQLite (lobbying.db)
- Charts: react-chartjs-2, react-force-graph-2d
- Node.js ≥14
- npm or yarn
- Python ≥3.8
- SQLite3
- Required Python packages:
sqlalchemy
,requests
git clone https://github.com/robmcelhinney/lobbyieng.git
cd lobbyieng
npm install # or yarn
-
Select relevant data from https://www.lobbying.ie/app/home/search by using CSV export
-
Store CSVs in the
data/
directory. -
Run the parser to ingest CSVs into SQLite:
python parser.py
- This script (
parser.py
) drops and recreates tables, normalises names, and populates:lobbying_records
dpo_entries
lobbying_activity_entries
- This script (
-
After ingesting, indexes are created automatically for faster queries.
To download member images into td_thumbnails/
:
python download-dail-images.py
npm run dev
# Visit http://localhost:3000
- GET
/api/officials?period=All&job_titles=TD,Minister
— list officials - GET
/api/officials/[slug]?[page,year,method,lobbyist,per_page]
— detail + filters - GET
/api/officials/[slug]/methods
— method breakdown - GET
/api/lobbyists?period=
— list lobbyists - GET
/api/lobbyists/[slug]?[page,year,method,official]
— lobbyist detail - GET
/api/chord-data?officials=slug1,slug2&start_year&end_year
— chord JSON - GET
/api/periods
— all periods - GET
/api/periods-latest
— latest period
- / Home overview
- /dail Search Dáil members
- /officials Browse officials
- /officials/[slug] Official detail
- /lobbyists Browse lobbyists
- /lobbyists/[slug] Lobbyist detail
- /chord Compare two officials
- /connections/[slug] Force graph
- /methods/[slug] Pie chart
Thanks to the Register of Lobbying at (lobbying.ie)[https://www.lobbying.ie] for providing open, official data on Irish lobbying activity, which makes this project possible.
- Fork it
- Create a branch (
git checkout -b feature/XYZ
) - Commit (
git commit -m "feat: add XYZ"
) - Push (
git push origin feature/XYZ
) - Open a PR
MIT © Robert McElhinney