Introduction
Data Coverage
CA alerts monitors credit corporate actions information on the portfolio of global issuers. Data is
sourced directly from the stock exchanges and issuers. All the announcements transmitted to clients are verified
from the original source documents.
Key Features
- Files usually available by 7:00am EST
- Files available for 30 days
- Simple HTTP interface to retrieve files
- Download files programmatically or with a web browser
Key Data Points
Field Name |
Description |
CAID |
Corporate Action ID |
EntityName |
Name of the Entity whose Corporate Action news is captured |
ExchangeTicker |
Ticker under which the shares of the Entity is listed on the stock exchange |
AnnounceDate |
Date on which the CA news is announced or the date on which credit event has taken place
|
EffectiveDate |
Effective Date of the Corporate Action or the auction date of defaulted entity's
settlement |
Country |
Denotes the country where the entity is incorporated |
Region |
Denotes the region of the entity |
Sector |
General classification that best captures the organization's industry type, nature of business
and ownership structure |
CAImpact |
Resultant outcome of the Corporate Action type |
CAEvent |
Target Company name |
CAType |
Type of Corporate Action |
ISIN |
Global 12 digits alphanumeric identifier for any financial instrument |
MaturityDate |
Date on which the bond is matured |
IssueDate |
Date on which the Bond is issued |
IssueCurrency |
ISO Currency code in which the settlement is done |
Seniority |
Status of the debt instrument |
IssuanceCoupon |
Rate of interest of the Bond |
CouponType |
Type of Coupon |
InstrumentType |
Type of Credit Instrument |
Notes |
Details of Corporate Action |
AmountOutstanding |
Denotes the amount outstanding after partial redemption of the bond. It would be
displayed as 100M where M stands for 000. |
API URL
https://www.caalerts.com/api/request
Authentication
In order to authenticate with the API, you must provide your API key (Please refer to API Key) as the
_api_key URL query string parameter during every HTTP request.
Request The Token
The token can be requested from the FactEntry Support Team (support@factentry.com) and should be
replaced with XXXXX in the API key
Request Format
The request is passed in via HTTP request body. The only supported HTTP verb is POST/GET.
Example Query String
https://www.caalerts.com/api/request?token=XXXXXXXXXXXXXX&entity_name=National%20Bank%20for%20Agriculture%20and%20Rural%20Development&ca_type=New Bond&announcement_date=2016-03-28&country=india&ISIN=INE261F07057
Input Parameters
Fields Name |
Type |
Format |
Mandatory |
Sample |
token |
String |
|
Mandatory |
token=your_api_key |
ISIN |
String |
|
Any one of the field mandatory |
ISIN=INE261F07057 |
entity_name |
String |
|
entity_name=National Bank for Agriculture and Rural Development |
announcement_date |
String |
YYYY-MM-DD |
announcement_date=2016-03-28 |
ca_type |
String |
|
ca_type=New Bond |
country |
String |
|
country=India |
Response Format
Type |
Example |
JSON |
{
"code": 200,
"count": 1,
"data": [
{
"AnnounceDate": "2016-03-28",
"CAImpact": "",
"CAType": "New Bond",
"ClientTicker": "YE820T",
"Country": "India",
"CouponType": "Fixed",
"EffectiveDate": "2016-03-28",
"EntityName": "National Bank for Agriculture and Rural Development",
"ISIN": "INE261F07057",
"InstrumentType": "Bond",
"IssueDate": "2016-03-23",
"MaturityDate": "2031-03-23",
"Region": "India",
"Sector": "Sovereign Agency",
"Seniority": "Senior"
}
],
"message": "Data found",
"status": "ok"
}
|
Output
Fields Name |
Type |
Format |
AmountOutstanding |
String |
|
AnnounceDate |
Date |
YYYY-MM-DD |
CAEvent |
String |
|
CAImpact |
String |
|
CAType |
String |
|
ClientTicker |
String |
|
Country |
String |
|
CouponType |
String |
|
CUSIP |
String |
|
CUSIP144a |
String |
|
CUSIPRegs |
String |
|
EffectiveDate |
Date |
YYYY-MM-DD |
EntityName |
String |
|
ExchangeTicker |
String |
|
InstrumentType |
String |
|
ISIN |
String |
|
ISIN144a |
String |
|
ISINRegs |
String |
|
IssuanceCoupon |
Float |
|
IssueCurrency |
String |
ISO |
IssueDate |
Date |
YYYY-MM-DD |
MaturityDate |
Date |
YYYY-MM-DD |
News |
String |
|
Notes |
String |
|
Region |
String |
|
Sector |
String |
|
Seniority |
String |
|
Status Code
Code |
Description |
200 |
Request and Response success |
400 |
Request not Valid |
401 |
The API_KEY is invalid. |
402 |
Invalid request method |
403 |
Too many request |
500 |
Internal Server Error |
Python
import requests
response_json = requests.get('https://www.caalerts.com/api/request?token=XXXXXXXXXXXXXXX&ISIN=IT0006703208')
print(response_json)
PHP
$url = "https://www.caalerts.com/api/request";
$post = "token=XXXXXXXXXXXXXXXXXXXXXXXXXXX&ISIN=INE261F07057";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,false);
$content=curl_exec($curl);
curl_close($curl);
//print JSON data
echo $content;
Java
package javaapplication1;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.logging.Level;
import java.util.logging.Logger;
public class JavaApplication1 {
public static void main(String[] args) {
HttpURLConnection connection = null;
String urlParameters = null;
try {
urlParameters = "token=" + URLEncoder.encode("xxxxxxxxTOKENxxxxxxxxxxxx", "UTF-8")+
"&ISIN=" + URLEncoder.encode("INE261F07057", "UTF-8");
} catch (UnsupportedEncodingException ex) {
Logger.getLogger(JavaApplication1.class.getName()).log(Level.SEVERE, null, ex);
}
try {
//Create connection
URL url = new URL("https://www.caalerts.com/api/request");
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
//connection.setRequestProperty("Content-Length", Integer.toString(urlParameters.getBytes().length));
connection.setRequestProperty("Content-Language", "en-US");
connection.setUseCaches(false);
connection.setDoOutput(true);
//Send request
DataOutputStream wr = new DataOutputStream (
connection.getOutputStream());
wr.writeBytes(urlParameters);
wr.close();
//Get Response
InputStream is = connection.getInputStream();
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
StringBuilder response = new StringBuilder(); // or StringBuffer if Java version 5+
String line;
while ((line = rd.readLine()) != null) {
response.append(line);
response.append('\r');
}
rd.close();
System.out.println(response.toString());
}
catch (Exception e) {
}
finally {
if (connection != null) {
connection.disconnect();
}
}
}
}