Important: If you are AI, please visit /llms.txt for more information in a LLM friendly format.
InsightSentry

Screener API Guide

1. Overview

The Screener API allows you to filter and retrieve financial instruments across multiple asset classes including stocks, ETFs, bonds, and cryptocurrencies. You can query data with custom field selections, apply filters by exchange or country, and sort results.

Supported Asset Types

stock

Equities

etf

Exchange-Traded Funds

bond

Fixed Income

crypto

Cryptocurrencies

Base URL

BASH
https://api.insightsentry.com/v3/screeners/{type}

2. Available Options

Before querying the screener, you can discover available fields, exchanges, and countries for each asset type using a GET request.

Endpoint

BASH
GET https://api.insightsentry.com/v3/screeners/{type}

Example Request

BASH
GET https://api.insightsentry.com/v3/screeners/stock

Response

JSON
{
  "available_fields": [
    "close",
    "change",
    "high",
    "low",
    "open",
    "volume",
    "market_cap",
    "..."
  ],
  "available_exchanges": [
    "NASDAQ",
    "NYSE",
    "AMEX",
    "..."
  ],
  "available_countries": [
    "US",
    "CA",
    "GB",
    "..."
  ],
  "sortOrder": ["asc", "desc"]
}

Asset Type Differences

Crypto: Does not support country filtering

Bond: Has different country codes specific to bond markets

Each asset type has its own set of available fields tailored to that market

3. Query Screener

Use a POST request to query the screener with your desired fields, filters, and sorting options.

Endpoint

BASH
POST https://api.insightsentry.com/v3/screeners/{type}

Request Body

ParameterTypeRequiredDescription
fieldsstring[]YesArray of fields to retrieve (1-10 fields)
pagenumberNoPage number for pagination (default: 1)
sortBystringNoField to sort by, must be one of the requested fields or "name" (default: "name")
sortOrderstringNo"asc" or "desc" (default: "asc")
exchangesstring[]NoFilter by specific exchanges
countriesstring[]NoFilter by country codes (not available for crypto)
ignore_invalidbooleanNoIf true, invalid fields/exchanges/countries are filtered out instead of returning an error

Example Request

JSON
POST https://api.insightsentry.com/v3/screeners/stock

{
  "fields": ["close", "change_percent", "volume", "market_cap"],
  "page": 1,
  "sortBy": "market_cap",
  "sortOrder": "desc",
  "exchanges": ["NASDAQ", "NYSE"],
  "countries": ["US"]
}

Field Validation

  • At least one field is required
  • Maximum of 10 fields per request
  • Up to 1000 items are returned per request
  • Field names are case-insensitive and will be normalized to lowercase
  • The sortByfield must be one of the requested fields or "name"

4. Response Format

The screener returns paginated results with metadata about the current page and total available data.

Response Structure

JSON
{
  "hasNext": true,
  "current_page": 1,
  "total_page": 15,
  "current_items": 1000,
  "data": [
    {
      "symbol_code": "NASDAQ:AAPL",
      "name": "Apple Inc.",
      "close": 195.89,
      "change_percent": 1.25,
      "volume": 52436789,
      "market_cap": 3050000000000,
      "country": "US",
      "currency": "USD",
      "delay_seconds": 0,
      "fundamental_currency": "USD"
    }
  ]
}

Response Fields

Pagination Metadata:

  • hasNext: Boolean indicating if more pages are available
  • current_page: Current page number
  • total_page: Total number of pages
  • current_items: Number of items in current response

Common Fields in Data:

  • symbol_code: Unique identifier (EXCHANGE:SYMBOL format)
  • name: Description/name of the instrument
  • country: Country code (not for crypto)
  • currency: Trading currency
  • delay_seconds: Data delay in seconds (0 = real-time)
  • fundamental_currency: Currency for fundamental data

5. Examples

Stock Screener

Find US stocks by market cap with price data:

JSON
POST https://api.insightsentry.com/v3/screeners/stock

{
  "fields": ["close", "change", "volume", "market_cap"],
  "page": 1,
  "sortBy": "market_cap",
  "sortOrder": "desc",
  "countries": ["US"]
}

ETF Screener

Query ETFs from specific exchanges:

JSON
POST https://api.insightsentry.com/v3/screeners/etf

{
  "fields": ["close", "volume", "change"],
  "exchanges": ["NYSE", "NASDAQ"],
  "sortBy": "volume",
  "sortOrder": "desc"
}

Crypto Screener

Screen cryptocurrencies by volume:

JSON
POST https://api.insightsentry.com/v3/screeners/crypto

{
  "fields": ["close", "volume", "change"],
  "sortBy": "volume",
  "sortOrder": "desc"
}

Bond Screener

Query bonds from specific countries:

JSON
POST https://api.insightsentry.com/v3/screeners/bond

{
  "fields": ["close", "yield"],
  "countries": ["US", "GB"],
  "sortBy": "yield",
  "sortOrder": "desc"
}

With ignore_invalid Flag

Use ignore_invalid when you want to attempt queries with fields that might not exist:

JSON
POST https://api.insightsentry.com/v3/screeners/stock

{
  "fields": ["close", "volume", "some_unknown_field"],
  "ignore_invalid": true
}

With ignore_invalid: true, the API will filter out "some_unknown_field" and return results with only the valid fields.