# Citizens Count — 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.

> Access candidate profiles, election results, bill details, and policy topics from Citizens Count. Find elected officials by town, retrieve voter education guides, and search across candidates, legislation, and news — all from one structured API.

**Category:** Government & Public Data | **Website:** [citizenscount.org/](https://citizenscount.org/) | **Docs:** [parse.bot/marketplace/4e31a600-9482-4171-a570-a8215316cb87/citizenscount-org-api](https://parse.bot/marketplace/4e31a600-9482-4171-a570-a8215316cb87/citizenscount-org-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-citizenscount-org-api-4e31a600/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_article_detail

Retrieve full text of a specific article or news story by its path slug. Returns the article title, body content, publication date, and full URL.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Article path starting with /news/ or /issues/ (e.g. '/news/should-new-hampshire-allow-hunting-air-rifle') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-citizenscount-org-api-4e31a600/get_article_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### get_articles_list

Retrieve a paginated list of discussion topics and news stories from the latest discussion page. Each entry includes the article title, URL, and a comment snippet.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number (0-indexed). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-citizenscount-org-api-4e31a600/get_articles_list \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>"}'
```

### get_bill_detail

Retrieve full details for a specific bill by slug, including title, summary, sponsor, and status information.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Bill slug identifier from get_bills_list (e.g. 'cacr-10-2026', 'hb-609-2025') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-citizenscount-org-api-4e31a600/get_bill_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### get_bills_list

Retrieve a paginated list of NH bill summaries. Can optionally filter by policy topic. Each page returns up to 25 bills.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number (0-indexed). |
| `topic` | string | No | Filter by topic slug (e.g. 'guns', 'marijuana'). Available slugs from get_topics_list. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-citizenscount-org-api-4e31a600/get_bills_list \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","topic":"<string>"}'
```

### get_candidate_list

Retrieve the full A-Z list of candidate and officeholder profiles from Citizens Count NH. Returns all candidates with their names, slugs, and profile URLs. No pagination — all candidates returned in a single request.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-citizenscount-org-api-4e31a600/get_candidate_list \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_candidate_profile

Retrieve a detailed profile for a specific candidate/officeholder by their slug. Returns biographical info, party affiliation, policy positions, current office, and contact links. The slug is available from get_candidate_list or get_elected_officials_by_town.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Candidate slug identifier (e.g. 'kelly-ayotte', 'donald-trump-0') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-citizenscount-org-api-4e31a600/get_candidate_profile \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### get_elected_officials

Get current elected officials browsable by category. Returns a list of office categories (e.g. US President, NH Governor, US Senate) with links to their detail pages.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-citizenscount-org-api-4e31a600/get_elected_officials \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_elected_officials_by_town

Get currently elected officials representing a specific town or voting ward. Returns representatives at all levels (federal, state, local) for the given town.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `town_slug` | string | Yes | Town slug in county/town format (e.g. 'sullivan/acworth', 'rockingham/auburn'). Available slugs can be retrieved from the get_nh_towns_list endpoint. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-citizenscount-org-api-4e31a600/get_elected_officials_by_town \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"town_slug":"<string>"}'
```

### get_election_results

Retrieve detailed results for a specific election by slug. Returns race results with candidate names, parties, vote counts, and percentages.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Election slug identifier from get_elections_list (e.g. '2026-nh-house-special-election-ossipee-tuftonboro-and-wolfeboro-0') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-citizenscount-org-api-4e31a600/get_election_results \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### get_elections_list

Retrieve the list of upcoming and past elections tracked by Citizens Count. Returns election name, URL, and slug for each election.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-citizenscount-org-api-4e31a600/get_elections_list \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_nh_towns_list

Retrieve the full list of NH towns, cities, and wards with their county/town slugs. Used to look up representatives by town.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-citizenscount-org-api-4e31a600/get_nh_towns_list \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_topic_detail

Retrieve details for a specific policy topic including description content and related bills.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Topic slug identifier from get_topics_list (e.g. 'guns', 'marijuana', 'voting-rights') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-citizenscount-org-api-4e31a600/get_topic_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### get_topics_list

Retrieve the full list of policy topics covered by Citizens Count. Topics can be used to filter bills.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-citizenscount-org-api-4e31a600/get_topics_list \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_voter_information

Retrieve voter education guides with articles on how to register, vote, research candidates, and more.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-citizenscount-org-api-4e31a600/get_voter_information \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### search_site

Perform a site-wide search by keyword across Citizens Count content. Returns matching articles, issues, and pages with title, URL, and text snippet.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search keyword or phrase |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-citizenscount-org-api-4e31a600/search_site \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```
