# Legiscan — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Track and monitor legislative bills across all US states, search by topic or bill number, and access full bill text and datasets to stay informed on current legislation. Get detailed information on bill status, sponsors, and voting records without needing authentication.

**Category:** Government & Public Data | **Website:** [legiscan.com/](https://legiscan.com/) | **Docs:** [parse.bot/marketplace/3f4bbe86-7a41-4b26-96b4-52d8d94bfd2d/legiscan-com-api](https://parse.bot/marketplace/3f4bbe86-7a41-4b26-96b4-52d8d94bfd2d/legiscan-com-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/credits/legiscan/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Get bill details

Retrieve structured metadata for a single bill identified by state, bill number, and session year. Returns the page title (containing state, bill identifier, and session info) and a summary describing the bill's purpose. A 404 means the bill does not exist for the given parameters.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `bill_number` | string | Yes | Bill number (e.g., AB414, HB202, SB638) |
| `state` | string | Yes | Two-letter US state code (e.g., CA, NY) |
| `year` | string | Yes | Session year (e.g., 2025) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/legiscan/get-bill-details \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"bill_number":"<string>","state":"<string>","year":"<string>"}'
```

### Get bill text

Retrieve the full legal text of a bill. Identify the bill either by providing the full text URL (from search results) or by providing all three components: state, bill_number, and year. The text URL form is preferred when available from search results. Returns the complete bill text as a string.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `bill_number` | string | No | Bill number (e.g., AB414, HB202). Required if url is not provided. |
| `state` | string | No | Two-letter US state code (e.g., CA, NY). Required if url is not provided. |
| `url` | string | No | Full text URL from search results (e.g., https://legiscan.com/CA/text/AB414/2025). Alternative to providing state, bill_number, and year. |
| `year` | string | No | Session year (e.g., 2025). Required if url is not provided. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/legiscan/get-bill-text \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"bill_number":"<string>","state":"<string>","url":"<string>","year":"<string>"}'
```

### Search bills

Full-text search over US legislative bills, filterable by state and session year. Returns paginated bill summaries including state, bill number, status, title, last action date, and links to detail and text pages. Pagination is 0-based. An empty result set is valid when no bills match the query.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (0-based) |
| `query` | string | No | Search keyword for full text search of bills |
| `state` | string | No | Two-letter US state code (e.g., CA, NY, TX) or ALL for national search |
| `year` | string | No | Filter by session year (e.g., 2025). Omitting returns current session results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/legiscan/search-bills \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","query":"<string>","state":"<string>","year":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://paywithlocus.com/agent/index.md): every Locus agent page.