openapi: 3.1.0 info: title: Tickcatcher API version: 1.1.7 license: name: MIT url: https://opensource.org/licenses/MIT description: | The Tickcatcher API provides access to cryptocurrency market data including candlesticks, symbols, and indicators. All requests require authentication using your RapidAPI key or TickCatcher Direct Key. servers: - url: https://api.tickcatcher.com description: Direct API - url: https://tickcatcher.p.rapidapi.com description: RapidAPI Gateway components: securitySchemes: rapidapiKey: type: apiKey in: header name: X-RapidAPI-Key directToken: type: apiKey in: header name: X-TickCatcher-Key schemas: Candle: type: object properties: ts: type: string description: Unix timestamp in milliseconds open: type: number description: Opening price high: type: number description: Highest price low: type: number description: Lowest price close: type: number description: Closing price volume: type: number description: Volume traded SearchResult: type: object properties: symbol: type: string includedIn: type: array description: Which packages this coin is included in. items: type: string example: ["Pro", "Mega", "Enterprise"] Metadata: type: object required: - symbol - timeframe - firstCandle - lastCandle - totalCandles - completionPercent - estimatedCompletionDate properties: symbol: type: string description: The trading pair symbol. example: BTCUSDT timeframe: type: string description: The timeframe used for the candles. example: 1h firstCandle: type: string format: date-time description: ISO timestamp of the first available candle. example: "2025-10-01T00:00:00.000Z" lastCandle: type: string format: date-time description: ISO timestamp of the last available candle. example: "2025-10-15T00:00:00.000Z" totalCandles: type: integer description: Total number of available candles. example: 816 completionPercent: type: string description: Completion percentage (0–100) as a string with two decimals. example: "99.52" estimatedCompletionDate: type: string format: date-time description: Estimated date when full data collection will complete. example: "2025-10-20T00:00:00.000Z" Info: type: object required: - packageName - usableCoins - maxCandlesOnRequest - usableTimeframes - customDateSelection properties: packageName: type: string description: The package that you are using. enum: [Basic, Pro, Ultra, Mega, Enterprise] example: Basic usableCoins: type: array description: The usable coins list for your package. items: type: string example: ["BTCUSDT", "SOLUSDT", "SUIUSDT"] maxCandlesOnRequest: type: integer description: Maximum allowed candles for your package to fetch at one query. example: 50000 usableTimeframes: type: array description: The timeframes that you can select on your queries. items: type: string example: ["1m", "5m", "15m", "1h", "4h"] customDateSelection: type: boolean description: Whether you can select start and end dates during queries. example: true CalendarEvent: type: object required: - title - country - importance - ts properties: title: type: string country: type: string indicator: type: [string, "null"] ticker: type: [string, "null"] comment: type: [string, "null"] category: type: [string, "null"] period: type: [string, "null"] reference_date: type: [string, "null"] source: type: [string, "null"] source_url: type: [string, "null"] actual: type: [number, "null"] previous: type: [number, "null"] forecast: type: [number, "null"] actual_raw: type: [number, "null"] previous_raw: type: [number, "null"] forecast_raw: type: [number, "null"] currency: type: [string, "null"] unit: type: [string, "null"] importance: type: number description: A number of importance, can be -1, 0 or 1. ts: type: string description: Unix timestamp (ms) scale: type: [string, "null"] CandleData: type: array items: $ref: "#/components/schemas/Candle" SmaRequest: type: object required: [data] properties: data: $ref: '#/components/schemas/CandleData' params: type: object properties: period: type: integer default: 14 description: The period for calculating SMA. EmaRequest: type: object required: [data] properties: data: $ref: '#/components/schemas/CandleData' params: type: object properties: period: type: integer default: 14 RsiRequest: type: object required: [data] properties: data: $ref: '#/components/schemas/CandleData' params: type: object properties: period: type: integer default: 14 MacdRequest: type: object required: [data] properties: data: $ref: '#/components/schemas/CandleData' params: type: object properties: fastPeriod: type: integer default: 12 slowPeriod: type: integer default: 26 signalPeriod: type: integer default: 9 StochRequest: type: object required: [data] properties: data: $ref: '#/components/schemas/CandleData' params: type: object properties: period: type: integer default: 14 signalPeriod: type: integer default: 3 BbandsRequest: type: object required: [data] properties: data: $ref: '#/components/schemas/CandleData' params: type: object properties: period: type: integer default: 14 stdDev: type: number default: 2 VolumemaRequest: type: object required: [data] properties: data: $ref: '#/components/schemas/CandleData' params: type: object properties: period: type: integer default: 14 AtrRequest: type: object required: [data] properties: data: $ref: '#/components/schemas/CandleData' params: type: object properties: period: type: integer default: 14 AdxRequest: type: object required: [data] properties: data: $ref: '#/components/schemas/CandleData' params: type: object properties: period: type: integer default: 14 CciRequest: type: object required: [data] properties: data: $ref: '#/components/schemas/CandleData' params: type: object properties: period: type: integer default: 14 PsarRequest: type: object required: [data] properties: data: $ref: '#/components/schemas/CandleData' params: type: object properties: step: type: number default: 0.02 max: type: number default: 0.2 IchimokuRequest: type: object required: [data] properties: data: $ref: '#/components/schemas/CandleData' params: type: object properties: conversionPeriod: type: integer default: 9 basePeriod: type: integer default: 26 spanPeriod: type: integer default: 52 displacement: type: integer default: 26 WilliamsrRequest: type: object required: [data] properties: data: $ref: '#/components/schemas/CandleData' params: type: object properties: period: type: integer default: 14 SupertrendRequest: type: object required: [data] properties: data: $ref: '#/components/schemas/CandleData' params: type: object properties: period: type: integer default: 10 multiplier: type: number default: 3 HeikenashiRequest: type: object required: [data] properties: data: $ref: '#/components/schemas/CandleData' KeltnerRequest: type: object required: [data] properties: data: $ref: '#/components/schemas/CandleData' params: type: object properties: period: type: integer default: 20 multiplier: type: number default: 1 VwapRequest: type: object required: [data] properties: data: $ref: '#/components/schemas/CandleData' description: Requires volume data ZigzagRequest: type: object required: [data] properties: data: $ref: '#/components/schemas/CandleData' params: type: object properties: deviation: type: number default: 1 description: Deviation percentage for ZigZag calculation. PivotRequest: type: object required: [data] properties: data: $ref: '#/components/schemas/CandleData' security: - rapidapiKey: [] - directToken: [] paths: /api/bcandles: get: tags: [Candles] operationId: basicCandles summary: Get candlestick data description: Retrieve OHLCV data for a specific symbol and timeframe for Basic package. parameters: - in: query name: symbol required: true schema: type: string example: BTCUSDT - in: query name: timeframe required: true schema: type: string enum: [5m, 15m, 1h, 4h] example: 1h - in: query name: limit required: false schema: type: integer default: 200 example: 150 responses: "200": description: List of candles content: application/json: schema: type: array items: $ref: "#/components/schemas/Candle" "400": description: Invalid parameters "401": description: Missing or invalid API key "500": description: Server error /api/pcandles: get: tags: [Candles] operationId: proCandles summary: Get candlestick data description: Retrieve OHLCV data for a specific symbol and timeframe for Pro package. parameters: - in: query name: symbol required: true schema: type: string example: BTCUSDT - in: query name: timeframe required: true schema: type: string enum: [1m, 5m, 15m, 1h, 4h] example: 1h - in: query name: limit required: false schema: type: integer default: 1000 example: 500 responses: "200": description: List of candles content: application/json: schema: type: array items: $ref: "#/components/schemas/Candle" "400": description: Invalid parameters "401": description: Missing or invalid API key "500": description: Server error /api/ucandles: get: tags: [Candles] operationId: ultraCandles summary: Get candlestick data description: Retrieve OHLCV data for a specific symbol and timeframe for Ultra package. parameters: - in: query name: symbol required: true schema: type: string example: BTCUSDT - in: query name: timeframe required: true schema: type: string enum: [1m, 5m, 15m, 1h, 4h] example: 1h - in: query name: limit required: false schema: type: integer default: 1000 example: 500 - in: query name: startTime required: false schema: type: integer example: 1762194992000 description: Javascript style epoch time with milliseconds (i.e. 1762194992000). - in: query name: endTime required: false schema: type: integer example: 1762194992000 description: Javascript style epoch time with milliseconds (i.e. 1762194992000). responses: "200": description: List of candles content: application/json: schema: type: array items: $ref: "#/components/schemas/Candle" "400": description: Invalid parameters "401": description: Missing or invalid API key "500": description: Server error /api/mcandles: get: tags: [Candles] summary: Get candlestick data operationId: megaCandles description: Retrieve OHLCV data for a specific symbol and timeframe for Mega package. parameters: - in: query name: symbol required: true schema: type: string example: BTCUSDT - in: query name: timeframe required: true schema: type: string enum: [1m, 2m, 3m, 5m, 10m, 15m, 30m, 1h, 2h, 3h, 4h, 6h, 8h, 12h, 1d] example: 1h - in: query name: limit required: false schema: type: integer default: 1000 example: 500 - in: query name: startTime required: false schema: type: integer example: 1762194992000 description: Javascript style epoch time with milliseconds (i.e. 1762194992000). - in: query name: endTime required: false schema: type: integer example: 1762194992000 description: Javascript style epoch time with milliseconds (i.e. 1762194992000). responses: "200": description: List of candles content: application/json: schema: type: array items: $ref: "#/components/schemas/Candle" "400": description: Invalid parameters "401": description: Missing or invalid API key "500": description: Server error /api/ecandles: get: tags: [Candles] operationId: enterpriseCandles summary: Get candlestick data description: Retrieve OHLCV data for a specific symbol and timeframe for Enterprise package. parameters: - in: query name: symbol required: true schema: type: string example: BTCUSDT - in: query name: timeframe required: true schema: type: string enum: [1m, 2m, 3m, 5m, 10m, 15m, 30m, 1h, 2h, 3h, 4h, 6h, 8h, 12h, 1d] example: 1h - in: query name: limit required: false schema: type: integer default: 1000 example: 500 - in: query name: startTime required: false schema: type: integer example: 1762194992000 description: Javascript style epoch time with milliseconds (i.e. 1762194992000). - in: query name: endTime required: false schema: type: integer example: 1762194992000 description: Javascript style epoch time with milliseconds (i.e. 1762194992000). responses: "200": description: List of candles content: application/json: schema: type: array items: $ref: "#/components/schemas/Candle" "400": description: Invalid parameters "401": description: Missing or invalid API key "500": description: Server error /api/metadata: get: tags: [General] operationId: metadata summary: Get metadata of selected timeframe/symbol pair description: Retrieve metadata for a specific symbol and timeframe. parameters: - in: query name: symbol required: true schema: type: string example: BTCUSDT - in: query name: timeframe required: true schema: type: string enum: [1m, 5m, 15m, 1h, 4h] example: 1h responses: "200": description: Metadata for the requested pair content: application/json: schema: $ref: "#/components/schemas/Metadata" "400": description: Invalid parameters "401": description: Missing or invalid API key "404": description: No data found "500": description: Server error /api/info: get: tags: [General] operationId: info summary: Get your package information as well as your limitations description: Get your current RapidAPI package, which coins you can use, maximum candles that you can request, etc. responses: "200": description: Info for the user content: application/json: schema: $ref: "#/components/schemas/Info" "400": description: Missing package information "401": description: Missing or invalid API key "500": description: Server error /api/search: get: tags: [General] operationId: search summary: Search through the list of symbols to use correct one in the query description: If your queries don't work correctly, you can search the database with the coin name to get the correct symbol(s). parameters: - in: query name: query required: true schema: type: string example: BTC responses: "200": description: Search results content: application/json: schema: type: array items: $ref: "#/components/schemas/SearchResult" "401": description: Missing or invalid API key "500": description: Server error /api/calendar: get: tags: [Calendar] operationId: calendar summary: Get economic calendar within a selected period description: Fetch economic calendar for event based trading simulations. If no dates entered, data will be from -3 days from today to +3 days. parameters: - in: query name: startDate required: false schema: type: integer format: int64 example: 1762194992000 description: Javascript style epoch time with milliseconds (i.e. 1762194992000). - in: query name: endDate required: false schema: type: integer format: int64 example: 1762194992000 description: Javascript style epoch time with milliseconds (i.e. 1762194992000). responses: "200": description: Economic calendar for selected time period content: application/json: schema: type: array items: $ref: "#/components/schemas/CalendarEvent" "401": description: Missing or invalid API key "500": description: Server error /api/indicators/sma: post: summary: Calculate Simple Moving Average (SMA) description: Returns the SMA of the close prices. tags: [Indicators] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/SmaRequest" operationId: sma responses: '200': description: Array of SMA values content: application/json: schema: type: array items: type: number "400": description: Invalid parameters "401": description: Missing or invalid API key "500": description: Server error /api/indicators/ema: post: summary: Calculate Exponential Moving Average (EMA) description: Returns the EMA of the close prices. tags: [Indicators] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/EmaRequest" operationId: ema responses: '200': description: Array of EMA values content: application/json: schema: type: array items: type: number "400": description: Invalid parameters "401": description: Missing or invalid API key "500": description: Server error /api/indicators/rsi: post: summary: Calculate Relative Strength Index (RSI) description: Returns the RSI of the close prices. tags: [Indicators] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/RsiRequest" operationId: rsi responses: '200': description: Array of RSI values content: application/json: schema: type: array items: type: number "400": description: Invalid parameters "401": description: Missing or invalid API key "500": description: Server error /api/indicators/macd: post: summary: Calculate MACD description: Returns MACD, Signal, and Histogram. tags: [Indicators] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/MacdRequest" operationId: macd responses: '200': description: MACD result content: application/json: schema: type: array items: type: object properties: MACD: type: number signal: type: number histogram: type: number "400": description: Invalid parameters "401": description: Missing or invalid API key "500": description: Server error /api/indicators/stoch: post: summary: Calculate Stochastic Oscillator description: Returns %K and %D lines. tags: [Indicators] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/StochRequest" operationId: stoch responses: '200': description: Stochastic result content: application/json: schema: type: array items: type: object properties: stochK: type: number stochD: type: number "400": description: Invalid parameters "401": description: Missing or invalid API key "500": description: Server error /api/indicators/bbands: post: summary: Calculate Bollinger Bands description: Returns Upper, Middle, and Lower bands. tags: [Indicators] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/BbandsRequest" operationId: bbands responses: '200': description: Bollinger Bands result content: application/json: schema: type: array items: type: object properties: upper: type: number middle: type: number lower: type: number "400": description: Invalid parameters "401": description: Missing or invalid API key "500": description: Server error /api/indicators/volumema: post: summary: Calculate Volume MA operationId: volumema description: Returns Simple Moving Average of Volume. tags: [Indicators] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/VolumemaRequest" responses: '200': description: Array of Volume MA values content: application/json: schema: type: array items: type: number "400": description: Invalid parameters "500": description: Server error /api/indicators/atr: post: summary: Calculate Average True Range (ATR) operationId: atr tags: [Indicators] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/AtrRequest" responses: '200': description: ATR values content: application/json: schema: type: array items: type: number "400": description: Invalid parameters "500": description: Server error /api/indicators/adx: post: summary: Calculate Average Directional Index (ADX) operationId: adx tags: [Indicators] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/AdxRequest" responses: '200': description: ADX result content: application/json: schema: type: array items: type: object properties: adx: type: number pdi: type: number mdi: type: number "400": description: Invalid parameters "500": description: Server error /api/indicators/cci: post: summary: Calculate Commodity Channel Index (CCI) operationId: cci tags: [Indicators] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/CciRequest" responses: '200': description: CCI values content: application/json: schema: type: array items: type: number "400": description: Invalid parameters "500": description: Server error /api/indicators/psar: post: summary: Calculate Parabolic SAR operationId: psar tags: [Indicators] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/PsarRequest" responses: '200': description: Parabolic SAR values content: application/json: schema: type: array items: type: number "400": description: Invalid parameters "500": description: Server error /api/indicators/ichimoku: post: summary: Calculate Ichimoku Cloud operationId: ichimoku tags: [Indicators] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/IchimokuRequest" responses: '200': description: Ichimoku result content: application/json: schema: type: array items: type: object properties: conversion: type: number base: type: number spanA: type: number spanB: type: number lagging: type: number "400": description: Invalid parameters "500": description: Server error /api/indicators/williamsr: post: summary: Calculate Williams %R operationId: williamsr tags: [Indicators] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/WilliamsrRequest" responses: '200': description: Williams %R values content: application/json: schema: type: array items: type: number "400": description: Invalid parameters "500": description: Server error /api/indicators/supertrend: post: summary: Calculate SuperTrend operationId: supertrend tags: [Indicators] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/SupertrendRequest" responses: '200': description: SuperTrend result content: application/json: schema: type: array items: type: object properties: value: type: number trend: type: number # 1 (up) or -1 (down) "400": description: Invalid parameters "500": description: Server error /api/indicators/heikenashi: post: summary: Calculate Heiken Ashi operationId: heikenashi tags: [Indicators] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/HeikenashiRequest" responses: '200': description: Heiken Ashi candles content: application/json: schema: type: array items: $ref: "#/components/schemas/Candle" "400": description: Invalid parameters "500": description: Server error /api/indicators/keltner: post: summary: Calculate Keltner Channels operationId: keltner tags: [Indicators] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/KeltnerRequest" responses: '200': description: Keltner Channel values content: application/json: schema: type: array items: type: object properties: upper: type: number middle: type: number lower: type: number "400": description: Invalid parameters "500": description: Server error /api/indicators/vwap: post: summary: Calculate VWAP operationId: vwap tags: [Indicators] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/VwapRequest" responses: '200': description: VWAP values content: application/json: schema: type: array items: type: number "400": description: Invalid parameters "500": description: Server error /api/indicators/zigzag: post: summary: Calculate ZigZag Indicator operationId: zigzag tags: [Indicators] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/ZigzagRequest" responses: '200': description: ZigZag values content: application/json: schema: type: array items: type: [number, "null"] "400": description: Invalid parameters "500": description: Server error /api/indicators/pivot: post: summary: Calculate Pivot Points operationId: pivot tags: [Indicators] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/PivotRequest" responses: '200': description: Pivot Points content: application/json: schema: type: array items: type: object properties: p: type: [number, "null"] r1: type: [number, "null"] s1: type: [number, "null"] r2: type: [number, "null"] s2: type: [number, "null"] r3: type: [number, "null"] s3: type: [number, "null"] "400": description: Invalid parameters "401": description: Missing or invalid API key "500": description: Server error