TradingView Data API Docs
Access 160,000+ stocks, forex, cryptocurrencies, and ETF data from around the world. Supports REST API and ultra-low latency WebSocket.
Basic Information
- Base URL:
https://tradingview-data1.p.rapidapi.com - RapidAPI Host:
tradingview-data1.p.rapidapi.com - API Version: 1.2.0
- Supported Format: JSON
Authentication
All API requests require authentication via RapidAPI. Include the following headers in every request:
x-rapidapi-host: tradingview-data1.p.rapidapi.com
x-rapidapi-key: YOUR_RAPIDAPI_KEY Rate Limit
Different subscription plans have different rate limits:
| Plan | Monthly Quota | Rate Limit | Price |
|---|---|---|---|
| Basic | 150 requests/month | 1000 requests/hour | Free |
| Pro | 30,000 requests/month | 5 requests/second | $10/month |
| Ultra | 50,000 requests/month | 5 requests/second | $30/month |
| Mega | 200,000 requests/month | 5 requests/second | $80/month |
Error Handling
API uses standard HTTP status codes to indicate request success or failure.
Common Status Codes
| Status Code | Name | Description |
|---|---|---|
200 | OK | Request successful |
400 | Bad Request | Invalid request parameters or missing required parameters |
401 | Unauthorized | Authentication failed or invalid API key |
404 | Not Found | Requested resource not found |
429 | Too Many Requests | Rate limit exceeded |
500 | Internal Server Error | Internal server error |
Error Response Format
{
"success": false,
"error": {
"code": "INVALID_SYMBOL",
"message": "Symbol not found or invalid",
"details": "The symbol 'INVALID:SYMBOL' does not exist"
}
} Health - Health Check
Used to check API server status and connection.
/health Check API server status including connection state, active sessions, authentication status and reconnect attempts
Request Examples
curl --request GET \
--url 'https://tradingview-data1.p.rapidapi.com/health' \
--header 'x-rapidapi-host: tradingview-data1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' const response = await fetch('https://tradingview-data1.p.rapidapi.com/health', {
method: 'GET',
headers: {
'x-rapidapi-host': 'tradingview-data1.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY'
}
});
const data = await response.json();
console.log(data); import requests
url = "https://tradingview-data1.p.rapidapi.com/health"
headers = {
"x-rapidapi-host": "tradingview-data1.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY"
}
response = requests.get(url, headers=headers)
print(response.json()) Response Examples
{
"success": true,
"data": {
"status": "ok",
"timestamp": 1734234567890,
"charts": 5,
"quoteSessions": 10,
"authenticated": true,
"reconnectAttempts": 0
}
} Price - Price Data
Get candlestick (K-line) data with support for multiple timeframes.
/api/price/{symbol} Get OHLCV candlestick data for a symbol with customizable timeframe, history range, and optional chart type. Supports historical data queries with 'to' parameter.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | ✓ | Trading symbol (format: EXCHANGE:SYMBOL) |
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
timeframe | string | 5 | Candlestick timeframe (1=1min, 5=5min, 15=15min, 30=30min, 60=1hour, 240=4hour, D=Day, W=Week, M=Month) (1, 5, 15, 30, 60, 240, D, W, M) | |
range | integer | 10 | Number of candles to return | |
to | integer | Target timestamp (Unix seconds) for historical data. Leave empty for latest data. When specified, data will not be cached. | ||
type | string | Chart type. Leave empty for standard candlestick. (HeikinAshi, Range) | ||
inputs | string | JSON string of chart type inputs (when type is specified) |
Request Examples
curl --request GET \
--url 'https://tradingview-data1.p.rapidapi.com/api/price/BINANCE:BTCUSDT?timeframe=5&range=10' \
--header 'x-rapidapi-host: tradingview-data1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' const symbol = 'BINANCE:BTCUSDT';
const params = new URLSearchParams({ timeframe: '5', range: '10' });
const response = await fetch(`https://tradingview-data1.p.rapidapi.com/api/price/${symbol}?${params}`, {
method: 'GET',
headers: {
'x-rapidapi-host': 'tradingview-data1.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY'
}
});
const data = await response.json();
console.log(data); import requests
symbol = "BINANCE:BTCUSDT"
url = f"https://tradingview-data1.p.rapidapi.com/api/price/{symbol}"
params = {"timeframe": "5", "range": "10"}
headers = {
"x-rapidapi-host": "tradingview-data1.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY"
}
response = requests.get(url, params=params, headers=headers)
print(response.json()) Response Examples
{
"success": true,
"data": {
"symbol": "BINANCE:BTCUSDT",
"current": {
"time": 1704067260,
"open": 96432.50,
"high": 96500.00,
"low": 96400.25,
"close": 96450.75,
"volume": 123.45
},
"history": [...]
}
} /api/price/batch Batch get candlestick data for multiple symbols in one request. Maximum 10 symbols per request. Each request item can have different parameters.
Request Body
{
"requests": [
{
"symbol": "BINANCE:BTCUSDT",
"timeframe": "60",
"range": 20
},
{
"symbol": "BINANCE:ETHUSDT",
"timeframe": "60",
"range": 20
},
{
"symbol": "NASDAQ:AAPL",
"timeframe": "D",
"range": 10
}
]
} Request Examples
curl --request POST \
--url 'https://tradingview-data1.p.rapidapi.com/api/price/batch' \
--header 'Content-Type: application/json' \
--header 'x-rapidapi-host: tradingview-data1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' \
--data '{"requests":[{"symbol":"BINANCE:BTCUSDT","timeframe":"60","range":20},{"symbol":"NASDAQ:AAPL","timeframe":"D","range":10}]}' const response = await fetch('https://tradingview-data1.p.rapidapi.com/api/price/batch', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'x-rapidapi-host': 'tradingview-data1.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY' },
body: JSON.stringify({ requests: [
{ symbol: 'BINANCE:BTCUSDT', timeframe: '60', range: 20 },
{ symbol: 'NASDAQ:AAPL', timeframe: 'D', range: 10 }
]})
});
const data = await response.json();
console.log(data); import requests
url = "https://tradingview-data1.p.rapidapi.com/api/price/batch"
headers = { "Content-Type": "application/json", "x-rapidapi-host": "tradingview-data1.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY" }
data = {"requests": [
{"symbol": "BINANCE:BTCUSDT", "timeframe": "60", "range": 20},
{"symbol": "NASDAQ:AAPL", "timeframe": "D", "range": 10}
]}
response = requests.post(url, json=data, headers=headers)
print(response.json()) Response Examples
{
"success": true,
"data": [
{ "symbol": "BINANCE:BTCUSDT", "current": {...}, "history": [...] },
{ "symbol": "NASDAQ:AAPL", "current": {...}, "history": [...] }
]
} Quote - Real-time Quote
Get real-time market quote data including price, volume, bid/ask spread, and more.
/api/quote/{symbol} Get real-time quote data for a symbol including price, change, volume, bid/ask and more market data
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | ✓ | Trading symbol (format: EXCHANGE:SYMBOL) |
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
session | string | regular | Trading session (regular, extended, premarket, postmarket) | |
fields | string | all | Fields to return (all or comma-separated field names) |
Request Examples
curl --request GET \
--url 'https://tradingview-data1.p.rapidapi.com/api/quote/NASDAQ:AAPL' \
--header 'x-rapidapi-host: tradingview-data1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' const symbol = 'NASDAQ:AAPL';
const response = await fetch(`https://tradingview-data1.p.rapidapi.com/api/quote/${symbol}`, {
method: 'GET',
headers: {
'x-rapidapi-host': 'tradingview-data1.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY'
}
});
const data = await response.json();
console.log(data); import requests
symbol = "NASDAQ:AAPL"
url = f"https://tradingview-data1.p.rapidapi.com/api/quote/{symbol}"
headers = {
"x-rapidapi-host": "tradingview-data1.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY"
}
response = requests.get(url, headers=headers)
print(response.json()) Response Examples
{
"success": true,
"data": {
"symbol": "NASDAQ:AAPL",
"data": {
"lp": 228.45,
"ch": 2.83,
"chp": 1.25,
"volume": 52341567,
"bid": 228.40,
"ask": 228.50,
"high_price": 229.10,
"low_price": 225.80,
"open_price": 226.50,
"prev_close_price": 225.62
}
}
} /api/quote/batch Batch get real-time quotes for multiple symbols in one request. Maximum 10 symbols per request.
Request Body
{
"symbols": [
"BINANCE:BTCUSDT",
"BINANCE:ETHUSDT",
"NASDAQ:AAPL"
],
"session": "regular",
"fields": "all"
} Request Examples
curl --request POST \
--url 'https://tradingview-data1.p.rapidapi.com/api/quote/batch' \
--header 'Content-Type: application/json' \
--header 'x-rapidapi-host: tradingview-data1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' \
--data '{"symbols":["NASDAQ:AAPL","NYSE:TSLA","BINANCE:BTCUSDT"]}' const response = await fetch('https://tradingview-data1.p.rapidapi.com/api/quote/batch', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'x-rapidapi-host': 'tradingview-data1.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY' },
body: JSON.stringify({ symbols: ['NASDAQ:AAPL', 'NYSE:TSLA', 'BINANCE:BTCUSDT'] })
});
const data = await response.json();
console.log(data); import requests
url = "https://tradingview-data1.p.rapidapi.com/api/quote/batch"
headers = { "Content-Type": "application/json", "x-rapidapi-host": "tradingview-data1.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY" }
data = {"symbols": ["NASDAQ:AAPL", "NYSE:TSLA", "BINANCE:BTCUSDT"]}
response = requests.post(url, json=data, headers=headers)
print(response.json()) Response Examples
{
"success": true,
"data": [
{ "symbol": "NASDAQ:AAPL", "data": { "lp": 228.45, "chp": 1.25 } },
{ "symbol": "NYSE:TSLA", "data": { "lp": 412.30, "chp": -0.85 } },
{ "symbol": "BINANCE:BTCUSDT", "data": { "lp": 96432.50, "chp": 2.14 } }
]
} Search - Market Search
Search for symbols, names, or descriptions globally by keyword.
/api/search/market/{query} Search for stocks, crypto, forex and other markets by keyword with optional type filtering and pagination
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | ✓ | Search keyword |
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
filter | string | Market type filter (stock, crypto, forex, futures, index) | ||
offset | integer | 0 | Pagination offset |
Request Examples
curl --request GET \
--url 'https://tradingview-data1.p.rapidapi.com/api/search/market/apple?filter=stock' \
--header 'x-rapidapi-host: tradingview-data1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' const query = 'apple';
const params = new URLSearchParams({ filter: 'stock' });
const response = await fetch(`https://tradingview-data1.p.rapidapi.com/api/search/market/${query}?${params}`, {
method: 'GET',
headers: {
'x-rapidapi-host': 'tradingview-data1.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY'
}
});
const data = await response.json();
console.log(data); import requests
query = "apple"
url = f"https://tradingview-data1.p.rapidapi.com/api/search/market/{query}"
params = {"filter": "stock"}
headers = {
"x-rapidapi-host": "tradingview-data1.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY"
}
response = requests.get(url, params=params, headers=headers)
print(response.json()) Response Examples
{
"success": true,
"data": {
"results": [
{ "symbol": "NASDAQ:AAPL", "description": "Apple Inc", "type": "stock", "exchange": "NASDAQ" }
],
"total": 5
}
} Technical Analysis - Technical Analysis
Get professional technical analysis signals and detailed technical indicator data.
/api/ta/{symbol} Get technical analysis signals (Buy/Sell/Neutral) across multiple timeframes including oscillators and moving averages
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | ✓ | Trading symbol (format: EXCHANGE:SYMBOL) |
Request Examples
curl --request GET \
--url 'https://tradingview-data1.p.rapidapi.com/api/ta/NASDAQ:AAPL' \
--header 'x-rapidapi-host: tradingview-data1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' const symbol = 'NASDAQ:AAPL';
const response = await fetch(`https://tradingview-data1.p.rapidapi.com/api/ta/${symbol}`, {
method: 'GET',
headers: {
'x-rapidapi-host': 'tradingview-data1.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY'
}
});
const data = await response.json();
console.log(data); import requests
symbol = "NASDAQ:AAPL"
url = f"https://tradingview-data1.p.rapidapi.com/api/ta/{symbol}"
headers = {
"x-rapidapi-host": "tradingview-data1.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY"
}
response = requests.get(url, headers=headers)
print(response.json()) Response Examples
{
"success": true,
"data": {
"symbol": "NASDAQ:AAPL",
"summary": { "recommendation": "BUY", "buy_count": 15, "sell_count": 3, "neutral_count": 8 },
"oscillators": { "recommendation": "NEUTRAL", "values": { "RSI": 58.34, "MACD": 1.23 } },
"moving_averages": { "recommendation": "BUY", "values": { "EMA10": 225.30, "SMA50": 214.80 } }
}
} /api/ta/{symbol}/indicators Get detailed technical indicators data including RSI, MACD, Stoch, CCI, ADX, moving averages (EMA/SMA), pivot points, and other comprehensive technical analysis metrics
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | ✓ | Trading symbol (format: EXCHANGE:SYMBOL) |
Request Examples
curl --request GET \
--url 'https://tradingview-data1.p.rapidapi.com/api/ta/NASDAQ:AAPL/indicators' \
--header 'x-rapidapi-host: tradingview-data1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' const symbol = 'NASDAQ:AAPL';
const response = await fetch(`https://tradingview-data1.p.rapidapi.com/api/ta/${symbol}/indicators`, {
method: 'GET',
headers: {
'x-rapidapi-host': 'tradingview-data1.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY'
}
});
const data = await response.json();
console.log(data); import requests
symbol = "NASDAQ:AAPL"
url = f"https://tradingview-data1.p.rapidapi.com/api/ta/{symbol}/indicators"
headers = {
"x-rapidapi-host": "tradingview-data1.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY"
}
response = requests.get(url, headers=headers)
print(response.json()) Response Examples
{
"success": true,
"data": {
"symbol": "NASDAQ:AAPL",
"indicators": {
"RSI": 58.34, "RSI[1]": 56.12,
"MACD.macd": 1.23, "MACD.signal": 0.98,
"ADX": 28.90, "BB.upper": 232.50, "BB.lower": 220.30
},
"pivot_points": {
"classic": { "R1": 230.45, "PP": 228.10, "S1": 225.30 }
}
}
} News - Financial News
Get the latest financial news and market information.
/api/news Get financial news list with optional symbol filtering, language selection, and market filtering
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
symbol | string | Filter by symbol (optional) | ||
lang | string | en | Language code (en, zh-Hans, ja, etc.) | |
market | string | Market type filter (stock, crypto, forex, futures, bond, etf, index, economic) | ||
market_country | string | Market country code filter (US, CN, etc.) |
Request Examples
curl --request GET \
--url 'https://tradingview-data1.p.rapidapi.com/api/news?symbol=NASDAQ:AAPL&lang=en' \
--header 'x-rapidapi-host: tradingview-data1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' const params = new URLSearchParams({ symbol: 'NASDAQ:AAPL', lang: 'en' });
const response = await fetch(`https://tradingview-data1.p.rapidapi.com/api/news?${params}`, {
method: 'GET',
headers: {
'x-rapidapi-host': 'tradingview-data1.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY'
}
});
const data = await response.json();
console.log(data); import requests
url = "https://tradingview-data1.p.rapidapi.com/api/news"
params = {"symbol": "NASDAQ:AAPL", "lang": "en"}
headers = {
"x-rapidapi-host": "tradingview-data1.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY"
}
response = requests.get(url, params=params, headers=headers)
print(response.json()) Response Examples
{
"success": true,
"data": {
"news": [
{ "id": "news_123456", "title": "Apple Reports Record Q4 Earnings", "provider": "Reuters", "published": 1704067260 }
],
"total": 10
}
} Other News Endpoints
GET /api/news/stock- Stock market newsGET /api/news/crypto- Cryptocurrency NewsGET /api/news/forex- Forex market newsGET /api/news/futures- Futures market newsGET /api/news/bond- Bond market newsGET /api/news/etf- ETF market newsGET /api/news/economic- Economic newsGET /api/news/index- Index newsGET /api/news/{newsId}- Get news details
Leaderboard - Leaderboard
Get market leaderboard data including gainers, losers, and most active rankings.
/api/leaderboard/stocks Get stock leaderboard ranking data. Requires market_code parameter.
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
tab | string | ✓ | Tab ID (e.g., gainers, losers, all-stocks) | |
market_code | string | ✓ | Market code (e.g., america, china, japan) | |
columnset | string | overview | Column set name | |
start | integer | 0 | Pagination start index | |
count | integer | 20 | Number of results (max 150) | |
lang | string | en | Language code |
Request Examples
curl --request GET \
--url 'https://tradingview-data1.p.rapidapi.com/api/leaderboard/stocks?tab=gainers&market_code=america&count=10' \
--header 'x-rapidapi-host: tradingview-data1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' const params = new URLSearchParams({ tab: 'gainers', market_code: 'america', count: '10' });
const response = await fetch(`https://tradingview-data1.p.rapidapi.com/api/leaderboard/stocks?${params}`, {
method: 'GET',
headers: {
'x-rapidapi-host': 'tradingview-data1.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY'
}
});
const data = await response.json();
console.log(data); import requests
url = "https://tradingview-data1.p.rapidapi.com/api/leaderboard/stocks"
params = {"tab": "gainers", "market_code": "america", "count": 10}
headers = {
"x-rapidapi-host": "tradingview-data1.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY"
}
response = requests.get(url, params=params, headers=headers)
print(response.json()) Response Examples
{
"success": true,
"data": {
"data": [
{ "s": "NASDAQ:AAPL", "d": [228.45, 5.72, 52341567] }
],
"totalCount": 50
}
} Other Leaderboard Endpoints
GET /api/leaderboard/crypto- Cryptocurrency LeaderboardGET /api/leaderboard/forex- Forex LeaderboardGET /api/leaderboard/futures- Futures LeaderboardGET /api/leaderboard/indices- Indices LeaderboardGET /api/leaderboard/bonds- Bonds LeaderboardGET /api/leaderboard/corporate-bonds- Corporate Bonds LeaderboardGET /api/leaderboard/etfs- ETF LeaderboardGET /api/leaderboard/data- Get leaderboard data by config ID (Legacy)
Calendar - Financial Calendar
Get economic calendar, earnings calendar, dividends calendar, and IPO calendar data.
/api/calendar/economic Get economic calendar events for specified time range and countries
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
from | integer | ✓ | Start time (Unix timestamp in seconds). Time span must not exceed 40 days | |
to | integer | ✓ | End time (Unix timestamp in seconds). Time span must not exceed 40 days | |
market | string | america | Market code(s), comma-separated (e.g., america,china). Internally converted to country codes |
Request Examples
curl --request GET \
--url 'https://tradingview-data1.p.rapidapi.com/api/calendar/economic?from=1738368000&to=1738972800' \
--header 'x-rapidapi-host: tradingview-data1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' const params = new URLSearchParams({ from: '1738368000', to: '1738972800' });
const response = await fetch(`https://tradingview-data1.p.rapidapi.com/api/calendar/economic?${params}`, {
method: 'GET',
headers: {
'x-rapidapi-host': 'tradingview-data1.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY'
}
});
const data = await response.json();
console.log(data); import requests
url = "https://tradingview-data1.p.rapidapi.com/api/calendar/economic"
params = {"from": 1738368000, "to": 1738972800}
headers = {
"x-rapidapi-host": "tradingview-data1.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY"
}
response = requests.get(url, params=params, headers=headers)
print(response.json()) Response Examples
{
"success": true,
"data": {
"events": [
{ "date": "2026-02-01", "country": "US", "event": "GDP Growth Rate", "importance": "high", "actual": "2.9%", "forecast": "2.8%" }
],
"total": 50
}
} Other Calendar Endpoints
GET /api/calendar/earnings- Earnings CalendarGET /api/calendar/revenue- Dividends CalendarGET /api/calendar/ipo- IPO Calendar
Metadata - Metadata
Get API configuration metadata and reference data.
/api/metadata/languages Get list of all supported languages with code and name
Request Examples
curl --request GET \
--url 'https://tradingview-data1.p.rapidapi.com/api/metadata/languages' \
--header 'x-rapidapi-host: tradingview-data1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' const response = await fetch('https://tradingview-data1.p.rapidapi.com/api/metadata/languages', {
method: 'GET',
headers: {
'x-rapidapi-host': 'tradingview-data1.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY'
}
});
const data = await response.json();
console.log(data); import requests
url = "https://tradingview-data1.p.rapidapi.com/api/metadata/languages"
headers = {
"x-rapidapi-host": "tradingview-data1.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY"
}
response = requests.get(url, headers=headers)
print(response.json()) Response Examples
{
"success": true,
"data": {
"languages": [
{ "code": "en", "name": "English" },
{ "code": "zh", "name": "Chinese" },
{ "code": "ja", "name": "Japanese" }
]
}
} Metadata Endpoints
GET /api/metadata/markets- Get all available market codesGET /api/metadata/tabs- Get all available tab configurationsGET /api/metadata/columnsets- Get column set metadata by asset typeGET /api/metadata/languages- Get supported language listGET /api/metadata/exchanges- Get all available exchanges list
Logo - Logo Proxy
Get TradingView symbol logo images.
/logo/{path} Get TradingView logo images from Cloudflare Worker service (tv-logo.tradingviewapi.com)
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
path | string | ✓ | Logo file path (e.g., apple.svg or crypto/XTVCMIDLE--big.svg) |
Request Examples
curl --request GET \
--url 'https://tradingview-data1.p.rapidapi.com/logo/country/US.svg' \
--header 'x-rapidapi-host: tradingview-data1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' // Use directly as image src:
//
const response = await fetch('https://tradingview-data1.p.rapidapi.com/logo/country/US.svg', {
method: 'GET',
headers: {
'x-rapidapi-host': 'tradingview-data1.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY'
}
});
const blob = await response.blob();
const imgUrl = URL.createObjectURL(blob); import requests
url = "https://tradingview-data1.p.rapidapi.com/logo/country/US.svg"
headers = {
"x-rapidapi-host": "tradingview-data1.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY"
}
response = requests.get(url, headers=headers)
with open("logo.svg", "wb") as f:
f.write(response.content) Response Examples

Ideas - Community Ideas
Get TradingView community trading ideas, opinions, and analysis from traders worldwide.
/api/ideas/hot Fetch hot/trending trading ideas from TradingView community with pagination support
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
page | integer | 1 | Page number | |
lang | string | en | Language code |
Request Examples
curl --request GET \
--url 'https://tradingview-data1.p.rapidapi.com/api/ideas/hot?page=1&lang=en' \
--header 'x-rapidapi-host: tradingview-data1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' const params = new URLSearchParams({ page: '1', lang: 'en' });
const response = await fetch(`https://tradingview-data1.p.rapidapi.com/api/ideas/hot?${params}`, {
method: 'GET',
headers: {
'x-rapidapi-host': 'tradingview-data1.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY'
}
});
const data = await response.json();
console.log(data); import requests
url = "https://tradingview-data1.p.rapidapi.com/api/ideas/hot"
params = {"page": 1, "lang": "en"}
headers = {
"x-rapidapi-host": "tradingview-data1.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY"
}
response = requests.get(url, params=params, headers=headers)
print(response.json()) Response Examples
{
"success": true,
"data": {
"ideas": [
{
"id": "abc123",
"title": "Bitcoin Bullish Pattern",
"author": "trader_pro",
"symbol": "BINANCE:BTCUSDT",
"image_url": "LfKFTY2N",
"published": 1704067200
}
]
}
} /api/ideas/editors-picks Fetch editor-recommended trading ideas from TradingView with pagination support
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
page | integer | 1 | Page number | |
lang | string | en | Language code |
Request Examples
curl --request GET \
--url 'https://tradingview-data1.p.rapidapi.com/api/ideas/editors-picks?page=1&lang=en' \
--header 'x-rapidapi-host: tradingview-data1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' const params = new URLSearchParams({ page: '1', lang: 'en' });
const response = await fetch(`https://tradingview-data1.p.rapidapi.com/api/ideas/editors-picks?${params}`, {
method: 'GET',
headers: {
'x-rapidapi-host': 'tradingview-data1.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY'
}
});
const data = await response.json();
console.log(data); import requests
url = "https://tradingview-data1.p.rapidapi.com/api/ideas/editors-picks"
params = {"page": 1, "lang": "en"}
headers = {
"x-rapidapi-host": "tradingview-data1.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY"
}
response = requests.get(url, params=params, headers=headers)
print(response.json()) Response Examples
{
"success": true,
"data": {
"ideas": [
{
"id": "xyz789",
"title": "S&P 500 Technical Analysis",
"author": "market_expert",
"symbol": "SP:SPX",
"image_url": "MnPqRs3T"
}
]
}
} /api/ideas/{symbol}/minds Fetch community minds/opinions for a specific trading symbol
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | ✓ | Trading symbol (format: EXCHANGE:SYMBOL) |
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
lang | string | en | Language code |
Request Examples
curl --request GET \
--url 'https://tradingview-data1.p.rapidapi.com/api/ideas/NASDAQ:AAPL/minds?lang=en' \
--header 'x-rapidapi-host: tradingview-data1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' const symbol = 'NASDAQ:AAPL';
const params = new URLSearchParams({ lang: 'en' });
const response = await fetch(`https://tradingview-data1.p.rapidapi.com/api/ideas/${symbol}/minds?${params}`, {
method: 'GET',
headers: {
'x-rapidapi-host': 'tradingview-data1.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY'
}
});
const data = await response.json();
console.log(data); import requests
symbol = "NASDAQ:AAPL"
url = f"https://tradingview-data1.p.rapidapi.com/api/ideas/{symbol}/minds"
params = {"lang": "en"}
headers = {
"x-rapidapi-host": "tradingview-data1.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY"
}
response = requests.get(url, params=params, headers=headers)
print(response.json()) Response Examples
{
"success": true,
"data": {
"bullish": 65,
"bearish": 20,
"neutral": 15,
"total": 100
}
} /api/ideas/list/{symbol} Fetch trading ideas filtered by specific symbol with pagination
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | ✓ | Trading symbol (format: EXCHANGE:SYMBOL) |
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
page | integer | 1 | Page number | |
per_page | integer | 20 | Items per page | |
lang | string | en | Language code |
Request Examples
curl --request GET \
--url 'https://tradingview-data1.p.rapidapi.com/api/ideas/list/NASDAQ:AAPL?page=1&per_page=20&lang=en' \
--header 'x-rapidapi-host: tradingview-data1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' const symbol = 'NASDAQ:AAPL';
const params = new URLSearchParams({ page: '1', per_page: '20', lang: 'en' });
const response = await fetch(`https://tradingview-data1.p.rapidapi.com/api/ideas/list/${symbol}?${params}`, {
method: 'GET',
headers: {
'x-rapidapi-host': 'tradingview-data1.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY'
}
});
const data = await response.json();
console.log(data); import requests
symbol = "NASDAQ:AAPL"
url = f"https://tradingview-data1.p.rapidapi.com/api/ideas/list/{symbol}"
params = {"page": 1, "per_page": 20, "lang": "en"}
headers = {
"x-rapidapi-host": "tradingview-data1.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY"
}
response = requests.get(url, params=params, headers=headers)
print(response.json()) Response Examples
{
"success": true,
"data": {
"ideas": [
{
"id": "def456",
"title": "Apple Stock Analysis",
"author": "tech_analyst",
"image_url": "AbCdEf1G"
}
],
"total": 150
}
} /api/ideas/{imageUrl} Fetch detailed content of a specific trading idea by image URL
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
imageUrl | string | ✓ | Idea image URL |
Request Examples
curl --request GET \
--url 'https://tradingview-data1.p.rapidapi.com/api/ideas/LfKFTY2N' \
--header 'x-rapidapi-host: tradingview-data1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' const imageUrl = 'LfKFTY2N';
const response = await fetch(`https://tradingview-data1.p.rapidapi.com/api/ideas/${imageUrl}`, {
method: 'GET',
headers: {
'x-rapidapi-host': 'tradingview-data1.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY'
}
});
const data = await response.json();
console.log(data); import requests
image_url = "LfKFTY2N"
url = f"https://tradingview-data1.p.rapidapi.com/api/ideas/{image_url}"
headers = {
"x-rapidapi-host": "tradingview-data1.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY"
}
response = requests.get(url, headers=headers)
print(response.json()) Response Examples
{
"success": true,
"data": {
"id": "LfKFTY2N",
"title": "Bitcoin Bullish Pattern",
"content": "Detailed analysis content...",
"author": "trader_pro",
"symbol": "BINANCE:BTCUSDT",
"published": 1704067200
}
} Market Data - Market Data
Get comprehensive market data including company information, financials, analyst recommendations, and more.
/api/market-data/{symbol} Fetch all categorized market data including company info, financials, indicators, analyst recommendations, enterprise value, credit ratings, and cash flow data.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | ✓ | Trading symbol (format: EXCHANGE:SYMBOL) |
Request Examples
curl --request GET \
--url 'https://tradingview-data1.p.rapidapi.com/api/market-data/NASDAQ:AAPL' \
--header 'x-rapidapi-host: tradingview-data1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' const symbol = 'NASDAQ:AAPL';
const response = await fetch(`https://tradingview-data1.p.rapidapi.com/api/market-data/${symbol}`, {
method: 'GET',
headers: {
'x-rapidapi-host': 'tradingview-data1.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY'
}
});
const data = await response.json();
console.log(data); import requests
symbol = "NASDAQ:AAPL"
url = f"https://tradingview-data1.p.rapidapi.com/api/market-data/{symbol}"
headers = {
"x-rapidapi-host": "tradingview-data1.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY"
}
response = requests.get(url, headers=headers)
print(response.json()) Response Examples
{
"success": true,
"data": {
"symbol": "NASDAQ:AAPL",
"company": { "name": "Apple Inc", "sector": "Technology" },
"indicators": { "price_earnings_ttm": 28.5, "market_cap_basic": 3500000000000 },
"financials_quarterly": { "total_revenue_fq": 119575000000 }
}
} /api/market-data/{symbol}/company Get company name, industry, country, exchange and other basic information
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | ✓ | Trading symbol (format: EXCHANGE:SYMBOL) |
Request Examples
curl --request GET \
--url 'https://tradingview-data1.p.rapidapi.com/api/market-data/NASDAQ:AAPL/company' \
--header 'x-rapidapi-host: tradingview-data1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' const symbol = 'NASDAQ:AAPL';
const response = await fetch(`https://tradingview-data1.p.rapidapi.com/api/market-data/${symbol}/company`, {
method: 'GET',
headers: {
'x-rapidapi-host': 'tradingview-data1.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY'
}
});
const data = await response.json();
console.log(data); import requests
symbol = "NASDAQ:AAPL"
url = f"https://tradingview-data1.p.rapidapi.com/api/market-data/{symbol}/company"
headers = {
"x-rapidapi-host": "tradingview-data1.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY"
}
response = requests.get(url, headers=headers)
print(response.json()) Response Examples
{
"success": true,
"data": {
"symbol": "NASDAQ:AAPL",
"company": {
"name": "Apple Inc",
"description": "Apple Inc",
"sector": "Technology",
"industry": "Consumer Electronics",
"country": "US",
"exchange": "NASDAQ"
}
}
} /api/market-data/{symbol}/analyst-recommendations Get analyst buy/hold/sell recommendations, price targets and other analyst rating data
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | ✓ | Trading symbol (format: EXCHANGE:SYMBOL) |
Request Examples
curl --request GET \
--url 'https://tradingview-data1.p.rapidapi.com/api/market-data/NASDAQ:AAPL/analyst-recommendations' \
--header 'x-rapidapi-host: tradingview-data1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' const symbol = 'NASDAQ:AAPL';
const response = await fetch(`https://tradingview-data1.p.rapidapi.com/api/market-data/${symbol}/analyst-recommendations`, {
method: 'GET',
headers: {
'x-rapidapi-host': 'tradingview-data1.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY'
}
});
const data = await response.json();
console.log(data); import requests
symbol = "NASDAQ:AAPL"
url = f"https://tradingview-data1.p.rapidapi.com/api/market-data/{symbol}/analyst-recommendations"
headers = {
"x-rapidapi-host": "tradingview-data1.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY"
}
response = requests.get(url, headers=headers)
print(response.json()) Response Examples
{
"success": true,
"data": {
"symbol": "NASDAQ:AAPL",
"analyst_recommendations": {
"recommendation_total_buy": 25,
"recommendation_total_hold": 8,
"recommendation_total_sell": 2,
"price_target_average": 245.50
}
}
} /api/market-data/{symbol}/cash-flow Get operating, investing, financing activities cash flow and other cash flow statement data
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | ✓ | Trading symbol (format: EXCHANGE:SYMBOL) |
Request Examples
curl --request GET \
--url 'https://tradingview-data1.p.rapidapi.com/api/market-data/NASDAQ:AAPL/cash-flow' \
--header 'x-rapidapi-host: tradingview-data1.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' const symbol = 'NASDAQ:AAPL';
const response = await fetch(`https://tradingview-data1.p.rapidapi.com/api/market-data/${symbol}/cash-flow`, {
method: 'GET',
headers: {
'x-rapidapi-host': 'tradingview-data1.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY'
}
});
const data = await response.json();
console.log(data); import requests
symbol = "NASDAQ:AAPL"
url = f"https://tradingview-data1.p.rapidapi.com/api/market-data/{symbol}/cash-flow"
headers = {
"x-rapidapi-host": "tradingview-data1.p.rapidapi.com",
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY"
}
response = requests.get(url, headers=headers)
print(response.json()) Response Examples
{
"success": true,
"data": {
"symbol": "NASDAQ:AAPL",
"cash_flow": {
"cash_f_operating_activities_fq": 34545000000,
"cash_f_investing_activities_fq": -2156000000,
"cash_f_financing_activities_fq": -24789000000
}
}
} Other Market Data Endpoints
GET /api/market-data/{symbol}/ipo- IPO InformationGET /api/market-data/{symbol}/indicators- Technical IndicatorsGET /api/market-data/{symbol}/ttm- TTM DataGET /api/market-data/{symbol}/current- Current Financial MetricsGET /api/market-data/{symbol}/financials-quarterly- Quarterly FinancialsGET /api/market-data/{symbol}/financials-annual- Annual FinancialsGET /api/market-data/{symbol}/history-quarterly- Quarterly HistoryGET /api/market-data/{symbol}/history-annual- Annual HistoryGET /api/market-data/{symbol}/dividend- Dividend DataGET /api/market-data/{symbol}/enterprise-value- Enterprise ValueGET /api/market-data/{symbol}/credit-ratings- Credit Ratings