TickerDB for Node.js.

Type-safe client for the TickerDB HTTP API. Install, initialize, and start pulling market data in under a minute. Full TypeScript support included.

Install and call in 30 seconds.

One package. One import. Pass your API key into the client and start calling the API.

install
// install from npm
npm install tickerdb
typescript
import { TickerDB } from "tickerdb";

const client = new TickerDB({ apiKey: "tdb_your_api_key" });

// Get a full summary for any ticker
const { data } = await client.summary("AAPL");
console.log(data.trend.direction);    // "uptrend"
console.log(data.momentum.rsi_zone);  // "neutral_high"

view on npm

Chain calls. Build context.

Pull a summary, check for historical band transitions, then monitor your watchlist for changes. Each method returns typed market-state data you can branch on directly.

1
client.summary("AAPL")
Full categorical breakdown — trend, momentum, volatility, fundamentals
2
client.summary("AAPL", { field: "rsi_zone", band: "deep_oversold" })
Historical band transitions for RSI entering deep oversold
3
client.watchlistChanges()
State changes across your monitored tickers

Track state changes effortlessly.

Most market data APIs return point-in-time snapshots. TickerDB tracks state transitions — your agent sees what changed, not just what is.

typescript
const { data } = await client.watchlistChanges();
json
{
  "timeframe": "daily",
  "run_date": "2026-03-28",
  "changes": {
    "AAPL": [
      {
        "field": "rsi_zone",
        "from": "neutral",
        "to": "oversold"
      },
      {
        "field": "trend_direction",
        "from": "uptrend",
        "to": "downtrend"
      }
    ]
  },
  "ticker_context": {
    "AAPL": {
      "last_changed_date": "2026-03-28"
    }
  },
  "tickers_checked": 2,
  "tickers_changed": 1
}

What your agent sees.

Every tool returns categorical facts — not raw OHLCV data. Your agent can branch on "oversold" without needing to know what RSI > 70 means.

json
{
  "ticker": "NVDA",
  "data_status": "eod",
  "as_of_date": "2026-04-11",
  "trend": {
    "direction": "strong_uptrend",
    "ma_alignment": "aligned_bullish"
  },
  "momentum": {
    "rsi_zone": "overbought",
    "macd_state": "expanding_positive",
    "direction": "accelerating"
  },
  "volatility": {
    "regime": "normal",
    "regime_trend": "stable"
  },
  "fundamentals": {
    "valuation_zone": "fair_value",
    "pe_vs_historical_zone": "premium",
    "last_earnings_surprise": "beat"
  }
}

What you can call.

Every method returns typed data plus parsed `rateLimit` metadata. No raw data to parse, no indicator math to maintain.

client.summary("AAPL")

Full technical + fundamental snapshot for a single asset.

client.search({ filters })

Search across all assets with multi-field filters.

client.schema()

Discover all queryable fields and their types.

client.watchlist(["AAPL"])

Batch EOD summaries for a portfolio.

client.watchlistChanges()

State changes for your saved watchlist tickers.

client.webhooks.create({ url })

Create a webhook for watchlist change alerts.

client.webhooks.list()

List the webhooks on your account.

client.webhooks.delete({ id })

Delete a webhook you no longer need.

Built for how code consumes data.

Market-state data, less parsing

Responses like "rsi_zone": "oversold" are ready to branch on. No indicator math, no threshold logic.

Full TypeScript support

Every response is fully typed. Autocomplete for fields, type-safe branching, no any casts needed.

Pre-computed daily

No infrastructure to maintain. No cron jobs, no indicator math. TickerDB handles computation and syncing.

Start building.

Try for free. No credit card required.