Data Distribution API
The Distribution API allows users to request structured fund data using REST standards.
Before you can start using the Distribution API, you will need to understand the authorization flow of the API. Requests sent to our Distribution API utilize access tokens - generated from a key/secret combination - for authentication based on the Client Credentials Grant flow of the Identity Server and OAuth 2.0 framework. These access tokens expire after 1 hour, and have to be re-generated post expiry. The error code 401-UnAuthorized indicates the current access token being used has expired.
The preceding diagram shows a standard Auth flow, where Authorization Server is (https://identity.fundslibrary.net/connect/token) and Distribution API (https://fcsdata.broadridge.com/).
Examples
Endpoint
https://fcsdata.broadridge.com/Securities/
Authentication
Get Access Token
-
curl --location --request POST "https://identity.fundslibrary.net/connect/token" -u "AE84D509BF3A4847809A27F8D97FE54E:Playground_Secret" --form "grant_type=client_credentials"
Use the generated access-token by the above command. The access-token shall be valid for 1hr and can be reused for all other requests.
Requests must have an Authorization
HTTP header containing a bearer access token.
Authorization : Bearer {access_token}
Contact us to obtain your Distribution API ClientId & Secret combination. These values, along with any access tokens generated, should be considered as sensitive as a password, and must used only by authorized parties as stated in the agreement.
MiFID EMT
If you are requesting for the MiFID EMT data, then the request should have a X-FL-EMT-Version
Http header containing the EMT version 1.0, 3.0, 3.1, 4.0, 4.1 or 4.2.
Please note, if this Http Header is not passed, it will default to EMT Version 1.0. It is mandatory to pass this Http Header if you are requesting for EMT Version in 3.0, 3.1, 4.0, 4.1 or 4.2.
X-FL-EMT-Version : 1
X-FL-EMT-Version : 1.0
X-FL-EMT-Version : 3
X-FL-EMT-Version : 3.0
X-FL-EMT-Version : 3.1
X-FL-EMT-Version : 4
X-FL-EMT-Version : 4.0
X-FL-EMT-Version : 4.1
X-FL-EMT-Version : 4.2
PRIIPs Data
PRIIPs data will be returned by Api only either in json or xml format based on accept header.
Accept headers
It is possible to provide an accept header to receive data in either Json, Xml or Csv (json is the default). We do however strongly discourage the use of Xml and Csv.
Accept : application/json
Accept : application/xml
Accept : text/csvPlease be aware that Csv currently does not support repeating items such as arrays.
Schema
The data structure is documented in two ways:
- Human-readable documentation, in HTML format.
- Machine-readable documentation, in the form of an .edmx file
ESG EET
If you are requesting ESG/EET data, the API will return data defaulting to EET version 1.1.2.
If a specific version is required, the X-FL-EET-Version
HTTP header can be passed in the request with the correct version value. We currently support the versions shown below.
ESG/EET data will be returned by the data API either in JSON or XML format based on the value in the accept header.
X-FL-EET-Version : 1.1.2
Response codes
Status Code | Text | Cause |
---|---|---|
200 | OK | The request is served. |
400 | Bad Request | The request could not be parsed successfully because of a syntactically or semantically incorrect URL. |
401 | Unauthorized | Authentication is required and has not been provided or access token has expired. |
403 | Forbidden | User does not have privileges to access the entity. |
404 | Record Not Found |
The record does not exist for the given query. OR The length of the URI exceeds the maximum allowed length for the browser. For Internet Explorer7 & 8 this is 2,048 characters. |
405 | Method Not Allowed | A request cannot be used for this record. |
406 | Not Acceptable | The requested format specified in the accept header cannot be satisfied for the entity/entity container/entity set. |
413 | Request Entity Too Large | The request attempts to set too much data, or the requested range contains too many rows, returned data is too big. |
429 | Too Many Requests | The request takes the user over their agreed per minute/hour/day/month fund unit consumption limit. |
500 | Internal Server Error | Internal Error |
503 | Service Unavailable | Service Unavailable |
Limits and Restrictions
-
Any tool using data from the Distribution API must credit Broadridge in a clear and appropriately prominent fashion.
The default means for this is to feature our "Powered by Broadridge" logo wherever our data is used.
It must be visible and unobscured for the entire user journey.
The logo can be embedded with the following HTML:
<img src="https://fcscdn.broadridge.com/widgets/static/powered_by_logo_v2.svg" alt="Powered By Broadridge" />
- Data must be requested separately for each occasion on which it is used. Users are not permitted to locally cache the data to service future needs.
- All URLs contained in our fund data must be used as-is, without any modifications. They must not be obscured from users by aliases or url-shorteners.