# Congress.gov

> Track legislation through the Library of Congress's official Congress.gov API: look up bills, amendments, laws and their full history, read CRS summaries and reports, find members and what they sponsor, follow committees, hearings, House roll call votes, nominations and treaties, and search the Congressional Record.

App · Misc References · 71 actions. Web page: https://docs.lodol.com/docs/integrations/congress-gov

## Actions

### Get amendment

Look up one amendment by Congress, type and number. Returns its purpose, who offered it, the bill or amendment it amends, when it was submitted, and where it stands.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Amendment type (`amendment_type`, text, required): The chamber the amendment was offered in, and its series. One of: `hamdt` (H.Amdt.: House Amendment), `samdt` (S.Amdt.: Senate Amendment), `suamdt` (S.Up.Amdt.: Senate Unprinted Amendment).
- Amendment number (`amendment_number`, number, required): The number the amendment was assigned: 2137 for S.Amdt. 2137. At least 1.

**Outputs**

- `amendment` (object): The amendment
- `amendment_number` (number)
- `amendment_type` (text)
- `congress` (number)
- `found` (true/false): Whether the record exists on Congress.gov

**Example output**

```json
{
  "amendment": {
    "congress": 117,
    "description": "Amendment changes the effective date of the bill.",
    "latestAction": {
      "actionDate": "2021-08-08",
      "text": "Amendment SA 2137 agreed to in Senate by Yea-Nay Vote. 69 - 28."
    },
    "number": "2137",
    "purpose": "In the nature of a substitute.",
    "type": "SAMDT",
    "updateDate": "2021-08-08T12:00:00Z",
    "url": "https://api.congress.gov/v3/amendment/117/samdt/2137?format=json"
  },
  "amendment_number": 2137,
  "amendment_type": "samdt",
  "congress": 117,
  "found": true
}
```

### Get amendment actions

Actions taken on one amendment, newest first, including the roll call vote when it was decided by one.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Amendment type (`amendment_type`, text, required): The chamber the amendment was offered in, and its series. One of: `hamdt` (H.Amdt.: House Amendment), `samdt` (S.Amdt.: Senate Amendment), `suamdt` (S.Up.Amdt.: Senate Unprinted Amendment).
- Amendment number (`amendment_number`, number, required): The number the amendment was assigned: 2137 for S.Amdt. 2137. At least 1.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `actions` (list): Actions taken on the amendment
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "actions": [
    {
      "actionDate": "2021-08-08",
      "sourceSystem": {
        "code": 0,
        "name": "Senate"
      },
      "text": "Amendment SA 2137 agreed to in Senate by Yea-Nay Vote. 69 - 28. Record Vote Number: 312.",
      "type": "Floor"
    }
  ],
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42
}
```

### Get amendment cosponsors

The members who cosponsored one amendment, with the date each signed on.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Amendment type (`amendment_type`, text, required): The chamber the amendment was offered in, and its series. One of: `hamdt` (H.Amdt.: House Amendment), `samdt` (S.Amdt.: Senate Amendment), `suamdt` (S.Up.Amdt.: Senate Unprinted Amendment).
- Amendment number (`amendment_number`, number, required): The number the amendment was assigned: 2137 for S.Amdt. 2137. At least 1.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `cosponsors` (list): Members cosponsoring the amendment
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "cosponsors": [
    {
      "bioguideId": "F000450",
      "district": 5,
      "firstName": "Virginia",
      "fullName": "Rep. Foxx, Virginia [R-NC-5]",
      "isOriginalCosponsor": true,
      "lastName": "Foxx",
      "party": "R",
      "sponsorshipDate": "2021-05-11",
      "state": "NC",
      "url": "https://api.congress.gov/v3/member/F000450?format=json"
    }
  ],
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42
}
```

### Get amendment text versions

Published versions of one amendment's text, with links to each format. Congress.gov holds amendment text from the 117th Congress onwards.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Amendment type (`amendment_type`, text, required): The chamber the amendment was offered in, and its series. One of: `hamdt` (H.Amdt.: House Amendment), `samdt` (S.Amdt.: Senate Amendment), `suamdt` (S.Up.Amdt.: Senate Unprinted Amendment).
- Amendment number (`amendment_number`, number, required): The number the amendment was assigned: 2137 for S.Amdt. 2137. At least 1.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `text_versions` (list): Published versions of the amendment's text
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "text_versions": [
    {
      "date": "2021-08-08T04:00:00Z",
      "formats": [
        {
          "type": "PDF",
          "url": "https://www.congress.gov/117/crec/2021/08/08/CREC-2021-08-08-pt1-PgS5843.pdf"
        }
      ],
      "type": "Submitted"
    }
  ],
  "total_count": 42
}
```

### Get amendments to an amendment

Second-degree amendments: the amendments offered to one amendment rather than to the bill itself.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Amendment type (`amendment_type`, text, required): The chamber the amendment was offered in, and its series. One of: `hamdt` (H.Amdt.: House Amendment), `samdt` (S.Amdt.: Senate Amendment), `suamdt` (S.Up.Amdt.: Senate Unprinted Amendment).
- Amendment number (`amendment_number`, number, required): The number the amendment was assigned: 2137 for S.Amdt. 2137. At least 1.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `amendments` (list): Amendments offered to this amendment
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "amendments": [
    {
      "congress": 117,
      "description": "Amendment changes the effective date of the bill.",
      "latestAction": {
        "actionDate": "2021-08-08",
        "text": "Amendment SA 2137 agreed to in Senate by Yea-Nay Vote. 69 - 28."
      },
      "number": "2137",
      "purpose": "In the nature of a substitute.",
      "type": "SAMDT",
      "updateDate": "2021-08-08T12:00:00Z",
      "url": "https://api.congress.gov/v3/amendment/117/samdt/2137?format=json"
    }
  ],
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42
}
```

### Get bill

Look up one bill or resolution by its citation: Congress, type and number. Returns the sponsor, the date it was introduced, its policy area, the latest action taken on it, and how many actions, cosponsors, summaries, text versions and titles it has.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Bill type (`bill_type`, text, required): The kind of measure. 'H.R. 3076' is bill type H.R.; 'S. 1234' is S. One of: `hr` (H.R.: House Bill), `s` (S.: Senate Bill), `hjres` (H.J.Res.: House Joint Resolution), `sjres` (S.J.Res.: Senate Joint Resolution), `hconres` (H.Con.Res.: House Concurrent Resolution), `sconres` (S.Con.Res.: Senate Concurrent Resolution), `hres` (H.Res.: House Simple Resolution), `sres` (S.Res.: Senate Simple Resolution).
- Bill number (`bill_number`, number, required): The number the measure was assigned: 3076 for H.R. 3076. At least 1.

**Outputs**

- `bill` (object): The bill or resolution
- `bill_number` (number)
- `bill_type` (text)
- `congress` (number)
- `found` (true/false): Whether the record exists on Congress.gov

**Example output**

```json
{
  "bill": {
    "congress": 117,
    "introducedDate": "2021-05-11",
    "latestAction": {
      "actionDate": "2022-04-06",
      "text": "Became Public Law No: 117-108."
    },
    "number": "3076",
    "originChamber": "House",
    "originChamberCode": "H",
    "title": "Postal Service Reform Act of 2022",
    "type": "HR",
    "updateDate": "2022-09-29",
    "url": "https://api.congress.gov/v3/bill/117/hr/3076?format=json"
  },
  "bill_number": 3076,
  "bill_type": "hr",
  "congress": 117,
  "found": true
}
```

### Get bill actions

The legislative history of one bill: every action taken on it, newest first, with the date, the text, and which chamber or the Library of Congress recorded it.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Bill type (`bill_type`, text, required): The kind of measure. 'H.R. 3076' is bill type H.R.; 'S. 1234' is S. One of: `hr` (H.R.: House Bill), `s` (S.: Senate Bill), `hjres` (H.J.Res.: House Joint Resolution), `sjres` (S.J.Res.: Senate Joint Resolution), `hconres` (H.Con.Res.: House Concurrent Resolution), `sconres` (S.Con.Res.: Senate Concurrent Resolution), `hres` (H.Res.: House Simple Resolution), `sres` (S.Res.: Senate Simple Resolution).
- Bill number (`bill_number`, number, required): The number the measure was assigned: 3076 for H.R. 3076. At least 1.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `actions` (list): Actions taken on the bill
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "actions": [
    {
      "actionCode": "36000",
      "actionDate": "2022-04-06",
      "sourceSystem": {
        "code": 9,
        "name": "Library of Congress"
      },
      "text": "Became Public Law No: 117-108.",
      "type": "BecameLaw"
    }
  ],
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42
}
```

### Get bill amendments

Amendments offered to one bill, each with its number, what it does and the latest action on it.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Bill type (`bill_type`, text, required): The kind of measure. 'H.R. 3076' is bill type H.R.; 'S. 1234' is S. One of: `hr` (H.R.: House Bill), `s` (S.: Senate Bill), `hjres` (H.J.Res.: House Joint Resolution), `sjres` (S.J.Res.: Senate Joint Resolution), `hconres` (H.Con.Res.: House Concurrent Resolution), `sconres` (S.Con.Res.: Senate Concurrent Resolution), `hres` (H.Res.: House Simple Resolution), `sres` (S.Res.: Senate Simple Resolution).
- Bill number (`bill_number`, number, required): The number the measure was assigned: 3076 for H.R. 3076. At least 1.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `amendments` (list): Amendments offered to the bill
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "amendments": [
    {
      "congress": 117,
      "description": "Amendment changes the effective date of the bill.",
      "latestAction": {
        "actionDate": "2021-08-08",
        "text": "Amendment SA 2137 agreed to in Senate by Yea-Nay Vote. 69 - 28."
      },
      "number": "2137",
      "purpose": "In the nature of a substitute.",
      "type": "SAMDT",
      "updateDate": "2021-08-08T12:00:00Z",
      "url": "https://api.congress.gov/v3/amendment/117/samdt/2137?format=json"
    }
  ],
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42
}
```

### Get bill committees

The committees and subcommittees that handled one bill, with what each did to it and when: referred, reported, discharged.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Bill type (`bill_type`, text, required): The kind of measure. 'H.R. 3076' is bill type H.R.; 'S. 1234' is S. One of: `hr` (H.R.: House Bill), `s` (S.: Senate Bill), `hjres` (H.J.Res.: House Joint Resolution), `sjres` (S.J.Res.: Senate Joint Resolution), `hconres` (H.Con.Res.: House Concurrent Resolution), `sconres` (S.Con.Res.: Senate Concurrent Resolution), `hres` (H.Res.: House Simple Resolution), `sres` (S.Res.: Senate Simple Resolution).
- Bill number (`bill_number`, number, required): The number the measure was assigned: 3076 for H.R. 3076. At least 1.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `committees` (list): Committees with activity on the bill
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "committees": [
    {
      "chamber": "House",
      "committeeTypeCode": "Standing",
      "name": "Transportation and Infrastructure Committee",
      "subcommittees": [
        {
          "name": "Investigations and Oversight Subcommittee",
          "systemCode": "hspw01",
          "url": "https://api.congress.gov/v3/committee/house/hspw01?format=json"
        }
      ],
      "systemCode": "hspw00",
      "url": "https://api.congress.gov/v3/committee/house/hspw00?format=json"
    }
  ],
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42
}
```

### Get bill cosponsors

The members who cosponsored one bill, with each member's party, state, the date they signed on, and whether they were an original cosponsor.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Bill type (`bill_type`, text, required): The kind of measure. 'H.R. 3076' is bill type H.R.; 'S. 1234' is S. One of: `hr` (H.R.: House Bill), `s` (S.: Senate Bill), `hjres` (H.J.Res.: House Joint Resolution), `sjres` (S.J.Res.: Senate Joint Resolution), `hconres` (H.Con.Res.: House Concurrent Resolution), `sconres` (S.Con.Res.: Senate Concurrent Resolution), `hres` (H.Res.: House Simple Resolution), `sres` (S.Res.: Senate Simple Resolution).
- Bill number (`bill_number`, number, required): The number the measure was assigned: 3076 for H.R. 3076. At least 1.
- Sort by update date (`sort`, text): Order the results by when Congress.gov last updated them. One of: `updateDate+desc` (Most recently updated first), `updateDate+asc` (Least recently updated first).
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `cosponsors` (list): Members cosponsoring the bill
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "cosponsors": [
    {
      "bioguideId": "F000450",
      "district": 5,
      "firstName": "Virginia",
      "fullName": "Rep. Foxx, Virginia [R-NC-5]",
      "isOriginalCosponsor": true,
      "lastName": "Foxx",
      "party": "R",
      "sponsorshipDate": "2021-05-11",
      "state": "NC",
      "url": "https://api.congress.gov/v3/member/F000450?format=json"
    }
  ],
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42
}
```

### Get bill subjects

What one bill is about: the legislative subject terms the Congressional Research Service assigned to it, and the single policy area it falls under.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Bill type (`bill_type`, text, required): The kind of measure. 'H.R. 3076' is bill type H.R.; 'S. 1234' is S. One of: `hr` (H.R.: House Bill), `s` (S.: Senate Bill), `hjres` (H.J.Res.: House Joint Resolution), `sjres` (S.J.Res.: Senate Joint Resolution), `hconres` (H.Con.Res.: House Concurrent Resolution), `sconres` (S.Con.Res.: Senate Concurrent Resolution), `hres` (H.Res.: House Simple Resolution), `sres` (S.Res.: Senate Simple Resolution).
- Bill number (`bill_number`, number, required): The number the measure was assigned: 3076 for H.R. 3076. At least 1.
- Updated on or after (`from_datetime`, date and time): Only include records Congress.gov updated on or after this moment. Leave empty for no lower bound.
- Updated on or before (`to_datetime`, date and time): Only include records Congress.gov updated on or before this moment. Leave empty for no upper bound.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `legislative_subjects` (list): Legislative subject terms assigned to the bill
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `policy_area` (object): The single policy area the bill falls under
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "count": 1,
  "has_more": true,
  "legislative_subjects": [
    {
      "name": "Congressional oversight",
      "updateDate": "2022-02-18"
    }
  ],
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "policy_area": {
    "name": "Government Operations and Politics"
  },
  "total_count": 42
}
```

### Get bill summaries

Plain-English summaries of one bill, written by the Congressional Research Service: one for each stage the bill reached, so the latest is what the bill says now.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Bill type (`bill_type`, text, required): The kind of measure. 'H.R. 3076' is bill type H.R.; 'S. 1234' is S. One of: `hr` (H.R.: House Bill), `s` (S.: Senate Bill), `hjres` (H.J.Res.: House Joint Resolution), `sjres` (S.J.Res.: Senate Joint Resolution), `hconres` (H.Con.Res.: House Concurrent Resolution), `sconres` (S.Con.Res.: Senate Concurrent Resolution), `hres` (H.Res.: House Simple Resolution), `sres` (S.Res.: Senate Simple Resolution).
- Bill number (`bill_number`, number, required): The number the measure was assigned: 3076 for H.R. 3076. At least 1.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `summaries` (list): CRS summaries of the bill
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "summaries": [
    {
      "actionDate": "2022-03-08",
      "actionDesc": "Passed Senate",
      "text": "<p>This bill addresses the finances and operations of the U.S. Postal Service.</p>",
      "updateDate": "2022-03-11T04:36:07Z",
      "versionCode": "55"
    }
  ],
  "total_count": 42
}
```

### Get bill text versions

Every published version of one bill's text (introduced, reported, engrossed, enrolled), each with links to the formatted text, PDF and XML on congress.gov.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Bill type (`bill_type`, text, required): The kind of measure. 'H.R. 3076' is bill type H.R.; 'S. 1234' is S. One of: `hr` (H.R.: House Bill), `s` (S.: Senate Bill), `hjres` (H.J.Res.: House Joint Resolution), `sjres` (S.J.Res.: Senate Joint Resolution), `hconres` (H.Con.Res.: House Concurrent Resolution), `sconres` (S.Con.Res.: Senate Concurrent Resolution), `hres` (H.Res.: House Simple Resolution), `sres` (S.Res.: Senate Simple Resolution).
- Bill number (`bill_number`, number, required): The number the measure was assigned: 3076 for H.R. 3076. At least 1.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `text_versions` (list): Published versions of the bill's text
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "text_versions": [
    {
      "date": "2022-04-06T04:00:00Z",
      "formats": [
        {
          "type": "Formatted Text",
          "url": "https://www.congress.gov/117/bills/hr3076/BILLS-117hr3076enr.htm"
        }
      ],
      "type": "Enrolled Bill"
    }
  ],
  "total_count": 42
}
```

### Get bill titles

Every title one bill carries (the short title, the official title, the display title, and the titles of individual portions), with the text version each belongs to.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Bill type (`bill_type`, text, required): The kind of measure. 'H.R. 3076' is bill type H.R.; 'S. 1234' is S. One of: `hr` (H.R.: House Bill), `s` (S.: Senate Bill), `hjres` (H.J.Res.: House Joint Resolution), `sjres` (S.J.Res.: Senate Joint Resolution), `hconres` (H.Con.Res.: House Concurrent Resolution), `sconres` (S.Con.Res.: Senate Concurrent Resolution), `hres` (H.Res.: House Simple Resolution), `sres` (S.Res.: Senate Simple Resolution).
- Bill number (`bill_number`, number, required): The number the measure was assigned: 3076 for H.R. 3076. At least 1.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `titles` (list): Titles the bill carries
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "titles": [
    {
      "title": "Postal Service Reform Act of 2022",
      "titleType": "Display Title",
      "titleTypeCode": 45,
      "updateDate": "2022-04-06T14:00:00Z"
    }
  ],
  "total_count": 42
}
```

### Get committee

One committee: its subcommittees, its naming history, whether it still exists, and how many bills, reports and communications have been referred to it.

**Inputs**

- Chamber (`chamber`, text, required): Which chamber the record belongs to. One of: `house`, `senate`, `joint`.
- Committee (`committee_code`, text, required): The committee to look at. Pick a chamber first; the list is that chamber's committees and subcommittees.
- Congress (`congress`, number): Ask about the committee as it stood in one Congress. Leave empty for how it stands now. From 1 to 999.

**Outputs**

- `chamber` (text)
- `committee` (object): The committee
- `committee_code` (text)
- `congress` (number)
- `found` (true/false): Whether the record exists on Congress.gov

**Example output**

```json
{
  "chamber": "house",
  "committee": {
    "bills": {
      "count": 25384
    },
    "history": [
      {
        "libraryOfCongressName": "Transportation and Infrastructure",
        "officialName": "Committee on Transportation and Infrastructure",
        "startDate": "1995-01-04T05:00:00Z"
      }
    ],
    "isCurrent": true,
    "reports": {
      "count": 1163
    },
    "subcommittees": [
      {
        "name": "Investigations and Oversight Subcommittee",
        "systemCode": "hspw01",
        "url": "https://api.congress.gov/v3/committee/house/hspw01?format=json"
      }
    ],
    "systemCode": "hspw00",
    "type": "Standing"
  },
  "committee_code": "hspw00",
  "congress": null,
  "found": true
}
```

### Get committee bills

The bills referred to one committee, with the relationship ('Referred to', 'Reported by') and the date it happened.

**Inputs**

- Chamber (`chamber`, text, required): Which chamber the record belongs to. One of: `house`, `senate`, `joint`.
- Committee (`committee_code`, text, required): The committee to look at. Pick a chamber first; the list is that chamber's committees and subcommittees.
- Updated on or after (`from_datetime`, date and time): Only include records Congress.gov updated on or after this moment. Leave empty for no lower bound.
- Updated on or before (`to_datetime`, date and time): Only include records Congress.gov updated on or before this moment. Leave empty for no upper bound.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `bills` (list): Bills referred to the committee
- `chamber` (text)
- `committee_code` (text)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "bills": [
    {
      "actionDate": "2021-05-11T04:00:00Z",
      "congress": 117,
      "number": "3076",
      "relationshipType": "Referred to",
      "type": "HR",
      "updateDate": "2022-04-06T14:00:00Z",
      "url": "https://api.congress.gov/v3/bill/117/hr/3076?format=json"
    }
  ],
  "chamber": "house",
  "committee_code": "hsgo00",
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42
}
```

### Get committee House communications

The House communications referred to one House committee: the executive-branch letters and reports it receives.

**Inputs**

- House committee (`committee_code`, text, required): The House committee to look at.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `chamber` (text)
- `committee_code` (text)
- `communications` (list): House communications referred to the committee
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "chamber": "house",
  "committee_code": "hspw00",
  "communications": [
    {
      "chamber": "House",
      "communicationType": {
        "code": "EC",
        "name": "Executive Communication"
      },
      "congress": 118,
      "number": "3324",
      "referralDate": "2024-03-07",
      "updateDate": "2024-09-03",
      "url": "https://api.congress.gov/v3/house-communication/118/ec/3324?format=json"
    }
  ],
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42
}
```

### Get committee meeting

One committee meeting: its title, when and where it sits, whether it is still scheduled, the committees holding it, the witnesses and their statements, the bills and nominations on the agenda, and any video.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Chamber (`chamber`, text, required): Which chamber the record belongs to. One of: `house`, `senate`, `joint`.
- Event id (`event_id`, text, required): The meeting's event identifier: '115538'. 'List committee meetings' returns it for every meeting.

**Outputs**

- `chamber` (text)
- `congress` (number)
- `event_id` (text)
- `found` (true/false): Whether the record exists on Congress.gov
- `meeting` (object): The committee meeting

**Example output**

```json
{
  "chamber": "house",
  "congress": 118,
  "event_id": "115538",
  "found": true,
  "meeting": {
    "chamber": "House",
    "congress": 118,
    "date": "2023-03-24T14:00:00Z",
    "eventId": "115538",
    "location": {
      "building": "Longworth House Office Building",
      "room": "1324"
    },
    "meetingStatus": "Scheduled",
    "title": "Legislative hearing on H.R. 1246 and H.R. 1532",
    "type": "Hearing",
    "updateDate": "2023-03-27T04:44:57Z",
    "url": "https://api.congress.gov/v3/committee-meeting/118/house/115538?format=json",
    "witnesses": [
      {
        "name": "The Honorable John Williams",
        "organization": "United Auburn Rancheria",
        "position": "Vice Chairman"
      }
    ]
  }
}
```

### Get committee nominations

The presidential nominations referred to one Senate committee. Only Senate committees receive nominations, so the chamber is fixed.

**Inputs**

- Senate committee (`committee_code`, text, required): The Senate committee to look at.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `chamber` (text)
- `committee_code` (text)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `nominations` (list): Nominations referred to the committee
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "chamber": "senate",
  "committee_code": "ssas00",
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "nominations": [
    {
      "citation": "PN2804",
      "congress": 117,
      "description": "Mary Anne Carter, of Tennessee, to be Chairperson of the National Endowment for the Arts for a term of four years.",
      "latestAction": {
        "actionDate": "2022-12-07",
        "text": "Received in the Senate and referred to the Committee."
      },
      "nominationType": {
        "isCivilian": true,
        "isMilitary": false
      },
      "number": 2804,
      "partNumber": "00",
      "receivedDate": "2022-12-07",
      "updateDate": "2022-12-08T05:25:17Z",
      "url": "https://api.congress.gov/v3/nomination/117/2804?format=json"
    }
  ],
  "offset": 0,
  "total_count": 42
}
```

### Get committee print

One committee print by its jacket number, with its citation, the committees behind it and the bills it relates to.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Chamber (`chamber`, text, required): Which chamber the record belongs to. One of: `house`, `senate`, `joint`.
- Jacket number (`jacket_number`, number, required): The GPO jacket number that identifies the document: 48144, for example. The list actions return it for every record. At least 1.

**Outputs**

- `chamber` (text)
- `congress` (number)
- `found` (true/false): Whether the record exists on Congress.gov
- `jacket_number` (number)
- `print` (object): The committee print

**Example output**

```json
{
  "chamber": "house",
  "congress": 117,
  "found": true,
  "jacket_number": 48144,
  "print": {
    "chamber": "House",
    "citation": "117-62",
    "committees": [
      {
        "name": "Rules Committee",
        "systemCode": "hsru00",
        "url": "https://api.congress.gov/v3/committee/house/hsru00?format=json"
      }
    ],
    "congress": 117,
    "jacketNumber": 48144,
    "number": "62",
    "text": {
      "count": 4
    },
    "title": "RULES COMMITTEE PRINT 117-62",
    "updateDate": "2022-08-01T21:19:33Z",
    "url": "https://api.congress.gov/v3/committee-print/117/house/48144?format=json"
  }
}
```

### Get committee print text

The published text of one committee print, with a link for each format it exists in.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Chamber (`chamber`, text, required): Which chamber the record belongs to. One of: `house`, `senate`, `joint`.
- Jacket number (`jacket_number`, number, required): The GPO jacket number that identifies the document: 48144, for example. The list actions return it for every record. At least 1.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `chamber` (text)
- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `jacket_number` (number)
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `text_versions` (list): Published formats of the print's text
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "chamber": "house",
  "congress": 117,
  "count": 1,
  "has_more": true,
  "jacket_number": 48144,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "text_versions": [
    {
      "type": "Formatted Text",
      "url": "https://www.congress.gov/117/cprt/HPRT48144/CPRT-117HPRT48144.htm"
    }
  ],
  "total_count": 42
}
```

### Get committee report

One committee report by its citation: 'H. Rept. 117-89' is Congress 117, type H.Rept., number 89. A report filed in parts returns each part.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Report type (`report_type`, text, required): Which series the report belongs to. One of: `hrpt` (H.Rept.: House Report), `srpt` (S.Rept.: Senate Report), `erpt` (Ex.Rept.: Senate Executive Report).
- Report number (`report_number`, number, required): The part after the hyphen: 89 for H. Rept. 117-89. At least 1.

**Outputs**

- `congress` (number)
- `found` (true/false): Whether the record exists on Congress.gov
- `parts` (list): Every part filed under this report number
- `report` (object): The committee report
- `report_number` (number)
- `report_type` (text)

**Example output**

```json
{
  "congress": 117,
  "found": true,
  "parts": [
    {
      "chamber": "House",
      "citation": "H. Rept. 117-89",
      "congress": 117,
      "number": 89,
      "part": 1,
      "type": "HRPT",
      "updateDate": "2022-02-18T16:38:41Z",
      "url": "https://api.congress.gov/v3/committee-report/117/HRPT/89?format=json"
    }
  ],
  "report": {
    "chamber": "House",
    "citation": "H. Rept. 117-89",
    "congress": 117,
    "number": 89,
    "part": 1,
    "type": "HRPT",
    "updateDate": "2022-02-18T16:38:41Z",
    "url": "https://api.congress.gov/v3/committee-report/117/HRPT/89?format=json"
  },
  "report_number": 89,
  "report_type": "hrpt"
}
```

### Get committee report text

The published text of one committee report, with a link for each format it exists in and a flag on any errata version.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Report type (`report_type`, text, required): Which series the report belongs to. One of: `hrpt` (H.Rept.: House Report), `srpt` (S.Rept.: Senate Report), `erpt` (Ex.Rept.: Senate Executive Report).
- Report number (`report_number`, number, required): The part after the hyphen in the citation. At least 1.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `report_number` (number)
- `report_type` (text)
- `text_versions` (list): Published formats of the report's text
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "congress": 117,
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "report_number": 89,
  "report_type": "hrpt",
  "text_versions": [
    {
      "isErrata": "N",
      "type": "Formatted Text",
      "url": "https://www.congress.gov/117/crpt/hrpt89/generated/CRPT-117hrpt89.htm"
    }
  ],
  "total_count": 42
}
```

### Get committee reports

The reports one committee has published, newest first.

**Inputs**

- Chamber (`chamber`, text, required): Which chamber the record belongs to. One of: `house`, `senate`, `joint`.
- Committee (`committee_code`, text, required): The committee to look at. Pick a chamber first; the list is that chamber's committees and subcommittees.
- Updated on or after (`from_datetime`, date and time): Only include records Congress.gov updated on or after this moment. Leave empty for no lower bound.
- Updated on or before (`to_datetime`, date and time): Only include records Congress.gov updated on or before this moment. Leave empty for no upper bound.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `chamber` (text)
- `committee_code` (text)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `reports` (list): Reports the committee published
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "chamber": "house",
  "committee_code": "hspw00",
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "reports": [
    {
      "chamber": "House",
      "citation": "H. Rept. 117-89",
      "congress": 117,
      "number": 89,
      "part": 1,
      "type": "HRPT",
      "updateDate": "2022-02-18T16:38:41Z",
      "url": "https://api.congress.gov/v3/committee-report/117/HRPT/89?format=json"
    }
  ],
  "total_count": 42
}
```

### Get committee Senate communications

The Senate communications referred to one Senate committee.

**Inputs**

- Senate committee (`committee_code`, text, required): The Senate committee to look at.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `chamber` (text)
- `committee_code` (text)
- `communications` (list): Senate communications referred to the committee
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "chamber": "senate",
  "committee_code": "ssju00",
  "communications": [
    {
      "chamber": "Senate",
      "communicationType": {
        "code": "EC",
        "name": "Executive Communication"
      },
      "congress": 118,
      "number": "3324",
      "referralDate": "2024-03-07",
      "updateDate": "2024-09-03",
      "url": "https://api.congress.gov/v3/senate-communication/117/ec/1615?format=json"
    }
  ],
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42
}
```

### Get congress

One Congress and its sessions. Leave the number empty for the Congress sitting right now (which is how a workflow finds the current Congress number to feed the other actions).

**Inputs**

- Congress (`congress`, number): Which Congress to look up. Leave empty for the one sitting now. From 1 to 999.

**Outputs**

- `congress` (object): The Congress and its sessions
- `found` (true/false): Whether the record exists on Congress.gov
- `is_current_request` (true/false): Whether the currently sitting Congress was asked for
- `number` (number): The Congress's number, e.g. 119

**Example output**

```json
{
  "congress": {
    "endYear": "2026",
    "name": "119th Congress",
    "number": 119,
    "sessions": [
      {
        "chamber": "House of Representatives",
        "endDate": "2026-01-03",
        "number": 1,
        "startDate": "2025-01-03"
      }
    ],
    "startYear": "2025",
    "url": "https://api.congress.gov/v3/congress/119?format=json"
  },
  "found": true,
  "is_current_request": true,
  "number": 119
}
```

### Get Congressional Record articles

The articles in one issue of the daily Congressional Record, grouped by the section they appear in, each with its title, page range and a link to its text.

**Inputs**

- Volume (`volume_number`, number, required): The Congressional Record volume: one per year, 171 for 2025. At least 1.
- Issue (`issue_number`, number, required): The issue number within the volume: one per day of session. At least 1.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `articles` (list): Sections, each holding the articles printed in it
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `issue_number` (number)
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page
- `volume_number` (number)

**Example output**

```json
{
  "articles": [
    {
      "name": "Daily Digest",
      "sectionArticles": [
        {
          "endPage": "D760",
          "startPage": "D759",
          "text": [
            {
              "type": "Formatted Text",
              "url": "https://www.congress.gov/116/crec/2020/09/04/modified/CREC-2020-09-04-pt1-PgD759.htm"
            }
          ],
          "title": "Daily Digest/Next Meeting of the SENATE"
        }
      ]
    }
  ],
  "count": 1,
  "has_more": true,
  "issue_number": 153,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42,
  "volume_number": 166
}
```

### Get cosponsored legislation

The bills and resolutions one member cosponsored, newest first. Cosponsorships the member later withdrew are excluded.

**Inputs**

- Member (`bioguide_id`, text, required): The member to look at. The list holds every member serving now; for a former member, use the bioguide id from 'List members'.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `bioguide_id` (text)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `legislation` (list): Bills and resolutions the member cosponsored
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "bioguide_id": "L000174",
  "count": 1,
  "has_more": true,
  "legislation": [
    {
      "congress": 117,
      "introducedDate": "2021-05-11",
      "latestAction": {
        "actionDate": "2022-04-06",
        "text": "Became Public Law No: 117-108."
      },
      "number": "3076",
      "title": "Postal Service Reform Act of 2022",
      "type": "HR",
      "url": "https://api.congress.gov/v3/bill/117/hr/3076?format=json"
    }
  ],
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42
}
```

### Get CRS report

One CRS report by its product number ('R47175', 'IF12345') with its summary, current authors, topics, related legislation, and links to the PDF and HTML.

**Inputs**

- Report number (`report_number`, text, required): The CRS product number. 'List CRS reports' returns it for every report.

**Outputs**

- `found` (true/false): Whether the record exists on Congress.gov
- `report` (object): The CRS report
- `report_number` (text)

**Example output**

```json
{
  "found": true,
  "report": {
    "authors": [
      {
        "author": "Megan S. Lynch"
      }
    ],
    "contentType": "Reports",
    "formats": [
      {
        "format": "PDF",
        "url": "https://www.congress.gov/crs_external_products/R/PDF/R47175/R47175.1.pdf"
      }
    ],
    "id": "R47175",
    "publishDate": "2022-07-11T04:00:00Z",
    "status": "Active",
    "summary": "The Congressional Budget Act of 1974 directs Congress to adopt a budget resolution each spring.",
    "title": "Setting Budgetary Levels: The House's FY2023 Deeming Resolution",
    "topics": [
      {
        "topic": "Budget & Appropriations Procedure"
      }
    ],
    "updateDate": "2025-06-20T23:46:23Z",
    "url": "https://api.congress.gov/v3/crsreport/R47175",
    "version": 1
  },
  "report_number": "R47175"
}
```

### Get daily Congressional Record issue

One issue of the daily Congressional Record: the PDF of the whole issue, plus each section (Daily Digest, House, Senate, Extensions of Remarks) with its page range and text link.

**Inputs**

- Volume (`volume_number`, number, required): The Congressional Record volume: one per year, 171 for 2025. At least 1.
- Issue (`issue_number`, number, required): The issue number within the volume: one per day of session. At least 1.

**Outputs**

- `found` (true/false): Whether the record exists on Congress.gov
- `issue` (object): The issue and its sections
- `issue_number` (number)
- `volume_number` (number)

**Example output**

```json
{
  "found": true,
  "issue": {
    "congress": 119,
    "fullIssue": {
      "articles": {
        "count": 315
      },
      "entireIssue": [
        {
          "part": "1",
          "type": "PDF",
          "url": "https://www.congress.gov/119/crec/2025/01/03/171/1/CREC-2025-01-03-v171.pdf"
        }
      ],
      "sections": [
        {
          "endPage": "D12",
          "name": "Daily Digest",
          "startPage": "D1"
        }
      ]
    },
    "issueDate": "2025-01-03T05:00:00Z",
    "issueNumber": "1",
    "sessionNumber": 1,
    "volumeNumber": 171
  },
  "issue_number": 1,
  "volume_number": 171
}
```

### Get hearing

One hearing transcript by its jacket number: its title, citation, the dates it was held, the committees that held it, and links to the transcript in each published format.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Chamber (`chamber`, text, required): Which chamber the record belongs to. One of: `house`, `senate`, `joint`.
- Jacket number (`jacket_number`, number, required): The GPO jacket number that identifies the document: 48144, for example. The list actions return it for every record. At least 1.

**Outputs**

- `chamber` (text)
- `congress` (number)
- `found` (true/false): Whether the record exists on Congress.gov
- `hearing` (object): The hearing transcript
- `jacket_number` (number)

**Example output**

```json
{
  "chamber": "house",
  "congress": 118,
  "found": true,
  "hearing": {
    "chamber": "House",
    "citation": "H.Hrg.118",
    "congress": 118,
    "dates": [
      "2023-06-21"
    ],
    "formats": [
      {
        "type": "Formatted Text",
        "url": "https://www.congress.gov/118/chrg/CHRG-118hhrg50896/CHRG-118hhrg50896.htm"
      }
    ],
    "jacketNumber": 50896,
    "title": "FEDERAL PANDEMIC SPENDING: A PRESCRIPTION FOR WASTE, FRAUD AND ABUSE",
    "updateDate": "2025-11-04T03:21:12Z",
    "url": "https://api.congress.gov/v3/hearing/118/house/50896?format=json"
  },
  "jacket_number": 50896
}
```

### Get House communication

One House communication: the agency and official who sent it, an abstract of what it reports, the legal authority behind it, whether it concerns a rulemaking, the committees it went to, and the reporting requirements it satisfies.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Communication type (`communication_type`, text, required): Which kind of communication it is. One of: `ec` (Executive communication), `ml` (Memorial), `pm` (Presidential message), `pt` (Petition).
- Communication number (`communication_number`, number, required): The number it was assigned: 3324. At least 1.

**Outputs**

- `communication` (object): The House communication
- `communication_number` (number)
- `communication_type` (text)
- `congress` (number)
- `found` (true/false): Whether the record exists on Congress.gov

**Example output**

```json
{
  "communication": {
    "abstract": "A letter from the Director, Regulatory Management Division, Environmental Protection Agency.",
    "chamber": "House",
    "communicationType": {
      "code": "EC",
      "name": "Executive Communication"
    },
    "congress": 118,
    "congressionalRecordDate": "2024-03-07",
    "isRulemaking": "True",
    "legalAuthority": "5 U.S.C. 801(a)(1)(A)",
    "number": 3324,
    "sessionNumber": 2,
    "submittingAgency": "Environmental Protection Agency",
    "submittingOfficial": "Director, Regulatory Management Division",
    "updateDate": "2024-09-03"
  },
  "communication_number": 3324,
  "communication_type": "ec",
  "congress": 118,
  "found": true
}
```

### Get House reporting requirement

One House reporting requirement: which agency it binds, what it must report, how often, the legal authority for it, and how many communications have been filed against it.

**Inputs**

- Requirement number (`requirement_number`, number, required): The number the reporting requirement was assigned: 8070. At least 1.

**Outputs**

- `found` (true/false): Whether the record exists on Congress.gov
- `requirement` (object): The reporting requirement
- `requirement_number` (number)

**Example output**

```json
{
  "found": true,
  "requirement": {
    "activeRecord": true,
    "frequency": "[No deadline specified].",
    "legalAuthority": "5 U.S.C. 801(a)(1)(A)",
    "matchingCommunications": {
      "count": 90774
    },
    "nature": "Congressional review of agency rulemaking.",
    "number": 8070,
    "parentAgency": "Multiple Executive Agencies and Departments",
    "submittingAgency": "Multiple Executive Agencies and Departments",
    "updateDate": "2021-08-13"
  },
  "requirement_number": 8070
}
```

### Get House vote

One House roll call vote: the measure or amendment at stake, the kind of vote, the result, and the yea/nay/present/not voting totals broken down by party.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Session (`session`, text, required): Which of the Congress's two yearly sessions the vote was in. One of: `1` (First session (odd-numbered year)), `2` (Second session (even-numbered year)).
- Roll call number (`vote_number`, number, required): The roll call number within the session: 17 for the 17th recorded vote of that year. At least 1.

**Outputs**

- `congress` (number)
- `found` (true/false): Whether the record exists on Congress.gov
- `session` (number)
- `vote` (object): The roll call vote and its party totals
- `vote_number` (number)

**Example output**

```json
{
  "congress": 119,
  "found": true,
  "session": 1,
  "vote": {
    "congress": 119,
    "identifier": 1191202517,
    "legislationNumber": "30",
    "legislationType": "HR",
    "legislationUrl": "https://congress.gov/bill/119/house-bill/30",
    "result": "Passed",
    "rollCallNumber": 17,
    "sessionNumber": 1,
    "sourceDataURL": "https://clerk.house.gov/evs/2025/roll017.xml",
    "startDate": "2025-01-16T11:00:00-05:00",
    "url": "https://api.congress.gov/v3/house-vote/119/1/17",
    "votePartyTotal": [
      {
        "nayTotal": 0,
        "notVotingTotal": 6,
        "party": {
          "name": "Republican",
          "type": "R"
        },
        "presentTotal": 0,
        "yeaTotal": 213
      }
    ],
    "voteType": "Yea-and-Nay"
  },
  "vote_number": 17
}
```

### Get House vote members

How each representative voted on one roll call: the member-by-member record behind the totals, with each member's party and state.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Session (`session`, text, required): Which of the Congress's two yearly sessions the vote was in. One of: `1` (First session (odd-numbered year)), `2` (Second session (even-numbered year)).
- Roll call number (`vote_number`, number, required): The roll call number within the session. At least 1.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `member_votes` (list): How each member voted
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `session` (number)
- `total_count` (number): Records matching in all, across every page
- `vote` (object): The vote these member records belong to
- `vote_number` (number)

**Example output**

```json
{
  "congress": 119,
  "count": 1,
  "has_more": true,
  "limit": 20,
  "member_votes": [
    {
      "bioguideID": "A000055",
      "firstName": "Robert",
      "lastName": "Aderholt",
      "voteCast": "Yea",
      "voteParty": "R",
      "voteState": "AL"
    }
  ],
  "next_offset": 20,
  "offset": 0,
  "session": 1,
  "total_count": 42,
  "vote": {
    "congress": 119,
    "rollCallNumber": 17,
    "sessionNumber": 1
  },
  "vote_number": 17
}
```

### Get law

Look up one law by the number the National Archives assigned it: 'Public Law 117-108' is Congress 117, type Public, number 108. Returns the bill it came from, in full.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Law type (`law_type`, text, required): Whether it is a public or a private law. One of: `pub` (Public law), `priv` (Private law).
- Law number (`law_number`, number, required): The part after the hyphen: 108 for Public Law 117-108. At least 1.

**Outputs**

- `congress` (number)
- `found` (true/false): Whether the record exists on Congress.gov
- `law` (object): The bill that became this law
- `law_number` (number)
- `law_type` (text)

**Example output**

```json
{
  "congress": 117,
  "found": true,
  "law": {
    "congress": 117,
    "introducedDate": "2021-05-11",
    "latestAction": {
      "actionDate": "2022-04-06",
      "text": "Became Public Law No: 117-108."
    },
    "laws": [
      {
        "number": "117-108",
        "type": "Public Law"
      }
    ],
    "number": "3076",
    "originChamber": "House",
    "originChamberCode": "H",
    "title": "Postal Service Reform Act of 2022",
    "type": "HR",
    "updateDate": "2022-09-29",
    "url": "https://api.congress.gov/v3/bill/117/hr/3076?format=json"
  },
  "law_number": 108,
  "law_type": "pub"
}
```

### Get member

One member's full profile: every term they have served and in which chamber, their party history, any leadership roles, their official portrait, and how much legislation they have sponsored and cosponsored.

**Inputs**

- Member (`bioguide_id`, text, required): The member to look at. The list holds every member serving now; for a former member, use the bioguide id from 'List members'.

**Outputs**

- `bioguide_id` (text)
- `found` (true/false): Whether the record exists on Congress.gov
- `member` (object): The member's profile

**Example output**

```json
{
  "bioguide_id": "L000174",
  "found": true,
  "member": {
    "bioguideId": "L000174",
    "birthYear": "1940",
    "cosponsoredLegislation": {
      "count": 7452
    },
    "directOrderName": "Patrick J. Leahy",
    "invertedOrderName": "Leahy, Patrick J.",
    "partyHistory": [
      {
        "partyAbbreviation": "D",
        "partyName": "Democrat",
        "startYear": 1975
      }
    ],
    "sponsoredLegislation": {
      "count": 1768
    },
    "state": "Vermont",
    "terms": [
      {
        "chamber": "Senate",
        "congress": 117,
        "endYear": 2023,
        "startYear": 2021,
        "stateCode": "VT"
      }
    ]
  }
}
```

### Get nomination

One nomination by its PN number: who was nominated and to what post, whether it is civilian or military, when the Senate received it, and the latest action on it.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Nomination number (`nomination_number`, number, required): The PN number without its prefix: 2804 for PN2804. At least 1.

**Outputs**

- `congress` (number)
- `found` (true/false): Whether the record exists on Congress.gov
- `nomination` (object): The nomination
- `nomination_number` (number)

**Example output**

```json
{
  "congress": 117,
  "found": true,
  "nomination": {
    "actions": {
      "count": 7
    },
    "citation": "PN2804",
    "committees": {
      "count": 1
    },
    "congress": 117,
    "description": "Mary Anne Carter, of Tennessee, to be Chairperson of the National Endowment for the Arts for a term of four years.",
    "hearings": {
      "count": 1
    },
    "latestAction": {
      "actionDate": "2022-12-07",
      "text": "Received in the Senate and referred to the Committee."
    },
    "nominationType": {
      "isCivilian": true,
      "isMilitary": false
    },
    "nominees": [
      {
        "nomineeCount": 1,
        "ordinal": 1,
        "organization": "Federal Maritime Commission",
        "positionTitle": "Federal Maritime Commissioner",
        "url": "https://api.congress.gov/v3/nomination/118/16/1?format=json"
      }
    ],
    "number": 2804,
    "partNumber": "00",
    "receivedDate": "2022-12-07",
    "updateDate": "2022-12-08T05:25:17Z",
    "url": "https://api.congress.gov/v3/nomination/117/2804?format=json"
  },
  "nomination_number": 2804
}
```

### Get nomination actions

Senate actions on one nomination: received and referred through to confirmation, rejection or return.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Nomination number (`nomination_number`, number, required): The PN number without its prefix: 2804 for PN2804. At least 1.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `actions` (list): Senate actions on the nomination
- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `nomination_number` (number)
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "actions": [
    {
      "actionCode": "S05120",
      "actionDate": "2022-08-03",
      "committees": [
        {
          "name": "Armed Services Committee",
          "systemCode": "ssas00",
          "url": "https://api.congress.gov/v3/committee/senate/ssas00?format=json"
        }
      ],
      "text": "Received in the Senate and referred to the Committee on Armed Services",
      "type": "IntroReferral"
    }
  ],
  "congress": 117,
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "nomination_number": 2804,
  "offset": 0,
  "total_count": 42
}
```

### Get nomination committees

The Senate committees one nomination was referred to, with what each did and when.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Nomination number (`nomination_number`, number, required): The PN number without its prefix: 2804 for PN2804. At least 1.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `committees` (list): Committees the nomination was referred to
- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `nomination_number` (number)
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "committees": [
    {
      "activities": [
        {
          "date": "2022-08-03T04:00:00Z",
          "name": "Referred to"
        }
      ],
      "chamber": "Senate",
      "name": "Judiciary Committee",
      "systemCode": "ssju00",
      "type": "Standing",
      "url": "https://api.congress.gov/v3/committee/senate/ssju00?format=json"
    }
  ],
  "congress": 117,
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "nomination_number": 2804,
  "offset": 0,
  "total_count": 42
}
```

### Get nomination hearings

Printed hearings held on one nomination, with the citation, date and jacket number of each.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Nomination number (`nomination_number`, number, required): The PN number without its prefix: 2804 for PN2804. At least 1.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `hearings` (list): Hearings held on the nomination
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `nomination_number` (number)
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "congress": 118,
  "count": 1,
  "has_more": true,
  "hearings": [
    {
      "chamber": "Senate",
      "citation": "S.Hrg.118-694",
      "date": "2024-02-28",
      "jacketNumber": 61203,
      "number": 694
    }
  ],
  "limit": 20,
  "next_offset": 20,
  "nomination_number": 16,
  "offset": 0,
  "total_count": 42
}
```

### Get nomination nominees

The people named in one part of a nomination, with the post and organisation. A military nomination can list thousands of officers in a single filing, which is why it is split into parts.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Nomination number (`nomination_number`, number, required): The PN number without its prefix: 2804 for PN2804. At least 1.
- Part (`ordinal`, number): Which part of the nomination to read, counting from 1. Defaults to the first part. At least 1. Default: `1`.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `nomination_number` (number)
- `nominees` (list): People named in this part of the nomination
- `offset` (number): Records skipped before this page
- `ordinal` (number)
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "congress": 118,
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "nomination_number": 16,
  "nominees": [
    {
      "nomineeCount": 1,
      "ordinal": 1,
      "organization": "Federal Maritime Commission",
      "positionTitle": "Federal Maritime Commissioner",
      "url": "https://api.congress.gov/v3/nomination/118/16/1?format=json"
    }
  ],
  "offset": 0,
  "ordinal": 1,
  "total_count": 42
}
```

### Get related bills

Bills related to one bill (companion measures, procedurally related ones, and those with identical text), along with who identified the relationship and what kind it is.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Bill type (`bill_type`, text, required): The kind of measure. 'H.R. 3076' is bill type H.R.; 'S. 1234' is S. One of: `hr` (H.R.: House Bill), `s` (S.: Senate Bill), `hjres` (H.J.Res.: House Joint Resolution), `sjres` (S.J.Res.: Senate Joint Resolution), `hconres` (H.Con.Res.: House Concurrent Resolution), `sconres` (S.Con.Res.: Senate Concurrent Resolution), `hres` (H.Res.: House Simple Resolution), `sres` (S.Res.: Senate Simple Resolution).
- Bill number (`bill_number`, number, required): The number the measure was assigned: 3076 for H.R. 3076. At least 1.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `related_bills` (list): Bills related to this one
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "related_bills": [
    {
      "congress": 117,
      "number": 1720,
      "relationshipDetails": [
        {
          "identifiedBy": "CRS",
          "type": "Related bill"
        }
      ],
      "title": "Postal Service Reform Act of 2021",
      "type": "S"
    }
  ],
  "total_count": 42
}
```

### Get requirement communications

The communications filed against one House reporting requirement: what agencies actually sent in to satisfy it.

**Inputs**

- Requirement number (`requirement_number`, number, required): The number the reporting requirement was assigned: 8070. At least 1.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `communications` (list): Communications filed against the requirement
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `requirement_number` (number)
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "communications": [
    {
      "chamber": "House",
      "communicationType": {
        "code": "EC",
        "name": "Executive Communication"
      },
      "congress": 112,
      "number": 2,
      "url": "https://api.congress.gov/v3/house-communication/112/EC/2?format=json"
    }
  ],
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "requirement_number": 8070,
  "total_count": 42
}
```

### Get Senate communication

One Senate communication: an abstract of what it reports, the date it was printed in the Congressional Record, and the committees it was referred to.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Communication type (`communication_type`, text, required): Which kind of communication it is. One of: `ec` (Executive communication), `pm` (Presidential message), `pom` (Petition or memorial).
- Communication number (`communication_number`, number, required): The number it was assigned: 1615. At least 1.

**Outputs**

- `communication` (object): The Senate communication
- `communication_number` (number)
- `communication_type` (text)
- `congress` (number)
- `found` (true/false): Whether the record exists on Congress.gov

**Example output**

```json
{
  "communication": {
    "abstract": "A communication from the Secretary of Defense, transmitting a report.",
    "chamber": "Senate",
    "congress": 117,
    "congressionalRecordDate": "2021-09-01",
    "number": 1615,
    "sessionNumber": 1,
    "updateDate": "2021-09-02"
  },
  "communication_number": 1615,
  "communication_type": "ec",
  "congress": 117,
  "found": true
}
```

### Get sponsored legislation

The bills and resolutions one member introduced, newest first, each with its policy area and latest action.

**Inputs**

- Member (`bioguide_id`, text, required): The member to look at. The list holds every member serving now; for a former member, use the bioguide id from 'List members'.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `bioguide_id` (text)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `legislation` (list): Bills and resolutions the member sponsored
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "bioguide_id": "L000174",
  "count": 1,
  "has_more": true,
  "legislation": [
    {
      "congress": 117,
      "introducedDate": "2022-06-16",
      "latestAction": {
        "actionDate": "2022-06-16",
        "text": "Read twice and referred to the Committee on the Judiciary."
      },
      "number": "4417",
      "policyArea": {
        "name": "Commerce"
      },
      "title": "Patent Trial and Appeal Board Reform Act of 2022",
      "type": "S",
      "url": "https://api.congress.gov/v3/bill/117/s/4417?format=json"
    }
  ],
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42
}
```

### Get treaty

One treaty: its titles, the countries party to it, its index terms, when it was transmitted and when it entered into force, and the text of the resolution of ratification.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Treaty number (`treaty_number`, number, required): The treaty's number within the Congress that received it. At least 1.
- Part (`treaty_suffix`, text): The partition letter of a treaty split into parts: 'A', 'B'. Leave empty for a treaty that is not split.

**Outputs**

- `congress` (number)
- `found` (true/false): Whether the record exists on Congress.gov
- `treaty` (object): The treaty
- `treaty_number` (number)
- `treaty_suffix` (text)

**Example output**

```json
{
  "congress": 117,
  "found": true,
  "treaty": {
    "actions": {
      "count": 3
    },
    "congressConsidered": 117,
    "congressReceived": 117,
    "countriesParties": [
      {
        "name": "Belgium"
      }
    ],
    "indexTerms": [
      {
        "name": "TAXATION"
      }
    ],
    "number": 3,
    "suffix": "",
    "titles": [
      {
        "title": "PROTOCOL MODIFYING CONVENTION WITH BELGIUM FOR THE AVOIDANCE OF DOUBLE TAXATION",
        "titleType": "Treaty - Short Title"
      }
    ],
    "topic": "Taxation",
    "transmittedDate": "2021-05-17T00:00:00Z",
    "updateDate": "2022-02-26T16:25:25Z",
    "url": "https://api.congress.gov/v3/treaty/117/3?format=json"
  },
  "treaty_number": 3,
  "treaty_suffix": null
}
```

### Get treaty actions

Senate actions on one treaty, including the vote on the resolution of advice and consent to ratification. Give a part letter for a treaty split into parts.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Treaty number (`treaty_number`, number, required): The treaty's number within the Congress that received it. At least 1.
- Part (`treaty_suffix`, text): The partition letter of a treaty split into parts: 'A', 'B'. Leave empty for a treaty that is not split.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `actions` (list): Senate actions on the treaty
- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page
- `treaty_number` (number)
- `treaty_suffix` (text)

**Example output**

```json
{
  "actions": [
    {
      "actionCode": "S05291",
      "actionDate": "2022-08-03",
      "text": "Resolution of advice and consent to ratification agreed to in Senate by Yea-Nay Vote. 95 - 1. Record Vote Number: 282.",
      "type": "Floor"
    }
  ],
  "congress": 117,
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42,
  "treaty_number": 3,
  "treaty_suffix": null
}
```

### Get treaty committees

The Senate committees one treaty was referred to, with their subcommittees and what each did to it.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Treaty number (`treaty_number`, number, required): The treaty's number within the Congress that received it. At least 1.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `committees` (list): Committees the treaty was referred to
- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page
- `treaty_number` (number)

**Example output**

```json
{
  "committees": [
    {
      "activities": [
        {
          "date": "2021-10-19T04:00:00Z",
          "name": "Reported by"
        }
      ],
      "chamber": "Senate",
      "name": "Foreign Relations Committee",
      "systemCode": "ssfr00",
      "type": "Standing",
      "url": "https://api.congress.gov/v3/committee/senate/ssfr00?format=json"
    }
  ],
  "congress": 117,
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42,
  "treaty_number": 3
}
```

### List amendments

Browse amendments, most recently acted on first. Narrow to one Congress, then to House, Senate or Senate unprinted amendments.

**Inputs**

- Congress (`congress`, number): Narrow the list to one Congress. Leave empty to search across all of them, newest first. From 1 to 999.
- Amendment type (`amendment_type`, text): Narrow the list to one series of amendments. Needs a Congress as well. Leave empty for every type. One of: `hamdt` (H.Amdt.: House Amendment), `samdt` (S.Amdt.: Senate Amendment), `suamdt` (S.Up.Amdt.: Senate Unprinted Amendment).
- Updated on or after (`from_datetime`, date and time): Only include records Congress.gov updated on or after this moment. Leave empty for no lower bound.
- Updated on or before (`to_datetime`, date and time): Only include records Congress.gov updated on or before this moment. Leave empty for no upper bound.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `amendment_type` (text)
- `amendments` (list): Amendments, each with its number, purpose and latest action
- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "amendment_type": "samdt",
  "amendments": [
    {
      "congress": 117,
      "description": "Amendment changes the effective date of the bill.",
      "latestAction": {
        "actionDate": "2021-08-08",
        "text": "Amendment SA 2137 agreed to in Senate by Yea-Nay Vote. 69 - 28."
      },
      "number": "2137",
      "purpose": "In the nature of a substitute.",
      "type": "SAMDT",
      "updateDate": "2021-08-08T12:00:00Z",
      "url": "https://api.congress.gov/v3/amendment/117/samdt/2137?format=json"
    }
  ],
  "congress": 117,
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42
}
```

### List bill summaries

Bill summaries across many bills at once, newest first: the Congressional Research Service's plain-English account of what legislation does. Narrow to one Congress and bill type, or filter by when the summary was written to follow what is being summarised now.

**Inputs**

- Congress (`congress`, number): Narrow the list to one Congress. Leave empty to search across all of them, newest first. From 1 to 999.
- Bill type (`bill_type`, text): Narrow the list to one kind of measure. Needs a Congress as well. Leave empty for every type. One of: `hr` (H.R.: House Bill), `s` (S.: Senate Bill), `hjres` (H.J.Res.: House Joint Resolution), `sjres` (S.J.Res.: Senate Joint Resolution), `hconres` (H.Con.Res.: House Concurrent Resolution), `sconres` (S.Con.Res.: Senate Concurrent Resolution), `hres` (H.Res.: House Simple Resolution), `sres` (S.Res.: Senate Simple Resolution).
- Updated on or after (`from_datetime`, date and time): Only include records Congress.gov updated on or after this moment. Leave empty for no lower bound.
- Updated on or before (`to_datetime`, date and time): Only include records Congress.gov updated on or before this moment. Leave empty for no upper bound.
- Sort by update date (`sort`, text): Order the results by when Congress.gov last updated them. One of: `updateDate+desc` (Most recently updated first), `updateDate+asc` (Least recently updated first).
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `bill_type` (text)
- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `summaries` (list): Bill summaries, each with the bill it belongs to
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "bill_type": "hr",
  "congress": 117,
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "summaries": [
    {
      "actionDate": "2022-03-08",
      "actionDesc": "Passed Senate",
      "bill": {
        "congress": 117,
        "number": "3076",
        "title": "Postal Service Reform Act of 2022",
        "type": "HR",
        "url": "https://api.congress.gov/v3/bill/117/hr/3076?format=json"
      },
      "currentChamber": "Senate",
      "text": "<p>This bill addresses the finances and operations of the U.S. Postal Service.</p>",
      "updateDate": "2022-03-11T04:36:07Z",
      "versionCode": "55"
    }
  ],
  "total_count": 42
}
```

### List bills

Browse bills and resolutions, most recently acted on first. Narrow to one Congress, then to one type of measure, or leave both empty to walk everything Congress.gov holds. The 'Updated on or after' filter turns this into a feed of what moved since a given moment.

**Inputs**

- Congress (`congress`, number): Narrow the list to one Congress. Leave empty to search across all of them, newest first. From 1 to 999.
- Bill type (`bill_type`, text): Narrow the list to one kind of measure. Needs a Congress as well. Leave empty for every type. One of: `hr` (H.R.: House Bill), `s` (S.: Senate Bill), `hjres` (H.J.Res.: House Joint Resolution), `sjres` (S.J.Res.: Senate Joint Resolution), `hconres` (H.Con.Res.: House Concurrent Resolution), `sconres` (S.Con.Res.: Senate Concurrent Resolution), `hres` (H.Res.: House Simple Resolution), `sres` (S.Res.: Senate Simple Resolution).
- Updated on or after (`from_datetime`, date and time): Only include records Congress.gov updated on or after this moment. Leave empty for no lower bound.
- Updated on or before (`to_datetime`, date and time): Only include records Congress.gov updated on or before this moment. Leave empty for no upper bound.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `bill_type` (text)
- `bills` (list): Bills and resolutions, each with its citation, title and latest action
- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "bill_type": "hr",
  "bills": [
    {
      "congress": 117,
      "introducedDate": "2021-05-11",
      "latestAction": {
        "actionDate": "2022-04-06",
        "text": "Became Public Law No: 117-108."
      },
      "number": "3076",
      "originChamber": "House",
      "originChamberCode": "H",
      "title": "Postal Service Reform Act of 2022",
      "type": "HR",
      "updateDate": "2022-09-29",
      "url": "https://api.congress.gov/v3/bill/117/hr/3076?format=json"
    }
  ],
  "congress": 117,
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42
}
```

### List bound Congressional Record

The bound Congressional Record: the permanent, page-numbered edition published after the daily one. Give a publication date for one day, or a year and month for a wider list.

**Inputs**

- Published on (`published_on`, date): The publication date to look up. Leave empty to filter by year and month instead, or to list the most recent issues.
- Year (`year`, number): The publication year, when you want a whole year or month rather than one day. Cannot be combined with a publication date. From 1789 to 2200.
- Month (`month`, number): The publication month, 1-12. Needs a year as well. From 1 to 12.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `count` (number): Records on this page
- `day` (number)
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `month` (number)
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page
- `volumes` (list): Bound Congressional Record volumes
- `year` (number)

**Example output**

```json
{
  "count": 1,
  "day": 1,
  "has_more": true,
  "limit": 20,
  "month": 5,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42,
  "volumes": [
    {
      "congress": 101,
      "date": "1990-05-01",
      "sessionNumber": 2,
      "updateDate": "2020-10-20",
      "url": "https://api.congress.gov/v3/bound-congressional-record/1990/5/1?format=json",
      "volumeNumber": 136
    }
  ],
  "year": 1990
}
```

### List committee meetings

Committee meetings and hearings on the schedule, newest first. Narrow to one Congress and chamber. Each entry carries an 'event_id' that 'Get committee meeting' takes.

**Inputs**

- Congress (`congress`, number): Narrow the list to one Congress. Leave empty to search across all of them, newest first. From 1 to 999.
- Chamber (`chamber`, text): Narrow the list to one chamber. Leave empty for all of them. One of: `house`, `senate`, `joint`.
- Updated on or after (`from_datetime`, date and time): Only include records Congress.gov updated on or after this moment. Leave empty for no lower bound.
- Updated on or before (`to_datetime`, date and time): Only include records Congress.gov updated on or before this moment. Leave empty for no upper bound.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `chamber` (text)
- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `meetings` (list): Committee meetings, each carrying an 'event_id' that 'Get committee meeting' takes
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "chamber": "house",
  "congress": 118,
  "count": 1,
  "has_more": true,
  "limit": 20,
  "meetings": [
    {
      "chamber": "House",
      "congress": 118,
      "event_id": "115538",
      "eventid": "115538",
      "updateDate": "2023-03-27T04:44:57Z",
      "url": "https://api.congress.gov/v3/committee-meeting/118/house/115538?format=json"
    }
  ],
  "next_offset": 20,
  "offset": 0,
  "total_count": 42
}
```

### List committee prints

Committee prints, newest first: the background studies and draft texts committees publish outside the report series.

**Inputs**

- Congress (`congress`, number): Narrow the list to one Congress. Leave empty to search across all of them, newest first. From 1 to 999.
- Chamber (`chamber`, text): Narrow the list to one chamber. Leave empty for all of them. One of: `house`, `senate`, `joint`.
- Updated on or after (`from_datetime`, date and time): Only include records Congress.gov updated on or after this moment. Leave empty for no lower bound.
- Updated on or before (`to_datetime`, date and time): Only include records Congress.gov updated on or before this moment. Leave empty for no upper bound.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `chamber` (text)
- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `prints` (list): Committee prints, each with its jacket number
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "chamber": "house",
  "congress": 117,
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "prints": [
    {
      "chamber": "House",
      "citation": "117-62",
      "congress": 117,
      "jacketNumber": 48144,
      "number": "62",
      "title": "RULES COMMITTEE PRINT 117-62",
      "updateDate": "2022-08-01T21:19:33Z",
      "url": "https://api.congress.gov/v3/committee-print/117/house/48144?format=json"
    }
  ],
  "total_count": 42
}
```

### List committee reports

Committee reports, newest first: the written accounts committees file when they report a bill out. Narrow to one Congress and series, or to conference reports only.

**Inputs**

- Congress (`congress`, number): Narrow the list to one Congress. Leave empty to search across all of them, newest first. From 1 to 999.
- Report type (`report_type`, text): Narrow the list to one series. Needs a Congress as well. Leave empty for every type. One of: `hrpt` (H.Rept.: House Report), `srpt` (S.Rept.: Senate Report), `erpt` (Ex.Rept.: Senate Executive Report).
- Conference reports only (`conference`, true/false): Turn on to return only conference reports: the ones settling differences between the chambers.
- Updated on or after (`from_datetime`, date and time): Only include records Congress.gov updated on or after this moment. Leave empty for no lower bound.
- Updated on or before (`to_datetime`, date and time): Only include records Congress.gov updated on or before this moment. Leave empty for no upper bound.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `report_type` (text)
- `reports` (list): Committee reports, each with its citation
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "congress": 117,
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "report_type": "hrpt",
  "reports": [
    {
      "chamber": "House",
      "citation": "H. Rept. 117-89",
      "congress": 117,
      "number": 89,
      "part": 1,
      "type": "HRPT",
      "updateDate": "2022-02-18T16:38:41Z",
      "url": "https://api.congress.gov/v3/committee-report/117/HRPT/89?format=json"
    }
  ],
  "total_count": 42
}
```

### List committees

Congressional committees and their subcommittees. Narrow to one chamber, one Congress, or both. Each entry carries the system code ('hspw00') that the other committee actions take.

**Inputs**

- Congress (`congress`, number): Narrow the list to one Congress. Leave empty to search across all of them, newest first. From 1 to 999.
- Chamber (`chamber`, text): Narrow the list to one chamber. Leave empty for all of them. One of: `house`, `senate`, `joint`.
- Updated on or after (`from_datetime`, date and time): Only include records Congress.gov updated on or after this moment. Leave empty for no lower bound.
- Updated on or before (`to_datetime`, date and time): Only include records Congress.gov updated on or before this moment. Leave empty for no upper bound.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `chamber` (text)
- `committees` (list): Committees, each with its system code and subcommittees
- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "chamber": "house",
  "committees": [
    {
      "chamber": "House",
      "committeeTypeCode": "Standing",
      "name": "Transportation and Infrastructure Committee",
      "subcommittees": [
        {
          "name": "Investigations and Oversight Subcommittee",
          "systemCode": "hspw01",
          "url": "https://api.congress.gov/v3/committee/house/hspw01?format=json"
        }
      ],
      "systemCode": "hspw00",
      "url": "https://api.congress.gov/v3/committee/house/hspw00?format=json"
    }
  ],
  "congress": 119,
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42
}
```

### List congresses

Every Congress from the 1st to the one sitting now, with the years it sat and the start and end dates of each of its sessions.

**Inputs**

- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `congresses` (list): Congresses, newest first
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "congresses": [
    {
      "endYear": "2026",
      "name": "119th Congress",
      "number": 119,
      "sessions": [
        {
          "chamber": "House of Representatives",
          "endDate": "2026-01-03",
          "number": 1,
          "startDate": "2025-01-03"
        }
      ],
      "startYear": "2025",
      "url": "https://api.congress.gov/v3/congress/119?format=json"
    }
  ],
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42
}
```

### List Congressional Record issues

Issues of the Congressional Record with the PDF of each section: Daily Digest, House, Senate, Extensions of Remarks and the entire issue. Give a publication date for one day, or a year and month for a whole month.

**Inputs**

- Published on (`published_on`, date): The publication date to look up. Leave empty to filter by year and month instead, or to list the most recent issues.
- Year (`year`, number): The publication year, when you want a whole year or month rather than one day. Cannot be combined with a publication date. From 1789 to 2200.
- Month (`month`, number): The publication month, 1-12. Needs a year as well. From 1 to 12.
- Day (`day`, number): The publication day, 1-31. Needs a year and month as well; usually easier to use the publication date instead. From 1 to 31.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `count` (number): Records on this page
- `day` (number)
- `has_more` (true/false): Whether another page follows
- `issues` (list): Congressional Record issues with links to each section's PDF
- `limit` (number): Page size that was requested
- `month` (number)
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page
- `year` (number)

**Example output**

```json
{
  "count": 1,
  "day": 28,
  "has_more": true,
  "issues": [
    {
      "Congress": "117",
      "Id": 26958,
      "Issue": "109",
      "Links": {
        "FullRecord": {
          "Label": "Entire Issue",
          "Ordinal": 5,
          "PDF": [
            {
              "Part": "1",
              "Url": "https://www.congress.gov/117/crec/2022/06/28/168/109/CREC-2022-06-28.pdf"
            }
          ]
        }
      },
      "PublishDate": "2022-06-28",
      "Session": "2",
      "Volume": "168"
    }
  ],
  "limit": 20,
  "month": 6,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42,
  "year": 2022
}
```

### List CRS reports

Congressional Research Service reports, newest first: the non-partisan analysis CRS writes for Congress on the issues before it. Filter by update date to follow new and revised reports.

**Inputs**

- Updated on or after (`from_datetime`, date and time): Only include records Congress.gov updated on or after this moment. Leave empty for no lower bound.
- Updated on or before (`to_datetime`, date and time): Only include records Congress.gov updated on or before this moment. Leave empty for no upper bound.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `reports` (list): CRS reports, each with its product number
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "reports": [
    {
      "contentType": "Reports",
      "id": "R47175",
      "publishDate": "2022-07-11T04:00:00Z",
      "status": "Active",
      "title": "Setting Budgetary Levels: The House's FY2023 Deeming Resolution",
      "updateDate": "2025-06-20T23:46:23Z",
      "url": "https://api.congress.gov/v3/crsreport/R47175",
      "version": 1
    }
  ],
  "total_count": 42
}
```

### List daily Congressional Record

Issues of the daily Congressional Record, newest first. Narrow to one volume; there is one volume per year, 171 for 2025. Each entry carries the volume and issue numbers the issue actions take.

**Inputs**

- Volume (`volume_number`, number): Narrow to one volume: one per year, 171 for 2025. Leave empty for the most recent issues. At least 1.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `issues` (list): Daily Congressional Record issues
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page
- `volume_number` (number)

**Example output**

```json
{
  "count": 1,
  "has_more": true,
  "issues": [
    {
      "congress": "119",
      "issueDate": "2025-01-03T05:00:00Z",
      "issueNumber": "1",
      "sessionNumber": "1",
      "updateDate": "2025-01-04T16:59:21Z",
      "url": "https://api.congress.gov/v3/daily-congressional-record/171/1?format=json",
      "volumeNumber": "171"
    }
  ],
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42,
  "volume_number": 171
}
```

### List hearings

Published hearing transcripts. Narrow to one Congress and chamber. Each entry carries the jacket number 'Get hearing' takes.

**Inputs**

- Congress (`congress`, number): Narrow the list to one Congress. Leave empty to search across all of them, newest first. From 1 to 999.
- Chamber (`chamber`, text): Narrow the list to one chamber. Leave empty for all of them. One of: `house`, `senate`, `joint`.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `chamber` (text)
- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `hearings` (list): Hearing transcripts, each with its jacket number
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "chamber": "house",
  "congress": 118,
  "count": 1,
  "has_more": true,
  "hearings": [
    {
      "chamber": "House",
      "congress": 118,
      "jacketNumber": 50896,
      "updateDate": "2025-11-04T03:21:12Z",
      "url": "https://api.congress.gov/v3/hearing/118/house/50896?format=json"
    }
  ],
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42
}
```

### List House communications

Communications received by the House: the executive communications, memorials, presidential messages and petitions it logs and refers to committee. Narrow to one Congress and type.

**Inputs**

- Congress (`congress`, number): Narrow the list to one Congress. Leave empty to search across all of them, newest first. From 1 to 999.
- Communication type (`communication_type`, text): Narrow to one kind of communication. Needs a Congress as well. Leave empty for every type. One of: `ec` (Executive communication), `ml` (Memorial), `pm` (Presidential message), `pt` (Petition).
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `communication_type` (text)
- `communications` (list): House communications
- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "communication_type": "ec",
  "communications": [
    {
      "chamber": "House",
      "communicationType": {
        "code": "EC",
        "name": "Executive Communication"
      },
      "congress": 118,
      "number": "3324",
      "referralDate": "2024-03-07",
      "updateDate": "2024-09-03",
      "url": "https://api.congress.gov/v3/house-communication/118/ec/3324?format=json"
    }
  ],
  "congress": 118,
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42
}
```

### List House reporting requirements

House reporting requirements: the standing obligations on federal agencies to report to the House, each with the number 'Get House reporting requirement' takes.

**Inputs**

- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `requirements` (list): House reporting requirements
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "requirements": [
    {
      "number": 8070,
      "updateDate": "2021-08-13",
      "url": "https://api.congress.gov/v3/house-requirement/8070?format=json"
    }
  ],
  "total_count": 42
}
```

### List House votes

House roll call votes, newest first, each with what was voted on, the result and the roll call number. Congress.gov holds House roll call votes from the 117th Congress onwards.

**Inputs**

- Congress (`congress`, number): Narrow the list to one Congress. Leave empty to search across all of them, newest first. From 1 to 999.
- Session (`session`, text): Narrow the list to one session. Needs a Congress as well. Leave empty for both. One of: `1` (First session (odd-numbered year)), `2` (Second session (even-numbered year)).
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `session` (number)
- `total_count` (number): Records matching in all, across every page
- `votes` (list): House roll call votes

**Example output**

```json
{
  "congress": 119,
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "session": 1,
  "total_count": 42,
  "votes": [
    {
      "congress": 119,
      "identifier": 1191202517,
      "legislationNumber": "30",
      "legislationType": "HR",
      "legislationUrl": "https://congress.gov/bill/119/house-bill/30",
      "result": "Passed",
      "rollCallNumber": 17,
      "sessionNumber": 1,
      "sourceDataURL": "https://clerk.house.gov/evs/2025/roll017.xml",
      "startDate": "2025-01-16T11:00:00-05:00",
      "url": "https://api.congress.gov/v3/house-vote/119/1/17",
      "voteType": "Yea-and-Nay"
    }
  ]
}
```

### List laws

The bills that became law in one Congress. Narrow to public or private laws, or leave the type empty for both. Each entry carries the law number alongside the bill it came from.

**Inputs**

- Congress (`congress`, number, required): Which Congress the record belongs to. Pick from the list (the 119th Congress sits in 2025-2026). From 1 to 999.
- Law type (`law_type`, text): Public laws apply generally; private laws affect named individuals. Leave empty for both. One of: `pub` (Public law), `priv` (Private law).
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `law_type` (text)
- `laws` (list): Bills that became law, each with its law number
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "congress": 117,
  "count": 1,
  "has_more": true,
  "law_type": "pub",
  "laws": [
    {
      "congress": 117,
      "introducedDate": "2021-05-11",
      "latestAction": {
        "actionDate": "2022-04-06",
        "text": "Became Public Law No: 117-108."
      },
      "laws": [
        {
          "number": "117-108",
          "type": "Public Law"
        }
      ],
      "number": "3076",
      "originChamber": "House",
      "originChamberCode": "H",
      "title": "Postal Service Reform Act of 2022",
      "type": "HR",
      "updateDate": "2022-09-29",
      "url": "https://api.congress.gov/v3/bill/117/hr/3076?format=json"
    }
  ],
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42
}
```

### List members

Members of Congress, most recently updated first. Narrow to one Congress, or turn on 'Currently serving only' for the members in office now. Each entry carries the bioguide id the member actions take.

**Inputs**

- Congress (`congress`, number): Narrow the list to one Congress. Leave empty to search across all of them, newest first. From 1 to 999.
- Currently serving only (`current_member`, true/false): Turn on to list only members in office now. Off includes everyone who has ever served.
- Updated on or after (`from_datetime`, date and time): Only include records Congress.gov updated on or after this moment. Leave empty for no lower bound.
- Updated on or before (`to_datetime`, date and time): Only include records Congress.gov updated on or before this moment. Leave empty for no upper bound.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `members` (list): Members, each with a bioguide id, party, state and portrait
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "congress": 119,
  "count": 1,
  "has_more": true,
  "limit": 20,
  "members": [
    {
      "bioguideId": "L000174",
      "depiction": {
        "attribution": "Courtesy U.S. Senate Historical Office",
        "imageUrl": "https://www.congress.gov/img/member/l000174_200.jpg"
      },
      "name": "Leahy, Patrick J.",
      "partyName": "Democratic",
      "state": "Vermont",
      "terms": {
        "item": [
          {
            "chamber": "Senate",
            "startYear": 1975
          }
        ]
      },
      "updateDate": "2022-11-07T13:42:19Z",
      "url": "https://api.congress.gov/v3/member/L000174?format=json"
    }
  ],
  "next_offset": 20,
  "offset": 0,
  "total_count": 42
}
```

### List members by state

Who represents a state (both senators and every representative) or, with a district number, the one member for that district. Add a Congress to ask who held the seat then rather than now.

**Inputs**

- State (`state_code`, text, required): The two-letter postal code for the state or territory: MI for Michigan, DC for the District of Columbia.
- District (`district`, number): The House district number. Leave empty for everyone the state sends to Congress. Use 0 for a state with a single at-large district. From 0 to 99.
- Congress (`congress`, number): Which Congress to ask about. Needs a district as well. Leave empty for the seat as it stands now. From 1 to 999.
- Currently serving only (`current_member`, true/false): Turn on to list only members in office now. Off includes everyone who has ever served.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `congress` (number)
- `count` (number): Records on this page
- `district` (number)
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `members` (list): Members representing the state or district
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `state_code` (text)
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "congress": null,
  "count": 1,
  "district": 10,
  "has_more": true,
  "limit": 20,
  "members": [
    {
      "bioguideId": "L000174",
      "depiction": {
        "attribution": "Courtesy U.S. Senate Historical Office",
        "imageUrl": "https://www.congress.gov/img/member/l000174_200.jpg"
      },
      "name": "Leahy, Patrick J.",
      "partyName": "Democratic",
      "state": "Vermont",
      "terms": {
        "item": [
          {
            "chamber": "Senate",
            "startYear": 1975
          }
        ]
      },
      "updateDate": "2022-11-07T13:42:19Z",
      "url": "https://api.congress.gov/v3/member/L000174?format=json"
    }
  ],
  "next_offset": 20,
  "offset": 0,
  "state_code": "MI",
  "total_count": 42
}
```

### List nominations

Presidential nominations sent to the Senate, newest first, each with its PN citation, who was nominated and where it stands. Narrow to one Congress.

**Inputs**

- Congress (`congress`, number): Narrow the list to one Congress. Leave empty to search across all of them, newest first. From 1 to 999.
- Updated on or after (`from_datetime`, date and time): Only include records Congress.gov updated on or after this moment. Leave empty for no lower bound.
- Updated on or before (`to_datetime`, date and time): Only include records Congress.gov updated on or before this moment. Leave empty for no upper bound.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `nominations` (list): Nominations, each with its PN citation
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "congress": 117,
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "nominations": [
    {
      "citation": "PN2804",
      "congress": 117,
      "description": "Mary Anne Carter, of Tennessee, to be Chairperson of the National Endowment for the Arts for a term of four years.",
      "latestAction": {
        "actionDate": "2022-12-07",
        "text": "Received in the Senate and referred to the Committee."
      },
      "nominationType": {
        "isCivilian": true,
        "isMilitary": false
      },
      "number": 2804,
      "partNumber": "00",
      "receivedDate": "2022-12-07",
      "updateDate": "2022-12-08T05:25:17Z",
      "url": "https://api.congress.gov/v3/nomination/117/2804?format=json"
    }
  ],
  "offset": 0,
  "total_count": 42
}
```

### List Senate communications

Communications received by the Senate: executive communications, presidential messages, and petitions and memorials. Narrow to one Congress and type.

**Inputs**

- Congress (`congress`, number): Narrow the list to one Congress. Leave empty to search across all of them, newest first. From 1 to 999.
- Communication type (`communication_type`, text): Narrow to one kind of communication. Needs a Congress as well. Leave empty for every type. One of: `ec` (Executive communication), `pm` (Presidential message), `pom` (Petition or memorial).
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `communication_type` (text)
- `communications` (list): Senate communications
- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page

**Example output**

```json
{
  "communication_type": "ec",
  "communications": [
    {
      "chamber": "Senate",
      "communicationType": {
        "code": "EC",
        "name": "Executive Communication"
      },
      "congress": 118,
      "number": "1615",
      "referralDate": "2024-03-07",
      "updateDate": "2024-09-03",
      "url": "https://api.congress.gov/v3/senate-communication/117/ec/1615?format=json"
    }
  ],
  "congress": 117,
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42
}
```

### List treaties

Treaties sent to the Senate for advice and consent, newest first, each with its topic and the date it was transmitted. Narrow to one Congress.

**Inputs**

- Congress (`congress`, number): Narrow the list to one Congress. Leave empty to search across all of them, newest first. From 1 to 999.
- Updated on or after (`from_datetime`, date and time): Only include records Congress.gov updated on or after this moment. Leave empty for no lower bound.
- Updated on or before (`to_datetime`, date and time): Only include records Congress.gov updated on or before this moment. Leave empty for no upper bound.
- Number of records (`limit`, number): How many records to return, 1-250. Defaults to 20. From 1 to 250. Default: `20`.
- Skip (`offset`, number): How many records to skip before the first one returned; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 1000000. Default: `0`.

**Outputs**

- `congress` (number)
- `count` (number): Records on this page
- `has_more` (true/false): Whether another page follows
- `limit` (number): Page size that was requested
- `next_offset` (number): Offset that reads the next page, or null at the end
- `offset` (number): Records skipped before this page
- `total_count` (number): Records matching in all, across every page
- `treaties` (list): Treaties before the Senate

**Example output**

```json
{
  "congress": 117,
  "count": 1,
  "has_more": true,
  "limit": 20,
  "next_offset": 20,
  "offset": 0,
  "total_count": 42,
  "treaties": [
    {
      "congressConsidered": 117,
      "congressReceived": 117,
      "number": 3,
      "suffix": "",
      "topic": "Taxation",
      "transmittedDate": "2021-05-17T00:00:00Z",
      "updateDate": "2022-02-26T16:25:25Z",
      "url": "https://api.congress.gov/v3/treaty/117/3?format=json"
    }
  ]
}
```
