factset-vector-logo

FACTSET ID Lookup API Software

FACTSET-ID-Lookup-API-Software-PRODUCT

FAQs

  • Q: What is the authentication method for the FactSet ID Lookup API?
    • A: The API authenticates using API keys. A detailed authentication process can be found in the provided guide.
  • Q: What are the core functionalities of the FactSet ID Lookup API?
    • A: The API leverages FactSet’s search functionality to return tickers, company names, and unique identifiers. It also offers type-ahead functionality for quick results and easy integration with web applications.
  • Q: What is the logic behind how results are ranked?
    • The ranking is based on several variables. Generally, string matching affects the ranking depending on how much the search term matches the results. In addition, each entity type has its own unique variables that can affect the ranking. For example, equities use market cap and primary listing.

PRODUCT INFORMATION

Document Organization and Audience

This document describes how to use FactSet ID Lookup API. You should be familiar with JSON, API, and Web Services. This document will describe the syntax needed for proper request formatting as well as the rules for processing responses.

Trademarks

FactSet is a registered trademark of FactSet Research Systems, Inc. All other brand or product names may be trademarks of their respective companies.

Overview

Introduction to FactSet ID Lookup API

FactSet Identifier Lookup API exposes the service that powers the search functionality in FactSet WorkStation and FactSet Web. Clients can leverage this API for their search functionality to return tickers, entity names, and other identifiers that FactSet supports.

Sample Data Flow

FACTSET-ID-Lookup-API-Software-FIG (1)

Core Functionality and Benefits

  • Leverages FactSet’s powerful search functionality to return tickers, company names and unique identifiers for FactSet data
  • Type-ahead functionality to display related results quickly
  • Simple integration with your existing web applications

Authentication

  • The API authenticates using API keys.
  • Client would be provided with a FactSet login to Developer’s Portal (https://developer.factset.com/).
  • End user must generate an API key from the Developer portal.
  • The key is generated once and cannot be retrieved again. User needs to take a copy and store the API key.

Certificates and Certificate Chains

FactSet highly discourages hardcoding reliance on any particular certificate or advertised certificate chain into applications. FactSet expects clients to rely on Public Key Infrastructure verification and validity of the certificates:

  • FactSet’s Certificates will change over time as they are renewed and the complexity of the algorithms employed increases (i.e. SHA-2 rather than SHA-1 signatures). This is the constant evolution of security as old security algorithms are retired and new security algorithms are included. Often these certificates get updated on a rolling multi-year basis. Validating a certificate dynamically during TLS connect must be incorporated by the client as a necessary practice.
  • FactSet’s Certificate chains, including intermediate Certificate Authorities, may change over time, and it is important that clients dynamically validate FactSet’s certs against a modern CA trusted root certificate store. FactSet’s current root certificate is Thawte Primary Root CA.

Security Protocols

Clients should not hardcode dependencies on any specific security protocol as FactSet is continuously reviewing security policies and reserves the right to disable support for older security protocols with short notice. The current supported protocols are TLSv1.1 and TLSv1.2 but at a future date, these may be replaced with future versions. Clients should make sure that their software can handle ever changing Security Protocols.

Request Limits

There is a limit on how many requests each client can make within specific durations. This is to ensure the API is running optimally and mitigate any impact to other FactSet services. The API offers three tiers of request limits. All clients who are using this API will get the default tier. Clients who are interested in tier B should discuss the commercials with their FactSet sales rep.

Tier # of requests/sec # of requests/minute # of requests/hour
Default 20 100 2,000
Tier B 200 1,000 20,000

Sample Scenarios

Depending on the tier, the API would respond with a 429 code depending on which time duration limit they reach first. The limit starts at the time the first request is made. The cached time would reset after an hour, even if the client does not reach the limit.

  • [Client A: default tier] At 15:22:15, client reaches the limit of 100 requests per minute. The API would respond with a 429 on subsequent requests until the restriction is lifted a minute later at 15:23:15
  • If the same client reaches the 2,000 requests per hour limit at 15:44:00, then the limit would not be lifted until 16:44:00.

API

FactSet ID Lookup API will accept POST requests in a JSON-formatted request body.

URL

  • FactSet provides production environment that can be used for production access. The following table shows the URL needed for each system.
Type Host Name Service Example URL1
Produc tion api.factset.com idsearch https://api.factset.com/idsearch/v1/idsearch

Query

Query is an array containing search query objects with parameters to run concurrently. This is the request sent via the API to look for a specific set of identifiers.

Query

The query object contains the search term and filters defined by the end user. Each query object contains the following parts:

Names Description Examples and Notes
patterns This is the string or keyword being searched on. Concurrent searches for multiple patterns

is NOT supported

FactSet Research Systems is treated as a single search term but not as FactSet OR

Research OR Systems

entities The asset class that is being search against List of available asset classes are available in Section 2.2.4
filters Helps narrow down the search results through including and/or excluding parameter.

Filters are specific depending

on the asset class

List of available filters are listed in Section 2.2.4
search_fields Limit results to these symbology type:

•          Symbol

•          Entity name

•          CUSIP

This parameter is only available for these asset classes:

•          Equities

•          Private Companies

•          Bonds

•          ETFs

•          Futures

•          Mutual Funds

Filters

The filter object (if used) must contain one or both of the following:

1 The example URLs demonstrate the different services assigned to production and beta. The URLs given above may not be valid. For example, the query string is missing in the above example.

  • Include – Specifies criteria to selectively include specific datasets in the results. Each dataset has its own relevant fields, such as equityType, isPrimary, region, etc. For each field, provide an array of values you wish to filter on. For example, specifying [“US”, “GB”] for the region field will include documents where the region is either the United States or Great Britain. The values in each array are combined using an OR operation, meaning any dataset matching one or more of these values will be included in the results.
  • Exclude – Specifies criteria to exclude certain datasets from the results. Each dataset has its own relevant fields, such as equityType, isPrimary, region, etc. For each field, provide an array of values you wish to filter out. For example, specifying [“US”, “GB”] for the region field will exclude documents where the region is either the United States or Great Britain. The values in each array are combined using an OR operation, meaning any dataset matching one or more of these values will be excluded from the results.

Clients must also have these settings for the include and exclude filters. The full list of acceptable field, entities and values is available in Section 2.2.4

  • field – string containing the field name to filter on. Each asset class has its own set of fields (i.e. “equity_type”, “is_primary”, “region”, etc).
  • entity – string containing the asset class for the filter to be applied on. If not included or left empty, it will apply the filter against all asset class
  • values – values you wish to filter on, as a comma-separated list. The values within this list are tied by an OR operation. o Example: an include filter with “values”: [“US”, “GB”] would include documents whose region values are either the United States or Great Britain. The possible values for regions are available in Appendix A

Sample Request Format

FACTSET-ID-Lookup-API-Software-FIG (2)

Acceptable Names and Values

Below is the list of supported names and values for each asset class and related filters:

Asset

Class/”Entities” Description

Asset Class/“Entities” Values Fields Field Values Field Values Description
Bank Loans bank_loans
Commodities commodities
Continuous Evaluated Pricing cep_bonds
Countries countries
Deals deals
Economic Reports econ_reports
Economic

Series

economic_series
Equities equities equity_type EQ_Primary Primary Market
EQ_PREF Preferred

Equities

EQ_RIGHTS Rights
EQ_WARR Warrants
EQ_DEPOS Depository

Receipts

EQ_DR_ADR ADR
EQ_DR_GDR GDR
EQ_DR_NVDR NVDR
EQ_DR_ODR Other DR
is_primary 0 = false

1 = true

region See Appendix

A

Equities Realtime equities_realtime
ETFs etfs regions See Appendix

A

ETFs Realtime etfs_realtime
Exchange Rates Realtime exchange_rates_realtime
Fixed Income bonds coupon arbitrary value
maturity_year arbitrary year
144a 0 = false

1= true

reg_s 0 = false

1= true

real_time 0 = false

1= true

terms 0 = false

1= true

Foreign

Exchange

forex
Futures

(continuous)

futures
Indices Indices is_primary 0 = false

1= true

Indices

Realtime

indices_realtime
Industries industries
Markit Loans markit_loans
Mutual Funds mutual_funds mf_type MUT Mutual Funds
MUT_OPEN Open-end funds
MUT_CLOSED Closed-end funds
Mutual Funds

Realtime

mutual_funds_realtime
Ownership Holders ownership_holders
People people
Private Companies private_companies
Private Equity/Venture Capital Firms pevc_firms is_child 0 = false

1= true

is_shell 0 = false

1= true

Private Equity/Venture Capital Funds pevc_funds is_child 0 = false

1= true

is_shell 0 = false

1= true

Region regions
Yields yields

Settings

Allow users to adjust the behavior of the request and response.

Name Value Description
result_limit Arbitrary value Number of results to be returned by search. Max number of results = 25*; default is 10 if field

is not used.

Sample query

This example requests that only the top 25 results be returned.FACTSET-ID-Lookup-API-Software-FIG 21

Samples

Simple query

This simple query is requesting the top 10 matches in FactSet’s People database with the name Gates:FACTSET-ID-Lookup-API-Software-FIG (3)

These are the top 10 results with Gates in the name. The value in the symbol is associated with the name of the related entity. This could be a ticker symbol for equities or FactSet unique identifier for other asset class like private company. Symbol is the only value that should be passed back to any FactSet services to retrieve data.

Example: if you want to retrieve the People Snapshot for Bill Gates, you should pass 00118X-E (and not Bill Gates, III) in the parameter for the FactSet service you are using.

Results

By default, the API returns 10 results per asset class that closely matches the query. For example, if the query requests for two “entities”, then the API would return 20 results. Below is the response for the sample query in section 2.3.1:FACTSET-ID-Lookup-API-Software-FIG (4)FACTSET-ID-Lookup-API-Software-FIG (5)FACTSET-ID-Lookup-API-Software-FIG (6)

Sample query using a filter

In this example, the query is looking for bonds that have “US” in its name. We are also setting a filter to return bonds that have a 2021 maturity date.FACTSET-ID-Lookup-API-Software-FIG (7)

This is the response from the query:FACTSET-ID-Lookup-API-Software-FIG (8)FACTSET-ID-Lookup-API-Software-FIG (9)

Sample query using OR logic

The OR logic is set by setting multiple values within the same block, separated by a comma. In this example, the query is searching for equities OR private companies that has the word air in its name. We are not setting any filters for this query.FACTSET-ID-Lookup-API-Software-FIG (10)

This is the response for the query above:FACTSET-ID-Lookup-API-Software-FIG (11)FACTSET-ID-Lookup-API-Software-FIG (12)FACTSET-ID-Lookup-API-Software-FIG (13)FACTSET-ID-Lookup-API-Software-FIG (14)FACTSET-ID-Lookup-API-Software-FIG (15)FACTSET-ID-Lookup-API-Software-FIG (16)FACTSET-ID-Lookup-API-Software-FIG (17)

Sample query using AND logic

In this example, the query is searching for fixed income that has the word life in its name. We are also setting an AND filter to only return those bonds that are offered as Reg S and have a 2020 maturity date.FACTSET-ID-Lookup-API-Software-FIG (18)FACTSET-ID-Lookup-API-Software-FIG (19)

This is the response for the query:FACTSET-ID-Lookup-API-Software-FIG (20)FACTSET-ID-Lookup-API-Software-FIG 22

Sample query using both OR & AND logic

In this example, the query is searching for equities that has the word group in its name. We are only interested in Global Depositary Receipts (GDR) that are in Great Britain or Germany.FACTSET-ID-Lookup-API-Software-FIG (21)FACTSET-ID-Lookup-API-Software-FIG (22)

This is the response for the query:FACTSET-ID-Lookup-API-Software-FIG (23)FACTSET-ID-Lookup-API-Software-FIG (24)

Appendix

A1. Acceptable value for Region field

Below is the list of acceptable country codes for the Region field

Country Code Country Name
AF Afghanistan
AL Albania
DZ Algeria
AD Andorra
AO Angola
AI Anguilla
AG Antigua and Barbuda
AR Argentina
AM Armenia
AW Aruba
AU Australia
AT Austria
AZ Azerbaijan
BS Bahamas
BH Bahrain
BD Bangladesh
BB Barbados
BY Belarus
BE Belgium
BZ Belize
BM Bermuda
BT Bhutan
BO Bolivia
BA Bosnia and Herzegovina
BW Botswana
BR Brazil
BG Bulgaria
KH Cambodia
CM Cameroon
CA Canada
CV Cape Verde
KY Cayman Islands
TD Chad
CL Chile
CN China
CO Colombia
CK Cook Islands
CR Costa Rica
HR Croatia
CW Curacao
CY Cyprus
CZ Czech Republic
DK Denmark
DO Dominican Republic
EC Ecuador
EG Egypt
SV El Salvador
EE Estonia
FO Faroe Islands
FJ Fiji
FI Finland
FR France
GE Georgia
DE Germany
GH Ghana
GI Gilbraltar
GR Greece
GT Guatemala
GG Guernsey
GY Guyana
HN Honduras
HK Hong Kong
HU Hungary
IS Iceland
IN India
ID Indonesia
IR Iran
IQ Iraq
IE Ireland
IM Isle of Man
IL Israel
IT Italy
CI Ivory Coast
JM Jamaica
JP Japan
JE Jersey
JO Jordan
KZ Kazahkstan
KE Kenya
KR Korea, South
KW Kuwait
KG Kyrgyzstan
LA Laos
LV Latvia
LB Lebanon
LR Liberia
LY Libya
LI Liechtenstein
LT Lithuania
LU Luxembourg
MO Macao
MK Macedonia
MG Madagascar
MW Malawi
MY Malaysia
MV Maldives
MT Malta
MH Marshall Islands
MU Mauritius
MX Mexico
MD Moldova
MC Monaco
MN Mongolia
ME Montenegro
MA Morocco
MZ Mozambique
MM Myanmar
NA Namibia
NP Nepal
NC New Caledonia
NZ New Zealand
NI Nicaragua
NG Nigeria
NO Norway
OM Oman
PK Pakistan
PS Palestine
PA Panama
PG Papua New Guinea
PY Paraguay
PE Peru
PH Philippine
PL Poland
PT Portugal
PR Puerto Rico
QA Qatar
RO Romania
RU Russia
RW Rwanda
KN Saint Kitts and Nevis
LC Saint Lucia
VC Saint Vincent and the Grenadines
SA Saudi Arabia
RS Serbia
SC Seychelles
SG Singapore
SK Slovakia
SI Slovenia
ZA South Africa
ES Spain
LK Sri Lanka
SD Sudan
SZ Swaziland
SE Sweden
CH Switzerland
SY Syria
TW Taiwan
TJ Tajikistan
TZ Tanzania
TH Thailand
NL The Netherlands
TT Trinidad and Tobago
TN Tunsia
TR Turkey
TC Turks and Caicos Islands
UG Uganda
UA Ukraine
AE United Arab Emirates
EU United Kingdom
GB United Kingdom
UM United States Minor Outlying Islands (the)
US United States of America
UY Uruguay
UZ Uzbekistan
VU Vanuatu
VE Venezuela
VN Vietnam
VG Virgin Islands (British)
VI Virgin Islands (U.S.)
YE Yemen
ZM Zambia
ZW Zimbabwe

A2. Response Codes

These are the response codes that the ID Lookup API returns:

 

 

429

 

 

Reached API limit as per section 1.4

500  

 

Possible incorrect query format (e.g. missing comma, bracket pairs, etc.)

Documents / Resources

FACTSET ID Lookup API Software [pdf] User Guide
ID Lookup API Software, Lookup API Software, API Software, Software

References

Leave a comment

Your email address will not be published. Required fields are marked *