Search Lite

Returns a unified, cross-asset search result for stocks, ETFs, and mutual funds with a focused field set covering core identification, current pricing, and key performance metrics.

Designed for search scenarios where a full field set is not required, this endpoint allows searching across stocks, ETFs, and mutual funds and returns core identification, pricing, and performance data only. 

The response field set is fixed, but it is possible to control which fields are included in the response through the select_identifiers parameter.  This reduces response size and is useful when only a subset of data is needed. 

For a comprehensive field set that includes fundamentals, valuation, dividends, technical indicators, and more, use /v1/search endpoint. 

When to Use This Endpoint

  • Search across stocks, ETFs, and mutual funds and retrieve core identification, pricing, and performance data in a single request.
  • Build asset search interfaces and autocomplete flows with essential identification and price fields.
  • Retrieve only the fields required for a specific use case by specifying them through the select_identifiers parameter.

Request Parameters

POST
v1/search-lite
search_text stringoptional

Free-text query (e.g., “NVDA”, “NVIDIA”, partial ticker, partial name).

select_identifiers arrayoptional

A list of field names to include in the response.

  • When provided, each item in the response contains only the specified fields.
  • When not provided or set to null, the full field set is returned.

symbol and logo are always returned regardless of the value passed.

For the list of available field names, see the Response section below.

quote_types arrayoptional

Controls which asset types are included in the search.

Available types:

  • stock
  • etf
  • mutualfund

All three parameters are of type string and are optional. If none are provided, all supported asset types are returned.

Example:

"quote_types": ["stock"]
symbols arrayoptional

A list of ticker symbols to retrieve.

When provided, the response returns only the specified tickers.

Important notes:

  • If a symbol does not exist, it is excluded from the results.
  • Returns an empty result set if none of the specified symbols are found.

Example:

"symbols": ["NVDA", "GOOGL", "AAPL"]
offset integeroptional

Pagination offset (0-based).

limit integeroptional

Maximum number of matched items returned (user-defined).

filters arrayoptional

Optional filter expressions.

Each filter condition is defined as: [field, operator, value]. Conditions can be combined using logical operators and/or.

Supported operators:

Numeric fields:

  • > - greater than
  • >= - greater than or equal
  • < - less than
  • <= - less than or equal
  • = - equals
  • <> - not equal

String fields:

  • like – pattern match (requires % as a wildcard)
  • not_like - pattern does not match (requires % as a wildcard)
  • contains - value exists in string
  • not_contains - value does not exist in string
  • startswith - string starts with value
  • endswith - string ends with value

% usage examples:

  • %abc% - matches any string containing "abc"
  • abc% - matches any string starting with "abc"
  • %abc - matches any string ending with "abc"

Example:

"filters": [
    "short_name", "contains", "Market"
]
sort_by arrayoptional

Optional sorting configuration for result items. Each sorting setup is defined as [selector, desc]:

  • selector - Metric used for sorting (e.g., amount_usd).
  • desc - Sorting direction (true for descending, false for ascending).

Sortings can be combined using ,.

Example:

"sort_by": [
    {
        "selector": "amount_usd",
        "desc": true
    }
]
has_public_financial_reports booleanoptional

Indicates whether the company provides public financial statements.

  • true - the company has public financial reports available
  • false - the company does not have public financial reports
show_tickers_without_company_name booleanoptional

Include tickers with missing names.

  • true - include tickers even if the company/fund name is missing
  • false - exclude tickers without a company/fund name

This parameter determines the filtering logic in the dashboard for tickers with or without company/fund names.

hide_tickers_with_company_name booleanoptional

Exclude tickers with available names.

  • true - exclude tickers with a company/fund name
  • false - include tickers with a company/fund name

This parameter determines the filtering logic in the dashboard for tickers with or without company/fund names.

tag stringoptional

User-defined identifier for the task (max 255 characters).

It is returned in the response data object, allowing you to match results with the corresponding request. It does not affect API processing or filtering logic.

Example Request
curl --location "https://api.finimpulse.com/v1/search-lite" \
  --header "Content-Type: application/json" \
  --header "Authorization: Bearer <API_TOKEN>" \
  -d '{
      "search_text": "stock",
      "select_identifiers": [
          "display_name",
          "short_name",
          "long_name",
          "quote_type"
      ],
      "offset": 0,
      "limit": 10,
      "tag": "just tag"
  }'
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;

var client = new HttpClient();
var url = "https://api.finimpulse.com/v1/search-lite";

client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "<API_TOKEN>");
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

var json = @"{
    ""search_text"": ""stock"",
    ""select_identifiers"": [
        ""display_name"",
        ""short_name"",
        ""long_name"",
        ""quote_type""
    ],
    ""offset"": 0,
    ""limit"": 10,
    ""tag"": ""just tag""
}";
var content = new StringContent(json, Encoding.UTF8, "application/json");

var response = await client.PostAsync(url, content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
<?php
$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.finimpulse.com/v1/search-lite",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => [
    "Content-Type: application/json",
    "Authorization: Bearer <API_TOKEN>"
  ],
  CURLOPT_POSTFIELDS => json_encode(
[
      "search_text" => "stock",
      "select_identifiers" => [
        "display_name",
        "short_name",
        "long_name",
        "quote_type"
      ],
      "offset" => 0,
      "limit" => 10,
      "tag" => "just tag"
    ]
  )
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
import urllib.request
import json

url = "https://api.finimpulse.com/v1/search-lite"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer <API_TOKEN>"
}
data = {
    "search_text": "stock",
    "select_identifiers": [
        "display_name",
        "short_name",
        "long_name",
        "quote_type"
    ],
    "offset": 0,
    "limit": 10,
    "tag": "just tag"
}

req = urllib.request.Request(url,
    data=json.dumps(data).encode("utf-8"),
    headers=headers,
    method="POST")

with urllib.request.urlopen(req) as response:
    result = json.loads(response.read().decode("utf-8"))
    print(result)
const https = require('https');

const data = JSON.stringify({
    "search_text": "stock",
    "select_identifiers": [
        "display_name",
        "short_name",
        "long_name",
        "quote_type"
    ],
    "offset": 0,
    "limit": 10,
    "tag": "just tag"
});

const options = {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <API_TOKEN>',
    'Content-Length': Buffer.byteLength(data)
  }
};

const req = https.request('https://api.finimpulse.com/v1/search-lite', options, (res) => {
  let body = '';
  res.on('data', chunk => body += chunk);
  res.on('end', () => console.log(JSON.stringify(JSON.parse(body), null, 2)));
});

req.on('error', (e) => console.error(e));
req.write(data);
req.end();

Response 

The response contains pagination metadata and a list of matched assets.

Note that the returned fields depend on whether select_identifiers is provided and which fields are specified. All available fields are listed below.

Pagination Fields

total_count integer

Total number of matching assets.

search_after_token string

Token for pagination. Pass it in the next request to fetch the next page.

Format:

"search_after_token": "token_here"
items_count integer

Number of items returned.

items array

An array, where each item represents a single exchange-listed instrument.

The same underlying company or fund can appear multiple times if it trades on numerous exchanges or currencies.

Identification Fields

symbol string

Asset identifier (ticker symbol).

logo string

URL of the company or fund logo image.

display_name string

Asset display name.

short_name string

Short descriptive name.

long_name string

Full legal or formal name.

quote_type string

Asset class identifier (stock, etf, mutualfund).

Asset Fundamentals

sector string

Sector classification (stocks and some ETFs).

industry string

Industry classification.

Trading & Exchange Info

currency string

Trading currency.

exchange string

Exchange code.

Price Data

current_price number

Most recent traded price. May reflect a delay of up to one hour.

current_price_usd number

Most recent traded price, normalized to USD. May reflect a delay of up to one hour.

regular_market_price number

Active price during the regular trading session and at market close.

For US-listed assets, returns the closing price during pre-market and post-market hours.

regular_market_price_usd number

Active price during the regular trading session and at market close, normalized to USD.

For US-listed assets, returns the closing price during pre-market and post-market hours.

regular_market_price_change number

Absolute price change for the regular market session in local currency.

regular_market_price_change_usd number

Absolute price change for the regular market session, normalized to USD.

regular_market_price_change_percent number

Percentage price change for the regular market session.

pre_market_price_usd number

Active price during the pre-market session, normalized to USD.

Outside pre-market hours, returns the last traded pre-market price. Returns null if no pre-market data is available.

post_market_price_usd number

Active price during the post-market session, normalized to USD.

Outside post-market hours, returns the last traded post-market price. Returns null if no post-market data is available.

fifty_two_week_low number

Lowest price in the last 52 weeks.

fifty_two_week_high number

Highest price in the last 52 weeks.

Other Market Data

regular_market_volume integer

Trading volume for the regular market session.

amount number

Market cap in local currency.

amount_usd number

USD-normalized market cap.

dividend_yield number

Forward dividend yield.

one_year_return number

Total return over the past year.

Example Response
{
    "task_id": "06181746-0022-0056-0000-1baa11c0ea68",
    "status_code": 20000,
    "status_message": "OK",
    "live": true,
    "cost": 0.00055,
    "data": {
        "limit": 10,
        "offset": 0,
        "tag": "just tag",
        "search_text": "stock",
        "select_identifiers": [
            "display_name",
            "short_name",
            "long_name"
        ]
    },
    "result": {
        "total_count": 2841,
        "search_after_token": "eyJSZXF1ZXN0RGF0YSI6eyJzZWFyY2hfdGV4dCI6InN0b2NrIiwiaXNfYXV0b2NvbXBsZXRlIjpmYWxzZSwicXVvdGVfdHlwZXMiOm51bGwsImhhc19wdWJsaWNfZmluYW5jaWFsX3JlcG9ydHMiOm51bGwsInN5bWJvbHMiOm51bGwsInNlbGVjdF9pZGVudGlmaWVycyI6WyJkaXNwbGF5X25hbWUiLCJzaG9ydF9uYW1lIiwibG9uZ19uYW1lIiwic3ltYm9sIl0sInF1ZXJ5Ijp7InR5cGUiOiJvciIsImxlZnQiOnsidHlwZSI6Im5vdCIsInN1YnF1ZXJ5Ijp7ImZpZWxkIjoic2hvcnRfbmFtZSIsInR5cGUiOiJlcSIsInZhbHVlIjoiIn19LCJyaWdodCI6eyJ0eXBlIjoib3IiLCJsZWZ0Ijp7InR5cGUiOiJub3QiLCJzdWJxdWVyeSI6eyJmaWVsZCI6ImxvbmdfbmFtZSIsInR5cGUiOiJlcSIsInZhbHVlIjoiIn19LCJyaWdodCI6eyJ0eXBlIjoibm90Iiwic3VicXVlcnkiOnsiZmllbGQiOiJkaXNwbGF5X25hbWUiLCJ0eXBlIjoiZXEiLCJ2YWx1ZSI6IiJ9fX19LCJvcmRlcl9ieSI6bnVsbCwibGltaXQiOjEwLCJvZmZzZXQiOm51bGwsInVpZCI6bnVsbH0sIlNlYXJjaEFmdGVyRGF0YSI6eyJWZXJzaW9uIjoxLCJTZWFyY2hBZnRlclZhbHVlcyI6eyJyYW5rIjpudWxsLCJzeW1ib2wiOiIxNDg5LlQifSwiVG9rZW5SZWFsT2Zmc2V0IjoxMCwiVG90YWxDb3VudCI6Mjg0MX19",
        "items_count": 10,
        "items": [
            {
                "symbol": "VTI",
                "display_name": null,
                "short_name": "Vanguard Total Stock Market ETF",
                "long_name": "Vanguard Total Stock Market Index Fund ETF Shares",
                "logo": "https://cdn.finimpulse.com/e95392c7-2f34-5f72-2e20-1cba9926c2fc"
            },
            {
                "symbol": "VT",
                "display_name": null,
                "short_name": "Vanguard Total World Stock Inde",
                "long_name": "Vanguard Total World Stock Index Fund ETF Shares",
                "logo": "https://cdn.finimpulse.com/63c4f67a-6955-b58a-9dfc-b0c3179d3819"
            },
            {
                "symbol": "VTSAX",
                "display_name": null,
                "short_name": "Vanguard Total Stock Market Ind",
                "long_name": "Vanguard Total Stock Mkt Idx Adm",
                "logo": "https://cdn.finimpulse.com/fad61b29-bdaf-baa1-c96c-16834d8b23b1"
            },
            {
                "symbol": "LODE",
                "display_name": "Comstock",
                "short_name": "Comstock Inc.",
                "long_name": "Comstock Inc.",
                "logo": "https://cdn.finimpulse.com/4137908e-662b-2d45-9ea4-1852114a983a"
            },
            {
                "symbol": "VXUS",
                "display_name": null,
                "short_name": "Vanguard Total International St",
                "long_name": "Vanguard Total International Stock Index Fund ETF Shares",
                "logo": "https://cdn.finimpulse.com/6ec07104-c1d1-7d0e-65ae-9a60cff87d3c"
            },
            {
                "symbol": "VWO",
                "display_name": null,
                "short_name": "Vanguard FTSE Emerging Markets ",
                "long_name": "Vanguard Emerging Markets Stock Index Fund",
                "logo": "https://cdn.finimpulse.com/76016de6-0ba8-95b2-c3e0-a642dc1789c1"
            },
            {
                "symbol": "DHG.VN",
                "display_name": null,
                "short_name": "DHG PHARMACEUTICAL JSC",
                "long_name": "DHG Pharmaceutical Joint Stock Company",
                "logo": "https://cdn.finimpulse.com/98b15935-4748-c5ef-a21c-d0f6f8cacf3c"
            },
            {
                "symbol": "CDLX",
                "display_name": "Cardlytics",
                "short_name": "Cardlytics, Inc. Common Stock",
                "long_name": "Cardlytics, Inc.",
                "logo": "https://cdn.finimpulse.com/6c37628f-394c-32fc-9771-e7eaf3934ebc"
            },
            {
                "symbol": "DODGX",
                "display_name": null,
                "short_name": "Dodge & Cox Stock Fund",
                "long_name": "Dodge & Cox Stock Fund",
                "logo": "https://cdn.finimpulse.com/be045793-cac8-8a98-bf7d-39575c9949a4"
            },
            {
                "symbol": "1489.T",
                "display_name": null,
                "short_name": "NOMURA ASSET MANAGEMENT CO LTD ",
                "long_name": "NEXT FUNDS Nikkei 225 High Dividend Yield Stock 50 Index Exchange Traded Fd",
                "logo": "https://cdn.finimpulse.com/6fe73016-982d-7bd2-071b-7b83ede439bb"
            }
        ]
    }
}

Notes 

  • Some fields may be null depending on asset type and data coverage. It does not indicate an error; it reflects asset-specific applicability.
  • All metric names, field definitions, and calculation details are defined in the Glossary.