Technicals (Technical Indicators)
Overview
Fetch technical analysis indicator values (RSI, MACD, EMA, Stochastic, etc.) for any symbol on any supported exchange via the TradingView scanner API.
Import
Constructor
| Parameter | Type | Default | Description |
|---|---|---|---|
export_result |
bool |
False |
Whether to export results to file. |
export_type |
str |
"json" |
Export format: "json" or "csv". |
timeout |
int |
10 |
HTTP request timeout in seconds. |
get_technicals() Method
get_technicals(
exchange: str = "BITSTAMP",
symbol: str = "BTCUSD",
timeframe: str = "1d",
technical_indicators: Optional[List[str]] = None,
all_indicators: bool = False,
fields: Optional[List[str]] = None,
) -> Dict[str, Any]
| Parameter | Type | Default | Description |
|---|---|---|---|
exchange |
str |
"BITSTAMP" |
Valid exchange name (e.g. "BINANCE", "COINBASE"). |
symbol |
str |
"BTCUSD" |
Trading symbol. |
timeframe |
str |
"1d" |
Timeframe: "1m", "5m", "1h", "4h", "1d", "1w", etc. |
technical_indicators |
Optional[List[str]] |
None |
Specific indicator names to fetch (e.g. ["RSI", "MACD.macd"]). |
all_indicators |
bool |
False |
If True, fetches all known indicators. |
fields |
Optional[List[str]] |
None |
Filter output to include only these indicator names. |
Constraints
- Exchange must be a valid exchange from Supported Exchanges.
- Timeframe must be one of the supported timeframes.
- Indicators must be valid indicator names. Use
all_indicators=Trueto fetch all. - If
all_indicatorsisFalse,technical_indicatorsmust be provided.
Response Format
All responses follow the standard envelope format:
Success
{
"status": "success",
"data": {
"RSI": 54.21,
"Recommend.All": 0.15,
"CCI20": 112.45,
"Stoch.K": 78.50,
"EMA20": 42150.25,
"MACD.macd": 150.12,
"MACD.signal": 120.45
...
(other indicators)
},
"metadata": {
"exchange": "BINANCE",
"symbol": "BTCUSD",
"timeframe": "1d"
},
"error": null
}
Error
{
"status": "failed",
"data": None,
"metadata": {},
"error": "Invalid exchange: 'INVALID'. Did you mean one of: ..."
}
Errors are never raised — they are always returned as error responses.
Usage Examples
Specific Indicators
from tv_scraper.scrapers.market_data import Technicals
scraper = Technicals()
data = scraper.get_technicals(
exchange="BINANCE",
symbol="BTCUSDT",
timeframe="4h",
technical_indicators=["RSI", "EMA50", "MACD.macd"],
)
print(data["data"])
# {"RSI": 58.4, "EMA50": 42000.0, "MACD.macd": 150.5}
All Indicators
full = scraper.get_technicals(
exchange="COINBASE",
symbol="ETHUSD",
timeframe="1d",
all_indicators=True,
)
print(len(full["data"])) # All available indicators
With Export
scraper = Technicals(export_result=True, export_type="csv")
data = scraper.get_technicals(
exchange="BINANCE",
symbol="BTCUSD",
technical_indicators=["RSI", "Stoch.K"],
)
# Results are saved to export/ directory automatically