...

Getting Started

Begin your journey with TickCatcher by setting up authentication and making your first request.

TickCatcher is designed to be the easiest historic market data API to integrate. Whether you are building a simple trading bot in Python or a high-frequency trading application in Rust, getting started takes less than 5 minutes.

Before writing any code, you will need:

  1. A RapidAPI Account: We use RapidAPI to handle reliable API key management and simplified billing.
  2. An Application: A Node.js, Python, Go, or .NET project where you want to consume market data.
  3. An API Client: While you can use curl or fetch, we highly recommend our official SDKs for type safety and automatic error handling.
Note

[!NOTE] For more details and source code, visit our SDK GitHub Repository.

All requests to TickCatcher are authenticated via an API Key.

  1. Navigate to the TickCatcher RapidAPI Page.
  2. Click "Subscribe to Test".
    • Tip: Start with the Basic plan—it is completely free and sufficient for testing integration.
  3. Once subscribed, you will find your X-RapidAPI-Key in the Code Snippets section of the dashboard. Copy this key; you will need it to configure the SDK.
Note

[!CAUTION] Security Best Practice: Never commit your API key directly to GitHub. Use environment variables (e.g., .env files) to store sensitive credentials.

We do not believe in boilerplate. Choose your platform below to install the official TickCatcher client library.

Let's fetch the latest 1-hour candles for Bitcoin (BTCUSDT).

import { Configuration, CandlesApi } from "tickcatcher";
 
// 1. Initialize Configuration
const config = new Configuration({
    apiKey: process.env.TICKCATCHER_API_KEY
});
 
// 2. Create API Client
const candles = new CandlesApi(config);
 
async function getBitcoinData() {
    try {
        const response = await candles.basicCandles({
            symbol: "BTCUSDT",
            timeframe: "1h",
            limit: 5 // Get last 5 hours
        });
        
        console.log(`Latest Close: $${response[response.length - 1].close}`);
        console.table(response);
    } catch (error) {
        console.error("Failed to fetch data:", error);
    }
}
 
getBitcoinData();

The API returns a consistent JSON array of Candle objects. Each object represents one time interval (bucket).

[
  {
    "ts": 1734264000000,  // Unix Timestamp (ms)
    "open": 65000.50,     // Opening price
    "high": 65200.00,     // Highest price during interval
    "low": 64900.00,      // Lowest price during interval
    "close": 65100.20,    // Closing price
    "volume": 1200.5      // Volume traded
  }
]

Now that you have live data flowing, what's next?