DataScope Select - REST API

Close Menu
Expand All Collapse All
Introductory Tutorials Tutorials Introduction Programming without SDK Tutorial REST API Tutorials REST API Tutorials Introduction REST API Tutorial 1: Connecting to the DSS server REST API Tutorial 2: On Demand End of Day Extraction REST API Tutorial 3: On Demand intraday extraction, embargo REST API Tutorial 4: On Demand price history extraction REST API Tutorial 5: On Demand corporate actions extraction REST API Tutorial 6: On Demand ownership data extraction REST API Tutorial 7: On Demand T&C extraction REST API Tutorial 8: On Demand composite extraction REST API Tutorial 9: On Demand extraction: instrument list REST API Tutorial 10: GUI control calls: immediate extract REST API Tutorial 11: Search by Instrument REST API Tutorial 12: Search for an Equity REST API Tutorial 13: Search for a Future or Option REST API Tutorial 14: On Demand price history extraction raw .Net SDK Tutorials .Net SDK Tutorial 1: Connecting to the DSS server .Net SDK Tutorial 2: GUI control calls: List, report, sched .Net SDK Tutorial 3: GUI control calls: Validate, extraction .Net SDK Tutorial 4: GUI control calls: Embargo, note files .Net SDK Tutorial 5: On Demand: EoD extraction .Net SDK Tutorial 6: On Demand: EoD extraction, file I/O .Net SDK Tutorial 7: On Demand: large instrument lists .Net SDK Tutorial 8: On Demand: Terms & Conditions .Net SDK Tutorial 9: On Demand: Composite extraction .Net SDK Tutorial 10: Search by Instrument .Net SDK Tutorial 11: Search for Equity .Net SDK Tutorial 12: Search for Future or Option

REST API Tutorial 11: Search by Instrument

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

Tutorial purpose

This tutorial explains how to make a search request, using as criteria the instrument code.

Two examples are shown, you can extend these to other instrument codes:

  • Search using the Reuters Instrument Code (RIC).
  • Search using the Organisation Id (OrgId).

Such a call can also be used to validate a list of instruments (as illustrated by the first example).

You can choose to have results in a different instrument code type (as illustrated by the second example).

 

Table of contents

 

Search by RIC - HTTP request

Notes:

  • You can search for more than one RIC, by simply separating them with commas.
  • You can use the "*" character as a wildcard in the RIC: "IBM*".
  • An invalid RIC will not be included in the returned results. This can be used to validate a list of RICs.
  • You can filter results by instrument type group.
  • For all requests we need to include a user token in the header of our request. This was retrieved in Tutorial 1.

The body of the request contains several parts:

  • The identifier type (Cusip, Isin, Ric, etc., more than 30 are available). In the example below we use RIC (Reuters Instrument Code, a Thomson Reuters proprietary ID for all financial instruments).

    More information on them can be found by browsing in the API Reference Tree or searching in the help in the DSS web GUI:

  • The list of identifiers.
  • The instrument type groups, to filter results (all possible groups are included in the request below).
  • The preferred identifier type for the returned results.

The following request searches for four RICs (one of which is invalid), accross all instrument type groups.

URL:               

https://hosted.datascopeapi.reuters.com/RestApi/v1/Search/InstrumentSearch

Method:          POST

Headers:

Prefer: respond-async
Content-Type: application/json
Authorization: Token F0ABE9A3FFF2E02E10AE2765ED872C59B8CC3B40EBB61B30E295E71DE31C254B8648DB9434C2DF9299FDC668AA123501F322D99D45C8B93438063C912BC936C7B87062B0CF812138863F5D836A7B31A32DCA67EF07B3B50B2FC4978DF6F76784FDF35FCB523A8430DA93613BC5730CDC310D4D241718F9FC3F2E55465A24957CC287BDEC79046B31AD642606275AEAD76318CB221BD843348E1483670DA13968D8A242AAFCF9E13E23240C905AE46DED9EDCA9BB316B4C5C767B18DB2EA7ADD100817ADF059D01394BC6375BECAF6138C25DBA57577F0061

Body:

{
  "SearchRequest": {
    "InstrumentTypeGroups": [
      "CollatetizedMortgageObligations",
      "Commodities",
      "Equities",
      "FuturesAndOptions",
      "GovCorp",
      "MortgageBackedSecurities",
      "Money",
      "Municipals",
      "Funds"
    ],
    "IdentifierType": "Ric",
    "Identifier": "US10YT=RRPS,JPY=,IBM.N, INVALID.RIC",
    "PreferredIdentifierType": "Ric"
  }
}

 

Search by RIC - HTTP response

Status:                        200 OK

Relevant headers:

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

Body:

{
  "@odata.context": "https://hosted.datascopeapi.reuters.com/RestApi/v1/$metadata#Collection(ThomsonReuters.Dss.Api.Content.ValidatedInstrument)",
  "value": [
    {
      "Identifier": "IBM.N",
      "IdentifierType": "Ric",
      "Source": "NYS",
      "Key": "VjF8MHgwMDAzZGQwMDEzNzlkNDYwfDB4MDAwM2RjMDA0YTAyNGZkOHxOWVN8RVFRVXxFUVRZfE9EU0h8RXx8SUJNLk58MDA3Nw",
      "Description": "INTERNATIONAL BUSINESS MACHINES ORD",
      "InstrumentType": "EquityQuote",
      "Status": "Valid"
    },
    {
      "Identifier": "JPY=",
      "IdentifierType": "Ric",
      "Source": "RCT",
      "Key": "VjF8MHgwMDEwMGIwMDAzMGE5MDEyfDB4MDAwM2RjMDAzNDcyZjc2ZXxSQ1R8TU5RVXxNT05ZfE1PTll8WXx8SlBZPXwwMTQz",
      "Description": "US Dollar/Japanese Yen FX Spot Rate",
      "InstrumentType": "MoneyMarketQuote",
      "Status": "Valid"
    },
    {
      "Identifier": "US10YT=RRPS",
      "IdentifierType": "Ric",
      "Source": "EJV",
      "Key": "VjF8MHgwMDEwMmNhNmY3OTgxZGU4fDB4MDAxMDJjNDAzZGMyMWQ5ZXxFSlZ8R0NCRHxHT1ZUfEdCTkR8R3xOfFVTMTBZVD1SUlBTfEdPUlA",
      "Description": "UST  1.750 11/15/29",
      "InstrumentType": "GovCorpBond",
      "Status": "Valid"
    }
  ]
}

Note there are only 3 results, because there is no data for the invalid RIC. This is how we validated our input list.

 

Search by ORG ID - HTTP request

Notes:

  • This is very similar to the search by RIC, using a different identifier type.
  • In this example we set the preferred identifier type to a different value from the input list, because we would like results as RICs.

The following request searches for two ORG IDs, across all instrument type groups.

URL:               

https://hosted.datascopeapi.reuters.com/RestApi/v1/Search/InstrumentSearch

Method:          POST

Headers:

Prefer: respond-async
Content-Type: application/json
Authorization: Token F0ABE9A3FFF2E02E10AE2765ED872C59B8CC3B40EBB61B30E295E71DE31C254B8648DB9434C2DF9299FDC668AA123501F322D99D45C8B93438063C912BC936C7B87062B0CF812138863F5D836A7B31A32DCA67EF07B3B50B2FC4978DF6F76784FDF35FCB523A8430DA93613BC5730CDC310D4D241718F9FC3F2E55465A24957CC287BDEC79046B31AD642606275AEAD76318CB221BD843348E1483670DA13968D8A242AAFCF9E13E23240C905AE46DED9EDCA9BB316B4C5C767B18DB2EA7ADD100817ADF059D01394BC6375BECAF6138C25DBA57577F0061

Body:

{
  "SearchRequest": {
    "InstrumentTypeGroups": [
      "CollatetizedMortgageObligations",
      "Commodities",
      "Equities",
      "FuturesAndOptions",
      "GovCorp",
      "MortgageBackedSecurities",
      "Money",
      "Municipals",
      "Funds"
    ],
    "IdentifierType": "OrgId",
    "Identifier": "18175,18174",
    "PreferredIdentifierType": "Ric"
  }
}

 

Search by ORG ID - HTTP response

Status:                        200 OK

Relevant headers:

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

Body:

Note that in a few cases there is no available result with the preferred identifier type, so a different identifier type is returned (in this case a Cusip).

There are more than 150 values in the response. Here is the beginning of the response:

{
  "@odata.context": "https://hosted.datascopeapi.reuters.com/RestApi/v1/$metadata#Collection(ThomsonReuters.Dss.Api.Content.ValidatedInstrument)",
  "value": [
    {
      "Identifier": "ZUCI.MI",
      "IdentifierType": "Ric",
      "Source": "MIL",
      "Key": "VjF8MHgwMDAzZGQwMDE2NzNmYjQwfDB4MDAwM2RjMDA0NjI5N2JjYnxNSUx8RVFRVXxFUVRZfE9EU0h8RXx8WlVDSS5NSXwwMTI4",
      "Description": "VINCENZO ZUCCHI ORD",
      "InstrumentType": "EquityQuote",
      "Status": "Valid"
    },
    {
      "Identifier": "0DFFmi.TRE",
      "IdentifierType": "Ric",
      "Source": "LSE",
      "Key": "VjF8MHgwMDAzZGQwMDE2NzNmYjQwfDB4MDAwM2Y4MDExOWYyMTcwNnxMU0V8RVFRVXxFUVRZfE9EU0h8RXx8MERGRm1pLlRSRXwzODg2",
      "Description": "VINCENZO ZUCCHI ORD",
      "InstrumentType": "EquityQuote",
      "Status": "Valid"
    },
    {
      "Identifier": "ZUCm.CHI",
      "IdentifierType": "Ric",
      "Source": "CHI",
      "Key": "VjF8MHgwMDAzZGQwMDE2NzNmYjQwfDB4MDAwM2Y4MDM4YmFlNzVhOHxDSEl8RVFRVXxFUVRZfE9EU0h8RXx8WlVDbS5DSEl8MTM1OQ",
      "Description": "VINCENZO ZUCCHI ORD",
      "InstrumentType": "EquityQuote",
      "Status": "Valid"
    },
    {
      "Identifier": "ZUCm.BS",
      "IdentifierType": "Ric",
      "Source": "BTE",
      "Key": "VjF8MHgwMDAzZGQwMDE2NzNmYjQwfDB4MDAwM2Y4MDM4ZjkyYjA1NXxCVEV8RVFRVXxFUVRZfE9EU0h8RXx8WlVDbS5CU3wxNjg2",
      "Description": "VINCENZO ZUCCHI ORD",
      "InstrumentType": "EquityQuote",
      "Status": "Valid"
    },
    {
      "Identifier": "ZUCIEUR.xbo",
      "IdentifierType": "Ric",
      "Source": "XBO",
      "Key": "VjF8MHgwMDAzZGQwMDE2NzNmYjQwfDB4MDAwM2Y4MDNiMTNhOTllYXxYQk98RVFRVXxFUVRZfE9EU0h8RXx8WlVDSUVVUi54Ym98MTU4Nw",
      "Description": "VINCENZO ZUCCHI ORD",
      "InstrumentType": "EquityQuote",
      "Status": "Valid"
    },

This goes on with all the other available fields. Here is the last part:

    {
      "Identifier": "US02376RAC60=TWEA",
      "IdentifierType": "Ric",
      "Source": "JIO",
      "Key": "VjF8MHgwMDEwMmNkZTBlNTAxYWE2fDB4MDAxMDJjYjg4YjcwMWE2NXxKSU98R0NCRHxDT1JQfENJTkR8R3xOfFVTMDIzNzZSQUM2MD1UV0VBfA",
      "Description": "AALX   5.000 06/01/22",
      "InstrumentType": "GovCorpBond",
      "Status": "Valid"
    },
    {
      "Identifier": "02376RAC6=",
      "IdentifierType": "Ric",
      "Source": "CPN",
      "Key": "VjF8MHgwMDEwMmNkZTBlNTAxYWE2fDB4MDAxMDJjYzNiMzU3MWEwMXxDUE58R0NCRHxDT1JQfENJTkR8R3xOfDAyMzc2UkFDNj18",
      "Description": "AALX   5.000 06/01/22",
      "InstrumentType": "GovCorpBond",
      "Status": "Valid"
    },
    {
      "Identifier": "02376RAC6=TWEB",
      "IdentifierType": "Ric",
      "Source": "TWB",
      "Key": "VjF8MHgwMDEwMmNkZTBlNTAxYWE2fDB4MDAxMDJjZDQ5NzEzMWM3MHxUV0J8R0NCRHxDT1JQfENJTkR8R3xOfDAyMzc2UkFDNj1UV0VCfA",
      "Description": "AALX   5.000 06/01/22",
      "InstrumentType": "GovCorpBond",
      "Status": "Valid"
    }
  ]
}

 

Tutorial Group: 
REST API Tutorials