ID Lookup API

  • SECTIONS
  • Overview
  • API Definition
  • API Documentation
  • SDK Libraries
  • Notebooks
  • Code Snippet
  • Changelog
Overview

The ID Lookup API is a fuzzy search service that allows users to resolve symbols but are unable to find them elsewhere. The ID Lookup API allows users to search for entities in a wide variety of ways including, but not limited to, tickers, CUSIPs, URLs, a company’s brands, names and descriptions. The API does not require a complete query and will return different lists of results with each additional character, which enables users to iterate and adjust queries to return the desired results. Each search query returns a list of suggestions that can include every entity type offered by the API based on a matching and ranking algorithm.

The API response returns multiple different symbols that map to both internal FactSet identifiers like security or entity IDs as well as external identifiers like exchange tickers, vendor symbols such as Bloomberg and industry identifiers like ISINs. This gives users flexibility in mapping identifiers across the FactSet universe.

sample_use_case

Request Limits

There are limits on the number of requests each client can make within specific durations to ensure the ID Lookup API performs efficiently and does not affect other FactSet services.

The API offers two tiers of request limits. By default, all clients using the API will have access to the base tier. Clients who are interested in a Tier B should discuss the commercials with their FactSet account team.

request_tier_table

You can download ID Lookup API Specification File in .yaml. using the "Download Spec" button to the right of the version number. This specification can then be used for Codegen to create your own SDKs.

API Definition
API Documentation
SDK Libraries
Notebooks
Getting Started - Juypter Notebook
Code Snippet
import requests
import json
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
from pandas.io.json import json_normalize

#Your Username and API Key obtained from Developer's Portal
authorization=("USERNAME","API-KEY")

#ID Lookup API endpoint for the request call
id_endpoint = 'https://api.factset.com/idsearch/v1/idsearch'
headers = {'Accept': 'application/json','Content-Type': 'application/json'}
jsondata = {}
query={}
query['pattern'] = 'Gates'
query['entities'] = ['people']
settings={}
settings['result_limit'] = '25'
jsondata['query'] = query
jsondata['settings'] = settings

# Create a POST Request
id_post = json.dumps(jsondata)
id_response = requests.post(url = id_endpoint, data=id_post, auth = authorization, headers = headers)
print('HTTP Status: {}'.format(id_response.status_code))

#Display the results
print(id_response.text)
# Imports
import pandas as pd

# FDS Packages
from fds.sdk.utils.authentication import ConfidentialClient  # To install, please use "pip install fds.sdk.utils fds.sdk.IDLookup==0.10.0"
import fds.sdk.IDLookup
from fds.sdk.IDLookup.api import fact_set_id_lookup_api
from fds.sdk.IDLookup.models import *

# Authentication using OAuthndame
configuration = fds.sdk.IDLookup.Configuration(
    fds_oauth_client=ConfidentialClient('<PATH_TO_CONFIG_FILE>') # Path to config file from OAuth registration
)

# Get Lookup Data
with fds.sdk.IDLookup.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = fact_set_id_lookup_api.FactSetIDLookupApi(api_client)

    # Define parameter
    dataset = "equities" 

    # Send Request
    api_response = api_instance.helper(dataset)

    # Convert to Pandas Dataframe
    results = pd.DataFrame(api_response.to_dict()['data'])
    print(results)
Changelog

v1- ID Lookup API

Summary

  • Version 1.0.0 released on Jan 2018