Parliament Search Agent
?

Parliament Search Agent

The goal of this project is to act as a data bridge between ParlInfo and consumers of parliamentary data. Though this data is technically public, it is nontrivial to access programatically.

This MVP surfaces three API endpoints returning live, clean data for the following event types on ParlInfo:

  • Transcripts from Parliamentary Committee hearings
  • Reports for all Committee Inquiries
  • URLs for video/audio recordings for chambers in Parliament

An immediate downstream consumer is Civic Forum, which needs a reliable feed of new parliamentary committee activity to power notifications and discussion threads. Other potential uses include data analysis tools and parliamentary tracking services.

Reports

GET /api/reports Paginated list of committee reports, ordered by date tabled (most recent first). Filter by date range.

Parameters

from ISO date

Return items on or after this date (e.g. 2026-01-01)

to ISO date

Return items on or before this date

page integer · default: 1

Page number

per_page integer · default: 20

Items per page (max 100)

Example request

GET /api/reports?from=2026-01-01&to=2026-12-31&per_page=10

Example response

{
  "items": [
    {
      "id": "018f4a2b-3c1d-7e8f-9a0b-1c2d3e4f5a6b",
      "parlinfo_ids": ["committees/reportsen/RB000778/0000", "committees/reportsen/RB000778/0001"],
      "title": "Inquiry into the National Disability Insurance Scheme",
      "date_tabled": "2026-03-15T00:00:00",
      "date_referred": "2025-08-01T00:00:00",
      "committee_name": "Senate Community Affairs Committee",
      "inquiry_name": "NDIS Independent Assessment Framework",
      "report_type": "Final",
      "pdf_url": "https://parlinfo.aph.gov.au/parlInfo/download/committees/reportsen/RB000778/toc_pdf/report.pdf",
      "parlinfo_permalink": "https://parlinfo.aph.gov.au/parlInfo/search/display/display.w3p;query=Id%3A%22committees%2Freportsen%2FRB000778%2F0000%22"
    }
  ],
  "total": 42,
  "page": 1,
  "per_page": 10
}
GET /api/reports/latest Most recent reports by date tabled.

Parameters

limit integer · default: 20

Number of items to return (max 100)

Example request

GET /api/reports/latest?limit=5

Example response

{
  "items": [
    {
      "id": "018f4a2b-3c1d-7e8f-9a0b-1c2d3e4f5a6b",
      "parlinfo_ids": ["committees/reportsen/RB000778/0000"],
      "title": "Inquiry into the National Disability Insurance Scheme",
      "date_tabled": "2026-03-15T00:00:00",
      "date_referred": "2025-08-01T00:00:00",
      "committee_name": "Senate Community Affairs Committee",
      "inquiry_name": "NDIS Independent Assessment Framework",
      "report_type": "Final",
      "pdf_url": "https://parlinfo.aph.gov.au/parlInfo/download/committees/reportsen/RB000778/toc_pdf/report.pdf",
      "parlinfo_permalink": "https://parlinfo.aph.gov.au/parlInfo/search/display/display.w3p;query=Id%3A%22committees%2Freportsen%2FRB000778%2F0000%22"
    }
  ]
}
GET /api/reports/:id Fetch a single report by its UUID.

Example response

{
  "item": {
    "id": "018f4a2b-3c1d-7e8f-9a0b-1c2d3e4f5a6b",
    "parlinfo_ids": ["committees/reportsen/RB000778/0000"],
    "title": "Inquiry into the National Disability Insurance Scheme",
    "date_tabled": "2026-03-15T00:00:00",
    "date_referred": "2025-08-01T00:00:00",
    "committee_name": "Senate Community Affairs Committee",
    "inquiry_name": "NDIS Independent Assessment Framework",
    "report_type": "Final",
    "pdf_url": "https://parlinfo.aph.gov.au/parlInfo/download/committees/reportsen/RB000778/toc_pdf/report.pdf",
    "parlinfo_permalink": "https://parlinfo.aph.gov.au/parlInfo/search/display/display.w3p;query=Id%3A%22committees%2Freportsen%2FRB000778%2F0000%22"
  }
}

Hearing Transcripts

GET /api/hearing_transcripts Paginated list of committee hearing transcripts, ordered by date tabled (most recent first). Filter by date range.

Parameters

from ISO date

Return items on or after this date

to ISO date

Return items on or before this date

page integer · default: 1

Page number

per_page integer · default: 20

Items per page (max 100)

Example request

GET /api/hearing_transcripts?from=2026-01-01&per_page=10

Example response

{
  "items": [
    {
      "id": "019a1b2c-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
      "parlinfo_ids": ["committees/estimate/E2026S01/0000", "committees/estimate/E2026S01/0001"],
      "title": "Supplementary Budget Estimates — Education and Employment",
      "date_tabled": "2026-02-10",
      "committee_name": "Senate Education and Employment Legislation Committee",
      "pdf_url": "https://parlinfo.aph.gov.au/parlInfo/download/committees/estimate/E2026S01/toc_pdf/transcript.pdf",
      "parlinfo_permalink": "https://parlinfo.aph.gov.au/parlInfo/search/display/display.w3p;query=Id%3A%22committees%2Festimate%2FE2026S01%2F0000%22"
    }
  ],
  "total": 14,
  "page": 1,
  "per_page": 10
}
GET /api/hearing_transcripts/latest Most recent hearing transcripts by date tabled.

Parameters

limit integer · default: 20

Number of items to return (max 100)

Example request

GET /api/hearing_transcripts/latest?limit=5

Example response

{
  "items": [
    {
      "id": "019a1b2c-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
      "parlinfo_ids": ["committees/estimate/E2026S01/0000"],
      "title": "Supplementary Budget Estimates — Education and Employment",
      "date_tabled": "2026-02-10",
      "committee_name": "Senate Education and Employment Legislation Committee",
      "pdf_url": "https://parlinfo.aph.gov.au/parlInfo/download/committees/estimate/E2026S01/toc_pdf/transcript.pdf",
      "parlinfo_permalink": "https://parlinfo.aph.gov.au/parlInfo/search/display/display.w3p;query=Id%3A%22committees%2Festimate%2FE2026S01%2F0000%22"
    }
  ]
}
GET /api/hearing_transcripts/:id Fetch a single hearing transcript by its UUID.

Example response

{
  "item": {
    "id": "019a1b2c-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
    "parlinfo_ids": ["committees/estimate/E2026S01/0000"],
    "title": "Supplementary Budget Estimates — Education and Employment",
    "date_tabled": "2026-02-10",
    "committee_name": "Senate Education and Employment Legislation Committee",
    "pdf_url": "https://parlinfo.aph.gov.au/parlInfo/download/committees/estimate/E2026S01/toc_pdf/transcript.pdf",
    "parlinfo_permalink": "https://parlinfo.aph.gov.au/parlInfo/search/display/display.w3p;query=Id%3A%22committees%2Festimate%2FE2026S01%2F0000%22"
  }
}

Broadcasts

GET /api/broadcasts Paginated list of Parliament TV broadcast records. Filter by date range.

Parameters

from ISO date

Return items on or after this date

to ISO date

Return items on or before this date

page integer · default: 1

Page number

per_page integer · default: 20

Items per page (max 100)

Example request

GET /api/broadcasts?from=2026-03-01&per_page=10

Example response

{
  "items": [
    {
      "id": "01ab2c3d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
      "parlview_id": "4511416",
      "title": "Senate Environment and Communications Legislation Committee",
      "chamber": "Senate - Committee",
      "is_live": false,
      "source_url": "https://www.aph.gov.au/News_and_Events/Watch_Read_Listen/ParlView/video/4511416",
      "start_time": "2026-04-20T09:05:00",
      "duration": "08:40:00"
    }
  ],
  "total": 28,
  "page": 1,
  "per_page": 10
}
GET /api/broadcasts/latest Most recent broadcast records by start time.

Parameters

limit integer · default: 20

Number of items to return (max 100)

Example request

GET /api/broadcasts/latest?limit=5

Example response

{
  "items": [
    {
      "id": "01ab2c3d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
      "parlview_id": "4511416",
      "title": "Senate Environment and Communications Legislation Committee",
      "chamber": "Senate - Committee",
      "is_live": false,
      "source_url": "https://www.aph.gov.au/News_and_Events/Watch_Read_Listen/ParlView/video/4511416",
      "start_time": "2026-04-20T09:05:00",
      "duration": "08:40:00"
    }
  ]
}
GET /api/broadcasts/:id Fetch a single broadcast record by its UUID.

Example response

{
  "item": {
    "id": "01ab2c3d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
    "parlview_id": "123456",
    "title": "Senate Economics Legislation Committee — 20 March 2026",
    "chamber": "Senate",
    "is_live": false,
    "source_url": "https://www.aph.gov.au/News_and_Events/Watch_Read_Listen/ParlView/video/123456",
    "start_time": "2026-03-20T09:30:00",
    "duration": "3h 12m"
  }
}