Introduction
Cognitive Credit provides a REST API to enable clients to pull data from the Cognitive Credit Application in standardised, JSON-encoded format.
These pages provide a tool for clients who are interested in Cognitive Credit Company data to be consumed via an interface that is fast and scalable, and view data that will be returned by the API, as well as the documentation necessary to build to the Cognitive Credit service and integrate it into their system.
For full connectivity and access to the Cognitive Credit Data Set, clients must subscribe to the API service and will be given an authentication key to enable them to securely connect to the Cognitive Credit server.
Useful resources
Swagger UI
We have a Swagger UI site which you can use to explore our API: You can find it at swagger-ui/
OpenAPI V3 file
You can download an OpenAPI V3 file which describes our API. It can be used for generating API clients, generating mock servers and stub code, etc. It can also be imported into Postman
Pre-generated clients (SDKs)
Python Install with
pip install https://cognitivecreditapi.com/resources/sdks/cognitivecreditapi-latest-python.tgz
Python Sample code
import os
import cognitivecreditapi
from cognitivecreditapi.apis.tags import default_api
API_KEY = os.getenv("API_KEY")
if API_KEY is None:
raise ValueError("Setup the API_KEY environment variable")
configuration = cognitivecreditapi.Configuration()
configuration.api_key["authorizeClient"] = API_KEY
api_client = cognitivecreditapi.ApiClient(configuration)
api_instance = default_api.DefaultApi(api_client)
api_response = api_instance.get_company_listings(
query_params={"limit": 1},
)
assert(api_response.response.status == 200)
assert(len(api_response.body["data"]) == 1)
print(api_response.body["data"])
Javascript Install with
npm i https://cognitivecreditapi.com/resources/sdks/cognitivecreditapi-latest-javascript.tgz
Javascript Sample code
const DataApi = require('cognitivecreditapi');
const defaultClient = DataApi.ApiClient.instance;
const authorizeClient = defaultClient.authentications['authorizeClient'];
authorizeClient.apiKey = process.env.API_KEY
if (!authorizeClient.apiKey) {
throw Error("Setup the API_KEY environment variable")
}
const api = new DataApi.DefaultApi()
api.getCompanyListings({limit: 1}, (error, data, response) => {
console.log('error', error)
console.log('statusCode', response.statusCode)
console.log(data.data)
});
We have generated a selection of clients from our OpenAPI file using OpenAPI Generator. You can download SDKs for:
Individual SDK Documentation can be found in the README.md of each tarballs.
The shell on the right has example on how to install and use the Python and Javascript SDKs
Generated server stubs
If you would like server stubs generated to aid your integration testing, we can generate code for these languages/frameworks on request. Alternatively, use the OpenAPI file to generate your own.
Authentication & authorisation
To authorise, use this code:
# With shell, you can just pass the correct header with each request
curl "api_endpoint_here" \
-H "x-api-key: api-key-value"
Make sure to replace
api-key-value
with your API key.
The Data API uses API keys to allow access to the API. Contact our sales team to get set up!
DAPI expects for the API key to be included in all API requests to the server in a header that looks like the following:
x-api-key: rAjfuEECTrBrAapx0D5WxIHvsey9P7XwIVxtYTQS
The header name is not case-sensitive.
Coverage Universe
Each company has been assigned one or more coverage universes. Clients can be assigned licences for one or more of these.
API queries are automatically filtered to return companies in the assigned universe(s). The list of possible coverage universes is as follows:
Code | Description |
---|---|
us-hy | U.S. High Yield licence |
us-ig | U.S. Investment Grade licence |
us-ll | U.S. Leveraged Loan licence |
euro-hy | European High Yield licence |
euro-ig | European Investment Grade licence |
euro-ll | European Leveraged Loan licence |
Throttling
Please note that throttling will be applied on a per client basis if the request limits are exceeded - see the errors section for specific limits.
Content encoding
An example cURL request would look like this:
curl "api_endpoint_here" \
-H "Accept-Encoding: gzip, deflate" \
-H "x-api-key: api-key-value"
Compression is supported for responses greater than 1kb. Include an Accept-Encoding
header in your request
to supply your supported encodings.
The supported methods of content coding are:
deflate
gzip
identity
If this header is not present or no method of content coding is specified, the API endpoint will return an uncompressed response.
HTTP request headers common to all endpoints
- Accept-Encoding: gzip, deflate
- Accept: application/json
Paging
curl -X GET "${BASE_PATH}/companies?limit=2" \
-H 'Accept: application/json' \
-H 'x-api-key: rAjfuEECTrBrAapx0D5WxIHvsey9P7XwIVxtYTQS'
{
"meta": {
"next": "/companies?limit=2&continuation_token=adient"
},
"data": {
"results": "here"
}
}
curl -X GET "${BASE_PATH}/companies?limit=2&continuation_token=adient" \
-H 'Accept: application/json' \
-H 'x-api-key: rAjfuEECTrBrAapx0D5WxIHvsey9P7XwIVxtYTQS'
{
"meta": {
"next": "/companies?limit=2&continuation_token=adlergroup"
},
"data": {
"more_results": "here"
}
}
curl -X GET "${BASE_PATH}/companies?limit=2&continuation_token=adlergroup" \
-H 'Accept: application/json' \
-H 'x-api-key: rAjfuEECTrBrAapx0D5WxIHvsey9P7XwIVxtYTQS'
{
"meta": {
"next": null
},
"data": {
"even_more_results": "here"
}
}
All list queries support paging.
To request paged data, include a limit
query parameter. The response will include a meta
section with a next
field
containing the url fragment that will fetch the next page. Use this with the base url.
When there are no more pages of data, the value of the next
field will be null
.
Routes
All URIs are relative to https://cognitivecreditapi.com/v1
Method | HTTP request | Description |
---|---|---|
GetCompanyDescriptions | GET /companies | Get company descriptions |
GetCompanyComparables | GET /comparables/{interval} | Get company comparables |
GetCompanyComparables | GET /comparables | [This is a legacy route] - It is equivalent to making a request to /comparables/ltm |
GetComparablesUpdatesSince | GET /comparables/updates | Get company comparables updates for a given time period |
GetCompanyFinancials | GET /companies/{companyId}/financials | Get company financials |
GetCompanyDatapoint | GET /datapoints/{datapointId} | Get a company datapoint |
GetCompanyPeriodDates | GET /companies/{companyId}/periods | Get company period dates |
GetCompanyDocuments | GET /companies/{companyId}/documents | Get company documents |
GetCompanyReportingDates | GET /companies/{companyId}/reportingdates | Get company reporting dates |
GetCompanyTimeSeries | GET /companies/{companyId}/timeseries/{tag}/{interval} | Get company time series |
GetCompanyBulkDatapoints | GET /companies/{companyId}/datapoints/bulk/{setType} | Get company datapoints list |
GetTagList | GET /tags | Get list of tags with definitions |
GetCompanyDescriptions
Companies covered can be requested as follows:
BASE_PATH=https://cognitivecreditapi.com/v1
API_KEY=rAjfuEECTrBrAapx0D5WxIHvsey9P7XwIVxtYTQS
curl -X GET "${BASE_PATH}/companies" \
-H 'Accept: application/json' \
-H "x-api-key: ${API_KEY}"
curl -X GET "${BASE_PATH}/companies?limit=20&continuation_token=acs" \
-H 'Accept: application/json' \
-H "x-api-key: ${API_KEY}"
curl -X GET "${BASE_PATH}/companies?at_timestamp=2022-08-26&company_ids=accor,adient,bkfrance" \
-H 'Accept: application/json' \
-H "x-api-key: ${API_KEY}"
An example request to get all Company Descriptions updates since a particular date-time is as follows:
BASE_PATH=https://cognitivecreditapi.com/v1
API_KEY=rAjfuEECTrBrAapx0D5WxIHvsey9P7XwIVxtYTQS
curl -X GET "${BASE_PATH}/companies?updated_after=2023-01-02T09:00:00" \
-H 'Accept: application/json' \
-H "x-api-key: ${API_KEY}"
A typical response would be:
{
"meta": {
"next": "/companies?at_timestamp=2022-08-17T08:49:16.883091%2B00:00&limit=2&continuation_token=adient"
},
"data": [
{
"id": "accor",
"name": "Accor",
"ticker": "ACFP",
"retired": false,
"gics_code": "25301020",
"ownership": "pub",
"country_code": "FR",
"generated_at": "2022-09-02T16:24:16.956719+00:00",
"retired_date": null,
"url_investors_relations": "https://group.accor.com/en/investors",
"currency": "EUR",
"multiplier": "Millions",
"year_end": "Dec",
"frequency": "Q",
"last_reported_date": "2022-01-01T02:34:56+00:00",
"accounting_standard": "IFRS",
"next_reporting_date": "2022-04-01 02:34:56+00",
"last_reported_period": "Q3",
"next_reporting_period": "Q4",
"last_reported_document_type": "Annual report",
"created_at": "2022-09-02T16:24:17.951869+00:00",
"updated_at": "2022-09-02T16:24:17.951869+00:00",
"description": "Accor’s business model is founded on a wide range of accommodation in hotels and private residences offered to travelersand travel professionals, together with coworking spaces and countless services."
},
{
"id": "adient",
"name": "Adient",
"ticker": "ADNT",
"retired": false,
"gics_code": "25101010",
"ownership": "pub",
"country_code": "IE",
"generated_at": "2022-09-02T16:24:26.473911+00:00",
"retired_date": null,
"url_investors_relations": "https://www.adient.com/investors",
"currency": "USD",
"multiplier": "Millions",
"year_end": "Sep",
"frequency": "Q",
"last_reported_date": "2022-08-05T00:00:00+00:00",
"accounting_standard": "US GAAP",
"next_reporting_date": null,
"last_reported_period": "3Q22",
"next_reporting_period": "FY22",
"last_reported_document_type": "preliminaries",
"created_at": "2022-09-02T16:24:27.236060+00:00",
"updated_at": "2022-09-02T16:24:27.236060+00:00",
"description": "Adient is a global leader in the automotive seating supply industry, with leading market positions in theAmericas, Europe and China. Adient maintains longstanding relationships with the largest global automotiveoriginal equipment manufacturers (“OEMs”). Adient’s proprietary technologies extend into virtually every areaof automotive seating solutions, including complete seating systems, frames, mechanisms, foam, head restraints,armrests, trim covers and fabrics."
}
]
}
Get company descriptions
Returns a list of company description objects.
HTTP Request
GET https://cognitivecreditapi.com/v1/companies
Query Parameters
Name | Type | Description | Notes |
---|---|---|---|
at_timestamp | Date | timestamp to return company descriptions snapshot for | [optional] ISO-8601 format (for timezone offsets, be sure to URL encode the + as %2B ) |
company_ids | String | filter by supplied company ids | [optional] Comma separated list |
is_retired | String | filter by retired status - (true, false) | [optional] |
tickers | String | filter by supplied tickers | [optional] Comma separated list |
limit | Integer | maximum number of results to return - typically used when paging | [optional] |
updated_after | Date | only return latest company descriptions added or updated on or after this ISO-8601 timestamp | [optional] This filters on the date the company description set was created (either when an existing company is updated or a new company is added). Therefore, in the response you will see results with created_at in the range set by this parameter. (for timezone offsets, be sure to URL encode the + as %2B ) |
updated_before | Date | only return latest company descriptions added or updated before this ISO-8601 timestamp | [optional] As above (for timezone offsets, be sure to URL encode the + as %2B ). |
last_reported_date_after | Date | only return latest company descriptions where last reported date is on or after this ISO-8601 timestamp | [optional] ISO-8601 format (for timezone offsets, be sure to URL encode the + as %2B ) |
last_reported_date_before | Date | only return latest company descriptions where last reported date is before this ISO-8601 timestamp | [optional] ISO-8601 format (for timezone offsets, be sure to URL encode the + as %2B ) |
continuation_token | String | identifier of last result in previous result set - allows continuation of paged results | [optional] |
Return type
Name | Type |
---|---|
data | List[Company] |
meta | Metadata |
with Metadata
having the form:
Name | Type | Notes |
---|---|---|
next | String | Url fragment to fetch the next page of data. null if there are no more pages |
and with a Company
having the form:
Name | Type | Description |
---|---|---|
accounting_standard | String | the Accounting Standard use, for example IFRS or GAAP |
country_code | String | 2-Char Country Code |
created_at[Deprecated] | Date | Creation Date Note: This field is now deprecated. |
updated_at | Date | Update Date |
currency | String | 3-Char Currency Code |
frequency | String | 1-Char Company Reporting Frequency Code, example: Q (Quarterly), H (Half-yearly), Y (Yearly) |
generated_at[Deprecated] | Date | Date the data was generated. Note: This field is now deprecated. |
gics_code | String | code to identify company by sector, industry group, industry and sub-industry |
id | String | string Identifier |
last_reported_date | Date | date company last reported |
last_reported_document_type | String | Report Type (Earnings Report, Presentation, Prospectus) |
last_reported_period | String | the Reporting Period corresponding to this report |
multiplier | String | numeric multiplier on what the numbers are quoted in, example: millions |
name | String | company name |
next_reporting_date | String | date the company will be next reporting |
next_reporting_period | String | the next expected reporting period |
ownership | String | company status as public or private |
retired | Boolean | true / false flag to indicate if a company is retired/no longer reporting |
retired_date | Date | the date the company was retired if no longer reporting |
ticker | String | Bloomberg ticker |
url_investors_relations | String | link to the Company Investor Relations website |
year_end | String | the financial year end cycle of the company |
description | String | A description provided by the issuer in their disclosure regarding the nature of their business |
GetCompanyComparables
BASE_PATH=https://cognitivecreditapi.com/v1
API_KEY=rAjfuEECTrBrAapx0D5WxIHvsey9P7XwIVxtYTQS
INTERVAL="ltm"
curl -X GET "${BASE_PATH}/comparables/${INTERVAL}?limit=2" \
-H 'Accept: application/json' \
-H "x-api-key: ${API_KEY}"
curl "${BASE_PATH}/comparables/${INTERVAL}?at_timestamp=2022-08-25T15:51:55.789012Z&limit=2" \
-H 'Accept: application/json' \
-H "x-api-key: ${API_KEY}"
curl"${BASE_PATH}/comparables/${INTERVAL}?at_timestamp=2022-08-26&company_ids=accor,adient,bkfrance" \
-H 'Accept: application/json' \
-H "x-api-key: ${API_KEY}"
A typical response would be (omitting almost all of the actual comparables data):
{
"data": [
{
"company_id": "accor",
"generated_at": "2022-10-13T10:11:06.489680+00:00",
"updated_at": "2022-10-13T10:11:06.489680+00:00",
"report_period": "1H22",
"interval": "ltm",
"comparables": [
{
"id": "YWNjb3IraGFyZC1zdG9hdCs0MDQwMDg3OTM=",
"tag": "Revenue",
"period": "1H22-LTM",
"label": "Revenue",
"value": "3105"
},
{
"id": "YWNjb3IraGFyZC1zdG9hdCs0MDQwMTA3MDQ=",
"tag": "cc:YoyRevenueChange",
"period": "1H22-LTM",
"label": "Revenue Δ% YoY",
"value": "1.0320680628272252"
}
]
},
{
"company_id": "adient",
"generated_at": "2022-08-25T15:51:39.841441+00:00",
"updated_at": "2022-08-25T15:51:39.841441+00:00",
"report_period": "1Q22",
"interval": "ltm",
"comparables": [
{
"id": "YWNjb3IraGFyZC1zdG9hdCs0MDQwMTA5MTI=",
"tag": "Revenue",
"value": "13242.0",
"period": "3Q22-LTM",
"label": "Revenue"
},
{
"id": "YWNjb3IraGFyZC1zdG9hdCs0MDQwMTAzMDI=",
"tag": "cc:YoyRevenueChange",
"value": "-0.0871363573693644",
"period": "3Q22-LTM",
"label": "Revenue Δ% YoY"
}
]
}
],
"meta": {
"next": "/comparables/ltm?limit=2&continuation_token=adient"
}
}
Get company comparables
Returns comparables data for a list of companies for the allowed coverage universe.
HTTP Request
GET https://cognitivecreditapi.com/v1/comparables/{interval}
Path Parameters
Name | Type | Description | Notes |
---|---|---|---|
interval | String | identifier for the interval of comparables data to fetch | [mandatory] Allowed values are ltm , annual or interim |
Query Parameters
Name | Type | Description | Notes |
---|---|---|---|
at_timestamp | Date | timestamp to return comparables snapshot for | [optional] ISO-8601 format (for timezone offsets, be sure to URL encode the + as %2B ) |
company_ids | String | filter by supplied company ids | [optional] Comma separated list |
limit | Integer | maximum number of results to return - typically used when paging | [optional] |
continuation_token | String | identifier of last result in previous result set - allows continuation of paged results | [optional] |
Return type
Name | Type |
---|---|
data | List[Comparable] |
meta | Metadata |
with Metadata
having the form:
Name | Type | Notes |
---|---|---|
next | String | Url fragment to fetch the next page of data. null if there are no more pages |
and with a Comparables
object having the form:
Name | Type | Description |
---|---|---|
company_id | String | Company Identifier |
interval | String | the comparables interval returned, for example Last Twelve Months (LTM) |
comparables | List[Comparable] | array list of company comparables data |
generated_at[Deprecated] | Date | date the comparables data was generated Note: This field is now deprecated. |
id | Integer | unique Identifier |
report_period | String | specific Reporting Period |
updated_at | Date | Update Date |
With a Comparable
having the form:
Name | Type | Description |
---|---|---|
id | String | unique Identifier |
label | String | text description of the tag returned, example: Revenue Δ% YoY |
period | String | Reporting Period and Interval |
tag | String | the tag to which this specific field was labeled as, example "cc:YoyRevenueChange" |
value | String | numeric value corresponding to the returned label |
GetComparablesUpdatesSince
Updates since can be requested as follows:
BASE_PATH=https://cognitivecreditapi.com/v1
API_KEY=rAjfuEECTrBrAapx0D5WxIHvsey9P7XwIVxtYTQS
curl -X GET "${BASE_PATH}/comparables/updates?start_timestamp=2010-01-01T12:34:56.789012Z&limit=2" \
-H 'Accept: application/json' \
-H "x-api-key: ${API_KEY}"
curl "${BASE_PATH}/comparables/updates?start_timestamp=2010-01-01T12:34:56.789012Z&end_timestamp=2022-08-25T15:51:46.206Z&limit=2" \
-H 'Accept: application/json' \
-H "x-api-key: ${API_KEY}"
curl "${BASE_PATH}/comparables/updates?start_timestamp=2010-01-01T12:34:56.789012Z&company_ids=adient,bkfrance" \
-H 'Accept: application/json' \
-H "x-api-key: ${API_KEY}"
A typical response would be (omitting almost all of the actual comparables data):
{
"data": [
{
"company_id": "bkfrance",
"generated_at": "2022-08-25T15:51:39.841441+00:00",
"updated_at": "2022-08-25T15:51:39.841441+00:00",
"report_period": "1Q22",
"interval": "ltm",
"comparables": [
{
"id": "YWNjb3IraGFyZC1zdG9hdCs0MDQwMTAxOTg=",
"label": "Revenue"
"period": "1Q22-LTM",
"tag": "Revenue",
"value": "535.8",
},
{
"id": "YWNjb3IraGFyZC1zdG9hdCs0MDQwMTA0NDM=",
"label": "Revenue Δ% YoY"
"period": "1Q22-LTM",
"tag": "cc:YoyRevenueChange",
"value": "0.4395486297689414",
}
]
},
{
"company_id": "adient",
"generated_at": "2022-08-25T15:51:46.205695+00:00",
"updated_at": "2022-08-25T15:51:46.205695+00:00",
"report_period": "3Q22",
"interval": "ltm",
"comparables": [
{
"id": "YWNjb3IraGFyZC1zdG9hdCs0MDQwMTA1ODI=",
"label": "Revenue"
"period": "3Q22-LTM",
"tag": "Revenue",
"value": "13242.0",
},
{
"id": "YWNjb3IraGFyZC1zdG9hdCs0MDQwMTEwMTg=",
"label": "Revenue Δ% YoY"
"period": "3Q22-LTM",
"tag": "cc:YoyRevenueChange",
"value": "-0.0871363573693644",
}
]
}
],
"meta": {
"next": "/comparables/updates?start_timestamp=2010-01-01T12:34:56.789012Z&limit=2&continuation_token=2"
}
}
Get company comparables updates for a given time period
Returns comparables data for a list of companies for the allowed coverage universe, from a given start timestamp and optional end timestamp.
HTTP Request
GET https://cognitivecreditapi.com/v1/comparables/updates
Query Parameters
Name | Type | Description | Notes |
---|---|---|---|
start_timestamp | Date | Timestamp to return comparables updates since (all updates greater than or equal to the timestamp) - for timezone offsets, be sure to URL encode the + as %2B |
[mandatory] |
end_timestamp | Date | Timestamp to return comparables updates until (all updates less than, but not equal to, the timestamp) - for timezone offsets, be sure to URL encode the + as %2B |
[optional] |
company_ids | String | filter by supplied company ids | [optional] |
limit | Integer | maximum number of results to return - typically used when paging | [optional] |
continuation_token | String | identifier of last result in previous result set - allows continuation of paged results | [optional] |
Return type
The response is of the same form as the GetCompanyComparables
endpoint:
Name | Type |
---|---|
data | List[Comparables] |
meta | Metadata |
with Metadata
having the form:
Name | Type | Notes |
---|---|---|
next | String | Url fragment to fetch the next page of data. null if there are no more pages |
with a Comparables
object having the form:
Name | Type | Description |
---|---|---|
company_id | String | Company Identifier |
interval | String | the comparables interval returned, example: Last Twelve Months (LTM) |
comparables | List[Comparable] | array list of company comparables data |
generated_at[Deprecated] | Date | date the comparables data was generated Note: This field is now deprecated. |
updated_at | Date | Update Date |
id | Integer | unique Identifier |
report_period | String | specific Reporting Period |
With a Comparable
having the form:
Name | Type | Description |
---|---|---|
id | String | unique Identifier |
label | String | text description of the tag returned, example: Revenue Δ% YoY |
period | String | Reporting Period and Interval |
tag | String | the tag to which this specific field was labeled as, example: cc:YoyRevenueChange |
value | String | numeric value corresponding to the returned label |
GetCompanyFinancials
BASE_PATH=https://cognitivecreditapi.com/v1
API_KEY=rAjfuEECTrBrAapx0D5WxIHvsey9P7XwIVxtYTQS
COMPANY_ID=adient
curl -L -X GET "${BASE_PATH}/companies/${COMPANY_ID}/financials" \
-H "x-api-key: ${API_KEY}"
curl -L -X GET "${BASE_PATH}/companies/${COMPANY_ID}/financials?at_timestamp=2022-08-17T08:49:16.883091Z" \
-H "x-api-key: ${API_KEY}"
A typical response would be (omitting almost all of the actual financials data):
{
"data": {
"company_id": "adient",
"generated_at": "2022-10-13T10:12:08.910567+00:00",
"updated_at": "2022-10-13T10:12:08.910567+00:00",
"financials": [
{
"label": "Net sales",
"sheet_type": "is",
"tag": "Revenue",
"data": [
{
"ids": ["YWRpZW50K3BpZXJjaW5nLWd1aXRhcis5MDA1Mzc4"],
"period": "FY15",
"value": "20023"
},
{
"ids": [
"YWRpZW50K3BpZXJjaW5nLWd1aXRhcis5MDA1ODE3",
"YWRpZW50K3BpZXJjaW5nLWd1aXRhcis5MDA1Mzc3"
],
"period": "FY16",
"value": "16790"
}
]
},
{
"label": "Cost of sales",
"sheet_type": "is",
"tag": "CostOfSales",
"data": [
{
"ids": ["YWRpZW50K3BpZXJjaW5nLWd1aXRhcis5MDA1Mzgx"],
"period": "FY15",
"value": "-18171"
},
{
"ids": [
"YWRpZW50K3BpZXJjaW5nLWd1aXRhcis5MDA1ODIw",
"YWRpZW50K3BpZXJjaW5nLWd1aXRhcis5MDA1Mzgw"
],
"period": "FY16",
"value": "-15181"
},
{
"ids": [
"YWRpZW50K3BpZXJjaW5nLWd1aXRhcis5MDA0MTYw",
"YWRpZW50K3BpZXJjaW5nLWd1aXRhcis5MDA1ODE5",
"YWRpZW50K3BpZXJjaW5nLWd1aXRhcis5MDA1Mzc5"
],
"period": "FY17",
"value": "-14816"
}
]
}
]
}
}
Get company financials
Returns historical financials data for single company.
The returned data is the entire financials history as they were known at the given at_timestamp
value.
Historical datapoint values can and do change - these will be reflected in datasets with later timestamps.
HTTP Request
GET https://cognitivecreditapi.com/v1/companies/{companyId}/financials
Path Parameters
Name | Type | Description | Notes |
---|---|---|---|
companyId | String | identifier for the company to fetch financials for | [mandatory] |
Query Parameters
Name | Type | Description | Notes |
---|---|---|---|
at_timestamp | Date | ISO-8601 Timestamp to return financials snapshot for (for timezone offsets, be sure to URL encode the + as %2B ) |
[optional] ISO-8601 format |
Return type
Name | Type |
---|---|
data | FinancialMetricCollection |
With a FinancialMetricCollection
having the form:
Name | Type | Description |
---|---|---|
company_id | String | identifier for the company to fetch financials for |
financials | List[FinancialDatapointSet] | array list of company financials data points |
generated_at[Deprecated] | Date | date the data was generated Note: This field is now deprecated. |
updated_at | Date | Update Date |
With a FinancialDatapointSet
having the form:
Name | Type | Description |
---|---|---|
data | List[FinancialDatapoint] | Array list of company financials data points |
label | String | Text description of the tag returned, example: Revenue Δ% YoY |
sheet_type | String | Sheet Type - for example, is for income statement |
tag | String | the tag to which this specific field was labeled as, example: Revenue |
with a single FinancialDatapoint
having the form
Name | Type | Description |
---|---|---|
ids | List | unique data point identifier |
period | String | Reporting Period |
value | String | numeric value corresponding to the returned label |
GetCompanyDatapoint
BASE_PATH=https://cognitivecreditapi.com/v1
API_KEY=rAjfuEECTrBrAapx0D5WxIHvsey9P7XwIVxtYTQS
DATAPOINT_ID=YWRpZW50K2NodWJieS1kdWNrKzkwMjk4MjM=
curl -L -X GET "${BASE_PATH}/datapoints/${DATAPOINT_ID}" \
-H "x-api-key: ${API_KEY}"
A typical response would be:
{
"data": {
"id": "YWRpZW50K2NodWJieS1kdWNrKzkwMjk4MjM=",
"comment": null,
"comment_refs": null,
"company_id": "adient",
"display_label": "Y/o/Y Revenue Change",
"generated_at": "2023-09-27T14:08:05.086369+00:00",
"page_number": null,
"parts": [
{
"id": "YWRpZW50K2NodWJieS1kdWNrKzkwMDAwMzA=",
"op": null
},
{
"id": "YWRpZW50K2NodWJieS1kdWNrKzkwMDAwMzE=",
"op": "vs."
}
],
"period": "FY22",
"source_doc": null,
"source_type": "re",
"tag": "cc:YoyRevenueChange",
"not_meaningful": false,
"value": "0.0322368421",
"updated_at": "2023-09-27T14:08:05.086369+00:00"
}
}
Get a company datapoint
Returns details of an individual datapoint for a company.
The returned item is a datapoint, which describes the source and calculation behind the value. Ids can be found in the results from the comparables and the financials endpoints.
HTTP Request
GET https://cognitivecreditapi.com/v1/datapoints/{datapointId}
Path Parameters
Name | Type | Description | Notes |
---|---|---|---|
datapointId | String | identifier for the datapoint | [mandatory] |
Return type
Name | Type | Description |
---|---|---|
data | [CompanyDatapoint] | array list of company data points |
With a CompanyDatapoint
having the form:
Name | Type | Description |
---|---|---|
comment | String | |
comment_refs | List[CommentRef] | |
company_id | String | Company identifier |
display_label | String | text description of the tag returned example: Revenue Δ% YoY |
document_id | String | Originating Document |
generated_at[Deprecated] | Date | date the data was generated Note: This field is now deprecated. |
updated_at | Date | Update Date |
id | String | unique Identifier |
page_number | Integer | page of the document where the data point was extracted |
parts | List[Part] | |
period | String | Reporting Period and Interval |
source_doc | String | Originating Document |
source_type[Deprecated] | String | Originating Source Type |
tag | String | the tag to which this specific field was labeled as |
value | String | numeric value corresponding to the returned label |
not_meaningful | Boolean | Value that is insignificant, incompatible with the current view, or of a different type. |
with a CommentRefs
object having the form:
Name | Type | Description |
---|---|---|
doc | String | Originating Document |
label | String | Text description of the tag returned example: Revenue Δ% YoY |
page | Integer |
and a Part
having the form:
Name | Type | Description |
---|---|---|
id | String | unique Identifier |
op | String | operator (+, - etc) |
GetCompanyPeriodDates
BASE_PATH=https://cognitivecreditapi.com/v1
API_KEY=rAjfuEECTrBrAapx0D5WxIHvsey9P7XwIVxtYTQS
COMPANY_ID=adient
curl -L -X GET "${BASE_PATH}/companies/${COMPANY_ID}/periods" \
-H "x-api-key: ${API_KEY}"
A typical response would be (omitting most of the period_dates data):
{
"data": {
"company_id": "adient",
"generated_at": "2022-10-13T10:12:08.910567+00:00",
"updated_at": "2022-10-13T10:12:08.910567+00:00",
"period_dates": [
{
"period": "FY22",
"date": "2022-09-30"
},
{
"period": "1H22",
"date": "2022-03-31"
},
{
"period": "3Q22-LTM",
"date": "2022-06-30"
},
{
"period": "3Q22-YTD",
"date": "2022-06-30"
}
]
}
}
Get company period dates
Returns end dates of financial reporting periods for given company.
The returned data is the specific date for the end of each financial period for a given company, for that company's history.
HTTP Request
GET https://cognitivecreditapi.com/v1/companies/{companyId}/periods
Path Parameters
Name | Type | Description | Notes |
---|---|---|---|
companyId | String | identifier for the company to fetch period dates for | [mandatory] |
Return type
Name | Type |
---|---|
data | PeriodDatesCollection |
With a PeriodDatesCollection
having the form:
Name | Type | Description |
---|---|---|
company_id | String | Company identifier |
generated_at[Deprecated] | Date | date the data was generated Note: This field is now deprecated. |
updated_at | Date | Update Date |
period_dates | List[PeriodDate] | array list of Reporting Periods and their associated dates |
With a PeriodDate
having the form:
Name | Type | Description |
---|---|---|
period | String | Reporting Period |
date | Date | end date of the associated Reporting Period |
GetCompanyTimeSeries
BASE_PATH=https://cognitivecreditapi.com/v1
API_KEY=rAjfuEECTrBrAapx0D5WxIHvsey9P7XwIVxtYTQS
COMPANY_ID=adient
TAG=Revenue
INTERVAL=ltm
curl -L -X GET "${BASE_PATH}/companies/${COMPANY_ID}/timeseries/${TAG}/${INTERVAL}" \
-H "x-api-key: ${API_KEY}"
A typical response would be (omitting most of the time_series data):
{
"data": {
"company_id": "adient",
"generated_at": "2023-02-23T11:51:51.402072+00:00",
"updated_at": "2023-02-23T11:51:51.402072+00:00",
"interval": "interim",
"tag": "Revenue",
"time_series": [
{
"id": "YWRpZW50K3Jldm9sdmluZy1jcmF5ZmlzaCs5MDAyMTc1",
"period": "1Q16",
"value": "4233"
},
{
"id": "YWRpZW50K3Jldm9sdmluZy1jcmF5ZmlzaCs5MDAxNTk0",
"period": "2Q16",
"value": "4298"
},
{
"id": "YWRpZW50K3Jldm9sdmluZy1jcmF5ZmlzaCs5MDAyNDI4",
"period": "3Q16",
"value": "4362"
}
]
}
}
Get company time series
Returns all historical values for a specific comparable for a given company and interval.
The returned data is a set of historical values for a particular comparable, for a given company.
error code | when reported |
---|---|
COMPANY_NOT_FOUND |
if there were no timeseries because company is not available in the universe |
ANNUAL_REPORTER_INTERIM_TIMESERIES_NOT_AVAILABLE |
if there were no timeseries because company is annual reporter |
TIMESERIES_NOT_FOUND |
if there were no timeseries for some other reason |
HTTP Request
GET https://cognitivecreditapi.com/v1/companies/{companyId}/timeseries/{tag}/{interval}
Path Parameters
Name | Type | Description | Notes |
---|---|---|---|
companyId | String | identifier for the company to fetch time series data | [mandatory] |
tag | String | identifier for the comparable tag to fetch time series data for | [mandatory] |
interval | String | identifier for the interval of time series data to fetch | [mandatory] Allowed values are ltm , annual or interim |
Return type
Name | Type |
---|---|
data | CompanyTimeSeriesCollection |
With a CompanyTimeSeriesCollection
having the form:
Name | Type | Description |
---|---|---|
company_id | String | Company identifier |
generated_at[Deprecated] | Date | date the data was generated Note: This field is now deprecated. |
updated_at | Date | Update Date |
interval | String | the comparables interval returned, example: Last Twelve Months (LTM) |
tag | String | the specific tag for the returned time series data, example: Revenue |
time_series | List[TimeSeriesDatapoint] | array list of time series datapoints |
With a TimeSeriesDatapoint
having the form:
Name | Type | Description |
---|---|---|
id | String | unique Identifier |
period | String | Reporting Period |
value | String | numeric value corresponding to the returned tag |
GetCompanyDocuments
BASE_PATH=https://cognitivecreditapi.com/v1
API_KEY=rAjfuEECTrBrAapx0D5WxIHvsey9P7XwIVxtYTQS
COMPANY_ID=adient
curl -L -X GET "${BASE_PATH}/companies/${COMPANY_ID}/documents" \
-H "x-api-key: ${API_KEY}"
A typical response would be (omitting most of the data):
{
"data": {
"company_id": "adient",
"generated_at": "2025-02-21T17:07:45.672251+00:00",
"created_at": "2025-02-21T17:07:48.143795+00:00",
"updated_at": "2025-02-21T17:07:48.143795+00:00",
"documents": [
{
"document_period": "1Q17",
"document_type": "preliminaries",
"document_id": "adient-b6804ab3"
},
{
"document_period": "1Q17",
"document_type": "financials",
"document_id": "adient-28635b6a"
},
{
"document_period": "1Q17",
"document_type": "presentation",
"document_id": "adient-3e99ef24"
},
{
"document_period": "2Q17",
"document_type": "preliminaries",
"document_id": "adient-01278545"
}
]
}
}
Get company documents
Returns list of company documents with type and period.
A list of Documents, each containing document id, document type and corresponding period.
HTTP request
GET https://cognitivecreditapi.com/v1/companies/{companyId}/documents
Path Parameters
Name | Type | Description |
---|---|---|
companyId | String | Identifier for the company to fetch document list for |
Return type
Name | Type |
---|---|
data | CompanyDocumentsResponse |
With a CompanyDocumentsResponse
having the form:
Name | Type | Description |
---|---|---|
company_id | String | Company Identifier |
created_at | Date | Date the data was created |
documents | [List] | List of documents |
generated_at[Deprecated] | Date | Date the data was generated Note: This field is now deprecated. |
updated_at | Date | Update Date |
With a documents
having the form:
Name | Type | Description |
---|---|---|
document_id | String | Document Identifier |
document_period | String | Document Period |
document_type | String | Document Type |
GetCompanyReportingDates
BASE_PATH=https://cognitivecreditapi.com/v1
API_KEY=rAjfuEECTrBrAapx0D5WxIHvsey9P7XwIVxtYTQS
COMPANY_ID=adient
curl -L -X GET "${BASE_PATH}/companies/${COMPANY_ID}/reportingdates" \
-H "x-api-key: ${API_KEY}"
A typical response would be (omitting most of the data):
{
"data": {
"company_id": "adient",
"generated_at": "2025-02-21T17:07:45.782244+00:00",
"created_at": "2025-02-21T17:07:48.196514+00:00",
"updated_at": "2025-02-21T17:07:48.196514+00:00",
"document_periods": [
{
"document_type": "preliminaries",
"reporting_date": "2016-11-08",
"document_period": "FY16"
},
{
"document_type": "financials",
"reporting_date": "2016-11-29",
"document_period": "FY16"
},
{
"document_type": "preliminaries",
"reporting_date": "2017-02-03",
"document_period": "1Q17"
}
]
}
}
Get company reporting dates
Returns list of reporting dates for company.
A list of reporting dates, with a document type and its period.
HTTP Request
GET https://cognitivecreditapi.com/v1/companies/{companyId}/reportingdates
Path Parameters
Name | Type | Description |
---|---|---|
companyId | String | identifier for the company to fetch reporting dates for |
Return type
Name | Type |
---|---|
data | CompanyReportingDatesResponse |
With a CompanyReportingDatesResponse
having the form:
Name | Type | Description |
---|---|---|
company_id | String | Company Identifier |
created_at | Date | Date the data was created |
document_periods | [List] | List of document periods |
generated_at | Date | Date the data was generated Note: This field is now deprecated. |
updated_at | Date | Update Date |
With a document_periods
having the form:
Name | Type | Description |
---|---|---|
document_period | String | Document Period |
document_type | String | Document Type |
reporting_date | String | Reporting Date |
GetCompanyBulkDatapoints
BASE_PATH=https://cognitivecreditapi.com/v1
API_KEY=rAjfuEECTrBrAapx0D5WxIHvsey9P7XwIVxtYTQS
COMPANY_ID=adient
SET_TYPE=timeseries
curl -L -X GET "${BASE_PATH}/companies/${COMPANY_ID}/datapoints/bulk/${SET_TYPE}" \
-H "x-api-key: ${API_KEY}" \
--output response.json --compressed
A typical response would be (omitting most of the data):
{
"data": [
{
"id": "YWRpZW50K3NhbHR5LXRlYWhpdmUrOTAwMDAwNw==",
"comment": null,
"comment_refs": null,
"company_id": "adient",
"display_label": "Accounts receivable",
"updated_at": "2025-03-15T16:33:18.842153+00:00",
"page_number": 57,
"parts": [],
"period": "4Q22",
"source_type": null,
"tag": "TradeAndOtherCurrentReceivables",
"not_meaningful": false,
"value": "1852",
"document_id": "adient-00cd27e3"
},
{
"id": "YWRpZW50K3NhbHR5LXRlYWhpdmUrOTAwMDAwOA==",
"comment": null,
"comment_refs": null,
"company_id": "adient",
"display_label": "Accounts receivable",
"updated_at": "2025-03-15T16:33:18.842153+00:00",
"page_number": 57,
"parts": [],
"period": "FY22",
"source_type": null,
"tag": "TradeAndOtherCurrentReceivables",
"not_meaningful": false,
"value": "1852",
"document_id": "adient-00cd27e3"
}
]
}
Get a company datapoints list
Returns object with all datapoints for a company. The object is large, so compression is mandatory on this endpoint.
Parameters
Name | Type | Description | Notes |
---|---|---|---|
companyId | String | identifier for the company to fetch datapoints for | |
setType | setType | Type of datapoints set (must be 'financials' or 'timeseries') | [enum: financials, timeseries] |
Accept-Encoding | String | client supported encodings (gzip, deflate, br) | [default to gzip, deflate, br] |
CompanyDatapointsResponse
Name | Type | Description |
---|---|---|
data | [List] | array list of company data points |
With a list
having the form:
Name | Type | Description |
---|---|---|
comment | String | |
comment_refs | [List] | |
company_id | String | Company identifier |
display_label | String | text description of the tag returned example: Revenue Δ% YoY |
document_id | String | Originating Document |
id | String | unique Identifier |
not_meaningful | Boolean | Value that is insignificant, incompatible with the current view, or of a different type. |
page_number | Integer | page of the document where the data point was extracted |
parts | [List] | |
period | String | Reporting Period and Interval |
source_type | String | Originating Source Type |
tag | String | the tag to which this specific field was labeled as |
updated_at | String | Update Date |
value | String | numeric value corresponding to the returned label |
With a comment_refs
having the form:
Name | Type | Description |
---|---|---|
doc | String | Originating Document |
label | String | Text description of the tag returned example: Revenue Δ% YoY |
page | Integer |
With a parts
having the form:
Name | Type | Description |
---|---|---|
id | String | unique Identifier |
op | String | operator (+, - etc) |
GetTagList
BASE_PATH=https://cognitivecreditapi.com/v1
API_KEY=rAjfuEECTrBrAapx0D5WxIHvsey9P7XwIVxtYTQS
curl -L -X GET "${BASE_PATH}/tags" \
-H "x-api-key: ${API_KEY}"
A typical response would be (omitting most of the data):
{
"data": [
{
"description": "The sum of all Revenue components on the Income Statement. Also the Company reported Total Revenue.",
"tag": "Revenue",
"comparables_label": "Revenue",
"sheet_type": "is",
"units": "ccy",
"formulae": [
{
"parts": [
{
"tag": "RevenueFromSaleOfGoods"
},
{
"op": "+",
"tag": "RevenueFromRenderingOfServices"
},
{
"op": "+",
"tag": "RevenueFromConstructionContracts"
},
{
"op": "+",
"tag": "RevenueFromRoyalties"
},
{
"op": "+",
"tag": "RevenueFromInterest"
},
{
"op": "+",
"tag": "RevenueFromDividends"
},
{
"op": "+",
"tag": "OtherRevenue"
}
],
"formula_name": "Revenue"
}
]
},
{
"tag": "cc:AdjustedRevenue",
"sheet_type": "is",
"formulae": [
{
"parts": [
{
"tag": "Revenue"
},
{
"op": "+",
"tag": "cc:RevenueAdjustments"
}
],
"formula_name": "AdjustedRevenue"
}
]
},
{
"tag": "cc:TotalCostOfSales",
"sheet_type": "is",
"formulae": [
{
"parts": [
{
"tag": "CostOfSales"
},
{
"op": "+",
"tag": "RawMaterialsAndConsumablesUsed"
}
],
"formula_name": "TotalCostOfSales"
}
]
}
]
}
The GetTagList endpoint returns a catalog of financial measures, referred to as ‘tags’. Tags are financial concepts used to structure and validate our dataset.
The GetTagList covers the complete set of tags accessible over the Comparables API, and all non-forecasting tags associated with the Income Statement, Cash Flow Statement, Balance Sheet, Debt Note, EBITDA Analysis and Geographic and Segmental Disclosure.
The GetTagList Endpoint output is ordered by sheet type as follows:
is
- Income Statementcf
- Cash Flow Statementbs
- Balance Sheetdn
- Debt Noteeb
- EBITDA Analysisgs
- Geographic and Segmental Disclosureme
- Metricsyy
- Year-over-year Changes
Values extracted from a company’s financials are preferred where possible for the is
, cf
, bs
, dn
, eb
& gs
with recent reports taking precedence over earlier ones.
The me
sheet type contains a range of credit metrics which are derived from components reported on the is
, cf
, bs
, dn
, eb
& gs
sheet types.
The yy
sheet type contains year-over-year changes calculated from the is
, cf
, bs
, dn
, eb
, gs
& me
sheet types.
The intra-sheet type order of tags is in order of calculation, which approximates order in the underlying financials. The is
, cf
and bs
sheet types include tags which are calculated solely for use in the metrics and are not displayed on the face of the underlying respective sheet type. These are listed at the bottom of each sheet type in the endpoint output.
HTTP Request
GET https://cognitivecreditapi.com/v1/tags
Parameters
Name | Type | Description | Notes |
---|---|---|---|
Accept-Encoding | String | client supported encodings (gzip, deflate, br) | [optional] [default to gzip, deflate, br] |
Return type
Name | Type | Description |
---|---|---|
data | [List] | array list of tags with definitions |
With a list
having the form:
Name | Type | Description |
---|---|---|
comparables_label | String | The label used in the comparable page within the web Application. |
description | String | A human-readable description. These are only provided for tags which are accessible via Comparables. |
formulae | [List] | A list of formulae |
sheet_type | String | sheet_type - The two level code:is - Income Statementcf - Cash Flow Statementbs - Balance Sheetdn - Debt Noteeb - EBITDA Analysisgs - Geographic and Segmental Disclosureme - Metricsyy - Year-over-year Changes |
tag | String | The accounting/financial concept |
units | String | The expected units in which the result will be displayed. Units will be one of ccy , % , bp or days , where ccy denotes millions of reporting currency. |
With a formulae
having the form:
Name | Type | Description |
---|---|---|
formula_name | String | Typically generated from the tag name and disambiguating context. |
parts | [List] | A list of parts |
With a parts
having the form:
Name | Type | Description |
---|---|---|
tag | String | The tag of the part whose value is included in the calculation. |
mandatory | Boolean | A boolean which if true implies that at least one item with the given tag must be included in the calculation otherwise the calculation will not be performed at all. Where no mandatory field exists, the part is default mandatory false . |
op | String | An operation:+ - vs - see Year over Year (YoY) Tags/ |
period | String | Each underlying component part has a period identifier:cp - current period. E.g. 1Q25.pp - prior period. The period which is adjacent to and precedes the current period. E.g. 4Q24.pyep - prior year equivalent period, e.g. 1Q24.ltm - last twelve months.Where no period field exists, the part is the default field cp .Periods can also be expressed as a combination of these e.g. (cp+pp)/2 for the average of the current and prior period. |
Multiple Formulae
Many tag concepts have more than one way by which they could be calculated. Which formulae are used depends on the nature of the calculation, the style of the company’s reporting and the data available in any given document or period.
Certain tags are calculated by multiple different formulae where the necessary parts are available. For example, Equity can be calculated in two different ways: The sum of all components of Equity on the Balance Sheet. Assets less Liabilities. Where two or more formulae could be used alongside each other, these formulae are listed in preference order.
Other tags are calculated by a single formula, but the chosen formula depends on the parts available. For example, cc:ChangeInNetWorkingCapital may be calculated as the sum of Adjustments for Accounts Receivables, Inventories and Accounts Payables from the CFO. If insufficient information is reported in the CFO, then the sum of Accounts Receivables, Inventories and Accounts Payable from the Balance Sheet less the prior year equivalent balances. These formulae are listed in preference order.
A small minority of tags are calculated by a single formula, but the chosen formula is dependent on configuration specific to a given Company model, for example:
- cc:TotalCash
- cc:DepreciationAndAmortisation
- ProfitLossFromOperatingActivities (EBIT)
In these instances, the source statement type can be configured to cater for nuances in how a Company reports those items.
Sum of Components Vs Reported Total
For tag concepts, the value is calculated as the sum of the component parts and also as the reported total amount. E.g: Revenue, equal to the sum of:
- RevenueFromSaleOfGoods
- RevenueFromRenderingOfServices
- RevenueFromConstructionContracts
- RevenueFromRoyalties
- RevenueFromInterest
- RevenueFromDividends
- OtherRevenue
Also equal to:
- Revenue
Year over Year (YoY) Tags
Calculates changes in values between the latest period and the equivalent period from the prior year. Exactly how these changes are shown depends on the nature of what's changing and is defined based on the tag definition - in particular the expected sign and unit values. The ‘vs.’ operand indicates the following suite of logic:
Changes between two positive concepts are normally shown as percentage changes relative to the prior period. This is also the default assumption for IS (income statement), GS (Geographic and Segmental Disclosure) and BS (Balance sheet) entries. E.g: If Revenue goes from 100 to 125 that's a 25% change
Changes between two negative numbers which are representing negative concepts are also shown as percentage changes relative to prior period. E.g: If COGS goes from (100) to (125) that's a 25% increase in costs
Changes from negative numbers for positive concepts and from positive numbers for negative concepts are shown as the inverse of the more common cases outlined above. E.g: Interest income going from (10) to 20 is a 300% increase.
We use an absolute change for each of the following: Changes in percentages, which are shown in basis points (bp) Changes in days (DIPs for w/c metrics for example) Changes in multiples or turns (Leverage or FCCR for example)
Some values are marked as not meaningful (NM) if they result from a nonsensical ratio. Typically, this is the case for Leverage, Interest Coverage Ratio (ICR) or Fixed Charge Coverage Ratio (FCCR) where the company has zero or negative EBITDA.
cc:FixedCharges
LTM Fixed Charges is calculated from the sum of several components:
- cc:NetInterest
- NetTax
- GrossCapex
- TotalGrossDebt
In this calculation, 10% of Total Gross Debt is used to approximate LTM capital repayments.
Days in Period (DIPs)
Days in Period is a component used in the calculation of the working capital days metrics. For a given period, this may be calculated as the period end date less the period end date for the preceding adjacent period, or the number of reported weeks times seven or a constant based on the known reporting schedule of the company.
Errors
Http Error Codes
The Data API uses the following error codes:
Error Code | Meaning |
---|---|
400 | Bad Request -- Your request is invalid. |
401 | Unauthorized -- Your API key is invalid, disabled, or not linked to a market. |
403 | Forbidden -- You are not permitted to access this resource. |
404 | Not Found -- The requested entity was not found. |
406 | Not Acceptable -- You requested a format that isn't json. |
429 | Too Many Requests -- You are being throttled for making too many requests. Try again later at a lower rate (see below for specific limits). |
500 | Internal Server Error -- We had a problem with our server. Try again later. |
503 | Service Unavailable -- We're temporarily offline for maintenance. Please try again later. |
Request Limits
The current request limits per client are as follows:
- Rate limit - 10 requests per second
- Burst limit - 10 concurrent requests
Error return type
Typical parsing error:
{
"error": {
"code": 400,
"message": "Invalid timestamp value: '2022-99-17T08:49:16.883091Z'. Please use an ISO-8601 datetime, url encoding if using timezones. e.g. '2022-13-17T08:49:16.883091Z'.",
"status": "INVALID_PARAMETER_VALUE",
"details": [
{
"exception": "InvalidTimestampStringError()",
"causes": [
"ValueError('month must be in 1..12')"
]
}
]
}
}
An error response may have a body with the form:
Name | Type | Description |
---|---|---|
error | Error |
where Error
has the form:
Name | Type | Description |
---|---|---|
code | Integer | Http Status Code |
message | String | Error Summary |
status | String | Error Code |
details | List[Object] | Objects containing error details |
Typical validation error:
{
"message": "Missing required request parameters: [start_timestamp]"
}
Currently, validation errors produce a 400 response with a body of the simple form:
Name | Type | Description |
---|---|---|
message | String | Error Summary |