openapi: 3.0.0
info:
version: 1.7.0
title: FactSet Global Prices API
contact:
name: FactSet Research Systems
email: [email protected]
description: >
The FactSet Global Prices API provides end of day market pricing content
using cloud and microservices technology, encompassing both pricing as well
as corporate actions and events data.</p>
servers:
- url: https://api.factset.com/content
description: Production
security:
- BasicAuth: []
tags:
- name: Factset Global Prices
paths:
/factset-global-prices/v1/prices:
get:
tags:
- Factset Global Prices
summary: Factset Gets end-of-day Open, High, Low, Close for a list of securities.
operationId: getGPDPrices
description: >
Gets security prices', Open, High, Low, Close, Volume, VWAP, Trade
Count, and Turn Over for a specified list of securities, date range,
currency, and adjustment factors.
parameters:
- $ref: '#/components/parameters/idsBatchMax2000'
- $ref: '#/components/parameters/fieldsPrices'
- $ref: '#/components/parameters/startDate'
- $ref: '#/components/parameters/endDate'
- $ref: '#/components/parameters/frequency'
- $ref: '#/components/parameters/calendar'
- $ref: '#/components/parameters/currency'
- $ref: '#/components/parameters/adjust'
- $ref: '#/components/parameters/batch'
responses:
'200':
description: Array of Price Objects
content:
application/json:
schema:
$ref: '#/components/schemas/globalPricesResponse'
examples:
One Week Prices for Two Securities All Fields:
$ref: '#/components/examples/GlobalPricesResponseAll'
Filtered Fields:
$ref: '#/components/examples/GlobalPricesResponsePricesOnly'
'202':
description: Batch request has been accepted.
content:
application/json:
schema:
$ref: '#/components/schemas/BatchStatusResponse'
examples:
Batch Request Accepted:
$ref: '#/components/examples/BatchStatusAcceptedResponse'
headers:
Location:
description: Path to Batch Request status.
schema:
type: string
example: batch-status?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
post:
tags:
- Factset Global Prices
summary: >-
Factset Requests end-of-day Open, High, Low, Close for a large list of securities.
description: >-
Gets security prices', Open, High, Low, Close, Volume, VWAP, Trade
Count, and Turn Over for a specified list of securities, date range,
currency, and adjustment factors.
operationId: getSecurityPricesForList
requestBody:
required: true
description: Request object for `Prices`.
content:
application/json:
schema:
$ref: '#/components/schemas/globalPricesRequest'
responses:
'200':
description: Array of security prices
content:
application/json:
schema:
$ref: '#/components/schemas/globalPricesResponse'
'202':
description: Batch request has been accepted.
content:
application/json:
schema:
$ref: '#/components/schemas/BatchStatusResponse'
examples:
Batch Request Accepted:
$ref: '#/components/examples/BatchStatusAcceptedResponse'
headers:
Location:
description: Path to Batch Request status.
schema:
type: string
example: batch-status?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
/factset-global-prices/v1/corporate-actions:
get:
tags:
- Factset Global Prices
summary: Factset Gets Corporate Actions information.
operationId: getGPDCorporateActions
description: >
Gets the Corporate Actions amounts, dates, types, and flags over a
specified date range.
You may request future dates to receive information for declared events.
Event Categories:
* __Cash Dividends__ (CASH_DIVS)
* **DVC** - Dividend
* **DVCD** - Dividend with DRP Option
* **DRP** - Dividend Reinvestment
* __Stock Distributions__ (STOCK_DIST)
* **DVS** - Stock Dividend
* **DVSS** - Stock Dividend, Special
* **BNS** - Bonus Issue
* **BNSS** - Bonus Issue, Special
* __Spin Offs__ (SPINOFFS)
* **SPO** - Spin Off
* __Rights Issue__ (RIGHTS)
* **DSR** - Rights Issue
* __Splits__ (SPLITS)
* **FSP** - Forward Split
* **RSP** - Reverse Split
* **SPL** - Split
* **EXOS** - Exchange of Securities
parameters:
- $ref: '#/components/parameters/idsBatchMax2000'
- $ref: '#/components/parameters/eventCategory'
- $ref: '#/components/parameters/fieldsCorporateActions'
- $ref: '#/components/parameters/startDateCA'
- $ref: '#/components/parameters/endDateCA'
- $ref: '#/components/parameters/currency'
- $ref: '#/components/parameters/cancelledDividend'
- $ref: '#/components/parameters/batch'
responses:
'200':
description: >-
Array of security dividend information for a given date range and
list of securities
content:
application/json:
schema:
$ref: '#/components/schemas/corporateActionsResponse'
examples:
Ordinary Dividends:
$ref: '#/components/examples/OrdinaryDividends'
Security Spinoffs:
$ref: '#/components/examples/DistributionsSpinoff'
Rights Issue:
$ref: '#/components/examples/DistributionsRights'
Forward Split:
$ref: '#/components/examples/SplitsForward'
Bonus Issue:
$ref: '#/components/examples/SplitsBonus'
Stock Dividend:
$ref: '#/components/examples/SplitsDividend'
Reverse Split:
$ref: '#/components/examples/SplitsReverse'
'202':
description: Batch request has been accepted.
content:
application/json:
schema:
$ref: '#/components/schemas/BatchStatusResponse'
examples:
Batch Request Accepted:
$ref: '#/components/examples/BatchStatusAcceptedResponse'
headers:
Location:
description: Path to Batch Request status.
schema:
type: string
example: batch-status?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
post:
tags:
- Factset Global Prices
summary: Factset Requests Corporate Actions information.
description: >-
Gets the Corporate Actions amounts, dates, types, and flags over a
specified date range. You may request future dates to receive
information for declared events. <p>**_startDate and endDate are
required parameters. The input startDate must come before the input
endDate._**
operationId: postCorporateActions
requestBody:
required: true
description: Request object for `Corporate Actions`.
content:
application/json:
schema:
$ref: '#/components/schemas/corporateActionsRequest'
responses:
'200':
description: Array of security prices
content:
application/json:
schema:
$ref: '#/components/schemas/corporateActionsResponse'
'202':
description: Batch request has been accepted.
content:
application/json:
schema:
$ref: '#/components/schemas/BatchStatusResponse'
examples:
Batch Request Accepted:
$ref: '#/components/examples/BatchStatusAcceptedResponse'
headers:
Location:
description: Path to Batch Request status.
schema:
type: string
example: batch-status?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
/factset-global-prices/v1/annualized-dividends:
get:
tags:
- Factset Global Prices
summary: Factset Gets Indicated Annualized Dividend information.
operationId: getannualizedDividends
description: >
Gets the Annualized dividend of the latest reported dividend.
The annualized dividend calculations does not involve cancelled
dividends.
parameters:
- $ref: '#/components/parameters/idsBatchMax2000'
- $ref: '#/components/parameters/currency'
- $ref: '#/components/parameters/batch'
responses:
'200':
description: Array of annualized dividend information.
content:
application/json:
schema:
$ref: '#/components/schemas/annualizedDividendResponse'
'202':
description: Batch request has been accepted.
content:
application/json:
schema:
$ref: '#/components/schemas/BatchStatusResponse'
examples:
Batch Request Accepted:
$ref: '#/components/examples/BatchStatusAcceptedResponse'
headers:
Location:
description: Path to Batch Request status.
schema:
type: string
example: batch-status?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
post:
tags:
- Factset Global Prices
summary: Factset Gets Indicated Annualized Dividend information.
description: >-
Gets the Annualized dividend of the latest reported dividend. The
annualized dividend calculations does not involve cancelled dividends.
operationId: getannualizedDividendsForList
requestBody:
required: true
description: Request object for `Annualized Response`.
content:
application/json:
schema:
$ref: '#/components/schemas/annualizedDividendsRequest'
responses:
'200':
description: Array of security prices
content:
application/json:
schema:
$ref: '#/components/schemas/annualizedDividendResponse'
'202':
description: Batch request has been accepted.
content:
application/json:
schema:
$ref: '#/components/schemas/BatchStatusResponse'
examples:
Batch Request Accepted:
$ref: '#/components/examples/BatchStatusAcceptedResponse'
headers:
Location:
description: Path to Batch Request status.
schema:
type: string
example: batch-status?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
/factset-global-prices/v1/returns:
get:
tags:
- Factset Global Prices
summary: Factset Gets Returns for a list of `ids` as of given date range.
operationId: getReturns
description: >
Returns for the requested ids and currency for the given dates.
Depending on the input parameters the return data is provided.
parameters:
- $ref: '#/components/parameters/idsBatchMax2000'
- $ref: '#/components/parameters/startDate'
- $ref: '#/components/parameters/endDate'
- $ref: '#/components/parameters/currency'
- $ref: '#/components/parameters/frequency'
- $ref: '#/components/parameters/dividendAdjust'
- $ref: '#/components/parameters/batch'
responses:
'200':
description: Array of Returns Objects
content:
application/json:
schema:
$ref: '#/components/schemas/returnsResponse'
examples:
Returns:
$ref: '#/components/examples/returnsResponseAll'
'202':
description: Batch request has been accepted.
content:
application/json:
schema:
$ref: '#/components/schemas/BatchStatusResponse'
examples:
Batch Request Accepted:
$ref: '#/components/examples/BatchStatusAcceptedResponse'
headers:
Location:
description: Path to Batch Request status.
schema:
type: string
example: batch-status?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
post:
tags:
- Factset Global Prices
summary: Factset Gets Returns for a list of `ids` as of given date range.
description: >-
Returns for the requested ids and currency for the given dates.
Depending on the input parameters the return data is provided.
operationId: getReturnsForList
requestBody:
required: true
description: Request object for `Returns`.
content:
application/json:
schema:
$ref: '#/components/schemas/returnsRequest'
responses:
'200':
description: Array of security prices
content:
application/json:
schema:
$ref: '#/components/schemas/returnsResponse'
'202':
description: Batch request has been accepted.
content:
application/json:
schema:
$ref: '#/components/schemas/BatchStatusResponse'
examples:
Batch Request Accepted:
$ref: '#/components/examples/BatchStatusAcceptedResponse'
headers:
Location:
description: Path to Batch Request status.
schema:
type: string
example: batch-status?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
/factset-global-prices/v1/security-shares:
get:
tags:
- Factset Global Prices
summary: Factset Gets Shares Outstanding information for securities.
operationId: getSharesOutstanding
description: >-
Returns security level shares outstanding data for the given ids and
dates. At this time, all values returned are split adjusted.
parameters:
- $ref: '#/components/parameters/idsBatchMax1000'
- $ref: '#/components/parameters/startDateSS'
- $ref: '#/components/parameters/endDate'
- $ref: '#/components/parameters/frequency'
- $ref: '#/components/parameters/calendar'
- $ref: '#/components/parameters/batch'
responses:
'200':
description: >-
Array of security shares outstanding information for a given date
range and list of securities
content:
application/json:
schema:
$ref: '#/components/schemas/sharesOutstandingResponse'
examples:
Shares Outstanding:
$ref: '#/components/examples/sharesOutstanding'
'202':
description: Batch request has been accepted.
content:
application/json:
schema:
$ref: '#/components/schemas/BatchStatusResponse'
examples:
Batch Request Accepted:
$ref: '#/components/examples/BatchStatusAcceptedResponse'
headers:
Location:
description: Path to Batch Request status.
schema:
type: string
example: batch-status?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c
'400':
$ref: '#/components/responses/SO400'
'401':
$ref: '#/components/responses/SO401'
'403':
$ref: '#/components/responses/SO403'
'415':
$ref: '#/components/responses/SO415'
'500':
$ref: '#/components/responses/SO500'
post:
tags:
- Factset Global Prices
summary: Factset Gets Shares Outstanding information for securities.
description: >-
Returns security level shares outstanding data for the given ids and
dates. At this time, all values returned are split adjusted.
operationId: postSharesOutstanding
requestBody:
required: true
description: Request object for `Shares Outstanding`.
content:
application/json:
schema:
$ref: '#/components/schemas/sharesOutstandingRequest'
responses:
'200':
description: Array of shares outstanding
content:
application/json:
schema:
$ref: '#/components/schemas/sharesOutstandingResponse'
'202':
description: Batch request has been accepted.
content:
application/json:
schema:
$ref: '#/components/schemas/BatchStatusResponse'
examples:
Batch Request Accepted:
$ref: '#/components/examples/BatchStatusAcceptedResponse'
headers:
Location:
description: Path to Batch Request status.
schema:
type: string
example: batch-status?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c
'400':
$ref: '#/components/responses/SO400'
'401':
$ref: '#/components/responses/SO401'
'403':
$ref: '#/components/responses/SO403'
'415':
$ref: '#/components/responses/SO415'
'500':
$ref: '#/components/responses/SO500'
/factset-global-prices/v1/batch-status:
get:
tags:
- Factset Global Prices
summary: |-
Factset Returns the status for a Batch Request
description: >-
Return the status for the underlying batch request that is specified by
the id.
operationId: getBatchStatus
parameters:
- $ref: '#/components/parameters/batchId'
responses:
'201':
description: >-
The batch Request has been completed and the response has been
created.
headers:
Location:
description: Path to Batch Request result.
schema:
type: string
example: batch-result?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c
content:
application/json:
schema:
$ref: '#/components/schemas/BatchStatusResponse'
examples:
Batch Status Done:
$ref: '#/components/examples/BatchStatusDoneResponse'
'202':
description: >-
The batch Request has not finished and the result has NOT been
created.
content:
application/json:
schema:
$ref: '#/components/schemas/BatchStatusResponse'
examples:
Batch Status Queued:
$ref: '#/components/examples/BatchStatusQueuedResponse'
Batch Status Executing:
$ref: '#/components/examples/BatchStatusExecutingResponse'
Batch Status Failed:
$ref: '#/components/examples/BatchStatusFailedResponse'
'404':
$ref: '#/components/responses/batch404'
deprecated: false
/factset-global-prices/v1/batch-result:
get:
tags:
- Factset Global Prices
summary: |-
Factset Returns the response for a Batch Request
description: >
Returns the response data for the underlying batch request that is
specified by the id.
By default, this endpoint will return data as JSON. If you wish to
receive your data in CSV format, you can edit the header to have the
"accept" parameter as "text/csv" instead of "application/json".
operationId: getBatchData
parameters:
- $ref: '#/components/parameters/batchId'
responses:
'200':
description: >-
Request Response Object when the batch request has been completed
and the response is created
content:
application/json:
schema:
$ref: '#/components/schemas/batchResultResponse'
examples:
One Week Prices for Two Securities Filtered Fields:
$ref: '#/components/examples/GlobalPricesResponsePricesOnly'
Returns:
$ref: '#/components/examples/returnsResponseAll'
Corporate Actions Ordinary Dividends:
$ref: '#/components/examples/OrdinaryDividends'
Annualized Dividends:
$ref: '#/components/examples/annualizedDividendsResponse'
Security Shares:
$ref: '#/components/examples/sharesOutstanding'
'202':
description: >-
The batch Request has not finished and the result has NOT been
created.
content:
application/json:
schema:
$ref: '#/components/schemas/BatchStatusResponse'
examples:
Batch Request Queued:
$ref: '#/components/examples/BatchStatusQueuedResponse'
Batch Request Executing:
$ref: '#/components/examples/BatchStatusExecutingResponse'
'404':
$ref: '#/components/responses/batch404'
deprecated: false
components:
securitySchemes:
BasicAuth:
type: http
scheme: basic
parameters:
idsMax100:
name: ids
in: query
schema:
type: array
items:
type: string
minItems: 1
maxItems: 100
required: true
explode: false
description: >-
The requested list of security identifiers. Accepted ID types include
Market Tickers, SEDOL, ISINs, CUSIPs, or FactSet Permanent Ids.
<p>***ids limit** = 100 per request*</p> *<p>Make note, GET Method URL
request lines are also limited to a total length of 8192 bytes (8KB). In
cases where the service allows for thousands of ids, which may lead to
exceeding this request line limit of 8KB, its advised for any requests
with large request lines to be requested through the respective "POST"
method.</p>*
examples:
oneEquityId:
summary: One Equity Market Identifier
value:
- AAPL-USA
multipleEquityIds:
summary: Multiple Equity Market Identifiers
value:
- FDS-US
- AAPL-US
- MSFT-US
idsMax50:
name: ids
in: query
schema:
type: array
items:
type: string
minItems: 1
maxItems: 50
required: true
explode: false
description: >-
The requested list of security identifiers. Accepted ID types include
Market Tickers, SEDOL, ISINs, CUSIPs, or FactSet Permanent Ids.
<p>***ids limit** = 50 per request*</p> *<p>Make note, GET Method URL
request lines are also limited to a total length of 8192 bytes (8KB). In
cases where the service allows for thousands of ids, which may lead to
exceeding this request line limit of 8KB, its advised for any requests
with large request lines to be requested through the respective "POST"
method.</p>*
examples:
oneEquityId:
summary: One Equity Market Identifier
value:
- AAPL-USA
idsMax1000:
name: ids
in: query
schema:
type: array
items:
type: string
minItems: 1
maxItems: 1000
required: true
explode: false
description: >-
The requested list of security identifiers. Accepted ID types include
Market Tickers, SEDOL, ISINs, CUSIPs, or FactSet Permanent Ids.
<p>***ids limit** = 50 per multi-day request or 1000 for single day
requests*</p> *<p>Make note, GET Method URL request lines are also
limited to a total length of 8192 bytes (8KB). In cases where the
service allows for thousands of ids, which may lead to exceeding this
request line limit of 8KB, its advised for any requests with large
request lines to be requested through the respective "POST" method.</p>*
examples:
oneEquityId:
summary: One Equity Market Identifier
value:
- AAPL-USA
batch:
name: batch
in: query
description: >
Enables the ability to asynchronously "batch" the request, supporting a
long-running request for up to 20 minutes. Upon requesting batch=Y, the
service will respond with an HTTP Status Code of 202.
Once a batch request is submitted, use batch status to see if the job
has been completed. Once completed, retrieve the results of the request
via batch-result. When using Batch, ids limit is increased to 10000 ids
per request, though limits on query string via GET method still apply.
It's advised to submit large lists of ids via POST method.
<B>Please note that the number of unique currencies present in the
requested ids is limited to 50 per request.</B>
schema:
type: string
enum:
- 'Y'
- 'N'
default: 'N'
batchId:
name: id
in: query
description: Batch Request identifier.
schema:
type: string
format: uuid
required: true
allowEmptyValue: false
eventCategory:
name: eventCategory
description: |
Selects the Event Category to include in the response.
* **CASH_DIVS** = Cash Dividends
* **STOCK_DIST** = Stock Distributions
* **SPINOFFS** = Spin Offs
* **RIGHTS** = Rights Issue
* **SPLITS** = Splits
* **ALL** = Returns all Event Types. If left blank the service will default to ALL.
in: query
schema:
type: string
enum:
- CASH_DIVS
- STOCK_DIST
- RIGHTS
- SPINOFFS
- SPLITS
- ALL
default: ALL
startDate:
name: startDate
in: query
required: true
schema:
type: string
description: >
The start date requested for a given date range in **YYYY-MM-DD**
format. The input start date must be before the input end date. Future
dates (T+1) are not accepted in this endpoint.
example: '2021-08-27'
endDate:
name: endDate
in: query
required: false
schema:
type: string
description: >
The end date requested for a given date range in **YYYY-MM-DD** format.
The input end date must be after the input start date. Future dates
(T+1) are not accepted in this endpoint.
example: '2021-08-27'
startDateSS:
name: startDate
in: query
required: false
schema:
type: string
default: 2021-08-27T00:00:00Z
description: >
The start date requested for a given date range in **YYYY-MM-DD**
format. The input start date must be before the input end date. Future
dates (T+1) are not accepted in this endpoint.
example: '2021-08-27'
startDateCA:
name: startDate
in: query
required: false
schema:
type: string
description: >
The start date requested for a given date range in **YYYY-MM-DD**
format. In the context of corporate actions, this filters the response
to only include events within the date range. The frequency between the
startDate and endDate is always set to the "event" frequency- meaning
the service will return only events within those inclusive boundaries.
Leaving both startDate and endDate blank will pull "all" events for each
requested ids.
example: '2019-01-01'
endDateCA:
name: endDate
in: query
required: false
schema:
type: string
description: >
The end date requested for a given date range in **YYYY-MM-DD** format.
In the context of corporate actions, this filters the response to only
include events within the date range. The frequency between the
startDate and endDate is always set to the "event" frequency- meaning
the service will return only events within those inclusive boundaries.
Leaving both startDate and endDate blank will pull "all" events for each
requested ids.
example: '2019-12-31'
date:
name: date
in: query
required: false
schema:
type: string
description: >
The as of date in **YYYY-MM-DD** format. This controls the perspective
date in which the period parameter will be computed. Future dates (T+1)
are not accepted in this endpoint.
example: '2019-07-07'
cancelledDividend:
name: cancelledDividend
in: query
required: false
schema:
type: string
enum:
- include
- exclude
default: exclude
description: >
The cancelled dividend returns the dividend details whether they are
cancelled or active.
example: exclude
frequency:
name: frequency
in: query
schema:
type: string
enum:
- D
- AD
- W
- M
- AM
- AQ
- CQ
- ASA
- CSA
- AY
- CY
default: D
description: |
Controls the display frequency of the data returned.
* **D** = Daily
* **AD** = Actual Daily
* **W** = Weekly, b
# --- truncated at 32 KB (135 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/factset/refs/heads/main/openapi/global-prices-openapi-original.yml