BondPDF API
Introduction
This document describes how to access BondPDF data through the API.
The API consists of two primary output points:
- Bond metadata and mapping data
- Bond-related documents
Key Features
- Simple HTTP interface to retrieve files
- Download files programmatically or with a web browser
Key Data Points
API URL
https://api.bondpdf.com/search
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://api.bondpdf.com/search?key=XXXXXXXXXXXXXXXX&_fields=entity_name,isin_regs&isin_regs=FR0013342219,FR0013329307
Input Parameters
Response Format (JSON)
{
"code": 200,
"error": false,
"data": [
{
"_id": "AWVnZggDqb-pZvjxf2nH",
"country": "France",
"isin_regs": "FR0013342219",
"bbg_ticker": "BPCECB 1.5225 06/14/38 EMTN",
"entity_name": "BPCE SFH",
"issue_currency": "EUR",
"figi_regs": "BBG00L343G93",
"cusip_regs": null,
"amount_issued": 50000000,
"issuance_coupon": 1.52,
"maturity_date": "2038-06-14",
"figi_144a": null,
"doc_type": "Final Terms",
"isin_144a": null,
"bond_type": "Fixed",
"issue_date": "2018-06-14",
"cusip_144a": null,
"sector": "Financial Services",
"cloudpath": null
},
}
Output
Status Code
Python
import requests
response_json = requests.get('https://api.bondpdf.com/search?key=XXXXXXXXXXXXXXXXXXXXXXX&_fields=entity_name,isin_regs&entity_name=%22Morgan Stanley Finance LLC%22')
print(response_json)
PHP
$url = "https://api.bondpdf.com/search";
$post = "key=XXXXXXXXXXXXXXXXXXXXXXX&_fields=entity_name,isin_regs&entity_name=%22Morgan Stanley Finance LLC%22";
$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 = "key=" + URLEncoder.encode("xxxxxxxxTOKENxxxxxxxxxxxx", "UTF-8")+
"&_fields=entity_name,isin_regs&entity_name=" + URLEncoder.encode("%22Morgan Stanley Finance LLC%22", "UTF-8");
} catch (UnsupportedEncodingException ex) {
Logger.getLogger(JavaApplication1.class.getName()).log(Level.SEVERE, null, ex);
}
try {
//Create connection
URL url = new URL("https://api.bondpdf.com/search");
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();
}
}
}
}