FactSet Publisher API
Through the Publisher API, you can optimize your reporting workflows by calculating customized, presentation-ready documents that integrate Portfolio Analysis, SPAR, commentary, risk, as well as your firm's proprietary data.
Through the Publisher API, you can optimize your reporting workflows by calculating customized, presentation-ready documents that integrate Portfolio Analysis, SPAR, commentary, risk, as well as your firm's proprietary data.
openapi: 3.0.1
info:
title: Factset Publisher API
description: Allow clients to fetch Publisher Analytics through APIs.
contact:
name: Analytics API Support
url: https://developer.factset.com/contact
email: [email protected]
license:
name: Apache License 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.txt
version: '3'
servers:
- url: https://api.factset.com
paths:
/analytics/lookups/v3/accounts/{path}:
get:
tags:
- Analytics
summary: Factset Get accounts and sub-directories in a directory
description: >-
This endpoint looks up all ACCT and ACTM files and sub-directories in a
given directory.
operationId: getAccounts
parameters:
- name: path
in: path
description: The directory to get the accounts and sub-directories in
required: true
schema:
type: string
description: The directory to get the accounts and sub-directories in
default: Client:Foo/Bar
responses:
'200':
description: Expected response, returns a list of accounts and directories
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/AccountDirectoriesRoot'
'400':
description: Invalid query parameter or value provided
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
'401':
description: Missing or invalid authentication
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
'403':
description: User is forbidden with current credentials
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
'404':
description: Path not found
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
'406':
description: >-
Unsupported Accept header. Header needs to be set to
application/json
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
'429':
description: >-
Rate limit reached. Wait till the time specified in Retry-After
header value to make further requests.
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
Retry-After:
description: >-
Time to wait in seconds before making a new request as the rate
limit has reached.
schema:
type: string
'500':
description: >-
Server error. Log the X-DataDirect-Request-Key header to assist in
troubleshooting
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
'503':
description: Request timed out. Retry the request in some time
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
/analytics/lookups/v3/currencies:
get:
tags:
- Analytics
summary: Factset Get currencies
description: >-
This endpoint lists all the currencies that can be applied to any
calculation.
operationId: getCurrencies
responses:
'200':
description: Expected response, returns a list of currencies.
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/CurrencyRoot'
'401':
description: Missing or invalid authentication.
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
'403':
description: User is forbidden with current credentials
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
'406':
description: >-
Unsupported Accept header. Header needs to be set to
application/json.
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
'429':
description: >-
Rate limit reached. Wait till the time specified in Retry-After
header value to make further requests.
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
Retry-After:
description: >-
Time to wait in seconds before making a new request as the rate
limit has reached.
schema:
type: string
'500':
description: >-
Server error. Log the X-DataDirect-Request-Key header to assist in
troubleshooting.
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
'503':
description: Request timed out. Retry the request in sometime.
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
/analytics/engines/pub/v3/documents/{path}:
get:
tags:
- Analytics
summary: Factset Gets Publisher documents and sub-directories in a directory
description: >-
This endpoint looks up all Publisher documents and sub-directories in a
given directory.
operationId: getPubDocuments
parameters:
- name: path
in: path
description: The directory to get the documents in
required: true
schema:
type: string
description: The directory to get the documents in
default: Client:folder1/folder2
responses:
'200':
description: >-
Expected response, returns a list of Publisher documents and
directories
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentDirectoriesRoot'
'400':
description: Invalid query parameter or value provided
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
'401':
description: Missing or invalid authentication
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
'403':
description: User is forbidden with current credentials
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
'404':
description: Path not found
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
'406':
description: >-
Unsupported Accept header. Header needs to be set to
application/json
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
'429':
description: >-
Rate limit reached. Wait till the time specified in Retry-After
header value to make further requests.
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
Retry-After:
description: >-
Time to wait in seconds before making a new request as the rate
limit has reached.
schema:
type: string
'500':
description: >-
Server error. Log the X-DataDirect-Request-Key header to assist in
troubleshooting
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
'503':
description: Request timed out. Retry the request in some time
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
/analytics/engines/pub/v3/calculations:
post:
tags:
- Analytics
summary: Factset Create and Run Pub calculation
description: "This endpoint runs the Pub calculation specified in the POST body parameters.\r\nIt can take one or more units as input."
operationId: postAndCalculate
parameters:
- name: X-FactSet-Api-Long-Running-Deadline
in: header
description: >-
Long running deadline in seconds when only one unit is passed in the
POST body.
schema:
type: integer
- name: Cache-Control
in: header
description: >-
Standard HTTP header. Accepts no-cache, no-store, max-age,
max-stale.
schema:
type: string
requestBody:
description: Calculation Parameters
content:
application/json:
schema:
$ref: '#/components/schemas/PubCalculationParametersRoot'
responses:
'200':
description: >-
Expected response, if the calculation has one unit and is completed
with an error.
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
content:
application/pdf:
schema:
$ref: '#/components/schemas/CalculationStatusRoot'
application/vnd.openxmlformats-officedocument.presentationml.presentation:
schema:
$ref: '#/components/schemas/CalculationStatusRoot'
'201':
description: >-
Expected response if the calculation has one unit and is completed
in a short span, returns JSON in the format specified in the
Calculation parameters.
headers:
X-DataDirect-Request-Key:
description: FactSet's request key header.
schema:
type: string
description: FactSet's request key header.
X-FactSet-Api-Request-Key:
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
schema:
type: string
description: >-
Key to uniquely identify an Analytics API request. Only
available after successful authentication.
X-FactSet-Api-RateLimit-Limit:
description: Number of allowed requests for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Remaining:
description: Number of requests left for the time window.
schema:
type: string
X-FactSet-Api-RateLimit-Reset:
description: Number of seconds remaining till rate limit resets.
schema:
type: string
content:
application/pdf:
schema:
$ref: '#/components/schemas/ObjectRoot'
application/vnd.openxmlformats-officedocument.presentationml.presentation:
schema:
$ref: '#/components/schemas/ObjectRoot'
'202':
# --- truncated at 32 KB (106 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/factset/refs/heads/main/openapi/publisher-openapi-original.yml