CAalerts API

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();
        }
      }
    }
}

Find Out More

If you want more information on our products or have a general enquiry, please contact us.