/api/v1
Documentation
One REST API for every current US officeholder — no key required to explore.
Quick start
The base URL is https://civiclens.io/api/v1. Every endpoint is a GET that returns JSON — this one selects a single Texas House seat.
$ curl "https://civiclens.io/api/v1/members\
?state=tx&chamber=lower&district=30"
{
"id": "ocd-person/7f1c9e2a-41b6-4c8d-9a3e-5d2f8b6c0e14",
"name": "Dana Whitfield",
"party": "Republican",
"government": {
"level": "state",
"chamber": "lower",
"district": "30",
"stateCode": "tx"
},
"contactInfo": { "email": "dana.whitfield@house.texas.gov" }
}First time here? Start with Getting started.
Guides
Learn the API
Getting started
Your first call in 60 seconds.
Read the guide →Filtering members
Slice the full dataset by state, chamber, district, party or name — filters combine.
Read the guide →The vacancy feed
Seats are vacated explicitly, with a reason and a date — poll one endpoint to know.
Read the guide →Data standards
What is true of every published field.
Read the guide →Authentication
Where keys stand today.
Read the guide →Endpoints
Every endpoint
By jurisdiction
Statistics
Specification
Reference
Field coverage
Per-field coverage figures, measured on a live sample and refreshed continuously.
See the spec sheet →Machine-readable
The full OpenAPI document is served at /api/v1/openapi.json with permissive CORS. Every page here renders from it, so the two cannot disagree.