REST API Tutorial 13: Historical Search

Last update Jan 2026
Environment Any
Language Any HTTP is supported
Compilers None
Prerequisites DSS login, internet access
Source code Below

Tutorial purpose

There are several available historical search calls to retrieve instrument identifiers:

  • Historical Search
  • Historical Criteria Search
  • Historical Chain Resolution

This tutorial covers the first type, explaining how to make simple historical search requests.

2 use cases are covered:

  • Find all active RICs for a given ISIN at a particular date in the past.
  • Find the date range where a specific instrument was valid.

 

Table of contents


Historical search for RICs from an ISIN - HTTP request

Note: for all requests we need to include a user token in the header of our request. This was retrieved in Tutorial 1.

URL:

 

    	
            https://selectapi.datascope.lseg.com/RestApi/v1/Search/HistoricalSearch
        
        
    

Method:          POST

Headers:

    	
            

Prefer: respond-async

Content-Type: application/json

Authorization: Token F0ABE9A3FFF2E02E10AE2765ED872C59B8CC3B40EBB61B30E295E71DE31C254B8648DB9434C2DF9299FDC668AA123501F322D99D45C8B93438063C912BC936C7B87062B0CF812138863F5D836A7B31A32DCA67EF07B3B50B2FC4978DF6F76784FDF35FCB523A8430DA93613BC5730CDC310D4D241718F9FC3F2E55465A24957CC287BDEC79046B31AD642606275AEAD76318CB221BD843348E1483670DA13968D8A242AAFCF9E13E23240C905AE46DED9EDCA9BB316B4C5C767B18DB2EA7ADD100817ADF059D01394BC6375BECAF6138C25DBA57577F0061

Body:

The body of the request contains several parts:

  • The identifier.
  • The identifier type (Cusip, Isin, Ric, etc., more than 30 are available). In the example below we use an ISIN. More information on them can be found by browsing in the API Reference Tree or searching in the help in the web GUI:
  • The date range where the instrument was active. Here we chose a single date, we want all the active RICs for that ISIN on that particular date.
    	
            

{

  "Request": {

    "Identifier": "US4592001014",

    "IdentifierType": "Isin",

    "Range": {

      "Start": "2008-01-01T00:00:00.000Z",

      "End": "2008-01-01T00:00:00.000Z"

    }

  }

}

 

Historical search for RICs from an ISIN - HTTP response

Status:                        200 OK

Relevant headers:

    	
            Content-Type: application/json; charset=utf-8
        
        
    

Body:

    	
            

{

  "@odata.context": "https://selectapi.datascope.lseg.com/RestApi/v1/$metadata#Collection(DataScope.Select.Api.Search.HistoricalSearchResult)",

  "value": [

    {

      "Identifier": "IBM",

      "IdentifierType": "Ric",

      "Source": "",

      "Key": "VjF8MHgzMDAwMDAwMDAwMDAwMDAwfDB4MzAwMDAwMDAwMDAwMDAwMHx8fHx8fHxJQk18",

      "Description": "Historical Instrument",

      "InstrumentType": "Unknown",

      "Status": "Valid",

      "DomainCode": "6",

      "FirstDate": "1996-01-02T00:00:00.000Z",

      "LastDate": "2020-05-21T00:00:00.000Z",

      "History": []

    },

    {

      "Identifier": "IBM.BE",

      "IdentifierType": "Ric",

      "Source": "",

      "Key": "VjF8MHgzMDAwMDAwMDAwMDAwMDAwfDB4MzAwMDAwMDAwMDAwMDAwMHx8fHx8fHxJQk0uQkV8",

      "Description": "Historical Instrument",

      "InstrumentType": "Unknown",

      "Status": "Valid",

      "DomainCode": "6",

      "FirstDate": "1996-01-01T00:00:00.000Z",

      "LastDate": "2020-05-21T00:00:00.000Z",

      "History": []

    },

    {

      "Identifier": "IBM.C",

      "IdentifierType": "Ric",

      "Source": "",

      "Key": "VjF8MHgzMDAwMDAwMDAwMDAwMDAwfDB4MzAwMDAwMDAwMDAwMDAwMHx8fHx8fHxJQk0uQ3w",

      "Description": "Historical Instrument",

      "InstrumentType": "Unknown",

      "Status": "Valid",

      "DomainCode": "6",

      "FirstDate": "1996-01-02T00:00:00.000Z",

      "LastDate": "2020-05-21T00:00:00.000Z",

      "History": []

    },

There are many more results, the above is just the first part.

Note: domain code 6 is for Market Price.


Historical search for RIC validity - HTTP request

URL: 

    	
            https://selectapi.datascope.lseg.com/RestApi/v1/Search/HistoricalSearch
        
        
    

Method:          POST

Headers:

    	
            

Prefer: respond-async

Content-Type: application/json

Authorization: Token F0ABE9A3FFF2E02E10AE2765ED872C59B8CC3B40EBB61B30E295E71DE31C254B8648DB9434C2DF9299FDC668AA123501F322D99D45C8B93438063C912BC936C7B87062B0CF812138863F5D836A7B31A32DCA67EF07B3B50B2FC4978DF6F76784FDF35FCB523A8430DA93613BC5730CDC310D4D241718F9FC3F2E55465A24957CC287BDEC79046B31AD642606275AEAD76318CB221BD843348E1483670DA13968D8A242AAFCF9E13E23240C905AE46DED9EDCA9BB316B4C5C767B18DB2EA7ADD100817ADF059D01394BC6375BECAF6138C25DBA57577F0061

Body:

    	
            

{

  "Request": {

    "Identifier": "TRIL.L",

    "IdentifierType": "Ric",

    "Range": {

      "Start": "1996-01-01T00:00:00.000Z",

      "End": "2017-02-28T00:00:00.000Z"

    }

  }

}

 

Historical search for RIC validity - HTTP response

Status:                        200 OK

Relevant headers:

    	
            Content-Type: application/json; charset=utf-8
        
        
    

Body:

    	
            

{

  "@odata.context": "https://selectapi.datascope.lseg.com/RestApi/v1/$metadata#Collection(DataScope.Select.Api.Search.HistoricalSearchResult)",

  "value": [

    {

      "Identifier": "TRIL.L",

      "IdentifierType": "Ric",

      "Source": "",

      "Key": "VjF8MHgzMDAwMDAwMDAwMDAwMDAwfDB4MzAwMDAwMDAwMDAwMDAwMHx8fHx8fHxUUklMLkx8",

      "Description": "Historical Instrument",

      "InstrumentType": "Unknown",

      "Status": "Valid",

      "DomainCode": "6",

      "FirstDate": "2008-04-16T00:00:00.000Z",

      "LastDate": "2009-09-09T00:00:00.000Z",

      "History": []

    }

  ]

}

The response gives us the date range where the instrument name was valid.

Note: domain code 6 is for Market Price.