FiscalNote Legislators API
Access legislator-specific data including voting records, sponsored legislation, and committee memberships.
Access legislator-specific data including voting records, sponsored legislation, and committee memberships.
openapi: 3.1.0
info:
title: FiscalNote AppData Bills Legislators API
description: The FiscalNote AppData API provides access to FiscalNote's data on legislation and regulations, both past and present, in the United States and globally. It also exposes organizational data from the FiscalNote platform including issues and labels. Developers can use the API to integrate legislative tracking, regulatory monitoring, and policy analysis capabilities into their own applications and workflows.
version: '1.0'
contact:
name: FiscalNote Support
url: https://fiscalnote.com/contact
termsOfService: https://fiscalnote.com/terms
servers:
- url: https://api.fiscalnote.com
description: Production Server
security:
- apiKey: []
tags:
- name: Legislators
description: Access legislator-specific data including voting records, sponsored legislation, and committee memberships.
paths:
/people/v2/legislators:
get:
operationId: listLegislators
summary: FiscalNote List legislators
description: Returns a paginated list of current and former legislators from federal, state, and international legislatures.
tags:
- Legislators
parameters:
- $ref: '#/components/parameters/jurisdictionParam'
- $ref: '#/components/parameters/chamberParam'
- $ref: '#/components/parameters/partyParam'
- $ref: '#/components/parameters/stateParam'
- name: district
in: query
required: false
description: Filter by district number or identifier.
schema:
type: string
- name: active
in: query
required: false
description: Filter by active status. Set to true for currently serving legislators.
schema:
type: boolean
- $ref: '#/components/parameters/queryParam'
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/offsetParam'
responses:
'200':
description: A paginated list of legislator records.
content:
application/json:
schema:
$ref: '#/components/schemas/LegislatorListResponse'
'401':
description: Authentication credentials are missing or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/people/v2/legislators/{legislatorId}:
get:
operationId: getLegislator
summary: FiscalNote Get legislator by ID
description: Returns detailed information about a specific legislator including biography, voting record, sponsored legislation, and committee memberships.
tags:
- Legislators
parameters:
- name: legislatorId
in: path
required: true
description: The unique identifier of the legislator.
schema:
type: string
responses:
'200':
description: Detailed legislator record.
content:
application/json:
schema:
$ref: '#/components/schemas/Legislator'
'401':
description: Authentication credentials are missing or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Legislator not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/people/v2/legislators/{legislatorId}/votes:
get:
operationId: listLegislatorVotes
summary: FiscalNote List legislator votes
description: Returns a paginated list of votes cast by a specific legislator.
tags:
- Legislators
parameters:
- name: legislatorId
in: path
required: true
description: The unique identifier of the legislator.
schema:
type: string
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/offsetParam'
responses:
'200':
description: A paginated list of vote records.
content:
application/json:
schema:
$ref: '#/components/schemas/VoteListResponse'
'401':
description: Authentication credentials are missing or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Legislator not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
parameters:
limitParam:
name: limit
in: query
required: false
description: Maximum number of results to return per page.
schema:
type: integer
minimum: 1
maximum: 100
default: 25
jurisdictionParam:
name: jurisdiction
in: query
required: false
description: Filter by jurisdiction code such as US, US-CA, GB, or EU.
schema:
type: string
partyParam:
name: party
in: query
required: false
description: Filter by political party affiliation.
schema:
type: string
offsetParam:
name: offset
in: query
required: false
description: Number of results to skip for pagination.
schema:
type: integer
minimum: 0
default: 0
queryParam:
name: q
in: query
required: false
description: Full-text search query to filter results.
schema:
type: string
stateParam:
name: state
in: query
required: false
description: Filter by U.S. state abbreviation.
schema:
type: string
minLength: 2
maxLength: 2
chamberParam:
name: chamber
in: query
required: false
description: Filter by legislative chamber such as senate or house.
schema:
type: string
enum:
- senate
- house
schemas:
LegislatorListResponse:
type: object
description: Paginated response containing a list of legislators.
properties:
data:
type: array
items:
$ref: '#/components/schemas/Legislator'
pagination:
$ref: '#/components/schemas/Pagination'
SocialMedia:
type: object
description: Social media profiles for a government official.
properties:
twitter:
type: string
description: Twitter/X handle.
facebook:
type: string
description: Facebook profile URL or handle.
youtube:
type: string
description: YouTube channel URL.
Vote:
type: object
description: A vote record for a legislator.
properties:
id:
type: string
description: Unique identifier of the vote.
billId:
type: string
description: Identifier of the bill being voted on.
billTitle:
type: string
description: Title of the bill being voted on.
voteDate:
type: string
format: date
description: Date of the vote.
position:
type: string
description: The legislator's vote position.
enum:
- yea
- nay
- abstain
- not_voting
chamber:
type: string
description: Chamber where the vote took place.
Official:
type: object
description: A government official including legislators, executives, and appointees.
properties:
id:
type: string
description: Unique identifier for the official.
firstName:
type: string
description: First name of the official.
lastName:
type: string
description: Last name of the official.
fullName:
type: string
description: Full name of the official.
title:
type: string
description: Official title or position.
party:
type: string
description: Political party affiliation.
jurisdiction:
type: string
description: Jurisdiction the official serves in.
state:
type: string
description: U.S. state if applicable.
chamber:
type: string
description: Legislative chamber if applicable.
district:
type: string
description: District the official represents.
active:
type: boolean
description: Whether the official is currently serving.
biography:
type: string
description: Biographical summary.
photoUrl:
type: string
format: uri
description: URL to the official's photo.
contactInfo:
$ref: '#/components/schemas/ContactInfo'
socialMedia:
$ref: '#/components/schemas/SocialMedia'
url:
type: string
format: uri
description: URL to the official's profile on FiscalNote.
createdAt:
type: string
format: date-time
description: Timestamp when the record was created.
updatedAt:
type: string
format: date-time
description: Timestamp when the record was last updated.
CommitteeMembership:
type: object
description: A legislator's membership in a committee.
properties:
committeeId:
type: string
description: Unique identifier of the committee.
committeeName:
type: string
description: Name of the committee.
role:
type: string
description: Role on the committee such as chair, ranking_member, or member.
enum:
- chair
- vice_chair
- ranking_member
- member
VoteListResponse:
type: object
description: Paginated response containing a list of vote records.
properties:
data:
type: array
items:
$ref: '#/components/schemas/Vote'
pagination:
$ref: '#/components/schemas/Pagination'
ContactInfo:
type: object
description: Contact information for a government official.
properties:
email:
type: string
format: email
description: Email address.
phone:
type: string
description: Phone number.
address:
type: string
description: Mailing address.
website:
type: string
format: uri
description: Official website.
Pagination:
type: object
description: Pagination metadata for list responses.
properties:
total:
type: integer
description: Total number of records matching the query.
limit:
type: integer
description: Maximum number of records returned per page.
offset:
type: integer
description: Number of records skipped.
hasMore:
type: boolean
description: Indicates whether more records are available.
Error:
type: object
description: Error response returned when a request fails.
properties:
code:
type: integer
description: HTTP status code.
message:
type: string
description: Human-readable error message.
Legislator:
type: object
description: A legislator with detailed information including voting record and committee memberships.
allOf:
- $ref: '#/components/schemas/Official'
- type: object
properties:
committees:
type: array
description: Committees the legislator serves on.
items:
$ref: '#/components/schemas/CommitteeMembership'
sponsoredBillCount:
type: integer
description: Number of bills sponsored by the legislator.
cosponsoredBillCount:
type: integer
description: Number of bills co-sponsored by the legislator.
termStart:
type: string
format: date
description: Start date of the current term.
termEnd:
type: string
format: date
description: End date of the current term.
securitySchemes:
apiKey:
type: apiKey
in: header
name: Authorization
description: API key provided by FiscalNote. Include in the Authorization header of each request.
externalDocs:
description: FiscalNote AppData API Documentation
url: https://apidocs.fiscalnote.com/apis