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_.

OpenAPI Specification

id-lookup-openapi-original.yml Raw ↑
openapi: 3.0.0
info:
  title: Factset ID Lookup API
  description: >
    The Factset Identifier Lookup API provides the ability to search for various
    identifier types based on keyword. The API returns tickers, entity names and
    other identifiers that Factset supports. In addition, the API offers filters
    that allows users to refine the results.
  version: 1.0.0
servers:
  - url: https://api.factset.com/idsearch
security:
  - BasicAuth: []
paths:
  /v1/idsearch:
    post:
      tags:
        - Idsearch
      summary: >-
        Search funtionality to return tickers, company names and unique
        identifiers for FactSet data
      description: >
        Service will accept request in JSON formatted request body. The request
        is sent by passing a query which is an array conitaining search query
        objects with parameters. The parameters contain search term and filters
        defined by the end user. This would display a specific set of
        identifiers based on the request.
      operationId: search companyname
      requestBody:
        description: Post body to lookup any FactSet identifiers
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/lookup_request'
            examples:
              ID search Basic Example (equities):
                $ref: '#/components/examples/lookup_basicrequest_equities'
              ID search Basic Example (bonds):
                $ref: '#/components/examples/lookup_basicrequest_bonds'
              ID search Basic Example (private companies):
                $ref: '#/components/examples/lookup_basicrequest_private_companies'
              ID search Example using Filters:
                $ref: '#/components/examples/lookup_filtersrequest'
              Sample query using OR logic:
                $ref: '#/components/examples/lookup_orlogicrequest'
              Sample query using both OR & AND:
                $ref: '#/components/examples/lookup_orandlogicrequest'
        required: true
      responses:
        '200':
          description: A list of securities
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/lookup_response'
              examples:
                ID search Basic Response (equities):
                  $ref: '#/components/examples/lookup_basicresponse_equities'
                ID search Basic Response (bonds):
                  $ref: '#/components/examples/lookup_basicresponse_bonds'
                ID search Basic Response (private companies):
                  $ref: '#/components/examples/lookup_basicresponse_private_companies'
                ID search Response using filters:
                  $ref: '#/components/examples/lookup_filtersresponse'
                Sample response using OR logic:
                  $ref: '#/components/examples/lookup_orlogicresponse'
                Sample response using both OR & AND:
                  $ref: '#/components/examples/lookup_orandlogicresponse'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '500':
          $ref: '#/components/responses/500'
components:
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
  schemas:
    lookup_request:
      title: Lookup Request
      type: object
      properties:
        query:
          $ref: '#/components/schemas/lookup_object'
        settings:
          $ref: '#/components/schemas/lookup_limit'
      description: Lookup Request comprised of a single lookup object
    lookup_object:
      title: Lookup Object
      type: object
      properties:
        pattern:
          title: Search term
          type: string
          description: >
            The string or keyword being searched on. Concurrent searches for
            multiple patterns is NOT supported
          example: US
        entities:
          title: Asset Class
          type: array
          description: Asset class that is being searched against
          example:
            - bonds
          items:
            type: string
        filters:
          $ref: '#/components/schemas/filter_params'
    lookup_limit:
      title: Lookup Limit
      type: object
      properties:
        result_limit:
          type: integer
          example: 25
      description: >
        This parameters takes the value for number of results to be returnedby
        search. Maximum number of results returned are 25 and default value is
        10.
    filter_params:
      title: Filter Parameters
      type: object
      properties:
        include:
          type: array
          description: This parameter filter objects to be included in the results
          items:
            $ref: '#/components/schemas/include_exclude_object'
        exclude:
          type: array
          description: This parameter filter objects to be excluded from the results
          example: []
          items:
            $ref: '#/components/schemas/include_exclude_object'
      description: >
        The filters parameter (if used) must contain one or both of theinlcude
        and exclude filters
    include_exclude_object:
      title: Include Exclude Object
      type: object
      properties:
        field:
          type: string
          description: >
            String containing the field name to filter on. Each asset class has
            its own set of field (i.e. “equity_type”, “is_primary”,
            “region”,etc)
          example: maturity_year
        entity:
          type: string
          description: >
            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 classes
          example: bonds
        values:
          type: array
          description: >
            Values you wish to filter on, as a comma-separated list. The values
            within this list are tied by an OR operation.
          items:
            type: object
            example: '2021'
      description: >
        Filters securities based on asset classes and other fields depending on
        the asset classes.
    lookup_response:
      title: Lookup Response
      type: object
      properties:
        typeahead:
          $ref: '#/components/schemas/lookup_count'
      description: Response object for a lookup request
    lookup_count:
      title: Lookup Count
      type: object
      properties:
        result_count:
          $ref: '#/components/schemas/lookup_assettype'
        error:
          type: string
          example:
        is_success:
          type: integer
          example: 1
        results:
          type: array
          description: Array of Lookup details for the query
          items:
            $ref: '#/components/schemas/response_details'
      description: Returns the count of on entities
    lookup_assettype:
      title: Lookup Asset Type
      type: object
      properties:
        people:
          type: integer
          example: 10
      description: returns the count of assest classes
    response_details:
      title: Response Details
      type: object
      properties:
        index:
          type: string
          description: Type of Asset Class
          example: equities
        symbol:
          type: string
          description: >
            Symbol is the only value that should be passed back to any FactSet
            services to retrieve data
          example: FDS-US
        name:
          type: string
          description: Name of the related entity
          example: Factset Research Systems Inc
        entity_id:
          type: string
          description: >
            Displays Entity ID's for public companies and only if the asset
            class is equities
          example: 00BDWZ-E
    errorResponse:
      type: object
      title: Error Response
      properties:
        description:
          type: string
        RequestKey:
          type: string
  responses:
    '400':
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
          examples:
            Bad Request:
              $ref: '#/components/examples/badRequest'
    '401':
      description: Authentication issue
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
          examples:
            Bad Request - Authentication:
              $ref: '#/components/examples/unauthenticated'
    '403':
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
          examples:
            Bad Request - Authorization:
              $ref: '#/components/examples/forbidden'
    '500':
      description: Internal Server Error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
          examples:
            Internal Server Error - General Exception:
              $ref: '#/components/examples/generalException'
  examples:
    lookup_basicrequest_equities:
      summary: ID search Basic Example for entity type as equities
      description: ID search Basic Example for entity type as equities
      value:
        query:
          pattern: A
          entities:
            - equities
        settings:
          result_limit: 25
    lookup_basicrequest_bonds:
      summary: ID search Basic Example for entity type as  bonds
      description: ID search Basic Example for entity type as bonds
      value:
        query:
          pattern: Bank
          entities:
            - bonds
        settings:
          result_limit: 25
    lookup_basicrequest_private_companies:
      summary: ID search Basic Example for entity type as private_companies
      description: ID search Basic Example for entity type as private_companies
      value:
        query:
          pattern: group
          entities:
            - private_companies
        settings:
          result_limit: 25
    lookup_filtersrequest:
      summary: ID search Example using Filters
      description: ID search Example using Filters
      value:
        query:
          pattern: us
          entities:
            - bonds
          filters:
            include:
              - field: maturity_year
                entity: bonds
                values:
                  - 2021
            exclude: []
        settings:
          result_limit: 25
    lookup_orlogicrequest:
      summary: Sample query using OR logic
      description: Sample query using OR logic
      value:
        query:
          pattern: air
          entities:
            - equities
            - private_companies
    lookup_orandlogicrequest:
      summary: Sample query using both OR & AND logic
      description: Sample query using both OR & And logic
      value:
        query:
          pattern: group
          entities:
            - equities
          filters:
            include:
              - field: equity_type
                entity: equities
                values:
                  - EQ_DR_GDR
              - field: region
                values:
                  - GB
                  - DE
            exclude: []
    lookup_basicresponse_equities:
      summary: ID search Basic Response for entity type as equities
      description: ID search Basic Response for entity type as equities
      value:
        typeahead:
          result_count:
            equities: 25
          error: 'null'
          is_success: 1
          results:
            - index: equities
              symbol: A-US
              name: Agilent Technologies,Inc.
              entity_id: 002LV5-E
            - index: equities
              symbol: AAPL-US
              name: Apple Inc.
              entity_id: 000C7F-E
    lookup_basicresponse_bonds:
      summary: ID search Basic Response for entity type as bonds
      description: ID search Basic Response for entity type as bonds
      value:
        typeahead:
          result_count:
            bonds: 25
          error: 'null'
          is_success: 1
          results:
            - index: bonds
              symbol: XS2027359756
              name: Vietnam Prosperity Joint-Stock Commercial Bank 6.25% 17-JUL-2022
              ticker: XS2027359756
            - index: bonds
              symbol: XS2058731717
              name: Shinhan Bank Co., Ltd. 0.25% 16-OCT-2024
              ticker: XS2058731717
    lookup_basicresponse_private_companies:
      summary: ID search Basic Response for entity type as private_companies
      description: ID search Basic Response for entity type as private_companies
      value:
        typeahead:
          result_count:
            private_companies: 25
          error: 'null'
          is_success: 1
          results:
            - index: private_companies
              symbol: 0DRWHW-E
              name: BEWiSynbra Group AB
              fds_id: 0DRWHW-E
            - index: private_companies
              symbol: 0DD45D-E
              name: Shawbrook Group Plc
              fds_id: 0DD45D-E
    lookup_filtersresponse:
      summary: ID search response using Filters
      description: ID search response using Filters
      value:
        typeahead:
          result_count:
            bonds: 10
          error: 'null'
          is_succes: 1
          results:
            - index: bonds
              symbol: FDS-US
              name: Factset Research Systems Inc
              entity_id: 00BDWZ-E
    lookup_orlogicresponse:
      summary: sample response using OR logic
      description: sample response using OR logic
      value:
        typeahead:
          result_count:
            private_companies: 10
            equities: 10
          error: 'null'
          is_success: 1
          results:
            - index: equities
              symbol: AIR-US
              name: AAR CORP
              entity_id: 000BFS-E
            - index: private_companies
              name: Air Products GmbH
              entity_id: 05MR9R-E
    lookup_orandlogicresponse:
      summary: sample response using both OR & AND logic
      description: sample response using both OR & AND logic
      value:
        typeahead:
          result_count:
            equities: 10
          error: 'null'
          is_succes: 1
          results:
            - index: equities
              symbol: CPIC-GB
              name: >-
                China pacific Insurance (Group) co.,Ltd.Sponsored GDR Class A
                RegS
              entity_id: 06BF43-E
            - index: equities
              symbol: PJP-DE
              name: XS Retail Group N.V. Sponsored GDR RegS
              entity_id: 06L75Z-E
    badRequest:
      summary: Bad Request
      value:
        description: Bad Request. Please check your query again.
    unauthenticated:
      summary: User Authentication Failed
      value:
        description: User Authentication Failed
    forbidden:
      summary: Forbidden
      value:
        description: The user does not have permission to search. Please try again.
    generalException:
      summary: Internal Server Error
      value:
        description: >-
          The service you have requested has encountered an error. If the
          problem persists, please contact the FactSet support representative
          with the following request key
        Requestkey: ACBL05BJKLYNBGY-L
tags:
  - name: Idsearch