Search

Arbitrary multi-field filtering across all assets

GET https://api.tickerdb.com/v1/search

Search across all assets using arbitrary filter combinations. Build complex queries like "all oversold tech stocks with high volume" or "crypto in strong uptrend with a squeeze active." Filters are passed as a JSON array.

Tier Access
Free Up to 2 filters, 25 results, 30-day history.
Plus Up to 5 filters, 100 results, 2-year history.
Pro Up to 10 filters, 500 results, 5-year history.

Parameters

ParameterTypeRequiredDescription
filtersJSON arrayYesArray of filter objects. Each filter has field, op, and value.
datestringNoQuery a historical date (YYYY-MM-DD). Defaults to latest. Tier-gated depth.
timeframestringNodaily (default) or weekly
sort_bystringNoField name to sort results by
sort_directionstringNoasc or desc (default: desc)
limitintegerNoMax results to return. Tier-gated maximum.
fieldsJSON array or stringNoColumns to return. JSON array (e.g. ["ticker","sector","momentum_rsi_zone"]) or comma-separated (e.g. ticker,sector,momentum_rsi_zone). Use ["*"] for all fields. Omit for a default core subset. ticker is always included. Invalid fields return an error pointing to /v1/schema/fields.

Filter Object

Each filter in the filters array has three fields:

FieldTypeDescription
fieldstringThe field to filter on (e.g. rsi_zone, sector, asset_class). Use /v1/schema/fields to discover all queryable fields.
opstringComparison operator
valueanyValue to compare against. Type depends on the field.

Operators

OperatorDescriptionExample
eqEqual to{"field": "rsi_zone", "op": "eq", "value": "oversold"}
neqNot equal to{"field": "asset_class", "op": "neq", "value": "crypto"}
inIn list{"field": "rsi_zone", "op": "in", "value": ["oversold", "deep_oversold"]}
gtGreater than{"field": "volume.percentile", "op": "gt", "value": 90}
gteGreater than or equal{"field": "trend.duration_days", "op": "gte", "value": 10}
ltLess than{"field": "extremes.condition_percentile", "op": "lt", "value": 10}
lteLess than or equal{"field": "volatility.squeeze_days", "op": "lte", "value": 5}

Examples

Find oversold stocks

curl
curl -G "https://api.tickerdb.com/v1/search" \ --data-urlencode 'filters=[{"field":"rsi_zone","op":"eq","value":"oversold"}]' \ -H "Authorization: Bearer YOUR_API_KEY"

Oversold tech stocks with high volume

curl
curl -G "https://api.tickerdb.com/v1/search" \ --data-urlencode 'filters=[{"field":"rsi_zone","op":"in","value":["oversold","deep_oversold"]},{"field":"sector","op":"eq","value":"Technology"},{"field":"volume.ratio_band","op":"in","value":["high","extremely_high"]}]' \ -H "Authorization: Bearer YOUR_API_KEY"

Crypto in strong uptrend with squeeze

curl
curl -G "https://api.tickerdb.com/v1/search" \ --data-urlencode 'filters=[{"field":"asset_class","op":"eq","value":"crypto"},{"field":"trend.direction","op":"eq","value":"strong_uptrend"},{"field":"volatility.squeeze_active","op":"eq","value":true}]' \ -H "Authorization: Bearer YOUR_API_KEY"

Return only specific fields (reduces token usage)

curl
curl -G "https://api.tickerdb.com/v1/search" \ --data-urlencode 'filters=[{"field":"rsi_zone","op":"eq","value":"oversold"}]' \ --data-urlencode 'fields=["ticker","sector","momentum_rsi_zone"]' \ -H "Authorization: Bearer YOUR_API_KEY"

Sort by valuation percentile (cheapest first)

curl
curl -G "https://api.tickerdb.com/v1/search" \ --data-urlencode 'filters=[{"field":"fundamentals_valuation_zone","op":"in","value":["deep_value","undervalued"]}]' \ --data-urlencode 'sort_by=fundamentals_valuation_percentile' \ --data-urlencode 'sort_direction=asc' \ -H "Authorization: Bearer YOUR_API_KEY"

Response

FieldTypeDescription
resultsarrayArray of matching assets with their current field values
totalintegerTotal number of matching assets
returnedintegerNumber of results returned (capped by limit)
timeframestringThe timeframe queried
datestringThe date of the data
fieldsarrayThe field names included in each result (present when fields param is used)

Example Response

JSON
{ "results": [ { "ticker": "AAPL", "asset_class": "stock", "sector": "Technology", "rsi_zone": "oversold", "trend_direction": "downtrend", "volatility_regime": "high", "valuation_zone": "undervalued" }, { "ticker": "MSFT", "asset_class": "stock", "sector": "Technology", "rsi_zone": "oversold", "trend_direction": "downtrend", "volatility_regime": "above_normal", "valuation_zone": "fair_value" } ], "total": 47, "returned": 2, "timeframe": "daily", "date": "2026-04-04" }

Credit Cost

Each search request costs 1 credit.