openapi: 3.1.0
info:
title: FiscalNote PolicyNote API
description: >-
The FiscalNote PolicyNote API delivers programmatic access to legislative,
regulatory, and stakeholder intelligence datasets spanning Congress, all 50
U.S. states, and more than 100 countries through a secure, governed
architecture designed for machine consumption. The API includes an MCP
server enabling MCP-compatible AI agents from platforms such as Anthropic,
OpenAI, Google Gemini, and Microsoft to query structured policy data,
verified analysis, and real-time monitoring signals. It also provides a
comprehensive real-time presidential transcript feed delivering
primary-source transcripts of presidential communications including
executive orders, proclamations, press statements, and public remarks,
purpose-built for programmatic consumption to eliminate AI hallucinations
in compliance workflows.
version: '1.0'
contact:
name: FiscalNote Support
url: https://fiscalnote.com/contact
termsOfService: https://fiscalnote.com/terms
externalDocs:
description: PolicyNote API Documentation
url: https://fiscalnote.com/products/policynote-api
servers:
- url: https://api.fiscalnote.com
description: Production Server
tags:
- name: Legislation
description: >-
Access legislative data spanning Congress, all 50 U.S. states, and
international jurisdictions.
- name: Policy Intelligence
description: >-
Access AI-powered policy analysis, impact summaries, and monitoring
signals for policy changes.
- name: Presidential Transcripts
description: >-
Access the real-time presidential transcript feed delivering
primary-source transcripts of presidential communications.
- name: Regulations
description: >-
Access regulatory data including proposed and final rules across federal
and state agencies.
- name: Stakeholders
description: >-
Access stakeholder intelligence including government officials and
organizational relationships.
security:
- apiKey: []
paths:
/policynote/v1/legislation:
get:
operationId: listLegislation
summary: FiscalNote List legislation
description: >-
Returns a paginated list of legislation records matching the specified
filter criteria. Results include bills, resolutions, and other
legislative measures from federal, state, and international
jurisdictions.
tags:
- Legislation
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/sortParam'
- $ref: '#/components/parameters/updatedSinceParam'
responses:
'200':
description: A paginated list of legislation records.
content:
application/json:
schema:
$ref: '#/components/schemas/LegislationListResponse'
'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'
/policynote/v1/legislation/{legislationId}:
get:
operationId: getLegislation
summary: FiscalNote Get legislation by ID
description: >-
Returns detailed information about a specific piece of legislation
including its full text, sponsors, co-sponsors, committee assignments,
vote history, and current status.
tags:
- Legislation
parameters:
- $ref: '#/components/parameters/legislationIdParam'
responses:
'200':
description: Detailed legislation record.
content:
application/json:
schema:
$ref: '#/components/schemas/Legislation'
'401':
description: Authentication credentials are missing or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Legislation not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/policynote/v1/regulations:
get:
operationId: listRegulations
summary: FiscalNote List regulations
description: >-
Returns a paginated list of regulatory records including proposed
rules, final rules, and notices from federal and state regulatory
agencies.
tags:
- Regulations
parameters:
- $ref: '#/components/parameters/jurisdictionParam'
- $ref: '#/components/parameters/agencyParam'
- $ref: '#/components/parameters/regulationStatusParam'
- $ref: '#/components/parameters/queryParam'
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/offsetParam'
- $ref: '#/components/parameters/updatedSinceParam'
responses:
'200':
description: A paginated list of regulation records.
content:
application/json:
schema:
$ref: '#/components/schemas/RegulationListResponse'
'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'
/policynote/v1/regulations/{regulationId}:
get:
operationId: getRegulation
summary: FiscalNote Get regulation by ID
description: >-
Returns detailed information about a specific regulation including its
full text, issuing agency, comment period, and current status.
tags:
- Regulations
parameters:
- name: regulationId
in: path
required: true
description: >-
The unique identifier of the regulation.
schema:
type: string
responses:
'200':
description: Detailed regulation record.
content:
application/json:
schema:
$ref: '#/components/schemas/Regulation'
'401':
description: Authentication credentials are missing or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Regulation not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/policynote/v1/stakeholders:
get:
operationId: listStakeholders
summary: FiscalNote List stakeholders
description: >-
Returns a paginated list of stakeholder records including government
officials, legislators, and other key policy actors.
tags:
- Stakeholders
parameters:
- $ref: '#/components/parameters/jurisdictionParam'
- $ref: '#/components/parameters/queryParam'
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/offsetParam'
responses:
'200':
description: A paginated list of stakeholder records.
content:
application/json:
schema:
$ref: '#/components/schemas/StakeholderListResponse'
'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'
/policynote/v1/transcripts:
get:
operationId: listPresidentialTranscripts
summary: FiscalNote List presidential transcripts
description: >-
Returns a paginated list of presidential transcripts including
executive orders, proclamations, press statements, and public remarks.
This feed delivers primary-source, verified transcripts purpose-built
for programmatic consumption to eliminate AI hallucinations.
tags:
- Presidential Transcripts
parameters:
- name: type
in: query
required: false
description: >-
Filter by transcript type such as executive_order, proclamation,
press_statement, or public_remarks.
schema:
type: string
enum:
- executive_order
- proclamation
- press_statement
- public_remarks
- interview
- formal_event
- $ref: '#/components/parameters/queryParam'
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/offsetParam'
- $ref: '#/components/parameters/updatedSinceParam'
- name: dateFrom
in: query
required: false
description: >-
Filter transcripts from this date onward in ISO 8601 format.
schema:
type: string
format: date
- name: dateTo
in: query
required: false
description: >-
Filter transcripts up to this date in ISO 8601 format.
schema:
type: string
format: date
responses:
'200':
description: A paginated list of presidential transcript records.
content:
application/json:
schema:
$ref: '#/components/schemas/TranscriptListResponse'
'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'
/policynote/v1/transcripts/{transcriptId}:
get:
operationId: getPresidentialTranscript
summary: FiscalNote Get presidential transcript by ID
description: >-
Returns the full text and metadata of a specific presidential
transcript, including the verified primary-source record of the
communication.
tags:
- Presidential Transcripts
parameters:
- name: transcriptId
in: path
required: true
description: >-
The unique identifier of the transcript.
schema:
type: string
responses:
'200':
description: Detailed presidential transcript record.
content:
application/json:
schema:
$ref: '#/components/schemas/Transcript'
'401':
description: Authentication credentials are missing or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Transcript not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/policynote/v1/intelligence/impact:
get:
operationId: listPolicyImpactSummaries
summary: FiscalNote List policy impact summaries
description: >-
Returns AI-powered, personalized impact summaries that analyze how
policy changes may affect specific industries, organizations, or
compliance requirements.
tags:
- Policy Intelligence
parameters:
- $ref: '#/components/parameters/jurisdictionParam'
- $ref: '#/components/parameters/queryParam'
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/offsetParam'
responses:
'200':
description: A paginated list of policy impact summaries.
content:
application/json:
schema:
$ref: '#/components/schemas/ImpactSummaryListResponse'
'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'
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 such as introduced, passed, enacted, or
vetoed.
schema:
type: string
enum:
- introduced
- in_committee
- passed_one_chamber
- passed_both_chambers
- enacted
- vetoed
regulationStatusParam:
name: status
in: query
required: false
description: >-
Filter by regulation status such as proposed, final, or withdrawn.
schema:
type: string
enum:
- proposed
- comment_period
- final
- withdrawn
agencyParam:
name: agency
in: query
required: false
description: >-
Filter by issuing agency name or identifier.
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
sortParam:
name: sort
in: query
required: false
description: >-
Sort order for results. Use field name with optional - prefix for
descending order.
schema:
type: string
updatedSinceParam:
name: updatedSince
in: query
required: false
description: >-
Return only records updated after this ISO 8601 datetime.
schema:
type: string
format: date-time
legislationIdParam:
name: legislationId
in: path
required: true
description: >-
The unique identifier of the legislation.
schema:
type: string
schemas:
Legislation:
type: object
description: >-
A legislative measure such as a bill, resolution, or amendment from a
federal, state, or international jurisdiction.
properties:
id:
type: string
description: >-
Unique identifier for the legislation record.
title:
type: string
description: >-
Official title of the legislation.
shortTitle:
type: string
description: >-
Short or popular title of the legislation.
number:
type: string
description: >-
Bill or resolution number.
type:
type: string
description: >-
Type of legislation such as bill, resolution, or amendment.
enum:
- bill
- resolution
- joint_resolution
- concurrent_resolution
- amendment
jurisdiction:
type: string
description: >-
Jurisdiction code where the legislation was introduced.
session:
type: string
description: >-
Legislative session identifier.
status:
type: string
description: >-
Current status of the legislation.
introducedDate:
type: string
format: date
description: >-
Date the legislation was introduced.
lastActionDate:
type: string
format: date
description: >-
Date of the most recent action on the legislation.
lastAction:
type: string
description: >-
Description of the most recent action taken on the legislation.
sponsors:
type: array
description: >-
List of sponsors of the legislation.
items:
$ref: '#/components/schemas/Sponsor'
committees:
type: array
description: >-
Committees to which the legislation has been referred.
items:
$ref: '#/components/schemas/CommitteeRef'
subjects:
type: array
description: >-
Subject tags associated with the legislation.
items:
type: string
summary:
type: string
description: >-
Summary text of the legislation.
fullTextUrl:
type: string
format: uri
description: >-
URL to the full text of the legislation.
url:
type: string
format: uri
description: >-
URL to the legislation record on the FiscalNote platform.
createdAt:
type: string
format: date-time
description: >-
Timestamp when the record was created in the system.
updatedAt:
type: string
format: date-time
description: >-
Timestamp when the record was last updated.
Sponsor:
type: object
description: >-
A sponsor or co-sponsor of a piece of legislation.
properties:
id:
type: string
description: >-
Unique identifier of the sponsor.
name:
type: string
description: >-
Full name of the sponsor.
role:
type: string
description: >-
Role of the sponsor such as primary or cosponsor.
enum:
- primary
- cosponsor
party:
type: string
description: >-
Political party affiliation.
jurisdiction:
type: string
description: >-
Jurisdiction the sponsor represents.
CommitteeRef:
type: object
description: >-
A reference to a legislative committee.
properties:
id:
type: string
description: >-
Unique identifier of the committee.
name:
type: string
description: >-
Name of the committee.
chamber:
type: string
description: >-
Chamber the committee belongs to.
Regulation:
type: object
description: >-
A regulatory record including proposed rules, final rules, and notices
from federal and state agencies.
properties:
id:
type: string
description: >-
Unique identifier for the regulation record.
title:
type: string
description: >-
Title of the regulation.
agency:
type: string
description: >-
Name of the issuing agency.
type:
type: string
description: >-
Type of regulation such as proposed_rule, final_rule, or notice.
enum:
- proposed_rule
- final_rule
- notice
- executive_order
status:
type: string
description: >-
Current status of the regulation.
jurisdiction:
type: string
description: >-
Jurisdiction code for the regulation.
publishedDate:
type: string
format: date
description: >-
Date the regulation 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 text of the regulation.
fullTextUrl:
type: string
format: uri
description: >-
URL to the full text of the regulation.
url:
type: string
format: uri
description: >-
URL to the regulation record 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.
Stakeholder:
type: object
description: >-
A government official, legislator, or other key policy stakeholder.
properties:
id:
type: string
description: >-
Unique identifier for the stakeholder record.
name:
type: string
description: >-
Full name of the stakeholder.
title:
type: string
description: >-
Official title or position.
party:
type: string
description: >-
Political party affiliation.
jurisdiction:
type: string
description: >-
Jurisdiction the stakeholder represents or operates in.
chamber:
type: string
description: >-
Legislative chamber if applicable.
district:
type: string
description: >-
District the stakeholder represents.
committees:
type: array
description: >-
Committees the stakeholder serves on.
items:
$ref: '#/components/schemas/CommitteeRef'
contactInfo:
type: object
description: >-
Contact information for the stakeholder.
properties:
email:
type: string
format: email
description: >-
Email address.
phone:
type: string
description: >-
Phone number.
website:
type: string
format: uri
description: >-
Official website.
url:
type: string
format: uri
description: >-
URL to the stakeholder profile on the FiscalNote platform.
Transcript:
type: object
description: >-
A presidential transcript record including the full text of executive
orders, proclamations, press statements, and public remarks.
properties:
id:
type: string
description: >-
Unique identifier for the transcript record.
title:
type: string
description: >-
Title of the transcript.
type:
type: string
description: >-
Type of presidential communication.
enum:
- executive_order
- proclamation
- press_statement
- public_remarks
- interview
- formal_event
date:
type: string
format: date
description: >-
Date of the communication.
location:
type: string
description: >-
Location where the communication took place.
duration:
type: string
description: >-
Duration of the communication in ISO 8601 duration format.
wordCount:
type: integer
description: >-
Total word count of the transcript.
fullText:
type: string
description: >-
Full text of the transcript.
summary:
type: string
description: >-
Summary of the transcript content.
videoUrl:
type: string
format: uri
description: >-
URL to the video recording if available.
sourceUrl:
type: string
format: uri
description: >-
URL to the primary source document.
verified:
type: boolean
description: >-
Indicates whether this transcript has been verified against the
primary source.
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.
ImpactSummary:
type: object
description: >-
An AI-powered impact summary analyzing how a policy change may affect
specific industries, organizations, or compliance requirements.
properties:
id:
type: string
description: >-
Unique identifier for the impact summary.
policyId:
type: string
description: >-
Identifier of the related legislation or regulation.
policyTitle:
type: string
description: >-
Title of the related legislation or regulation.
jurisdiction:
type: string
description: >-
Jurisdiction of the related policy.
summary:
type: string
description: >-
AI-generated summary of the policy impact.
impactAreas:
type: array
description: >-
Industries or areas affected by the policy.
items:
type: string
severity:
type: string
description: >-
Assessed severity of the policy impact.
enum:
- low
- medium
- high
- critical
createdAt:
type: string
format: date-time
description: >-
Timestamp when the summary was generated.
LegislationListResponse:
type: object
description: >-
Paginated response containing a list of legislation records.
properties:
data:
type: array
items:
$ref: '#/components/schemas/Legislation'
pagination:
$ref: '#/components/schemas/Pagination'
RegulationListResponse:
type: object
description: >-
Paginated response containing a list of regulation records.
properties:
data:
type: array
items:
$ref: '#/components/schemas/Regulation'
pagination:
$ref: '#/components/schemas/Pagination'
StakeholderListResponse:
type: object
description: >-
Paginated response containing a list of stakeholder records.
properties:
data:
type: array
items:
$ref: '#/components/schemas/Stakeholder'
pagination:
$ref: '#/components/schemas/Pagination'
TranscriptListResponse:
type: object
description: >-
Paginated response containing a list of presidential transcript
records.
properties:
data:
type: array
items:
$ref: '#/components/schemas/Transcript'
pagination:
$ref: '#/components/schemas/Pagination'
ImpactSummaryListResponse:
type: object
description: >-
Paginated response containing a list of policy impact summaries.
properties:
data:
type: array
items:
$ref: '#/components/schemas/ImpactSummary'
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.
details:
type: string
description: >-
Additional details about the error.