FactSet Quant Engine API
Use Quant Engine API to retrieve quantitative dataset from FactSet Content Database.
Use Quant Engine API to retrieve quantitative dataset from FactSet Content Database.
openapi: 3.0.1
info:
title: Factset Quant API
description: Allow clients to fetch Analytics through APIs.
contact:
name: FactSet Research Systems
url: https://developer.factset.com/contact
email: [email protected]
license:
name: Apache License, Version 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
version: 3.11.0
servers:
- url: https://api.factset.com/analytics/engines/quant/v3
paths:
/calculations:
post:
tags:
- Calculations
summary: Factset Create and Run Quant Engine calculation
description: "This endpoint runs the Quant Engine calculation specified in the POST body parameters.\r\nIt can take one or more calculation units as input."
operationId: postAndCalculate
parameters:
- name: Cache-Control
in: header
description: Standard HTTP header. Accepts no-store, max-age, max-stale.
schema:
type: string
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/QuantCalculationParametersRoot'
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/json:
schema:
$ref: '#/components/schemas/CalculationStatusRoot'
application/x-protobuf:
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/json:
schema:
$ref: '#/components/schemas/ObjectRoot'
application/x-protobuf:
schema:
$ref: '#/components/schemas/ObjectRoot'
'202':
description: Expected response, contains the poll URL in the Location header.
headers:
Location:
description: URL to poll for the resulting calculation
schema:
type: string
description: URL to poll for the resulting calculation
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/CalculationStatusRoot'
application/x-protobuf:
schema:
$ref: '#/components/schemas/CalculationStatusRoot'
'400':
description: Invalid 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/json:
schema:
$ref: '#/components/schemas/ClientErrorResponse'
application/x-protobuf:
schema:
$ref: '#/components/schemas/ClientErrorResponse'
'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: One or more calculation settings were unavailable.
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/ClientErrorResponse'
application/x-protobuf:
schema:
$ref: '#/components/schemas/ClientErrorResponse'
'413':
description: Request body too large
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/ClientErrorResponse'
application/x-protobuf:
schema:
$ref: '#/components/schemas/ClientErrorResponse'
'415':
description: >-
Missing/Invalid Content-Type 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. Cancel older requests using Cancel Calculation
endpoint or wait for older requests to finish/expire.
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
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.
get:
tags:
- Calculations
summary: Factset Get all calculations
description: This endpoints returns all calculation requests.
operationId: getAllCalculations
parameters:
- name: pageNumber
in: query
schema:
type: integer
format: int32
default: 1
responses:
'200':
description: List of calculation 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.
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/CalculationsSummaryRoot'
'400':
description: Invalid page number.
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/ClientErrorResponse'
'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: No calculation 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
content:
application/json:
schema:
$ref: '#/components/schemas/ClientErrorResponse'
'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.
/calculations/{id}:
put:
tags:
- Calculations
summary: Factset Create or update Quant Engine calculation and run it.
description: "This endpoint updates and runs the Quant Engine calculation specified in the PUT body parameters. This also allows creating new Quant Engine calculations with custom ids.\r\nIt can take one or more calculation units as input."
operationId: putAndCalculate
parameters:
- name: id
in: path
description: >-
from url, provided from the location header in the Create and Run
Quant Engine calculation endpoint
required: true
schema:
type: string
description: >-
from url, provided from the location header in the Create and Run
Quant Engine calculation endpoint
- name: Cache-Control
in: header
description: Standard HTTP header. Accepts no-store, max-age, max-stale.
schema:
type: string
requestBody:
description: Calculation Parameters
content:
application/json:
schema:
$ref: '#/components/schemas/QuantCalculationParametersRoot'
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/json:
schema:
$ref: '#/components/schemas/CalculationStatusRoot'
application/x-protobuf:
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/json:
schema:
$ref: '#/components/schemas/ObjectRoot'
application/x-protobuf:
schema:
$ref: '#/components/schemas/ObjectRoot'
'202':
description: Expected response, contains the poll URL in the Location header.
headers:
Location:
description: URL to poll for the resulting calculation
schema:
type: string
description: URL to poll for the resulting calculation
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.
# --- truncated at 32 KB (108 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/factset/refs/heads/main/openapi/quant-engine-openapi-original.yml