search_legislation
Returns the titles matching a search, each with its ids, kind, portfolio, issuing authority, dates and an in_force block. Use it to find a title before reading it.
| Fact | Value |
|---|---|
| Tool | search_legislation |
| Partner scope required | legislation:read |
| Subscriber tier required | AI Pro |
Accepts as_at | no |
Parameters
| Name | Type | Required | Default |
|---|---|---|---|
query | string | no | null |
kind | array of string | no | null |
status | array of string | no | null |
portfolio | array of string | no | null |
issuing_authority | array of string | no | null |
made_from | string | no | null |
made_to | string | no | null |
registered_from | string | no | null |
registered_to | string | no | null |
sort_by | string | no | "relevance" |
limit | integer | no | 10 |
offset | integer | no | 0 |
Notes
- In force by default. With no
status, only titles in force today are returned.statusfilters by the Federal Register's own status; no tool serves the text of a title that is not in force. - Values are case-insensitive, and an unknown value is refused with the valid list.
kind: act, legislative_instrument, notifiable_instrument, prerogative_instrument, continued_law, constitution, or instrument (both instrument kinds).issuing_authority: a code or a full name;list_issuing_authoritiesreturns the valid values. - Large pages are cut, never refused. A cut page carries
truncated: true,returnedandnext_offset; call again withoffsetset tonext_offset.
Request (search_legislation with {"query":"Privacy Act 1988","limit":3})
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_legislation", {
"query": "Privacy Act 1988",
"limit": 3
})
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_legislation","arguments":{"query":"Privacy Act 1988","limit":3}}}'
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": "2.4",
"total": 2,
"limit": 3,
"offset": 0,
"as_at": "2026-10-10",
"items": [
{
"id": "eae28dff-3ff5-48eb-af3f-38686e6f650e",
"title_id": "C2004A03712",
"compilation_id": "C2026C00227",
"title": "Privacy Act 1988",
"kind": "act",
"status": "InForce",
"in_force": {
"in_force": true,
"frl_status": "InForce",
"since": null,
"confirmed_with_frl_at": "2026-10-09T16:37:46.550767Z",
"frl_link": "https://www.legislation.gov.au/Details/C2026C00227",
"notice": "In force according to the Federal Register of Legislation, as last confirmed on the date shown."
},
"portfolio": "Attorney-General's Department",
"portfolio_count": 2,
"portfolios": [
"Attorney-General's Department",
"Department of The Treasury"
],
"issuing_authority": "PARLIAMENT",
"issuing_authority_name": "Parliament",
"made_date": "1988-12-14",
"commence_date": "1988-12-14",
"registered_date": "2005-01-01",
"last_updated": "2026-06-04",
"year": 1988,
"source_url": "https://www.legislation.gov.au/Details/C2026C00227"
},
{
"id": "da1a91dc-3e1c-4098-a1af-c2010bbf24fc",
"title_id": "F2024L00463",
"compilation_id": "F2024L00463",
"title": "Guidelines issued under Section 95(1) of the Privacy Act 1988 (Cth)",
"kind": "legislative_instrument",
"status": "InForce",
"in_force": {
"in_force": true,
"frl_status": "InForce",
"since": null,
"confirmed_with_frl_at": "2026-10-09T16:45:40.760729Z",
"frl_link": "https://www.legislation.gov.au/Details/F2024L00463",
"notice": "In force according to the Federal Register of Legislation, as last confirmed on the date shown."
},
"portfolio": "Attorney-General's Department",
"portfolio_count": 2,
"portfolios": [
"Attorney-General's Department",
"Department of Health, Disability and Ageing"
],
"issuing_authority": null,
"issuing_authority_name": null,
"maker": {
"name": "PRUE ALISON TORRANCE",
"office": "Chief Executive Officer (A/g) of the National Health and Medical Research Council",
"source": "the instrument's making words",
"check": "not_applicable",
"check_note": "Not a minister's office; the ministry record does not apply."
},
"made_date": "2024-03-21",
"commence_date": "2024-04-22",
"registered_date": "2024-04-22",
"last_updated": "2024-04-22",
"year": 2024,
"source_url": "https://www.legislation.gov.au/Details/F2024L00463"
}
]
}
Data currency: Advisor serves the text of titles that the Federal Register of Legislation records as in force. It does not return the text of a repealed, ceased or sunset title, for any date.
- A title or a served provision carries a status block (
status, orin_forcein a list) within_force,frl_statusandconfirmed_with_frl_at: when Advisor last confirmed the status with the Federal Register.- Served text and search hits carry a
compilationblock withregister_id,compilation_no,check_dateandstate.stateis one of four values:
current: the Federal Register's latest list names the compilation the text comes from.not_current: the Federal Register lists a newer compilation. Tell the user, and use thefrl_linkin the response.pending_compilation: amendments have commenced that are not yet compiled, so the text does not include them.not_confirmed: the Federal Register lists no current compilation, or Advisor holds no record of one. Treat it as unknown.TITLE_NOT_IN_FORCEandCOMPILATION_NOT_CURRENTare answers, not failures. Show the user the Federal Register link in the response and do not fill the gap from another source.
Errors
| Code | Meaning | What to do |
|---|---|---|
INVALID_ARGUMENT | A value is not one the tool accepts; the message lists the valid ones | Use a listed value |
Related tools
resolve_reference, for a rough or partial nameget_legislation