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