Data Sets API
Introduction
DATA SETS API delivers automatically built data sets to the end-user via REST API. It accepts any data point in a publication as an input, and returns its best matches (i.e. data points with the same meaning and context) in other documents sourced from the same publisher. Utilizing the core of Exerica’s state-of-the-art technology, it provides instant access to the complete data series.
For example, a click on a number in T-Mobiles US 3Q2020 financial results report (seen in the screenshot below) reveals its ID in the web-link of the browser address bar, and in Exerica’s web interface analytical view on the right-hand side. This ID can consequently be used as an input for DATA SETS API to obtain any other values in the data set which the initial number is part of.
Also you can use time series common names (headline number names) as “Revenue” or “Total Equity” to request by.
The DATA SETS API has following methods to request data you need:
- Full data set by data point ID or common name (“Revenue”, “Total Equity”, etc.)
- Particular data point fron a data set by a combination of query parameters
- The list of data set common names supported by Exerica
You can try the DATA SETS API via our Swagger with your personal API key.
API KEY
To start using DATA SETS API you need an API key. You can find it in you mailbox after registration. To authorize with you API key you need to provide it in APIKEY
header field with each request.
DATA SET REQUEST
This request returns full data set from Exerica database by unique data point ID or by common name as a time series of data points. If you requesting data set by name you should provide company name in query parameter.
Format
GET https://api.exerica.com/api/DataSets/{uid-or-name}[?Company={company-name}][&DurationMonths={duration}]
Parameters
Property | Type | Description |
---|---|---|
Company | String | Name of the company (required when requesting by data set name) |
DurationMonths | Integer | Duration of period for wich data points should be returned (for example 3, 6, 9 or 12) |
Response
Response contains an array of objects representing data points.
Property | Type | Description |
---|---|---|
value | Number | Numeric value of the data point |
startDate | String (optional) | Start date of period the data point is for (null if the data point is at the particular date) |
endDate | String | End date of period or the date this data point is at |
durationMonths | Integer | Duraton of the data point period in months |
company | String | Company name for the data point |
reportDate | String | The date of report in wich this data point was found |
currency | String | Currency code of the data point according to ISO 4217 |
scale | Integer (optional) | The multiplier of 10 showing current numeric value scale (for example 1000 for thousands) if it is defined for the data point. |
uid | String (optional) | Unique identifier of the data point. Null if data point is calculated from the others (see '"summands") |
webLink | String (optional) | A link to this data point in Exerica's web application. |
confidence | Number | Confidence level of this data oint to be a part of requested data set in percents |
summands | Array (optional) | An array of shortened data points data used for calculation of the current one. Should be not empty only for calculated data points. Object contains folowing properties: "value", "uid", "webLink" |
Example
GET https://api.exerica.com/api/DataSets/005F804A54DD385A00013CEA580300BF8B0505A93FB601
For example, the response to this request would be a data set containing the best matches for the dates appeared in T-Mobile US publications. The response payload would contain the collection of objects with the relevant data point details including (but not limited to) its value and its unique ID identifying it splace in the report. Also provided is a simple web link to instantly open the corresponding publication where the found match is located.
[
{
"value": 196,
"startDate": "2013Q4",
"endDate": "2014Q4",
"durationMonths": 12,
"company": "T-Mobile US",
"reportDate": "2015Q4",
"currency": "USD",
"scale": null,
"uid": "005F804BC3DD385A00013CEAC106000BE5C4030838F001",
"webLink": "https://data.exerica.com/unifiedId/005F804BC3DD385A00013CEAC106000BE5C4030838F001",
"summands": [],
"confidence": 99
},
...
]
DATA POINT SEARCH REQUEST
This request returns a particular data point from Exerica database by a combination of query parameters listed below.
Format
GET https://api.exerica.com/api/api/DataPoints/search[?UidOrName={uid-or-name}][&Company={company-name}][&EndDate={date}][&...]
Parameters
UidOrName | String | Unique data point ID or common data set name |
---|---|---|
Company | String | Company name |
EndDate | String | End date of period or the date this data point is at (format: 4-digit year followed by Q and number of quarter, example: 2020Q2) |
DurationOrStartDate | String (optional) | Monthly duration of period or a start date of period (examples: 0, 3, 2020Q2) |
ReportDate | String (optional) | The date of report where to search for a data point. If this parameter is used, "ReportingType" should be omitted. |
ReportingType | String (optional) | Could be one of: "original" for the earliest data point for given EndDate or "restated" for the latest one. If this parameter is used, "ReportDate" should be omitted. |
Response
Response is an array of objects representing a data point.
Property | Type | Description |
---|---|---|
value | Number | Numeric value of the data point |
startDate | String (optional) | Start date of period the data point is for (null if the data point is at the particular date) |
endDate | String | End date of period or the date this data point is at |
durationMonths | Integer | Duraton of the data point period in months |
company | String | Company name for the data point |
reportDate | String | The date of report in wich this data point was found |
currency | String | Currency code of the data point according to ISO 4217 |
scale | Integer (optional) | The multiplier of 10 showing current numeric value scale (for example 1000 for thousands) if it is defined for the data point. |
uid | String (optional) | Unique identifier of the data point. Null if data point is calculated from the others (see '"summands") |
webLink | String (optional) | A link to this data point in Exerica's web application. |
confidence | Number | Confidence level of this data oint to be a part of requested data set in percents |
summands | Array (optional) | An array of shortened data points data used for calculation of the current one. Should be not empty only for calculated data points. Object contains folowing properties: "value", "uid", "webLink" |
Example
GET https://api.exerica.com/api/DataPoints/search?UidOrName=005F804A54DD385A00013CEA580300BF8B0505A93FB601&Company=T-Mobile%20US&EndDate=2020Q3&ReportDate=2020Q3
For example, the response to this request would contain the best match for the requested data point of T-Mobile US in the Q3 2020 publication. The response payload would contain all the relevant data point details in the Q3 2020 publication including (but not limited to) its value and its unique ID identifying it splace in the report. Also provided is a simple web link to instantly open the Q3 publication where the found match is located.
{
"value": 558,
"startDate": "2019Q4",
"endDate": "2020Q3",
"durationMonths": 9,
"company": "T-Mobile US",
"reportDate": "2020Q3",
"currency": "USD",
"scale": null,
"uid": "005FB9F1D599F6F70001AF395F0300E2CE0505C83BB601",
"webLink": "https://data.exerica.com/unifiedId/005FB9F1D599F6F70001AF395F0300E2CE0505C83BB601",
"summands": [],
"confidence": 100
}
DATA SET NAMES REQUEST
This request returns the list of available data set names to use in DATA SET REQUEST.
Format
GET https://api.exerica.com/api/DataSetNames
Response
Property | Type | Description |
---|---|---|
name | String | Common name, which can be used to query data set |
description | String | Textual description of the data set |
Example
GET https://api.exerica.com/api/DataSetNames
The response to this request would contain a collection of data point names with text descriptions.
[
...
{
"name": "CapEx",
"description": "Captal Expenditure"
},
...
]
XML response
It you prefer to recieve XML response you can add /xml
to the end of resource URL before query parameters. For example:
GET https://api.exerica.com/api/DataSets/005F804A54DD385A00013CEA580300BF8B0505A93FB601/xml