CAalerts API

Introduction

CA alerts monitor credit corporate actions information on the bonds 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:00 am EST
  • Files available for 30 days
  • Simple HTTP interface to retrieve files
  • Download files programmatically or with a web browser

Key Data Points

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

Response Format (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

Status Code

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