---
title: "List Bills"
method: GET
path: "/api/v1/bills"
tags: ["bills"]
---

# List Bills

`GET /api/v1/bills`

## Request

- Base URL: `https://api.billcommons.org`
- URL: `https://api.billcommons.org/api/v1/bills`
- Auth: none declared

## Query parameters

- `jurisdiction` string, nullable: Jurisdiction abbreviation, e.g. NC
- `session` string, nullable: Session identifier
- `identifier` string, nullable: Bill number, matched on the normalized form -- 'HB123', 'hb 123' and 'H.B. 123' all find HB 123. Combine with jurisdiction (and session) to resolve a single bill.
- `q` string, nullable: Free-text search over title/description; a bill-number-shaped value (e.g. 'S9008', 'HB 123') ALSO matches on the normalized identifier and those matches are returned first, so callers don't need to know about `identifier=` to look a bill up by number.
- `chamber` string, nullable
- `status` string, nullable
- `subject` string, nullable: Subject/topic tag, matched case-insensitively
- `sponsor` string, nullable: Sponsor name, case-insensitive substring. Sponsor names are stored as the source published them -- usually a bare surname ('Rouson'), sometimes a committee ('Appropriations Committee on Health'). There is no legislator directory behind this, so a surname shared by two members returns both, and party/district cannot be filtered on.
- `page` integer
- `per_page` integer

## Response `200`

Successful Response

- PageBillSummary
  - `data` BillSummary[], required
    - `id` string, uuid, required
    - `jurisdiction_id` string, uuid, required
    - `session_id` string, uuid, required
    - `jurisdiction_abbreviation` string, nullable
    - `session_identifier` string, nullable
    - `chamber` string, nullable
    - `identifier` string, required
    - `identifier_norm` string, required
    - `title` string, required
    - `short_title` string, nullable
    - `bill_type` string, nullable
    - `status` string, nullable
    - `status_date` string, date, nullable
    - `introduced_date` string, date, nullable
    - `latest_action_text` string, nullable
    - `latest_action_date` string, date, nullable
    - `source_url` string, nullable
    - `updated_at` string, date-time, nullable
  - `pagination` PaginationMeta, required
    - `page` integer, required
    - `per_page` integer, required
    - `total` integer, required
    - `total_pages` integer, required
  - `meta` ResponseMeta, required
    - `source_freshness` string, nullable
    - `api_version` string, required
    - `request_id` string, required
    - `data_status` string, nullable
    - `notice` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/billcommons/apis/bill-commons-api.md) · [All operations](https://skmtc.dev/billcommons/apis/bill-commons-api/llms.txt) · [OpenAPI document](https://skmtc.dev/billcommons/apis/bill-commons-api/revisions/bfb8cd50a317?raw)
