Open States committees API
The committees API from Open States — 2 operation(s) for committees.
The committees API from Open States — 2 operation(s) for committees.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/openstates-committees-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Open States API v3 bills Committees API
description: '
* [More documentation](https://docs.openstates.org/en/latest/api/v3/index.html)
* [Register for an account](https://openstates.org/accounts/signup/)
**We are currently working to restore experimental support for committees & events.**
During this period please note that data is not yet available for all states
and the exact format of the new endpoints may change slightly depending on user feedback.
If you have any issues or questions use our
[GitHub Issues](https://github.com/openstates/issues/issues) to give feedback.'
version: 2021.11.12
servers:
- url: https://v3.openstates.org/
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: committees
paths:
/committees:
get:
tags:
- committees
summary: Committee List
operationId: committee_list_committees_get
parameters:
- description: Filter by jurisdiction name or ID.
required: false
schema:
title: Jurisdiction
type: string
description: Filter by jurisdiction name or ID.
name: jurisdiction
in: query
- required: false
schema:
$ref: '#/components/schemas/CommitteeClassification'
name: classification
in: query
- description: ocd-organization ID of parent committee.
required: false
schema:
title: Parent
type: string
description: ocd-organization ID of parent committee.
name: parent
in: query
- description: Chamber of committee, generally upper or lower.
required: false
schema:
allOf:
- $ref: '#/components/schemas/OrgClassification'
description: Chamber of committee, generally upper or lower.
name: chamber
in: query
- description: Additional includes for the Committee response.
required: false
schema:
type: array
items:
$ref: '#/components/schemas/CommitteeInclude'
description: Additional includes for the Committee response.
default: []
name: include
in: query
- required: false
schema:
title: Apikey
type: string
name: apikey
in: query
- required: false
schema:
title: Page
type: integer
default: 1
name: page
in: query
- required: false
schema:
title: Per Page
type: integer
default: 20
name: per_page
in: query
- required: false
schema:
title: X-Api-Key
type: string
name: x-api-key
in: header
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/CommitteeList'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/committees/{committee_id}:
get:
tags:
- committees
summary: Committee Detail
description: Get details on a single committee by ID.
operationId: committee_detail_committees__committee_id__get
parameters:
- required: true
schema:
title: Committee Id
type: string
name: committee_id
in: path
- description: Additional includes for the Committee response.
required: false
schema:
type: array
items:
$ref: '#/components/schemas/CommitteeInclude'
description: Additional includes for the Committee response.
default: []
name: include
in: query
- required: false
schema:
title: Apikey
type: string
name: apikey
in: query
- required: false
schema:
title: X-Api-Key
type: string
name: x-api-key
in: header
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Committee'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
OrgClassification:
title: OrgClassification
enum:
- legislature
- executive
- lower
- upper
- government
type: string
description: An enumeration.
CommitteeInclude:
title: CommitteeInclude
enum:
- memberships
- links
- sources
type: string
description: An enumeration.
Link:
title: Link
required:
- url
type: object
properties:
url:
title: Url
type: string
example: https://example.com/
note:
title: Note
type: string
example: homepage
CommitteeList:
title: CommitteeList
required:
- results
- pagination
type: object
properties:
results:
title: Results
type: array
items:
$ref: '#/components/schemas/Committee'
pagination:
$ref: '#/components/schemas/PaginationMeta'
CommitteeMembership:
title: CommitteeMembership
required:
- person_name
- role
type: object
properties:
person_name:
title: Person Name
type: string
role:
title: Role
type: string
person:
$ref: '#/components/schemas/CompactPerson'
CommitteeClassification:
title: CommitteeClassification
enum:
- committee
- subcommittee
type: string
description: An enumeration.
ValidationError:
title: ValidationError
required:
- loc
- msg
- type
type: object
properties:
loc:
title: Location
type: array
items:
anyOf:
- type: string
- type: integer
msg:
title: Message
type: string
type:
title: Error Type
type: string
Committee:
title: Committee
required:
- id
- name
- classification
- parent_id
- extras
type: object
properties:
id:
title: Id
type: string
example: ocd-organization/aabbbbcc-dddd-eeee-ffff-0123456789ab
name:
title: Name
type: string
example: Health & Public Services
classification:
$ref: '#/components/schemas/CommitteeClassification'
parent_id:
title: Parent Id
type: string
example: ocd-organization/aabbbbcc-dddd-eeee-ffff-999988887777
extras:
title: Extras
type: object
example:
room: Room 4B
memberships:
title: Memberships
type: array
items:
$ref: '#/components/schemas/CommitteeMembership'
other_names:
title: Other Names
type: array
items:
$ref: '#/components/schemas/AltName'
links:
title: Links
type: array
items:
$ref: '#/components/schemas/Link'
sources:
title: Sources
type: array
items:
$ref: '#/components/schemas/Link'
PaginationMeta:
title: PaginationMeta
required:
- per_page
- page
- max_page
- total_items
type: object
properties:
per_page:
title: Per Page
type: integer
example: 20
page:
title: Page
type: integer
example: 1
max_page:
title: Max Page
type: integer
example: 3
total_items:
title: Total Items
type: integer
example: 52
HTTPValidationError:
title: HTTPValidationError
type: object
properties:
detail:
title: Detail
type: array
items:
$ref: '#/components/schemas/ValidationError'
CompactPerson:
title: CompactPerson
required:
- id
- name
- party
type: object
properties:
id:
title: Id
type: string
example: ocd-person/adb58f21-f2fd-4830-85b6-f490b0867d14
name:
title: Name
type: string
example: Angela Augusta
party:
title: Party
type: string
example: Democratic
current_role:
$ref: '#/components/schemas/CurrentRole'
CurrentRole:
title: CurrentRole
required:
- title
- org_classification
type: object
properties:
title:
title: Title
type: string
example: Senator
org_classification:
allOf:
- $ref: '#/components/schemas/OrgClassification'
example: upper
district:
title: District
anyOf:
- type: string
- type: integer
default: ''
example: 3
division_id:
title: Division Id
type: string
default: ''
example: ocd-division/country:us/state:nc/sldu:3
AltName:
title: AltName
required:
- name
- note
type: object
properties:
name:
title: Name
type: string
example: Auggie
note:
title: Note
type: string
example: nickname