Discover/Citizens Count API
live

Citizens Count APIcitizenscount.org

Access NH candidate profiles, election results, bill details, elected officials by town, and voter guides from Citizens Count via a structured REST API.

Endpoint health
verified 4d ago
get_election_results
get_bills_list
get_bill_detail
get_topic_detail
search_site
15/15 passing latest checkself-healing
Endpoints
15
Updated
26d ago

What is the Citizens Count API?

The Citizens Count NH API exposes 15 endpoints covering New Hampshire political data including candidate profiles, election results, bill tracking, and elected officials by town. Use get_candidate_profile to pull a candidate's party affiliation and policy positions by slug, or get_elected_officials_by_town to retrieve every representative at the federal, state, and local level for a specific NH municipality.

Try it

No input parameters required.

api.parse.bot/scraper/b478096f-c6b1-4653-9c31-f53541f97170/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/b478096f-c6b1-4653-9c31-f53541f97170/get_candidate_list' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace citizenscount-org-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Citizens Count NH — research NH political data, bills, and elections."""
from parse_apis.citizens_count_api import CitizensCount, NotFound

client = CitizensCount()

# List topics and drill into one for related bills
topic = client.topics.list(limit=3).first()
if topic:
    detail = client.topics.get(slug=topic.slug)
    print(detail.title, detail.content[:80])

# Search for content across the site
for result in client.searchresults.search(query="marijuana", limit=3):
    print(result.title, result.url)

# Browse bills filtered by topic, then get full detail on one
bill_summary = client.billsummaries.list(topic="guns", limit=1).first()
if bill_summary:
    bill = bill_summary.details()
    print(bill.title, bill.summary)

# Look up representatives for a specific town via sub-resource
town = client.town(slug="sullivan/acworth")
for rep in town.representatives.list(limit=5):
    print(rep.name, rep.office)

# Get election results via constructible Election sub-resource
election = client.election(slug="2026-nh-house-special-election-ossipee-tuftonboro-and-wolfeboro-0")
for result in election.results.list(limit=3):
    print(result.candidate, result.party, result.votes)

# Typed error handling for a missing candidate
try:
    client.candidates.get(slug="nonexistent-person-xyz")
except NotFound as exc:
    print(f"not found: {exc.slug}")

print("exercised: topics.list / topics.get / searchresults.search / billsummaries.list / bill.details / town.representatives.list / election.results.list / candidates.get")
All endpoints · 15 totalmissing one? ·

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.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "total": "integer total number of candidates",
    "candidates": "array of candidate summary objects with name, slug, and url"
  },
  "sample": {
    "data": {
      "total": 3625,
      "candidates": [
        {
          "url": "https://www.citizenscount.org/candidate/kimberly-abare",
          "name": "Kimberly Abare",
          "slug": "kimberly-abare"
        },
        {
          "url": "https://www.citizenscount.org/candidate/daryl-abbas",
          "name": "Daryl A. Abbas",
          "slug": "daryl-abbas"
        }
      ]
    },
    "status": "success"
  }
}

About the Citizens Count API

Candidate and Official Data

The get_candidate_list endpoint returns the full A-Z roster of candidates and officeholders — name, slug, and profile URL — in a single request with no pagination. Pass a slug to get_candidate_profile to retrieve that person's party affiliation, current office, and an array of policy position objects, each containing an issue label, stance, and description. get_elected_officials_by_town accepts a town_slug in county/town format (e.g. sullivan/acworth) and returns representatives across all government levels for that location. Use get_nh_towns_list to enumerate all valid town slugs before querying by town.

Bills and Policy Topics

get_bills_list returns up to 25 bill summaries per page (0-indexed) and accepts an optional topic filter using slugs drawn from get_topics_list — for example guns or marijuana. Each bill object includes a bill number, status, and short description. get_bill_detail goes deeper: pass a bill slug like hb-609-2025 to receive the full summary, title, sponsor information, and a became_law field indicating final disposition. get_topic_detail returns the topic's description text plus an array of related bill titles for cross-referencing legislation to policy areas.

Elections and Results

get_elections_list returns every election tracked by Citizens Count — past and upcoming — with names and slugs. Feed a slug to get_election_results to get race-level results: candidate name, party, vote count, and percentage for each race in that election. This makes it straightforward to build historical win/loss records or compare margin data across election cycles.

Articles, Search, and Voter Information

search_site accepts a keyword or phrase and returns matching content across all Citizens Count content types — articles, issues, and candidate pages — with title, URL, and a text snippet per result. get_articles_list paginates the site's discussion and news feed; get_article_detail accepts a path slug beginning with /news/ or /issues/ and returns the full article body, publication date, and URL. get_voter_information returns a structured voter education guide with article titles and URLs covering registration, voting procedures, and candidate research.

Reliability & maintenanceVerified

The Citizens Count API is a managed, monitored endpoint for citizenscount.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when citizenscount.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official citizenscount.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
4d ago
Latest check
15/15 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a ward-level constituent tool that maps any NH address to its full set of elected representatives using get_elected_officials_by_town.
  • Track the legislative status of NH bills filtered by policy topic, using get_bills_list with a topic slug and get_bill_detail for full summaries.
  • Generate candidate comparison pages by pulling policy position arrays from get_candidate_profile for two or more slugs.
  • Display live and historical NH election results by race, candidate, and vote percentage using get_election_results.
  • Populate a policy topic hub with related legislation by combining get_topic_detail and get_bill_detail.
  • Power a site-wide political search feature using search_site to surface candidates, bills, and news articles in one query.
  • Curate voter education content for a civic app using the structured article list returned by get_voter_information.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Citizens Count have an official developer API?+
Citizens Count does not publish an official public developer API. This Parse API provides structured programmatic access to data from citizenscount.org.
What does get_candidate_profile return beyond basic biography?+
It returns the candidate's full name, party affiliation, current office (if any), and a positions array. Each position object includes the policy issue, the candidate's stance, and a text description of that stance — enough to build a side-by-side issues comparison without additional scraping.
How does bill filtering work in get_bills_list?+
get_bills_list accepts an optional topic parameter using a topic slug (e.g. 'guns', 'voting-rights'). Valid slugs come from get_topics_list. Without a topic filter the endpoint returns all tracked NH bills paginated at 25 per page using a 0-indexed page parameter.
Does the API cover NH state legislative committee votes or roll-call vote records for individual legislators?+
Not currently. The API covers bill status, summaries, and final disposition via get_bill_detail, plus candidate-level policy positions via get_candidate_profile. Roll-call vote records and committee vote breakdowns are not included. You can fork this API on Parse and revise it to add an endpoint targeting that data if it becomes available on the site.
Is election data limited to New Hampshire?+
Yes — Citizens Count is an NH-focused site, so all elections, candidates, officials, towns, and bills returned by this API are specific to New Hampshire. Federal officials representing NH (US Senators, Representatives) are included, but data from other states is not covered. You can fork this API on Parse and revise it to point at a comparable civic data source for another state.
Page content last updated . Spec covers 15 endpoints from citizenscount.org.
Related APIs in Government PublicSee all →
indiavotes.com API
Access comprehensive Indian election data including Lok Sabha and Vidhan Sabha results, search candidates by name, explore constituency details, and compare party performance across historical elections. Track election results across states and parliamentary/assembly constituencies all in one place.
legiscan.com API
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.
harriscountytx.gov API
Access official Harris County government data including election results, county services and facilities like parks and libraries, public notices, and Commissioners Court meeting schedules. Stay informed about local government activities and find information about Harris County services all in one place.
naco.org API
Search and explore detailed U.S. county government information, including profiles, economic indicators, funding data, and research resources all in one place. Quickly access bulk county statistics and NACo insights to support planning, analysis, and decision-making at the local government level.
pewresearch.org API
Search and retrieve Pew Research Center publications, reports, and expert profiles across a wide range of topics, including technology, politics, science, religion, and social trends. Access detailed report content, key findings, charts, and methodology information, and filter results by topic, format, or region to stay informed on the latest research and data.
allsides.com API
Get balanced news coverage from multiple political perspectives and discover media bias ratings to understand how outlets lean Left, Center, or Right. Search headlines by topic and perspective to compare how different viewpoints cover the same stories.
cbinsights.com API
Access CB Insights data including company and investor profiles, funding history, competitor maps, the unicorn list, and research reports.
cornucopia.org API
Access organic food scorecards, brand ratings, research documents, and news from The Cornucopia Institute. Search and filter across dairy, egg, beef, poultry, and other organic product categories.