Did you know that with API access you can download Empirasign Market Data right into Excel for easier manipulation? If you currently don't have an API license, please contact us and we can set you up with a demo ID and a few hundred free queries to kick the tires: info@empirasign.com

Jump To:

API Documentation

Getting Started

Download the Sample Spreadsheet: Download the Sample Spreadsheet

Is Python your thing? Download example code here: gist.github.com/empirasign/cbd204ae7f45bc4eadae

Handling Excel Download and Macro

If you see the Excel Red Bar Warning that macros have been disabled (screenshot below), this can be dismissed by copying the spreadsheet from the Downloads folder to your My Documents folder and re-opening the spreadsheet. You can also copy the file to any folder where you normally save spreadsheets. In general, Windows can be pretty finicky about Office files opened directly from the browser or from the Downloads folder.

If you see the Excel Yellow Bar Warning with the message "Some active content has been disabled.", or similar, you must click the Enable Content button to allow the macros to function. Screenshot below. It is common to see the Yellow Bar Warning only after you have dispensed with the Red Bar Warning.

Entering your credentials:
In the credentials tab, found below, enter your API ID into cell B4 and your API Password into cell B5. If your machine sits behind a proxy server, this must be entered into cell B8. More on proxy servers below.


To Retrieve Market Data for a Single CUSIP/ticker:

Just enter the cusip or ticker for the security you want to query into Cell B8 on the main tab, and then click the "Get Bond Data" button. Searches can also be constrained by trade date by entering a date range in cells B9 and B10.

Example CUSIP Query

For bulk CUSIP/ticker Market Data queries:

Just enter all the cusips/tickers you want to query into the marked area under column A on the bulk tab and click the "Retrieve Data" button. All our market data will be populated in the bulk_results tab. You can still use the main tab to do single cusip or ticker requests.

Results of Bulk Search:

To Retrieve BWICs for a Specific Date:

Go to the bwics tab. Enter the market sector you want to query (see complete list below) into cell B8. Enter the date range you want to see the BWICs for into cells B9 and B10. If the Date cells are left empty, the search will default to the current date. Click on the "Get BWIC Data" button to run the query.

Retrieve BWICs Specific Date

To Retrieve Offers for Dealer/Sector/Date Combo:

This is a two step process: First see what dealer/sector combos are available for a given date, then download the offerings for a dealer/sector/date combo.

To see what dealer/sector combos are available for a given date, go to the offers tab and enter the date you want to query into cell B8. Then click the Get Available Offers button to view what dealer/sector/num_bonds combos are available for that date. This information will be displayed below the range A12:C12 which is labeled sector/dealer/num_bonds. Once you have decided what combo you are interested in, enter the sector into cell B9 and dealer name into cell B10. Make sure to use the same names as displayed. Now, click the Get Dealer Offers button to retrieve the actual offering data. Once the query has run, this data will be displayed under the range E7:Y7.

API Data Dictionary

The headers for each column in the spreadsheet results table are defined below:

  • kind: the kind of record described in that line item
  • bbg_ticker: the Bloomberg identifier for the bond
  • bsym_sec_type: specific sector of bond ('bsym' = Bloomberg open symbology, now OpenFIGI)
  • cusip: the CUSIP identifier for the bond
  • of_bid: original face on bid
  • cf_bid: current face on bid
  • of: original face
  • cf: current face on trade date
  • price_bid: bid price
  • price32_bid: bid price, with decimals expressed as fraction of 32
  • spread_dec_bid: decimal interpretation of bid spread column
  • spread_bid: bid spread
  • price: trade price
  • price_32: trade price, with decimals expressed as fraction of 32
  • spread_dec: decimal interpretation of spread column
  • spread: trade spread
  • curve: associated reference curve for spread
  • color: trade color. Possible results:
    - cover = second best bid on a bond
    - dnt = did not trade
    - reo = re-offer
    - res = reserve price of bond that did not trade
    - trade = trade price (bond has been traded)
    - trade-p = bond usually traded as part of a package; usually an-all-or-nothing-list
  • trade_dt: trade date
  • settle_dt: settle date
  • dealer: you can find a list of these abbreviations here
  • dealer_notes: any notes specified by dealer

*It is important to note that a blank column usually indicates that it is irrelevant to the kind of record being described, or because the data was not reported by the market.

BWIC Sectors You Can Query:

  • mtge: All US/EU/UK Structured Product Sub-sectors
  • agency: US Agency ARMs and CMOs
  • cmbs: US CMBS (Agency and Non-Agency)
  • nonag: US Non-Agency RMBS (does not include heq/subprime)
  • abs: US ABS (Res, Consumer, Esoteric, CLO, and CDO)
  • naresi: All US Non-Agency Resi
  • conabs: All US Consumer ABS
  • clo: US/EU/UK CLO
  • euro: UK/EU RMBS, ABS, CMBS, CLO

API Quota Counts:

From a quota perspective, a query is counted for any request that will return market-level data (e.g. cover, price talk, bid, offer, market).

View a real-time audit of your quota usage on the query__log tab on the API excel worksheet.

/api/cusip/

  • 1 query per call.

/api/bonds/

  • n number of queries per call, where n is the number of bonds in a query (max 200).
    Ex: if you request data on 300 bonds, only the first 200 results will be returned and 200 queries will be counted against your quota.

/api/bwic/

  • 0 queries. Call does not count against your quota.

/api/offers/

  • n number of queries per call, if n number of bonds are returned for a dealer/sector/date offer sheet request.
  • 0 queries are counted for requests to view offers that are available to query (i.e. 'Get Available Offers' button on spreadsheet). This will return dealer inventory counts for a given sector on a particular date.

/api/mbsfeed/

  • 0 queries. Call does not count against your quota.

/api/mystatus/

  • 0 queries. Call does not count against your quota.

/api/query_log/

  • 0 queries. Call does not count against your quota.




MBS API Dictionary

GET /api/cusip/


Retrieve BWIC and runs data for a single Bloomberg Ticker, CUSIP, or ISIN.

Request parameters:

  cusip, app_id, req_sig

Response fields:

pxtalk
  bbg_ticker, bbgid, cf, curve, cusip, dealer, kind, list_id, of, price, price32, settle_dt, spread, spread_dec, trade_dt
trades
  bbg_ticker, bbgid, cf, color, curve, cusip, kind, list_id, of, price, price32, settle_dt, spread, trade_dt
bids
  bbg_ticker, bbgid, cf_bid, curve, cusip, dealer, dealer_notes, kind, of_bid, price32_bid, price_bid, settle_dt, spread_bid, trade_dt
offers
  bbg_ticker, bbgid, cf, curve, cusip, dealer, dealer_notes, kind, of, price, price32, settle_dt, spread, trade_dt
markets
  bbg_ticker, bbgid, cf, cf_bid, curve, cusip, dealer, dealer_notes, kind, of, of_bid, price, price32, price32_bid, price_bid, settle_dt, spread, spread_bid, trade_dt
meta
  errors, requests_left, results

Example Reponse:

{
    "meta": {
        "errors": [],
        "requests_left": 4896,
        "results": "OK"
    },
    "pxtalk": [
        {
            "curve": null,
            "spread": null,
            "list_id": "150413E",
            "bbg_ticker": "GCAT 2014-1 A2",
            "cf": 1.2,
            "spread_dec": null,
            "of": 1.2,
            "trade_dt": "2015-04-13",
            "settle_dt": "2015-04-16",
            "kind": "pxtalk",
            "cusip": "36162LAB7",
            "bbgid": null,
            "price32": "99h",
            "price": 99.25,
            "dealer": "bofa"
        }
    ],
    "trades": [
        {
            "curve": null,
            "spread": null,
            "color": "dnt",
            "list_id": "150413E",
            "bbg_ticker": "GCAT 2014-1 A2",
            "cf": 1.2,
            "of": 1.2,
            "trade_dt": "2015-04-13",
            "settle_dt": "2015-04-16",
            "kind": "bwic",
            "cusip": "36162LAB7",
            "bbgid": null,
            "price32": null,
            "price": null
        }
    ],
    "markets": [
        {
            "curve": "DM",
            "spread": 332.0,
            "price": 98.0,
            "price_bid": 97.0,
            "bbg_ticker": "SHACK 2013-4A C",
            "cf": 2.0,
            "of": 2.0,
            "spread_bid": null,
            "cf_bid": 3.0,
            "price32_bid": null,
            "settle_dt": "2014-08-12",
            "kind": "market",
            "cusip": "81881UAE7",
            "bbgid": null,
            "trade_dt": "2014-08-07",
            "price32": null,
            "of_bid": 3.0,
            "dealer_notes": null,
            "dealer": "barc"
        }
    ],
    "offers": [
        {
            "curve": "N",
            "cusip": "05950XAH9",
            "bbg_ticker": "BACM 2006-5 AM",
            "cf": 2.0,
            "of": 2.0,
            "trade_dt": "2015-05-27",
            "spread": 110.0,
            "settle_dt": "2015-06-01",
            "kind": "offer",
            "dealer_notes": "Retail: 40.15%",
            "bbgid": null,
            "price32": null,
            "price": null,
            "dealer": "citi"
        }
    ],
    "bids": [
        {
            "curve": null,
            "trade_dt": "2014-10-28",
            "bbg_ticker": "SHACK 2013-4A C",
            "price_bid": 94.5,
            "spread_bid": null,
            "cf_bid": 3.0,
            "price32_bid": null,
            "settle_dt": "2014-10-31",
            "kind": "bid",
            "cusip": "81881UAE7",
            "bbgid": null,
            "of_bid": 3.0,
            "dealer_notes": null,
            "dealer": "barc"
        }
    ]
}

POST /api/bonds/


Retrieve BWIC and runs data for a list of Bloomberg Tickers, CUSIPs, and ISINs.

Request parameters

bonds (comma separated), app_id, req_sig, nport (true or false)

Response fields

data
  1. bbg_ticker, bbgid, cf, curve, cusip, dealer, kind='pxtalk', list_id, of, price, price32, settle_dt, spread, spread_dec, trade_dt
  2. bbg_ticker, bbgid, cf, color, curve, cusip, kind='bwic', list_id, of, price, price32, settle_dt, spread, trade_dt
  3. bbg_ticker, bbgid, cf_bid, curve, cusip, dealer, dealer_notes, kind='bid', of_bid, price32_bid, price_bid, settle_dt, spread_bid, trade_dt
  4. bbg_ticker, bbgid, cf, curve, cusip, dealer, dealer_notes, kind='offer', of, price, price32, settle_dt, spread, trade_dt
  5. bbg_ticker, bbgid, cf, cf_bid, curve, cusip, dealer, dealer_notes, kind='market', of, of_bid, price, price32, price32_bid, price_bid, settle_dt, spread, spread_bid, trade_dt
  6. if nport=true same as above plus: kind, cusip, isin, regName, seriesName, repPdDate, balance, valUSD, fairValLevel, units, accessionNumber, regCik, annualizedRt
meta
  errors, requests_left, results

Example Reponse:

{
    "meta": {
        "errors": [],
        "requests_left": 4896,
        "results": "OK"
    },
    "data": [
        {
            "curve": null,
            "cusip": "XS0264193797",
            "bbg_ticker": "AIREM 2006-1X 2C2",
            "cf": null,
            "of": 83.0,
            "trade_dt": "2013-02-08",
            "spread": null,
            "settle_dt": "2013-02-13",
            "kind": "offer",
            "dealer_notes": null,
            "bbgid": null,
            "price32": null,
            "price": 82.25,
            "dealer": "jefferies"
        }
    ]
}

GET /api/bwic/


Retrieve summary level data for a day's Agency CMO BWICs.

Request parameters

sector, dt, app_id, req_sig

Response fields

data
  bonds: [bbg_ticker, bbgid, cusip, isin, of]
  cf
  cusips
  description
  isins
  list_id
  num_bonds
  num_color
  num_distinct_talk
  num_talk
  num_trace
  seller
  settle_dt
  trade_dt
  trade_datetime_utc
  uids
meta
  errors, notes, requests_left, results

Example Reponse (some results removed for space):

{
  "data": [
    {
      "bonds": [
        {
          "bbg_ticker": "FHR 3777 DA",
          "bbgid": "BBG001CNH1M8",
          "cusip": "3137A42F3",
          "isin": null,
          "of": 8.0
        }
      ],
      "cf": 0.2,
      "cusips": [
        "3137A42F3"
      ],
      "description": "FHR 3777 DA",
      "isins": [
        "US3137A42F37"
      ],
      "list_id": "181105J",
      "num_bonds": 1,
      "num_color": 0,
      "num_distinct_talk": 0,
      "num_talk": 0,
      "num_trace": 0,
      "seller": null,
      "settle_dt": "2018-11-08",
      "trade_dt": "2018-11-05 10:00",
      "trade_dt_utc": "2018-11-05T15:00:00",
      "uids": [
        "3137A42F3"
      ]
    },
  ],
  "meta": {
    "errors": [],
    "requests_left": 4936,
    "results": "OK"
  }
}

POST /api/nport/


Retrieve NPORT data for a list of Bloomberg Tickers, CUSIPs, and ISINs.

Request parameters

cuisps and/or isins (comma separated), app_id, req_sig

Response fields

data
  kind, cusip, isin, regName, seriesName, seriesLei, repPdDate, balance, valUSD, fairValLevel, units, accessionNumber, regCik, annualizedRt
meta
  errors, requests_left, results

Example Reponse:

{
  "data": [
    {
      "accessionNumber": "0001752724-19-177502",
      "annualizedRt": 2.32,
      "balance": 500000,
      "cusip": "40438DAD1",
      "fairValLevel": 2,
      "isin": "US40438DAD12",
      "kind": "nport",
      "regCik": "0000908695",
      "regName": "USAA Mutual Funds Trust",
      "repPdDate": "2019-09-30",
      "seriesLei": "5493002WB6DHNEK4HM51",
      "seriesName": "Ultra Short-Term Bond Fund",
      "units": "PA",
      "valUSD": 500369.4
    },
    {
      "accessionNumber": "0001752724-19-181680",
      "annualizedRt": 2.32,
      "balance": 6292000,
      "cusip": "40438DAD1",
      "fairValLevel": 2,
      "isin": "US40438DAD12",
      "kind": "nport",
      "regCik": "0000099203",
      "regName": "FPA NEW INCOME INC",
      "repPdDate": "2019-09-30",
      "seriesLei": "549300EH2YCK6M0NO786",
      "seriesName": "FPA New Income, Inc.",
      "units": "PA",
      "valUSD": 6296648.53
    }
  ],
  "meta": {
    "errors": [],
    "requests_left": 2152,
    "results": "OK"
  }
}

GET /api/offers/


Retrieve all available bids, offers, and markets for a specific date.

Request parameters:

  dt, app_id, req_sig, min_cf

Response fields:

offers_available
  dealer, num_bonds, sector
meta
  errors, requests_left, results

Example Reponse:

{
    "offers_available": [
        {
            "sector": "nonag",
            "num_bonds": 9,
            "dealer": "amherst"
        },
        {
            "sector": "nonag",
            "num_bonds": 10,
            "dealer": "ballantyne"
        },
        {
            "sector": "nonag",
            "num_bonds": 51,
            "dealer": "bnp"
        },
        {
            "sector": "nonag",
            "num_bonds": 25,
            "dealer": "nomura"
        },
        {
            "sector": "nonag",
            "num_bonds": 3,
            "dealer": "rbc"
        }
    ],
    "meta": {
        "errors": [],
        "requests_left": 4896,
        "results": "OK"
    }
}

Retrieve bids, offers, and markets for a dealer/sector/date combination.

Request parameters:

  sector, dt, dealer, app_id, req_sig

Response fields:

offers
  bbg_ticker, bbgid, cf, curve, cusip, dealer, dealer_notes, kind, of, price, price32, settle_dt, spread, trade_dt
markets
  bbg_ticker, bbgid, cf, cf_bid, curve, cusip, dealer, dealer_notes, kind, of, of_bid, price, price32, price32_bid, price_bid, settle_dt, spread, spread_bid, trade_dt
bids
  bbg_ticker, bbgid, cf_bid, curve, cusip, dealer, dealer_notes, kind, of_bid, price32_bid, price_bid, settle_dt, spread_bid, trade_dt
meta
  errors, requests_left, results

Example Reponse:

{
    "markets": [],
    "offers": [
        {
            "curve": null,
            "cusip": "3136AB2Q5",
            "offer_dt": "2015-05-05",
            "bbg_ticker": "FNR 2013-11 SB",
            "cf": 30.9457,
            "of": 35.4222,
            "trade_dt": "2015-05-05",
            "spread": null,
            "settle_dt": "2015-05-08",
            "kind": "offer",
            "dealer_notes": null,
            "bbgid": null,
            "price32": "25-00",
            "price": null,
            "dealer": "citi"
        }
    ],
    "bids": [],
    "meta": {
        "errors": [],
        "requests_left": 4803,
        "results": "OK"
    }
}

POST /api/collab/


Retrieve individual bond suggestions for a list of Bloomberg Tickers, CUSIPs, and ISINs. Suggestions are based on our collaborative filter recommendation engine.

Request parameters:

  bonds (comma separated), app_id, req_sig

Response fields:

rec_list
  input
  suggestions: [(bbg_ticker, isin, cusip)]
meta
  errors, requests_left, results

Example Reponse:

{
  "meta": {
    "errors": [],
    "requests_left": 2489,
    "results": "OK"
  },
  "rec_list": [
    {
      "input": "US30711XSX39",
      "suggestions": [
        [
          "CAS 2018-C03 1M2",
          "US30711XJ702",
          "30711XJ70"
        ],
        [
          "CAS 2017-C07 2M2",
          "US30711XWX82",
          "30711XWX8"
        ],
        [
          "CAS 2016-C05 2M1",
          "US30711XDG60",
          "30711XDG6"
        ],
        [
          "CAS 2018-C02 2M2",
          "US30711XC368",
          "30711XC36"
        ],
        [
          "CAS 2017-C04 2M2",
          "US30711XLT99",
          "30711XLT9"
        ],
        [
          "CAS 2018-C06 1M1",
          "US30711X3G73",
          "30711X3G7"
        ]
      ]
    },
    {
      "input": "SYNCT 2017-1 A",
      "suggestions": [
        [
          "GMALT 2017-2 A3",
          "US38013MAD83",
          "38013MAD8"
        ],
        [
          "CHAIT 2018-A1 A1",
          "US161571HN70",
          "161571HN7"
        ],
        [
          "COMET 2017-A6 A6",
          "US14041NFQ97",
          "14041NFQ9"
        ],
        [
          "KCOT 2018-1A A2",
          "US50117PAB58",
          "50117PAB5"
        ],
        [
          "BMWLT 2017-2 A3",
          "US05584PAD96",
          "05584PAD9"
        ],
        [
          "SRT 2017-A A3",
          "US80285AAG04",
          "80285AAG0"
        ]
      ]
    },
    {
      "input": "64828AAK9",
      "suggestions": [
        [
          "NRZT 2015-1A B4",
          "US64829CAM01",
          "64829CAM0"
        ],
        [
          "NRZT 2015-1A B5",
          "US64829CAS70",
          "64829CAS7"
        ],
        [
          "NRZT 2014-2A B4",
          "US64828YAJ01",
          "64828YAJ0"
        ],
        [
          "NRZT 2015-1A B3",
          "US64829CAL28",
          "64829CAL2"
        ],
        [
          "NRZT 2014-3A B4",
          "US64829DAR70",
          "64829DAR7"
        ]
      ]
    }
  ]
}

GET /api/mbsfeed/


Retrieve the latest BWIC related events from the news feed.

Request parameters:

  n (must be an integer between 1 and 50), app_id, req_sig

Response fields:

events
  bbg_tickers, event_type, list_id, timestamp
meta
  errors, num_records, requests_left, results

Example Response:

{
    "events": [
        {
            "timestamp": "2015-05-29 14:56:53",
            "bbg_tickers": [
                "CARR 2006-FRE1 A2",
                "LBMLT 2005-WL2 M1",
                "MSAC 2004-WMC3 M2",
                "RAAC 2006-SP2 A3",
                "GSAMP 2006-NC1 A2",
                "AMIT 2004-1 M5",
                "ELAT 2007-1 A2B"
            ],
            "list_id": "150529N",
            "event_type": "add_color"
        }
    ],
    "meta": {
        "errors": [],
        "requests_left": 4803,
        "num_records": 1,
        "results": "OK"
    }
}

POST /api/deal-classes/


Retrieve all tranches for a deal

Request parameters

bond (cusip, isin or ticker), app_id, req_sig

Response fields

bonds
  bbg_ticker, cusip, figi, isin
meta
  errors, requests_left, results

Example Reponse:

{
  "bonds": [
    {
      "bbg_ticker": "FNW 2009-W1 A",
      "cusip": "31398F7A3",
      "figi": "BBG0009YWDY4",
      "isin": "US31398F7A36"
    },
    {
      "bbg_ticker": "FNW 2009-W1 B1",
      "cusip": "31398F7D7",
      "figi": "BBG0009YWF06",
      "isin": "US31398F7D74"
    },
    {
      "bbg_ticker": "FNW 2009-W1 B2",
      "cusip": "31398F7E5",
      "figi": "BBG0009YWF24",
      "isin": "US31398F7E57"
    },
    {
      "bbg_ticker": "FNW 2009-W1 IO",
      "cusip": "31398F7B1",
      "figi": "BBG0009YWFH8",
      "isin": "US31398F7B19"
    },
    {
      "bbg_ticker": "FNW 2009-W1 PO",
      "cusip": "31398F7C9",
      "figi": "BBG0009YWFF0",
      "isin": "US31398F7C91"
    },
    {
      "bbg_ticker": "FNW 2009-W1 R",
      "cusip": "31398F7F2",
      "figi": "BBG0009YWF79",
      "isin": "US31398F7F23"
    },
    {
      "bbg_ticker": "FNW 2009-W1 RL",
      "cusip": "31398F7G0",
      "figi": "BBG0009YWF97",
      "isin": "US31398F7G06"
    }
  ],
  "meta": {
    "errors": [],
    "requests_left": 2500,
    "results": "OK"
  }
}

GET /api/all-bonds/


Retrieve all bonds for a given date.

Request parameters

dt (current date to current date - 60), figi_marketsector (Mtge, Corp), app_id, kind (bwics, runs, empty), req_sig

Response fields

bonds
  bbg_ticker, cusip, figi, figi_marketsector, figi_securitytype, figi_securitytype2, isin
meta
  errors, num_records, requests_left, results

Example Reponse:

{
  "bonds": [
    {
      "bbg_ticker": "AOMT 2018-2 A1",
      "cusip": "03463VAA3",
      "figi": "BBG00L5B6T49",
      "figi_marketsector": "Mtge",
      "figi_securitytype": "Prvt CMO Other",
      "figi_securitytype2": "Whole Loan",
      "isin": "US03463VAA35"
    },
    {
      "bbg_ticker": "ARCLO 2020-FL1 C",
      "cusip": "03880WAG3",
      "figi": "BBG00RRX5Y53",
      "figi_marketsector": "Mtge",
      "figi_securitytype": "CF",
      "figi_securitytype2": "CRE",
      "isin": "US03880WAG33"
    },
    {
      "bbg_ticker": "AHPT 2017-ATRM D",
      "cusip": "04965JAG8",
      "figi": "BBG00JFF8QB0",
      "figi_marketsector": "Mtge",
      "figi_securitytype": "CMBS",
      "figi_securitytype2": "CMBS",
      "isin": "US04965JAG85"
    },
    {
      "bbg_ticker": "BBCCR 2015-GTP A",
      "cusip": "05490TAA0",
      "figi": "BBG009Q03KG6",
      "figi_marketsector": "Mtge",
      "figi_securitytype": "CMBS",
      "figi_securitytype2": "CMBS",
      "isin": "US05490TAA07"
    },
    {
      "bbg_ticker": "BBCMS 2018-RRI E",
      "cusip": "05492CAN7",
      "figi": "BBG00JYJRDF5",
      "figi_marketsector": "Mtge",
      "figi_securitytype": "CMBS",
      "figi_securitytype2": "CMBS",
      "isin": "US05492CAN74"
    },
    {
      "bbg_ticker": "BBCMS 2020-C6 D",
      "cusip": "05492TAK6",
      "figi": "BBG00RK46FX3",
      "figi_marketsector": "Mtge",
      "figi_securitytype": "CMBS",
      "figi_securitytype2": "CMBS",
      "isin": "US05492TAK60"
    },
    {
      "bbg_ticker": "BAMLL 2018-DSNY C",
      "cusip": "054967AJ3",
      "figi": "BBG00M6W54G3",
      "figi_marketsector": "Mtge",
      "figi_securitytype": "CMBS",
      "figi_securitytype2": "CMBS",
      "isin": "US054967AJ31"
    },
    {
      "bbg_ticker": "BAMLL 2015-200P E",
      "cusip": "05526QAL0",
      "figi": "BBG008FK2G30",
      "figi_marketsector": "Mtge",
      "figi_securitytype": "CMBS",
      "figi_securitytype2": "CMBS",
      "isin": "US05526QAL05"
    },
    {
      "bbg_ticker": "BBCMS 2017-DELC C",
      "cusip": "05552EAJ9",
      "figi": "BBG00HFRCJ10",
      "figi_marketsector": "Mtge",
      "figi_securitytype": "CMBS",
      "figi_securitytype2": "CMBS",
      "isin": "US05552EAJ91"
    },
    {
      "bbg_ticker": "BBCMS 2017-DELC D",
      "cusip": "05552EAL4",
      "figi": "BBG00HFRCJ29",
      "figi_marketsector": "Mtge",
      "figi_securitytype": "CMBS",
      "figi_securitytype2": "CMBS",
      "isin": "US05552EAL48"
    },
    {
      "bbg_ticker": "BX 2019-XL G",
      "cusip": "056054AK5",
      "figi": "BBG00QG2JNV5",
      "figi_marketsector": "Mtge",
      "figi_securitytype": "CMBS",
      "figi_securitytype2": "CMBS",
      "isin": "US056054AK52"
    }
  ],
  "meta": {
    "errors": [],
    "num_records": 11,
    "requests_left": 2500,
    "results": "OK"
  }
}

GET /api/mystatus/


Check API status and see how many requests are left

Request parameters:

  app_id, req_sig

Response fields:

errors
results
requests_left

Example Response:

{
  "meta": {
    "errors": [],
    "requests_left": 4584,
    "results": "OK"
  }

GET /api/query_log/


Retrieve a log of queries made on a given date.

Request parameters:

  dt, app_id, req_sig

Response fields:

errors
query_log
  cid, client_ip, d0, d1, format, query, query_id, timestamp, uid_ct
results

Example Reponse:

{
    "meta": {
        "errors": [],
        "requests_left": 4936,
        "results": "OK"
    },
    "query_log": [
        {
            "d0": 20150513,
            "timestamp": "2015-05-14T13:44:10",
            "cid": null,
            "query_id": 3356141,
            "query": "BWIC-agcmo",
            "format": "csv",
            "client_ip": "50.74.176.138",
            "uid_ct": 0,
            "d1": null
        }
    ]
}

Request Signature Generation

Single Bond

dt = datetime.date.today().strftime("%Y%m%d")
sig_keys = [TEST_APP_ID, uid, dt, TEST_API_PASS]
req_sig = hashlib.sha1("".join(sig_keys).encode("utf-8")).hexdigest()

Multiple Bonds

dt = datetime.date.today().strftime("%Y%m%d")  #YYYYMMDD for cur date
sig_keys = [TEST_APP_ID, ",".join(uids), dt, TEST_API_PASS]
req_sig hashlib.sha1("".join(sig_keys).encode("utf-8")).hexdigest()

Offers

sig_keys = [TEST_APP_ID, DT_TODAY.strftime("%Y%m%d"), TEST_API_PASS]
req_sig = hashlib.sha1("".join(sig_keys).encode("utf-8")).hexdigest()


Do I need to enter a Proxy Server?

For those of you sitting behind a proxy server, our API now plays nicely with them. Just enter the proxy server address in the appropriate cell on the new credentials tab. See below:

The best way to determine this is to see if your copy of Internet Explorer uses one. This can be found by clicking the "LAN Settings" button on the Connections tab under the menu Tools -> Internet Options. Example Proxy Server: bankproxy:80 If you do not need or use a proxy server, simply leave this cell blank. If your browser uses an automatic configuration script, you'll need to use a parser to extract the Proxy Server address. To do so, either consult us directly or feel free use our web based parser.

More on Proxy Servers: support.microsoft.com/kb/135982
More on Proxy Auto Config scripts: en.wikipedia.org/wiki/Proxy_auto-config

The above examples are all illustrated via our demo Excel spreadsheet. The spreadsheet code that interacts with the API is written in VBA. We also have demonstration scripts written in Python. We can provide these and further documentation upon request. Any language that can form a valid HTTP request should have no issues interacting with our API.

To download the spreadsheet used in the above examples, please follow this link: Excel Download