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

Screener API

1. Overview

Filter stocks, ETFs, bonds, and crypto by exchange or country. Select response fields and sort results.

Supported Asset Types

stock

Equities

etf

Exchange-Traded Funds

bond

Fixed Income

crypto

Cryptocurrencies

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

2. Available Options

Discover fields, exchanges, and countries for each asset type:

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

Send fields, filters, and sorting options in the request body.

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 sortBy field must be one of the requested fields or "name"

4. Response Format

Results include pagination metadata and instrument rows.

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

Omit unknown fields from the response with ignore_invalid: true:

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

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