search_hansard

Returns short extracts of speeches matching a search, each with its speaker, chamber, date, debate and a link to the official record on aph.gov.au. Use it to find what was said in Parliament; read a whole speech with get_hansard_speech.

FactValue
Toolsearch_hansard
Partner scope requiredhansard:read
Subscriber tier requiredAI Pro
Accepts as_atno

Parameters

NameTypeRequiredDefault
querystringnonull
speakersarray of stringnonull
portfoliosarray of stringnonull
chambersarray of stringnonull
topicsarray of stringnonull
parliament_numberintegernonull
aao_register_idstringnonull
date_fromstringnonull
date_tostringnonull
ministers_onlybooleannofalse
sort_bystringno"relevance"
limitintegerno10
offsetintegerno0
cursorstringnonull
fieldsarray of stringnonull

Notes

Note: Hansard passages come with conditions of use, and your service must keep them.

  • Verbatim. Reproduce a passage unaltered. Analysis around a quotation is fine; rewriting the quotation is not.
  • Attributed. Attribute each passage to "Parliamentary Debates (Hansard), Parliament of Australia" and show the reader the official_record link.
  • Not fetched. Show the official_record link, do not fetch it: aph.gov.au refuses automated requests.
  • Not the official record. Advisor is a search over the record, not the record. Label your service the same way.
  • Not for satire, ridicule or political advertising, or to misrepresent any Senator or Member.

Request (search_hansard with {"query":"privacy act review","limit":2})

Python SDK

import asyncio, os
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client

async def main():
    headers = {"Authorization": f"Bearer {os.environ['LAWATLAS_API_KEY']}"}
    async with streamablehttp_client("https://advisor.lawatlas.ai/api/mcp-http/mcp", headers=headers) as (read, write, _):
        async with ClientSession(read, write) as session:
            await session.initialize()
            result = await session.call_tool("search_hansard", {
                "query": "privacy act review",
                "limit": 2
            })
            print(result.content[0].text)

asyncio.run(main())

curl

curl -s https://advisor.lawatlas.ai/api/mcp-http/mcp \
  -H "Authorization: Bearer $LAWATLAS_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_hansard","arguments":{"query":"privacy act review","limit":2}}}'

Response, as Advisor returned it on 10 October 2026. The tool's result is the JSON text of result.content[0].text; lists and long text are trimmed where marked "...".

{
  "schema_version": "3.5",
  "result": [
    {
      "speech_id": "f798ae77-e72d-4a72-8d33-477a0f92ee6b",
      "speaker": "Nick Minchin",
      "minister_titles": [
        "Minister for Finance and Administration"
      ],
      "speaker_portfolios": [
        "Department of Finance and Administration"
      ],
      "chamber": "senate",
      "date": "2006-11-30",
      "debate_title": "Legal and Constitutional Affairs Committee; Reports: Government Responses",
      "word_count": 1670,
      "snippet": "**Review**\nRecommendation 1\nThe committee recommends that the Australian Government undertake a comprehensive **review** of **privacy** regulation, including a **review** of the **Privacy** **Act**",
      "official_record": "https://parlinfo.aph.gov.au/parlInfo/search/display/display.w3p;adv=yes;orderBy=_fragment_number,doc_date-rev;page=0;query=Dataset%3Ahansards,hansards80%20Date%3A30%2F11%2F2006;rec=0;resCount=Default"
    },
    {
      "speech_id": "e9c79cba-95ee-4d40-a965-f4082b0eae34",
      "speaker": "Stuart Robert",
      "minister_titles": [
        "Minister for Employment, Workforce, Skills, Small and Family Business"
      ],
      "speaker_portfolios": [
        "Department of Education, Skills and Employment"
      ],
      "chamber": "hofreps",
      "date": "2022-03-30",
      "debate_title": "Data Availability and Transparency Bill 2020, Data Availability and Transparency (Consequential Amendments) Bill 2020; Consideration in Detail",
      "word_count": 25206,
      "snippet": "**Privacy** **Act** 1988 that:\n(i) are made in response to the **review** of that **Act** announced by the Attorney",
      "official_record": "https://parlinfo.aph.gov.au/parlInfo/search/display/display.w3p;adv=yes;orderBy=_fragment_number,doc_date-rev;page=0;query=Dataset%3Ahansardr,hansardr80%20Date%3A30%2F3%2F2022;rec=0;resCount=Default"
    }
  ],
  "page": {
    "returned": 2,
    "total": 1554,
    "next_cursor": "eyJvIjogMn0=",
    "truncated": false,
    "limit_requested": 2,
    "limit_applied": 2
  },
  "source": "Parliamentary Debates (Hansard), Parliament of Australia",
  "disclosure": "Speaker portfolio is the portfolio held on the date of the speech, under the Administrative Arrangements Order in force that day. It indicates that the speaker was a minister in that portfolio.",
  "corpus": {
    "corpus_through": "2026-09-16",
    "corpus_ingested_at": "2026-09-16T09:54:45+00:00"
  },
  "link_note": "official_record is a citation for a human reader, not a fetchable resource: aph.gov.au returns 403 to automated requests. Show the link to the user rather than following it. It opens the whole sitting day for that chamber - use `page_no` where present, and `speaker` and `debate_title`, to point them at the speech.",
  "not_official_record": "Advisor is not the official record. This is a search over the parliamentary record; where the two differ, Hansard on aph.gov.au governs.",
  "usage": "Extracts only. Quote the snippet with attribution and SHOW the user official_record as a link; do not fetch it, and do not present this as the full record or as a summary of proceedings. For counts or totals use hansard_stats."
}

Errors

CodeMeaningWhat to do
TERMS_REQUIREDA partner organisation has not accepted the current Hansard conditionsAccept them on the partner page
FORBIDDENHansard is not available to this accountCheck the subscription

Related tools