Data, API, RSS and MCP
All public data is free to reuse with attribution to Party Lines NI and to the parties as the authors of their releases.
Filters
The same query parameters work on every page, statistic, export, RSS feed and API endpoint:
party– one or more ofalliancedupsinn-feinuupsdlptuvgreenpbpaontu(comma-separated)period–7d30d90d12mytdmandate,Nd,Nm,week:2026-W45,month:2026-10,year:2025; orfrom/to(YYYY-MM-DD)topic–healtheducationhousingeconomypublic_financejusticeenvironmentagricultureinfrastructurewelfareequalitycommunity_relationsconstitutionalimmigrationlocal_governmentinternationalother;subtopice.g.health.waiting_liststype–policy_announcementpolicy_proposalcriticismevent_responsecall_for_actionparliamentary_updatecampaignrecognitioncommentarygeo–niroiukinternationalcross_border;issue– an issue IDproposal,criticism–yes/no;proactivity,tone,target;q– search titles and descriptions
JSON API (read-only)
GET /api/v1/search?q=…– ranked search by words and meaning (q ≤ 200 characters; same filters)POST /api/v1/similarwith JSON{"text": "…", "exclude_party": "dup", "period": "12m"}– releases similar in meaning to a passage (≤ 4,000 characters; not stored or cached)GET /api/v1/releases– paginated list (page,limit≤ 100,sort=newest|oldest|discovered)GET /api/v1/releases/{id}– one releaseGET /api/v1/parties,/api/v1/parties/{slug}GET /api/v1/stats/summary– counts by party;/api/v1/stats/timeseries?interval=week|month|year;/api/v1/stats/topics?mode=primary|any;/api/v1/stats/communication-types;/api/v1/stats/gapsGET /api/v1/topics,/api/v1/issues,/api/v1/issues/{id},/api/v1/coverage
Responses are cached for five minutes and rate-limited per client (about 120 requests a minute). Every statistic carries the filters it was computed with and a link to the matching releases. Example: https://partylines.nidata.fyi/api/v1/stats/summary?period=30d.
CSV exports
/export/releases.csv– release metadata (up to 10,000 rows)/export/stats.csv?by=party|month|week|year|topic|type– counts by party and dimension
RSS
/rss with any filters, e.g. /rss?party=alliance,dup&topic=health&period=30d. Without a period, feeds contain releases published in the last 30 days, newest first, so a historical import never floods a feed; releases discovered late appear only if their publication date is within that window. Each item has a permanent GUID, the original publication date, the party and a link to the original. Build a feed.
MCP server
A read-only Model Context Protocol server is available at https://partylines.nidata.fyi/mcp (Streamable HTTP, no authentication). Tools: search_releases (ranked by words and meaning when given a query), find_similar_releases (a passage of up to 4,000 characters), get_release, list_parties, get_party_statistics, compare_parties, get_topic_trends, get_topic_gaps, get_issue, get_source_coverage, generate_rss_url. Results are bounded and every statistic includes coverage completeness, so an absence of releases is never presented as evidence of inactivity.