openapi: 3.1.0 info: title: FiscalNote AppData 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 externalDocs: description: FiscalNote AppData API Documentation url: https://apidocs.fiscalnote.com/apis servers: - url: https://api.fiscalnote.com description: Production Server tags: - name: Bills description: >- Access legislation and bill data from federal, state, and international jurisdictions. - name: Issues description: >- Manage and retrieve organizational issues for tracking policy topics and legislative priorities. - name: Labels description: >- Manage and retrieve labels used to categorize and organize legislation and policy items. - name: Regulatory Documents description: >- Access regulatory documents including proposed rules, final rules, and notices from government agencies. security: - apiKey: [] paths: /appdata/v1/bills: get: operationId: listBills summary: FiscalNote List bills description: >- Returns a paginated list of bills and legislative measures. Supports filtering by jurisdiction, session, status, keyword search, and other criteria. Results include both current and historical legislation from the US and international jurisdictions. tags: - Bills parameters: - $ref: '#/components/parameters/jurisdictionParam' - $ref: '#/components/parameters/sessionParam' - $ref: '#/components/parameters/statusParam' - $ref: '#/components/parameters/queryParam' - $ref: '#/components/parameters/limitParam' - $ref: '#/components/parameters/offsetParam' - $ref: '#/components/parameters/updatedSinceParam' responses: '200': description: A paginated list of bill records. content: application/json: schema: $ref: '#/components/schemas/BillListResponse' '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' /appdata/v1/bills/{billId}: get: operationId: getBill summary: FiscalNote Get bill by ID description: >- Returns detailed information about a specific bill including its full text, sponsors, committee assignments, vote history, and current status. tags: - Bills parameters: - name: billId in: path required: true description: >- The unique identifier of the bill. schema: type: string responses: '200': description: Detailed bill record. content: application/json: schema: $ref: '#/components/schemas/Bill' '401': description: Authentication credentials are missing or invalid. content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Bill not found. content: application/json: schema: $ref: '#/components/schemas/Error' /appdata/v1/issues: get: operationId: listIssues summary: FiscalNote List issues description: >- Returns a paginated list of organizational issues used to track policy topics and legislative priorities within the FiscalNote platform. tags: - Issues parameters: - $ref: '#/components/parameters/queryParam' - $ref: '#/components/parameters/limitParam' - $ref: '#/components/parameters/offsetParam' responses: '200': description: A paginated list of issue records. content: application/json: schema: $ref: '#/components/schemas/IssueListResponse' '401': description: Authentication credentials are missing or invalid. content: application/json: schema: $ref: '#/components/schemas/Error' /appdata/v1/issues/{issueId}: get: operationId: getIssue summary: FiscalNote Get issue by ID description: >- Returns detailed information about a specific organizational issue including associated bills and labels. tags: - Issues parameters: - name: issueId in: path required: true description: >- The unique identifier of the issue. schema: type: string responses: '200': description: Detailed issue record. content: application/json: schema: $ref: '#/components/schemas/Issue' '401': description: Authentication credentials are missing or invalid. content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Issue not found. content: application/json: schema: $ref: '#/components/schemas/Error' /appdata/v1/labels: get: operationId: listLabels summary: FiscalNote List labels description: >- Returns a paginated list of labels used to categorize and organize legislation and policy items within the organization. tags: - Labels parameters: - $ref: '#/components/parameters/queryParam' - $ref: '#/components/parameters/limitParam' - $ref: '#/components/parameters/offsetParam' responses: '200': description: A paginated list of label records. content: application/json: schema: $ref: '#/components/schemas/LabelListResponse' '401': description: Authentication credentials are missing or invalid. content: application/json: schema: $ref: '#/components/schemas/Error' /appdata/v1/labels/{labelId}: get: operationId: getLabel summary: FiscalNote Get label by ID description: >- Returns detailed information about a specific label. tags: - Labels parameters: - name: labelId in: path required: true description: >- The unique identifier of the label. schema: type: string responses: '200': description: Detailed label record. content: application/json: schema: $ref: '#/components/schemas/Label' '401': description: Authentication credentials are missing or invalid. content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Label not found. content: application/json: schema: $ref: '#/components/schemas/Error' /appdata/v1/regulatory-documents: get: operationId: listRegulatoryDocuments summary: FiscalNote List regulatory documents description: >- Returns a paginated list of regulatory documents including proposed rules, final rules, and notices from government agencies. tags: - Regulatory Documents parameters: - $ref: '#/components/parameters/jurisdictionParam' - name: agency in: query required: false description: >- Filter by issuing agency name or identifier. schema: type: string - $ref: '#/components/parameters/queryParam' - $ref: '#/components/parameters/limitParam' - $ref: '#/components/parameters/offsetParam' - $ref: '#/components/parameters/updatedSinceParam' responses: '200': description: A paginated list of regulatory document records. content: application/json: schema: $ref: '#/components/schemas/RegulatoryDocumentListResponse' '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' /appdata/v1/regulatory-documents/{documentId}: get: operationId: getRegulatoryDocument summary: FiscalNote Get regulatory document by ID description: >- Returns detailed information about a specific regulatory document including its full text, issuing agency, and comment period details. tags: - Regulatory Documents parameters: - name: documentId in: path required: true description: >- The unique identifier of the regulatory document. schema: type: string responses: '200': description: Detailed regulatory document record. content: application/json: schema: $ref: '#/components/schemas/RegulatoryDocument' '401': description: Authentication credentials are missing or invalid. content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Regulatory document not found. content: application/json: schema: $ref: '#/components/schemas/Error' components: securitySchemes: apiKey: type: apiKey in: header name: Authorization description: >- API key provided by FiscalNote. Include in the Authorization header of each request. parameters: jurisdictionParam: name: jurisdiction in: query required: false description: >- Filter by jurisdiction code such as US, US-CA, GB, or EU. schema: type: string sessionParam: name: session in: query required: false description: >- Filter by legislative session identifier. schema: type: string statusParam: name: status in: query required: false description: >- Filter by legislation status. schema: type: string queryParam: name: q in: query required: false description: >- Full-text search query to filter results. schema: type: string 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 offsetParam: name: offset in: query required: false description: >- Number of results to skip for pagination. schema: type: integer minimum: 0 default: 0 updatedSinceParam: name: updatedSince in: query required: false description: >- Return only records updated after this ISO 8601 datetime. schema: type: string format: date-time schemas: Bill: type: object description: >- A bill or legislative measure from a federal, state, or international jurisdiction. properties: id: type: string description: >- Unique identifier for the bill. title: type: string description: >- Official title of the bill. number: type: string description: >- Bill number. type: type: string description: >- Type of legislation. jurisdiction: type: string description: >- Jurisdiction code where the bill was introduced. session: type: string description: >- Legislative session identifier. status: type: string description: >- Current status of the bill. introducedDate: type: string format: date description: >- Date the bill was introduced. lastActionDate: type: string format: date description: >- Date of the most recent action. lastAction: type: string description: >- Description of the most recent action. sponsors: type: array description: >- List of sponsors and co-sponsors. items: $ref: '#/components/schemas/SponsorRef' subjects: type: array description: >- Subject tags associated with the bill. items: type: string summary: type: string description: >- Summary text of the bill. url: type: string format: uri description: >- URL to the bill on the FiscalNote platform. 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. SponsorRef: type: object description: >- A reference to a bill sponsor. properties: id: type: string description: >- Unique identifier of the sponsor. name: type: string description: >- Full name of the sponsor. role: type: string description: >- Role such as primary or cosponsor. Issue: type: object description: >- An organizational issue used to track policy topics and legislative priorities. properties: id: type: string description: >- Unique identifier of the issue. name: type: string description: >- Name of the issue. description: type: string description: >- Description of the issue. billIds: type: array description: >- List of bill identifiers associated with this issue. items: type: string labelIds: type: array description: >- List of label identifiers applied to this issue. items: type: string createdAt: type: string format: date-time description: >- Timestamp when the issue was created. updatedAt: type: string format: date-time description: >- Timestamp when the issue was last updated. Label: type: object description: >- A label used to categorize and organize legislation and policy items. properties: id: type: string description: >- Unique identifier of the label. name: type: string description: >- Name of the label. description: type: string description: >- Description of the label. color: type: string description: >- Color code for the label in hex format. pattern: '^#[0-9a-fA-F]{6}$' createdAt: type: string format: date-time description: >- Timestamp when the label was created. RegulatoryDocument: type: object description: >- A regulatory document such as a proposed rule, final rule, or notice from a government agency. properties: id: type: string description: >- Unique identifier of the regulatory document. title: type: string description: >- Title of the regulatory document. agency: type: string description: >- Name of the issuing agency. type: type: string description: >- Type of regulatory document. enum: - proposed_rule - final_rule - notice jurisdiction: type: string description: >- Jurisdiction code for the document. publishedDate: type: string format: date description: >- Date the document was published. effectiveDate: type: string format: date description: >- Date the regulation takes effect. commentPeriodEnd: type: string format: date description: >- End date of the public comment period. summary: type: string description: >- Summary of the regulatory document. url: type: string format: uri description: >- URL to the document on the FiscalNote platform. 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. BillListResponse: type: object description: >- Paginated response containing a list of bills. properties: data: type: array items: $ref: '#/components/schemas/Bill' pagination: $ref: '#/components/schemas/Pagination' IssueListResponse: type: object description: >- Paginated response containing a list of issues. properties: data: type: array items: $ref: '#/components/schemas/Issue' pagination: $ref: '#/components/schemas/Pagination' LabelListResponse: type: object description: >- Paginated response containing a list of labels. properties: data: type: array items: $ref: '#/components/schemas/Label' pagination: $ref: '#/components/schemas/Pagination' RegulatoryDocumentListResponse: type: object description: >- Paginated response containing a list of regulatory documents. properties: data: type: array items: $ref: '#/components/schemas/RegulatoryDocument' pagination: $ref: '#/components/schemas/Pagination' 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.