FactSet SDF Download API Synchronous Delivery Service User Manual

June 11, 2024
FactSet

FactSet-LOGO

FactSet SDF Download API Synchronous Delivery Service

FactSet-SDF-Download-API-Synchronous-Delivery-PRODUCT

Notice
This manual contains confidential information of FactSet Research Systems Inc. or its affiliates (FactSet). All proprietary rights, including intellectual property rights, in the Licensed Materials will remain property of FactSet or its Suppliers, as applicable. The information in this document is subject to change without notice and does not represent a commitment on the part of FactSet. FactSet assumes no responsibility for any errors that may appear in this document.

Revision History

FactSet-SDF-Download-API-Synchronous-Delivery-Service-
FIG-1

Introduction

The FactSet SDF Download API is a synchronous delivery service that allows you to get the latest version of tables or schemas through an HTTP connection.

FactSet SDF Download (RESTful) API
The FactSet SDF Download RESTful API provides efficient programmatic access to all the SDF delta and full files for the schemas and bundles subscribed to by the user via the standard HTTPS protocol. Data is delivered URL to the downloadable files produced based on user’s request.

FactSet-SDF-Download-API-Synchronous-Delivery-Service-
FIG-2

Authentication
The SDF Download API provides easy access to SDF data via the standard HTTPS protocol. All services are authenticated by a central source, so the same username and password work for all services. In addition, naming conventions have been standardized to simplify the consumption of multiple services.
To authenticate to the SDF API FactSet leverages API Keys using Basic HTTP Authentication Scheme described in RFC 7617 Click here for more details on Authentication.

To generate an API key:

  1. Go to https://developer.factset.com

  2. Login with your FactSet .NET ID

  3. Go to https://developer.factset.com/manage-api-keys

  4. Select your machine account to grant you access

  5. Select Generate new API keyFactSet-SDF-Download-API-Synchronous-Delivery-Service-FIG-3

  6. Provide a description of your API Key (Tip: Describe IP range)

  7. Specify your required IP range and select Add. (The From IP value will auto populate, while the To IP can be left blank.)
    You can edit this API key IP range in the future

  8. Select Create

  9. Copy your new API Key, this will not be retrievable again. Copy into a safe location for future reference, if needed

Note:
Use USERNAME-MACHINE SERIAL along with the API key generated in the previous step for authentication.

Issuing a Request with an API Key
The specifics of an API request differ by the FactSet RESTful API being used, but the authentication remains the same. A valid Authorization header must be provided using Basic HTTP Authentication Scheme. This scheme requires a username and password. The FactSet credentials (username and serial separated by a single hyphen “-“ character) forms the username and the API key is the password. This username and password concatenated by a single colon “:“ character must be Base64 encoded and included with the Authorization header for all API requests.

Example
GET request to the FactSet RESTful API using “usernameserial:XXXXXXXXXXXXXXXXXXXXXXXXXXX” as the credentials

  • $ printf “username-serial:XXXXXXXXXXXXXXXXXXXXXXXXXXX” | base64
  • dXNlcm5hbWUtc2VyaWFsOlhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWA==
  • $ curl  X GET “https://api.factset.com/bulk-documents/sdf” –
    • H “Accept: application/json”
    • H “Authorization: Basic dXNlcm5hbWUtc2VyaWFsOlhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWA==”

Note:
If the credentials are not valid, the server will respond with a 401 HTTP status code (Unauthorized).

FactSet SDF RESTful API Service
The SDF Download API generates output files with data based on user specified input parameters. The input parameters include schema, sequence number, bundle specification and date ranges for which the data will be generated. When the API request with specified input parameters has completed the output files will be made available back to the users through a secure URL to the location where the files are stored. The files returned are chunked based on type schema bundle and sequence. Each secure link will be valid for up to 1 hour.

FactSet SDF Download API Functionality and Benefits
The FactSet SDF Download API provides the following features to applications:

  • Synchronous access using a standard HTTP RESTful service
  • Stateless requests (No sticky cookies)
  • Platform independence
  • Zero-based installation
  • Seamless failover

Synchronous Access
Synchronous data access simplifies application programming and makes it straightforward to exploit the HTTP protocol.

Stateless Request / Response
The RESTful API is a stateless request / response service. The service does not make any use of HTTP cookies, and thus allows requests to be load-balanced over multiple servers. This in turn, improves both throughput and response time.

Platform Independence
The RESTful API can be used without any FactSet-supplied software. Applications can access data from any system that supports HTTPs requests.

Zero-Based Installation
Proprietary software is not needed to access this service. Any standard library or application that can issue HTTP queries can request data via the RESTful API.

Seamless Failover
If a FactSet Data Server or an entire data center goes down, requests will be routed to an available Data Server using state-of-the-art load balancers. You do not have to change your software, as this failover will be automatic.

Access and Security

FactSet-SDF-Download-API-Synchronous-Delivery-
Service-FIG-4

Easy Access Through FactSet SDF Download API
This RESTful API uses HTTP Basic Authentication which requires the following HTTP header be added to the request. Authorization: Basic {Base-64 Encoding of “user:password”} See the Authentication Section for details on how to generate the password.

Certificates and Certificate Chains
FactSet recommends users should not hardcode a reliance on any certificate or advertised certificate chain into their applications and expects users to rely on Public Key Infrastructure verification and validity of the certificates.

  • FactSet’s Certificates will change over time as they are renewed, and the complexity of the algorithms employed increase continually increase over time (i.e., SHA-2 rather than SHA-1 signatures). This is the constant evolution of security as old security algorithms are retired and new security algorithms are included. Often these certificates get updated on a rolling multi-year basis. Validating a certificate dynamically during TLS connections must be incorporated by the user as a necessary practice
  • FactSet’s Certificate chains, including intermediate Certificate Authorities, may change over time, and it is important that users dynamically validate FactSet’s certificates against a modern CA trusted root certificate store. FactSet’s current root certificate is Thawte Primary Root CA

Security Protocols
Users should not hardcode dependencies on any specific security protocol as FactSet is continuously reviewing security policies and reserves the right to disable support for older security protocols with short notice. The current supported protocols are TLSv1.1 and TLSv1.2 but at a future date, these may be replaced with future versions. Users should make sure that their software can handle ever changing Security Protocols.
Firewall
Users should have access to api.factset.com through their firewall.

Requests

Description
The FactSet RESTful API supports HTTP GET requests.

Request HeadersFactSet-SDF-Download-API-Synchronous-Delivery-Service-
FIG-5

Request Parameters

List Schemas End PointFactSet-SDF-Download-API-Synchronous-Delivery-
Service-FIG-6

List Files End PointFactSet-SDF-Download-API-Synchronous-Delivery-
Service-FIG-7

Request Return CodesFactSet-SDF-Download-API-Synchronous-Delivery-
Service-FIG-8

Sample Requests

URL Syntax
A URL is defined as following:

  • :///?< optional query string parameters> [![FactSet-SDF-Download-API-Synchronous-Delivery-Service- FIG-9](https://manuals.plus/wp-content/uploads/2023/05/FactSet-SDF-Download- API-Synchronous-Delivery-Service-FIG-9.png)](https://api.factset.com/bulk- documents/sdf/v1/list-files?bundle=XXXX)

Examples:
List Schemas
http://api.factset.com/bulk-documents/sdf/v1/list-schemas provides the list of schemas subscribed by you and your corresponding sequences if no query parameters are passed in the request.

List Schema and Sequence
https://api.factset.com/bulk-documents/sdf/v1/list- schemas?schema=qfl_v1&sequence=2 If schema & sequence number (version number of schema) are passed in the request, this endpoint provides a downloadable presigned url containing the schema information.

Note: The request does not support multiple schemas as an input .FactSet-SDF-Download-API-Synchronous-Delivery-Service-
FIG-11

List-schemas Output:
Output is delivered in the form of JSON files. File names are composed of schema update date and time.

List Files
http://api.factset.com/bulk-documents/sdf/v1/list-files provides the downloadable links for all schemas & bundles subscribed by user. If startDate and endDate parameters are not specified in the request, this endpoint returns the past 10 days data by default.

FactSet-SDF-Download-API-Synchronous-Delivery-Service-
FIG-19

List-files output for YTD(Full) for QFL:
Output is delivered in the form of .zip files with the following naming convention – bundle name_filetype_sequence number.zip for full files.

List-files output for YTD(Delta) for QFL:
Output is delivered in the form of .zip files with the following naming convention – bundle name_ sequence number.zip for delta files.

List-files output for Historical for QFL:
Output is delivered in the form of .zip files with the following naming convention – bundle name_filetype_sequence number.zip for full files.

List-files output for Historical (excluding QFL):
Output is delivered in the form of .zip files with naming convention as bundle name_filetype_sequence number.zip for full files.

List-files output for Delta(excluding QFL):
Output is delivered in the form of .zip files with naming convention as bundle name_ sequence number.zip for delta files.

List Files for a Schema
https://api.factset.com/bulk-documents/sdf/v1/list-files?schema=qfl_v1

Provides all the “factor groups” within the subscribed factor families for the past 10 days.

FactSet-SDF-Download-API-Synchronous-Delivery-Service-
FIG-18

List Files for a bundle
Provides all of the info for the bundle specified. Also gives the available related bundles.
https://api.factset.com/bulk-documents/sdf/v1/list- files?bundle=acta_ac_v1,fgp_global_prices_am_v1

Note: Supports multiple bundles inputs.

FactSet-SDF-Download-API-Synchronous-Delivery-Service-
FIG-19

List-files with type = full / delta
https://api.factset.com/bulk-documents/sdf/v1/list- files?schema=ks_v1&type=full

FactSet-SDF-Download-API-Synchronous-Delivery-Service-
FIG-20

https://api.factset.com/bulk-documents/sdf/v1/list- files?schema=ks_v1&type=delta

List-files for a date range
startDate=YYYY-MM-DD&endDate= YYYY-MM-DD Provides data for a specified date range.

FactSet-SDF-Download-API-Synchronous-Delivery-Service-
FIG-22

Note: In the absence of a date parameter input, the API returns (by default) 10 days of data.

“_sort” list-files
By default, API shows results in the reverse chronological order based on “time stamp”. This order can be changed using “_sort” option in query input
https://api.factset.com/bulk-documents/sdf/v1/list- files?type=full&_sort=startDate

_sort=startDate – sorts the data as per oldest date in response output.

Response Data Fields

Response fields
List-schemas endpointFactSet-SDF-Download-API-Synchronous-Delivery-Service-
FIG-23FactSet-SDF-Download-API-
Synchronous-Delivery-Service-FIG-24

Meta fields

FactSet-SDF-Download-API-Synchronous-Delivery-Service-
FIG-25

Pagination
An endpoint where the primary data in the response is an array or an object containing an array may support pagination of the respective array to limit the number of resources returned in a response, using a pagination meta- attribute.

FactSet-SDF-Download-API-Synchronous-Delivery-Service-
FIG-26

Example

FactSet-SDF-Download-API-Synchronous-Delivery-Service-
FIG-27

Total: Specifies the number of records returned in the response. In this example the total number of records are 256.

FactSet-SDF-Download-API-Synchronous-Delivery-Service-
FIG-28

paginationLimit
The default results per page is 20 (offset). “_paginationLimit” parameter allows users to override the default.
http://api.factset.com/bulk-documents/sdf/v1/list- files?schema=ks_v1&_paginationLimit=100
shows 100 results per page instead of default 20FactSet-SDF-Download-API-
Synchronous-Delivery-Service-FIG-29

paginationOffset
The “_paginationOffset” option allows users to navigate to the next set of records. By default, the Pagination Limit = Pagination Offset.
http://api.factset.com/bulk-documents/sdf/v1/list- files?schema=ks_v1&_paginationLimit=50

FactSet-SDF-Download-API-Synchronous-Delivery-Service-
FIG-30

“_paginationOffset=50” returns next set of 50 records. In this case last 21 (51-71) records since the total number of records are 71.

https://api.factset.com/bulk-documents/sdf/v1/list- files?schema=ks_v1&_paginationLimit=50&_paginationOffset=50

FactSet-SDF-Download-API-Synchronous-Delivery-Service-
FIG-31 isPartial: true
Denotes there are additional results/pages for the request.

FactSet-SDF-Download-API-Synchronous-Delivery-Service-
FIG-31

Partial: false
Denotes there are no further results/pages for the request.FactSet-SDF-
Download-API-Synchronous-Delivery-Service-FIG-32

Error Response

Permission Error

User does not have a subscription to the API FactSet-SDF-Download-API-
Synchronous-Delivery-Service-FIG-34

User does not have a subscription to the Schema in list-schema endpoint FactSet-SDF-Download-API-Synchronous-Delivery-Service-
FIG-35

Param Error
Example not entitled error messages:

Appendix D: Reference Docs

Refer to the documents below from OA_Page:15222

  • FactSet Standard DataFeed Symbology v1 UserGuide for FactSet symbology
  • FactSet Standard DataFeed General v1 User Guide for standard datafeed questions

Global Client Support
If you have any questions, submit a request through https://issuetracker.factset.com under the “Documents API” RPD product category.
If you do not have login credentials for Issue Tracker, Email to datafeed_support@factset.com.
For general assistance, contact your local FactSet Consultant or Salesperson or Email support@factset.com.

Trademarks

  • FactSet is a registered trademark of FactSet Research Systems, Inc
  • Microsoft is a registered trademark, and Windows is a trademark of Microsoft Corporation
  • All other brand or product names may be trademarks of their respective companies

Acknowledgements
This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org).

Copyright © 2022 FactSet Research Systems Inc. All rights reserved. FactSet Business Use Only
www.factset.com

References

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

Related Manuals