Chart Generator
Generate TradingView chart screenshots interactively
Configure options and click Generate
Generating...
API Keys
Manage your API keys for authentication
Your API Keys
| Name | Key | Status | Last Used | Requests | Actions |
|---|---|---|---|---|---|
| No API keys yet. Create one to get started. | |||||
Billing
Manage your subscription and billing
- 50 charts/month
- 10 requests/minute
- Standard resolution
- 1,000 charts/month
- 60 requests/minute
- HD resolution + AI mode
- $0.01/chart overage
- Unlimited charts
- 300 requests/minute
- 4K resolution
- Priority support
API Documentation
Complete reference for the TradingView Charts API
Authentication
All API requests require authentication via an API key. You can provide your key in two ways:
| Method | Example |
|---|---|
| Header (recommended) | x-api-key: your_api_key |
| Query Parameter | ?api_key=your_api_key |
curl -H "x-api-key: YOUR_API_KEY" \ "https://your-domain.run.app/v1/tradingview/advanced-chart?symbol=BINANCE:BTCUSDT"
🤖 AI Enhancement
⚠️ Breaking Change: AI enhancement is now enabled by default on all endpoints. Charts are automatically optimized for AI vision models (GPT-4V, Claude Vision, etc.). To get raw screenshots, set enhance=false.
All chart endpoints apply AI-optimized image post-processing by default to enhance clarity, contrast, and readability for vision models. The enhancement uses Sharp.js to apply histogram normalization, contrast adjustment, edge sharpening, and brightness optimization.
Enhancement Presets
| Preset | Optimized For | Description |
|---|---|---|
vision-llm DEFAULT |
GPT-4V, Claude Vision, Gemini | 1.3x contrast boost, edge enhancement, sharpening (sigma: 1.2). Best for general AI vision analysis. |
pattern-detection |
Candlestick patterns, chart formations | 1.5x contrast, 1.3x saturation, strong edge detection. Emphasizes candle patterns, support/resistance. |
technical-analysis |
Indicators, oscillators, trend lines | 1.4x contrast, 2.0x sharpening. Ultra-sharp for reading RSI, MACD crossovers, and indicator values. |
default |
General purpose | 1.2x contrast, moderate sharpening (sigma: 1.0). Balanced enhancement for mixed use cases. |
ai-trading |
SMC/ICT analysis, trading bots | 1.45x contrast, gamma correction, CLAHE local contrast, OCR optimization. Best for automated trading systems. |
machine-vision NEW |
GPT-4o, Claude 3.5, ML models | 3-layer AI optimization: Retina rendering (3x scale, 4K output), neon candles (#00FF00/#FF0000) on black, OpenCV sharpening kernel. Best for object detection & segmentation. |
minimal |
No processing | Returns raw TradingView screenshot with zero post-processing. Same as enhance=false. |
Theme-Aware Processing
Enhancement automatically adapts to chart theme:
- Dark theme: Full contrast boost (1.0x multiplier) - improves candle visibility against dark background
- Light theme: Reduced contrast boost (0.9x multiplier) - baseline contrast already high, prevents over-saturation
- Both themes: Equal sharpening and edge enhancement for crisp patterns
Performance Impact
Enhancement adds 200-400ms to response time. Total response time: 3.5-5.5s (screenshot: 3-5s + enhancement: 0.2-0.4s). Set enhance=false to disable and reduce latency.
Usage Examples
Default (auto-enhanced with vision-llm):
curl -H "x-api-key: YOUR_KEY" \ "https://your-domain.run.app/v1/tradingview/advanced-chart?\ symbol=BINANCE:BTCUSDT&interval=D" \ -o chart.png # AI enhancement applied automatically (vision-llm preset)
Pattern detection (high contrast for candlestick analysis):
curl -H "x-api-key: YOUR_KEY" \ "https://your-domain.run.app/v1/tradingview/advanced-chart?\ symbol=NASDAQ:AAPL&enhance_preset=pattern-detection&studies=BB,Volume" \ -o patterns.png
Technical analysis (ultra-sharp for indicator readings):
curl -H "x-api-key: YOUR_KEY" \ "https://your-domain.run.app/v1/tradingview/advanced-chart?\ symbol=BINANCE:BTCUSDT&enhance_preset=technical-analysis&studies=RSI,MACD" \ -o technical.png
🆕 Machine Vision (best for GPT-4o/Claude 3.5):
curl -H "x-api-key: YOUR_KEY" \ "https://your-domain.run.app/v1/tradingview/advanced-chart?\ symbol=BINANCE:BTCUSDT&enhance=true&enhance_preset=machine-vision" \ -o ai_optimized.png # Output: 3840x2160 (4K) with: # - Pure black background (#000000) # - Neon green/red candles (#00FF00/#FF0000) # - OpenCV sharpening for edge detection # - OCR-optimized axis labels
Opt-out (disable enhancement for raw screenshots):
curl -H "x-api-key: YOUR_KEY" \ "https://your-domain.run.app/v1/tradingview/advanced-chart?\ symbol=BINANCE:BTCUSDT&enhance=false" \ -o raw.png # Or use minimal preset: # &enhance_preset=minimal
Benefits for AI Analysis
| Feature | Raw (enhance=false) | vision-llm | machine-vision |
|---|---|---|---|
| Resolution | Custom | Custom | 3840×2160 (4K) |
| Candle colors | TradingView default | TradingView default | Neon #00FF00/#FF0000 |
| Background | Theme-based | Theme-based | Pure black #000000 |
| Edge sharpness | Soft | Sharp (σ=1.2) | OpenCV kernel |
| Best for | Human viewing | General AI analysis | Object detection, ML training |
💡 Tip: Use enhance_preset=machine-vision for the best GPT-4o/Claude 3.5 analysis accuracy. Use enhance=false to minimize latency if post-processing in your own pipeline.
GET /v1/tradingview/advanced-chart
Full-featured TradingView chart with indicators and customization options.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
symbol | string | BINANCE:BTCUSDT | Trading pair (e.g., NASDAQ:AAPL, FX:EURUSD) |
interval | string | D | 1, 5, 15, 30, 60, 120, 240, D, W, M |
theme | string | dark | dark, light |
style | string | 1 | Chart style: 1=Candles, 2=Line, 3=Area, 4=Bars, 5=Heikin Ashi, 6=Hollow Candles, 7=Baseline, 8=High-Low, 9=Line w/ Markers |
width | integer | 800 | Image width in pixels (100-4096) |
height | integer | 600 | Image height in pixels (100-4096) |
timezone | string | Etc/UTC | Timezone (e.g., America/New_York) |
studies | string | Comma-separated: RSI, MACD, BB, MA, EMA, VWAP, ATR, StochRSI, IchimokuCloud, Volume | |
hide_top_toolbar | string | true | Hide top toolbar (true/false) |
hide_side_toolbar | string | true | Hide side toolbar (true/false) |
hide_legend | string | true | Hide legend (true/false) |
show_grid | string | true | Show grid lines (true/false) |
scale_position | string | right | Price scale: left, right, no |
scale_mode | string | 0 | 0=Normal, 1=Percentage, 2=Indexed to 100, 3=Logarithmic |
format | string | png | Output format: png, jpeg |
enhance | boolean | true | AI enhancement ON by default. Set to false to disable. |
enhance_preset | string | vision-llm | Preset: minimal, default, vision-llm, pattern-detection, technical-analysis, ai-trading, machine-vision |
⚠️ Breaking Change: AI enhancement is now enabled by default. To get raw screenshots, set enhance=false.
Example
curl -H "x-api-key: YOUR_API_KEY" \ "https://your-domain.run.app/v1/tradingview/advanced-chart?\ symbol=BINANCE:BTCUSDT&interval=240&theme=dark&\ width=1200&height=800&studies=RSI,MACD,BB" \ -o chart.png
GET /v1/tradingview/mini-chart
Simple, compact price chart for embedding or quick views.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
symbol | string | BINANCE:BTCUSDT | Trading pair |
interval | string | 1D | Date range: 1D, 1W, 1M, 3M, 12M, 60M, ALL |
theme | string | dark | dark, light |
width | integer | 400 | Image width (100-2000) |
height | integer | 300 | Image height (100-2000) |
format | string | png | png, jpeg |
enhance | boolean | true | AI enhancement (set false to disable) |
enhance_preset | string | vision-llm | Enhancement preset |
⚠️ Breaking Change: AI enhancement is now enabled by default. To get raw screenshots, set enhance=false.
Example
curl -H "x-api-key: YOUR_API_KEY" \ "https://your-domain.run.app/v1/tradingview/mini-chart?\ symbol=NASDAQ:AAPL&interval=1M&theme=light" \ -o mini.png
GET /v1/tradingview/symbol-overview
Symbol information card with price, change percentage, and mini chart.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
symbol | string | BINANCE:BTCUSDT | Trading pair |
theme | string | dark | dark, light |
width | integer | 400 | Image width (100-2000) |
height | integer | 200 | Image height (100-2000) |
format | string | png | png, jpeg |
enhance | boolean | true | AI enhancement (set false to disable) |
enhance_preset | string | vision-llm | Enhancement preset |
⚠️ Breaking Change: AI enhancement is now enabled by default. To get raw screenshots, set enhance=false.
POST /v2/tradingview/layout-chart/:layoutId
Capture your saved TradingView chart layouts. Requires TradingView Pro session cookies.
Headers
| Header | Required | Description |
|---|---|---|
x-api-key | Yes | Your API key |
tradingview-session-id | Yes | TradingView session cookie |
tradingview-session-id-sign | Yes | TradingView session signature |
Body Parameters (JSON)
| Parameter | Type | Default | Description |
|---|---|---|---|
symbol | string | - | Override symbol (optional) |
interval | string | - | Override interval (optional) |
width | integer | 1200 | Image width |
height | integer | 800 | Image height |
format | string | png | png, jpeg |
Symbol Reference
Symbols use the format EXCHANGE:SYMBOL. Here are common examples:
| Exchange | Example Symbols |
|---|---|
| Binance | BINANCE:BTCUSDT, BINANCE:ETHUSDT, BINANCE:SOLUSDT |
| Coinbase | COINBASE:BTCUSD, COINBASE:ETHUSD |
| NASDAQ | NASDAQ:AAPL, NASDAQ:GOOGL, NASDAQ:MSFT, NASDAQ:TSLA, NASDAQ:NVDA |
| NYSE | NYSE:IBM, NYSE:KO, NYSE:DIS, NYSE:BA |
| AMEX (ETFs) | AMEX:SPY, AMEX:QQQ, AMEX:IWM, AMEX:GLD |
| Forex | FX:EURUSD, FX:GBPUSD, FX:USDJPY, FX:AUDUSD |
| Crypto Index | CRYPTOCAP:BTC.D, CRYPTOCAP:TOTAL, CRYPTOCAP:TOTAL2 |
| Futures | CME:ES1!, CME:NQ1!, CME:GC1!, NYMEX:CL1! |
| Indices | TVC:DXY, TVC:US10Y, TVC:VIX, SP:SPX |
Technical Indicators
Pass indicators as a comma-separated list in the studies parameter.
| Study | Description |
|---|---|
RSI | Relative Strength Index - momentum oscillator (0-100) |
MACD | Moving Average Convergence Divergence - trend/momentum |
BB | Bollinger Bands - volatility bands around price |
MA | Simple Moving Average |
EMA | Exponential Moving Average |
VWAP | Volume Weighted Average Price |
ATR | Average True Range - volatility indicator |
StochRSI | Stochastic RSI - momentum oscillator |
IchimokuCloud | Ichimoku Cloud - support/resistance system |
Volume | Volume bars |
?studies=RSI,MACD,BB,Volume
Code Examples
Python
import requests
API_KEY = "your_api_key"
BASE_URL = "https://your-domain.run.app"
response = requests.get(
f"{BASE_URL}/v1/tradingview/advanced-chart",
headers={"x-api-key": API_KEY},
params={
"symbol": "BINANCE:BTCUSDT",
"interval": "240",
"theme": "dark",
"studies": "RSI,MACD",
"width": 1200,
"height": 800
}
)
with open("chart.png", "wb") as f:
f.write(response.content)
JavaScript / Node.js
const fs = require('fs');
const API_KEY = 'your_api_key';
const BASE_URL = 'https://your-domain.run.app';
const params = new URLSearchParams({
symbol: 'BINANCE:BTCUSDT',
interval: '240',
theme: 'dark',
studies: 'RSI,MACD',
width: 1200,
height: 800
});
fetch(`${BASE_URL}/v1/tradingview/advanced-chart?${params}`, {
headers: { 'x-api-key': API_KEY }
})
.then(res => res.arrayBuffer())
.then(buf => fs.writeFileSync('chart.png', Buffer.from(buf)));
cURL Examples
# BTC 4-hour chart with indicators curl -H "x-api-key: YOUR_API_KEY" \ "https://your-domain.run.app/v1/tradingview/advanced-chart?\ symbol=BINANCE:BTCUSDT&interval=240&studies=RSI,MACD,BB&width=1600&height=900" \ -o btc_4h.png # Stock chart (Apple daily) curl -H "x-api-key: YOUR_API_KEY" \ "https://your-domain.run.app/v1/tradingview/advanced-chart?\ symbol=NASDAQ:AAPL&interval=D&theme=light&studies=Volume,MA" \ -o aapl.png # Forex line chart curl -H "x-api-key: YOUR_API_KEY" \ "https://your-domain.run.app/v1/tradingview/advanced-chart?\ symbol=FX:EURUSD&interval=60&style=2" \ -o eurusd.png # AI-optimized for trading automation (no grid, high contrast, OCR-optimized) curl -H "x-api-key: YOUR_API_KEY" \ "https://your-domain.run.app/v1/tradingview/advanced-chart?\ symbol=BINANCE:BTCUSDT&enhance=true&enhance_preset=ai-trading" \ -o btc_ai.png
Error Responses
| Status | Error | Description |
|---|---|---|
401 | MISSING_API_KEY | No API key provided |
403 | INVALID_API_KEY | API key is invalid or expired |
400 | Validation Error | Invalid parameter value |
429 | Rate Limit | Too many requests |
500 | Chart Generation Error | Failed to render chart |
// Example error response
{
"error": "Validation Error",
"messages": [
"\"interval\" must be one of [1, 5, 15, 30, 60, 120, 240, D, W, M]"
]
}