TickAtlas
Pro Plan Feature

Scan Every Symbol in One Call

Stop looping through 50 symbols one by one. Our /v1/screener endpoint scans the entire market against your technical conditions and returns only the symbols that match -- sorted and ranked, in a single request.

50+

Symbols Scanned

42

Indicators to Filter

1

API Call

3x

Endpoint Weight

The Problem with Manual Scanning

Without the Screener

python
# Checking 50 symbols: 50 API calls
for symbol in symbols:
    rsi = get_indicator(symbol, "RSI", "H1")
    macd = get_indicator(symbol, "MACD", "H1")
    adx = get_indicator(symbol, "ADX", "H1")
    if rsi < 30 and macd["histogram"] > 0:
        if adx > 25:
            matches.append(symbol)

# 150 API calls. 150 x latency.
# 150 requests from your quota.

With the Screener

python
# Same scan: 1 API call
matches = screener(
    timeframe="H1",
    filters={
        "rsi_14": {"lt": 30},
        "macd_histogram": {"gt": 0},
        "adx": {"gt": 25}
    },
    sort_by="rsi_14",
    sort_order="asc"
)

# 1 API call (counts as 3).
# 1 x latency. Done.

Real Screener Query and Response

Find all oversold symbols with trend confirmation

REQUEST
GET /v1/screener?timeframe=H1&rsi_14_lt=30&adx_gt=25&sort=rsi_14&order=asc&offset=0&limit=50
200 OK
{
  "success": true,
  "data": {
    "timeframe": "H1",
    "filters_applied": {
      "rsi_14": {
        "lt": 30
      },
      "adx": {
        "gt": 25
      }
    },
    "sort": {
      "field": "rsi_14",
      "order": "asc"
    },
    "results": [
      {
        "symbol": "AUDUSD",
        "rsi_14": 22.4,
        "adx": 31.2,
        "macd_histogram": 0.00008,
        "current_price": 0.6421,
        "change_24h": -0.82,
        "bias": "BEARISH"
      },
      {
        "symbol": "NZDUSD",
        "rsi_14": 25.1,
        "adx": 28.7,
        "macd_histogram": -0.00003,
        "current_price": 0.57832,
        "change_24h": -0.64,
        "bias": "BEARISH"
      },
      {
        "symbol": "EURJPY",
        "rsi_14": 28.9,
        "adx": 26.1,
        "macd_histogram": -0.042,
        "current_price": 161.45,
        "change_24h": -0.45,
        "bias": "BEARISH"
      }
    ],
    "total_scanned": 52,
    "total_matched": 3,
    "timestamp": "2026-03-27T14:00:00Z",
    "pagination": {
      "offset": 0,
      "limit": 50,
      "total": 3,
      "has_more": false
    }
  }
}

Available Filters

Filter by any of the 42 indicators plus price metrics

  • Oscillators

    • rsi_14 (gt, lt, eq)
    • stochastic_k (gt, lt)
    • cci_14 (gt, lt)
    • williams_r (gt, lt)
    • mfi_14 (gt, lt)
    • demarker (gt, lt)
  • Trend

    • adx (gt, lt)
    • macd_histogram (gt, lt)
    • sma_cross (golden, death)
    • price_vs_sma200 (above, below)
    • parabolic_sar (buy, sell)
  • Volatility

    • atr_14 (gt, lt)
    • bb_width (gt, lt)
    • bb_position (above, below, inside)
    • stddev_20 (gt, lt)
  • Price / Volume

    • change_24h (gt, lt)
    • spread (gt, lt)
    • volume (gt, lt)
    • obv_trend (up, down)
    • bias (bullish, bearish, neutral)

Use Cases

  • Oversold Pair Finder

    Scan for RSI below 30 with ADX above 25. Find pairs that are oversold but in a trending market -- prime reversal candidates.

    rsi_14_lt=30 & adx_gt=25

  • Momentum Scanner

    Find symbols where MACD histogram is positive and RSI is above 50 but not overbought. Strong momentum without being overextended.

    macd_histogram_gt=0 & rsi_14_gt=50 & rsi_14_lt=70

  • Volatility Breakout

    Screen for Bollinger Band width compression (low volatility) which often precedes explosive moves. Catch breakouts before they happen.

    bb_width_lt=0.005 & adx_lt=20

  • Alert Generation

    Run the screener every 15 minutes. When a symbol first appears in your results (new match), fire a notification. Automated opportunity detection.

  • Portfolio Monitoring

    Screen your held positions against exit conditions. If RSI on any position crosses above 80, flag it for review. Systematic risk management.

  • Strategy Pre-Filter

    Use the screener as a first pass, then run detailed analysis (via /v1/summary or /v1/indicators) only on the matching symbols. Massively reduce API calls.

Integration Example

Python Find oversold opportunities
python
import requests

resp = requests.get(
    "https://tickatlas.com/v1/screener",
    headers={"X-API-Key": "YOUR_API_KEY"},
    params={
        "timeframe": "H1",
        "rsi_14_lt": 30,
        "adx_gt": 25,
        "sort": "rsi_14",
        "order": "asc"
    }
)
data = resp.json()["data"]

print(f"Scanned {data['total_scanned']} symbols")
print(f"Found {data['total_matched']} matches:")

for result in data["results"]:
    print(f"  {result['symbol']}: "
          f"RSI={result['rsi_14']:.1f}, "
          f"ADX={result['adx']:.1f}, "
          f"Bias={result['bias']}")
JavaScript Momentum scanner with alerts
javascript
const res = await fetch(
  "https://tickatlas.com/v1/screener" +
  "?timeframe=H4" +
  "&macd_histogram_gt=0" +
  "&rsi_14_gt=50&rsi_14_lt=70" +
  "&sort=change_24h&order=desc",
  { headers: { "X-API-Key": "YOUR_API_KEY" } }
);
const { data } = await res.json();

console.log(`${data.total_matched} momentum symbols:`);
data.results.forEach(r => {
  console.log(
    `  ${r.symbol}: +${r.change_24h}% | `
    + `RSI: ${r.rsi_14}`
  );
});

Pro Plan and Above

The screener endpoint is available on Pro ($79/mo) and Enterprise ($349/mo) plans. Each screener call counts as 3 requests toward your quota because it evaluates all 50+ symbols internally. Still vastly cheaper than scanning individually.

Frequently Asked Questions

Can I combine multiple filters?

Yes. Add as many filter parameters as you need. All filters are combined with AND logic -- a symbol must match every condition to appear in results.

Which symbols are scanned?

The screener scans all 50+ symbols in our database, including all major and minor forex pairs, gold (XAUUSD), silver (XAGUSD), and major crypto pairs (BTCUSD, ETHUSD).

Can I limit the scan to specific symbols?

Yes. Use the optional symbols parameter with a comma-separated list to scan only specific symbols instead of the full market.

How often should I run the screener?

It depends on your timeframe. For H4 strategies, every 4 hours is sufficient. For H1, every hour. For M15 scalping scans, every 15 minutes. Match your scan frequency to your analysis timeframe.

Find Opportunities Across the Entire Market. Instantly.

Stop scanning symbols one at a time. Let the screener do it in one call.

14-day free trial / Screener on Pro+ plans / 3x endpoint weight / Cancel anytime