Congress.gov Amendment Lookup
congressgov_amendment_lookupBrowse and retrieve U.S. congressional amendments from Congress.gov — House (hamdt), Senate (samdt), and Senate unprinted (suamdt, 97th and 98th Congresses only). An amendment is addressed by congress + amendmentType + amendmentNumber, the identifiers other tools return: congressgov_bill_lookup 'amendments' rows (type and number), House votes from congressgov_roll_votes (amendmentType and amendmentNumber), and amendment rows from congressgov_member_lookup 'sponsored'/'cosponsored' (amendmentNumber, with the type in the row's url); either letter case is accepted. Use 'list' to browse one congress, optionally one amendmentType (newest update first; fromDateTime/toDateTime filter on update date), 'get' for the record (sponsor, purpose, description, the bill or amendment it amends, latest action), or drill in with 'actions', 'cosponsors', 'amendments' (amendments to this amendment), or 'text'. 'text' lists the published text versions — the Congressional Record pages that print the amendment, often alongside the surrounding floor proceedings — and 'content' reads one version's HTML as plain text, a bounded character window at a time. On that page a Senate amendment is printed under 'SA {number}' or 'Amendment No. {number}'; a House amendment is not printed under its HAMDT number — find it at the Record page its 'actions' rows cite ('text: CR H3582-3583' is the '[[Page H3582]]' marker) or under 'Amendment No. N Offered by', where N is the number the description from 'get' gives it ('An amendment numbered 64 printed in House Report 118-142'). An 'actions' row that records a roll call vote carries rollVote — the chamber, congress, session, and voteNumber congressgov_roll_votes takes to return that vote and each member's position.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"operation": "<operation>",
"congress": "<congress>"
},
"name": "congressgov_amendment_lookup"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page (1-250). | |
| order | No | Sort order for 'list' (sorts by update date). 'recent' (default) is newest first; 'oldest' is ascending. Ignored by other operations. | recent |
| offset | No | Pagination offset. | |
| congress | Yes | Congress number (e.g., 118, 119). | |
| operation | Yes | Which data to retrieve. | |
| toDateTime | No | End of the update-date window for 'list' (ISO 8601). Same field semantics as fromDateTime. | |
| fromDateTime | No | Start of the update-date window for 'list' (ISO 8601, e.g. 2026-10-01T00:00:00Z): when Congress.gov last touched the record, not when the amendment was offered. Other operations ignore it and say so in the notice. | |
| amendmentType | No | Amendment type: 'hamdt' (House), 'samdt' (Senate), or 'suamdt' (Senate unprinted, 97th and 98th Congresses only). Optional on 'list'; required for every other operation. | |
| characterLimit | No | Maximum characters to return for 'content' (1-100000). Legislative documents run past a million characters, so a full bill takes several windows. | |
| amendmentNumber | No | Amendment number. Required for every operation but 'list', which refuses it. Accepts the digit-string form rows carry (e.g. "255") as well as a number. | |
| characterOffset | No | First character to return for 'content', 0-based. Offsets are exact and are never snapped to a section or paragraph break, so feeding the response's nextOffset back walks the whole document with every character returned exactly once. | |
| textVersionIndex | No | Which text version 'content' reads, 0-based against the order 'text' returns. Ignored by other operations. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | Result rows for `list` and the sub-resource operations. | |
| error | No | Present when the call failed. Absent on success. | |
| notice | No | Guidance when results are empty, a page is past the end, or a caveat applies. | |
| content | No | Dynamic upstream JSON record. | |
| amendment | No | Dynamic upstream JSON record. | |
| pagination | No | Pagination metadata: total count and next offset. | |
| totalCount | No | Total results across all pages. | |
| effectiveQuery | No | The browse scope and applied filters. |