The Screener API is available under ‘All World Extended’ and ‘All-In-One’ data packages. Each Screener API request consumes 5 API calls. The Screener API is a powerful tool that helps you filter out tickers with the given parameters.
The example of URL for the Screener API:
- filters: String. OPTIONAL. Usage: filters=[[“field1”, “operation1”, value1],[“field2”, “operation2”, value2] , … ]. Filters out tickers by different fields.
- signals: String. OPTIONAL. Usage: signals=signal1,signal2,…,signalN. Filter out tickers by signals, the calculated fields.
- sort: String. OPTIONAL. Usage: sort=field_name.(asc|desc). Sorts all fields with type ‘Number’ in ascending/descending order.
- api_token: String. REQUIRED. Your api_token to access the API. You will get it after registration.
- limit: Number. OPTIONAL. The number of results should be returned with the query. Default value: 50, minimum value: 1, maximum value: 100.
- offset: Number. OPTIONAL. The offset of the data. Default value: 0, minimum value: 0, maximum value: 1000. For example, to get 100 symbols starting from 200 you should use limit=100 and offset=200.
The output for the API request above will be as following:
Filtering data with Fields
You can use fields to filter the data. Fields have two types: Strings and Numbers. For strings should be used String Operations and for Numbers should be used Numeric Operations (see the chapter “List of Operations” in this documentation). For example, you can filter all companies with Market Capitalization above 1 billion, have only positive EPS within the ‘Personal Products’ industry, and with name started with the letter ‘B’.
List of Supported Fields
- code: String. Filters by the ticker code.
- name: String. Filters by the ticker name.
- exchange: String. Filters by the exchange code. The list of all exchange codes is here.
- sector: String. Filters by sector. The list of sectors and industries is here.
- industry: String. Filters by industry. The list of sectors and industries is here.
- market_capitalization: Number. Filters by Market Capitalization, the latest value. Please note, that input for market_capitalization in USD.
- earnings_share: Number. Filters by Earnings-per-share (EPS), the latest value.
- dividend_yield: Number. Filters by Dividend yield, the latest value.
- refund_1d_p: Number. The last day gain/loss in percent. Useful to get top gainers, losers for the past day.
We are always working on new fields and can add new fields by request.
List of Operations
String operations are supported for all fields with type ‘String’. Numeric Operations are supported for all fields with type ‘NUMBER’:
- String Operations: [‘=’, ‘in’, ‘not in’, ‘match’].
- Numeric Operations: [‘=’, ‘>’, ‘<‘, ‘>=’, ‘<=’, ‘!=’].
Filtering Data with Signals
You can use signals to filter tickers by different calculated fields. All signals are pre-calculated on our side. For example, if you need only tickers that have new lows for the past 200 days and the Book Value is negative, you can use the parameter ‘signal’ with the following value, to get all tickers with the criteria:
List of supported Signals
- 50d_new_lo, 50d_new_hi, 200d_new_lo, 200d_new_hi – filters tickers that have new 50/200 days lows or new 50/200 days highs.
- bookvalue_neg, bookvalue_pos – filters tickers with positive Book Value or with Negative Book Value.
- wallstreet_lo, wallstreet_hi – filters tickers that have a price lower or higher than expected by Wall Street analysts.
We are always working on new signals and can add new signals by request.
Please note that each API request for Screener API consumes 5 API calls. We are also open to any feedback and ready to add any new field and signal you are interested in our Screener API. Just send us an email to firstname.lastname@example.org.