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.
| Fact | Value |
|---|---|
| Tool | search_hansard |
| Partner scope required | hansard:read |
| Subscriber tier required | AI Pro |
Accepts as_at | no |
Parameters
| Name | Type | Required | Default |
|---|---|---|---|
query | string | no | null |
speakers | array of string | no | null |
portfolios | array of string | no | null |
chambers | array of string | no | null |
topics | array of string | no | null |
parliament_number | integer | no | null |
aao_register_id | string | no | null |
date_from | string | no | null |
date_to | string | no | null |
ministers_only | boolean | no | false |
sort_by | string | no | "relevance" |
limit | integer | no | 10 |
offset | integer | no | 0 |
cursor | string | no | null |
fields | array of string | no | null |
Notes
- Extracts, not speeches, and never summaries. Cite the
official_recordlink: it is the authoritative text, and Advisor is not. - Portfolios are as they stood on the speech date. A 2008 speech reports the department as it was in 2008. It shows the speaker was a minister in that portfolio, never that they were the minister responsible for a particular Act, which this data cannot support.
- Filters are case-insensitive and match any of the values given.
speakerstakes a name in any reasonable form;chambersishofrepsand/orsenate.list_hansard_filtersreturns the valid values. limitis capped at 25. Page withpage.next_cursor.
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_recordlink.- Not fetched. Show the
official_recordlink, 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
| Code | Meaning | What to do |
|---|---|---|
TERMS_REQUIRED | A partner organisation has not accepted the current Hansard conditions | Accept them on the partner page |
FORBIDDEN | Hansard is not available to this account | Check the subscription |