...

General API

Metadata, Search, and Account Information endpoints.

Endpoint: /api/metadata

Get detailed availability information for a specific symbol/timeframe pair, including data completeness and estimated completion date.

NameTypeRequiredDescription
symbolstringYesE.g., BTCUSDT
timeframestringYesE.g., 1h
{
  "symbol": "BTCUSDT",
  "timeframe": "1h",
  "firstCandle": "2020-01-01T00:00:00Z",
  "lastCandle": "2024-01-01T00:00:00Z",
  "totalCandles": 35000,
  "completionPercent": "99.98",
  "estimatedCompletionDate": "2024-01-02T00:00:00Z"
}
import { GeneralApi } from "tickcatcher";
 
const meta = await new GeneralApi(config).metadata({ 
    symbol: "BTCUSDT", 
    timeframe: "1h" 
});
 
console.log(`Completion: ${meta.completionPercent}%`);
console.log(`First Candle: ${meta.firstCandle}`);

Endpoint: /api/search

Search for available symbols. Useful for building autocomplete fields.

NameTypeRequiredDescription
querystringYesSearch term (e.g., "BTC", "Solana")
[
  {
    "symbol": "BTCUSDT",
    "includedIn": ["Basic", "Pro", "Ultra", "Mega", "Enterprise"]
  },
  {
    "symbol": "ETHBTC",
    "includedIn": ["Pro", "Mega", "Enterprise"]
  }
]
import { GeneralApi } from "tickcatcher";
 
const results = await new GeneralApi(config).search({ query: "BTC" });
 
results.forEach(r => {
    console.log(`${r.symbol} (Available in: ${r.includedIn.join(", ")})`);
});

Endpoint: /api/info

Get details about your current subscription tier and limits.

{
  "packageName": "Pro",
  "usableCoins": ["BTCUSDT", "ETHUSDT", ...],
  "maxCandlesOnRequest": 1000,
  "usableTimeframes": ["1m", "5m", "15m", "1h", "4h"],
  "customDateSelection": false
}
import { GeneralApi } from "tickcatcher";
 
const info = await new GeneralApi(config).info();
console.log(`Plan: ${info.packageName}`);
console.log(`Remaining Candle Limit: ${info.maxCandlesOnRequest}`);