---
title: "Run An IServer Market Scanner"
method: POST
path: "/iserver/scanner/run"
tags: ["tradingScanner"]
---

# Run An IServer Market Scanner

`POST /iserver/scanner/run`

Searches for contracts according to the filters specified in /iserver/scanner/params endpoint.

## Request body

- IserverScannerRunRequest
  - `instrument` string — Instrument type as the target of the market scanner request. Found in the "instrument_list" section of the /iserver/scanner/params response.
  - `type` string — Scanner value the market scanner is sorted by. Based on the "scan_type_list" section of the /iserver/scanner/params response.
  - `location` string — Location value the market scanner is searching through. Based on the "location_tree" section of the /iserver/scanner/params response.
  - `filter` IserverScannerRunRequestFilterItems[] — Contains any additional filters that should apply to response.
    - `code` string — Code value of the filter. Based on the "code" value within the "filter_list" section of the /iserver/scanner/params response.
    - `value` union — Value corresponding to the input for "code".
      - string
      - integer
      - boolean
      - number, double

## Response `200`

An array of objects detailing contract information.

- IserverScannerRunResponse
  - `contracts` IserverScannerRunResponseContractsItems[] — Contains contracts related to the market scanner request.
    - `server_id` string — Contract's index in relation to the market scanner type's sorting priority.
    - `column_name` string — Always returned for the first contract.
    - `symbol` string — Returns the contract's ticker symbol.
    - `conidex` string — Returns the contract ID of the contract.
    - `con_id` integer — Returns the contract ID of the contract.
    - `available_chart_periods` string — Internal Use Only
    - `company_name` string — Returns the company long name.
    - `contract_description_1` string — For derivatives like Futures, the local symbol of the contract will be returned.
    - `listing_exchange` string — Returns the primary listing exchange of the contract.
    - `sec_type` string — Returns the security type of the contract.
  - `scan_data_column_name` string — Internal Use Only

## Other responses

- `400` — Missing, empty, non-numeric, or out-of-range parameter. The `error` field is always prefixed with `Bad Request:`.
- `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)
