Tahlil Plus AI API Documentation
Complete technical documentation for Crypto API, Stock API, and Forex API, including authentication, plans, limits, symbol discovery, utility endpoints, response headers, errors, compact metric responses, and endpoint usage examples.
Overview
Tahlil Plus AI provides multiple API products for market-related data access. The current API family includes Crypto API, Stock API, and Forex API.
These APIs are designed for charting, data workflows, product integration, symbol discovery, and structured access to market information.
Authentication
All protected endpoints require an API key in the Authorization header.
Requests without a valid key will return an authentication error such as MISSING_API_KEY or INVALID_API_KEY.
Base URLs
| API | Base URL | Purpose |
|---|---|---|
| Crypto API | https://crypto-api.tahlil-plus.dk | Crypto prices, history, grouped highs/lows, symbol discovery, and crypto market metrics |
| Stock API | https://stock-api.tahlil-plus.dk | Stock prices, history, grouped highs/lows, and stock symbol discovery |
| Forex API | https://forex-api.tahlil-plus.dk | Forex prices, history, grouped highs/lows, and forex symbol discovery |
Plans & Access
Access limits depend on the selected plan. Plans define request volume and maximum history access depth.
| Plan | Requests / Minute | Requests / Day | Requests / Month | History Access |
|---|---|---|---|---|
| Free | 60 | 1,000 | 20,000 | 7 days |
| Starter | 120 | 10,000 | 200,000 | 90 days |
| Pro | 300 | 100,000 | 2,000,000 | 730 days |
| Enterprise | 1000 | 1,000,000 | 20,000,000 | 3650 days |
Rate Limits
Rate limits are currently enforced on multiple windows:
- Per-minute requests
- Per-day requests
- Per-month requests
If a request exceeds allowed usage, the API may return RATE_LIMIT_EXCEEDED.
History Access Limits
Historical requests are restricted by plan. Each plan has a maximum allowed history access depth expressed in days.
- If the requested history range exceeds your plan access, the API may return HISTORY_LIMIT_EXCEEDED.
- If the time range is invalid, reversed, or malformed, the API may return INVALID_TIME_RANGE or other validation errors.
Symbol Discovery
Symbol discovery is available through standard endpoints:
- /search — search by query text
- /symbols — retrieve metadata for one specific symbol
- /symbol_info — return bulk symbol metadata
Utility Endpoints
GET /health
Returns a health status response for the API service.
GET /time
Returns current server time as a UNIX timestamp string.
GET /config
Returns configuration metadata such as exchanges, supported resolutions, and capability flags.
GET /usage
Returns current plan, limits, usage counters, remaining quotas, and reset timings.
Usage Endpoint
The /usage endpoint returns current plan details, configured limits, usage counters, remaining counters, and reset timing.
Response Format
Standard data endpoints typically return a JSON structure with fields such as:
- ok
- status
- symbol
- price, or high / low, or results
- compact
- divisor
Chart endpoints return array-based candle responses, typically using TradingView-style fields such as t, o, h, l, c, and v.
Response Headers
Responses may include plan-aware usage headers such as:
| Header | Meaning |
|---|---|
| X-RateLimit-Limit-Minute | Maximum allowed requests in the current minute window |
| X-RateLimit-Remaining-Minute | Remaining requests in the current minute window |
| X-RateLimit-Limit-Day | Maximum allowed requests in the current day window |
| X-RateLimit-Remaining-Day | Remaining requests in the current day window |
| X-RateLimit-Limit-Month | Maximum allowed requests in the current month window |
| X-RateLimit-Remaining-Month | Remaining requests in the current month window |
Compact Market Metrics
Selected internal crypto market metric symbols can return compact numeric responses by default. This behavior currently applies to:
- TOTAL
- TOTAL2
- TOTAL3
- OTHERS
Default Behavior
- compact=true by default for these symbols
- divisor is returned at the top level
- The visible numeric fields are compacted
Optional Query Controls
- compact=false returns raw values
- compact_detail=true returns raw and display metadata
Example
Error Codes
| Error Code | HTTP Code | Meaning |
|---|---|---|
| MISSING_PARAMETER | 400 | Required parameter is missing |
| INVALID_PARAMETER | 400 | Parameter value is invalid |
| INVALID_REQUEST_BODY | 400 | Request body is invalid or incomplete |
| INVALID_TIMESTAMP | 400 | Timestamp is invalid |
| INVALID_RESOLUTION | 400 | Resolution is not supported |
| INVALID_RANGE | 400 | Requested range is invalid |
| SYMBOL_NOT_FOUND | 404 | Symbol not found |
| UNSUPPORTED_SYMBOL | 400 | Symbol is not supported |
| UNSUPPORTED_MARKET | 400 | Market is not supported |
| NO_DATA_AVAILABLE | 404 | No data available |
| HISTORY_DATA_UNAVAILABLE | 404 | History data is unavailable |
| CURRENT_PRICE_UNAVAILABLE | 404 | Current price is unavailable |
| TIME_PRICE_UNAVAILABLE | 404 | Time price is unavailable |
| RANGE_DATA_UNAVAILABLE | 404 | Range data is unavailable |
| PROVIDER_ERROR | 502 | External provider error |
| PROVIDER_TIMEOUT | 504 | External provider timeout |
| PROVIDER_RATE_LIMITED | 502 | External provider rate limit reached |
| PROVIDER_BAD_RESPONSE | 502 | Provider returned an invalid response |
| UPSTREAM_SYMBOL_NOT_FOUND | 502 | Symbol exists but provider returned no data |
| PROCESSING_ERROR | 500 | Failed to process request |
| INTERNAL_ERROR | 500 | Internal server error |
| SERVICE_UNAVAILABLE | 503 | Service temporarily unavailable |
| MISSING_API_KEY | 401 | API key is missing |
| INVALID_API_KEY | 401 | API key is invalid |
| RATE_LIMIT_EXCEEDED | 429 | Rate limit exceeded |
| HISTORY_LIMIT_EXCEEDED | 403 | Requested range is outside plan history access |
| INVALID_TIME_RANGE | 400 | Invalid time range |
| FORBIDDEN | 403 | Access denied |
Crypto API Overview
Crypto API supports runtime crypto symbols from Binance as well as internal crypto market metrics such as market dominance and total market values.
Crypto API — Search
Find crypto symbols by text query.
Required Parameters
- query
Optional Parameters
- limit
- type
- exchange
Example Request
Example Response
Crypto API — Symbols
Return full metadata for one specific symbol.
Required Parameters
- symbol
Example Response
Crypto API — Symbol Info
Returns bulk symbol metadata for available crypto symbols.
Crypto API — Current Price
Returns the latest available price for the requested crypto symbol.
Required Parameters
- symbol
Optional Parameters
- compact — relevant for supported internal market metric symbols
- compact_detail — include compact metadata for supported compact symbols
Example Request
Example Success Response
Example Error Response
Crypto API — Time Price
Returns a point-in-time price for the requested symbol and timestamp.
Required Parameters
- symbol
- timestamp
Crypto API — History
Returns historical candles in array-based chart format.
Required Parameters
- symbol
- resolution
- from
- to
Crypto API — Time High Low
Returns one aggregated high/low summary for the requested time range.
Crypto API — Daily High Low
Returns daily grouped high/low values inside the requested time range.
Crypto API — Hourly High Low
Returns hourly grouped high/low values inside the requested time range.
Crypto API — Range High Low
Returns high and low for the requested range, including candles_count and note when applicable.
Crypto API — Grouped Range High Low
Returns high/low values for multiple posted ranges in a single request.
Example Request Body
Stock API Overview
Stock API provides stock symbol discovery, current prices, historical candles, and grouped high/low endpoints.
Stock API — Search
Find stock symbols by query.
Stock API — Symbols
Return full metadata for one specific stock symbol.
Stock API — Symbol Info
Returns bulk metadata for stock symbols.
Stock API — Current Price
Returns the latest available price for the requested stock symbol.
Stock API — Time Price
Returns a point-in-time price for the requested stock symbol.
Stock API — History
Returns chart-friendly candle arrays for supported stock symbols.
Stock API — Time High Low
Returns aggregated range high/low values for a stock symbol.
Stock API — Daily High Low
Returns daily grouped high/low values inside the requested time range.
Stock API — Hourly High Low
Returns hourly grouped high/low values inside the requested time range.
Forex API Overview
Forex API provides currency pair discovery, current prices, historical candles, and grouped range endpoints.
Forex API — Search
Find forex symbols by query.
Forex API — Symbols
Return full metadata for one specific forex symbol.
Forex API — Symbol Info
Returns bulk metadata for forex symbols.
Forex API — Current Price
Returns the latest available price for the requested forex symbol.
Forex API — Time Price
Returns a point-in-time price for the requested forex symbol.
Forex API — History
Returns chart-friendly historical candles for forex symbols.
Forex API — Time High Low
Returns aggregated high/low values for the requested time range.
Forex API — Daily High Low
Returns daily grouped high/low values inside the requested time range.
Forex API — Hourly High Low
Returns hourly grouped high/low values inside the requested time range.