---
title: "Search Algos For An Instrument"
method: GET
path: "/iserver/contract/{conid}/algos"
tags: ["tradingContracts"]
---

# Search Algos For An Instrument

`GET /iserver/contract/{conid}/algos`

Returns supported IB Algos for an instrument. A pre-flight request must be submitted before retrieving information.

## Path parameters

- `conid` string, required

## Query parameters

- `algos` 'Adaptive' | 'Vwap' — List of algo ids delimited by ";" to filter by. Max of 8 algos ids can be specified. Case sensitive to algo id.
- `addDescription` '0' | '1' — Whether or not to add algo descriptions to response. Set to 1 for yes, 0 for no.
- `addParams` '0' | '1' — Whether or not to show algo parameters. Set to 1 for yes, 0 for no.

## Response `200`

Returns a list of available algos and a description of their behavior.

- AlgosResponse — available algos
  - `algos` AlgosResponseAlgosItems[] — Contains all relevant algos for the contract.
    - `name` string, required — Common name of the algo
    - `id` string, required — Algo identifier used for requests.
    - `parameters` AlgoParam[]
      - `guiRank` integer — Positional ranking for the algo. Used for Client Portal.
      - `defaultValue` union — Default parameter value. Type defined in valueClassName field
        - string
        - integer
        - boolean
        - number, double
      - `minValue` integer
      - `maxValue` integer
      - `name` string — Parameter name.
      - `id` string — Parameter identifier for the algo.
      - `description` string
      - `legalStrings` string[] — Allowed values for the parameter.
      - `required` boolean — States whether the parameter is required for the given algo order to place.
      - `valueClassName` 'String' | 'Boolean' | 'Time' | 'Double' | 'Integer' — Returns the variable type of the parameter.

## Other responses

- `401` — Missing, invalid, or unparseable Authorization token.
- `500` — internal server error, returned when incoming request cannot be processed. It can sometimes include subset of bad requests. For example, wrong accountId passed and it can only be detected later in handling request. Error contains reason of the problem.
- `503` — service is unavailable. For example if request takes more than 10s due to some internal service unavailability, request aborted and this status returned

---

[API](https://skmtc.net/interactivebrokers/apis/api-reference.md) · [All operations](https://skmtc.net/interactivebrokers/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/interactivebrokers/api-reference/revisions/67f9f562c2c6/schema)
