---
title: "Search"
method: GET
path: "/api/v1/search"
tags: ["search"]
---

# Search

`GET /api/v1/search`

## Request

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

## Query parameters

- `q` string, nullable: Search text; bill-number, keyword, or phrase
- `jurisdiction` string, nullable: Jurisdiction abbreviation, e.g. NC
- `session` string, nullable: Session identifier
- `chamber` string, nullable
- `status` string, nullable
- `sponsor` string, nullable
- `subject` string, nullable
- `committee` string, nullable
- `date_from` string, date, nullable
- `date_to` string, date, nullable
- `sort` string
- `page` integer
- `per_page` integer

## Response `200`

Successful Response

- PageSearchResult
  - `data` SearchResult[], 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
    - `rank` number, nullable
    - `highlight` string, nullable: Plain text (never HTML) with matched fragments wrapped in the sentinel tokens '⟦H⟧'...'⟦/H⟧' (see billcommons_api.search HIGHLIGHT_START_SENTINEL/HIGHLIGHT_STOP_SENTINEL). Source titles/descriptions/document text come from upstream jurisdictions and are not sanitized -- clients must split on the sentinels and render their own emphasis (e.g. <mark>); never render this field with dangerouslySetInnerHTML or any raw-HTML sink.
    - `match_type` string, required
  - `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)
