tradingview watchlist to excel 2025 Guide

Author: Jameson Richman Expert

Published On: 2025-10-29

Prepared by Jameson Richman and our team of experts with over a decade of experience in cryptocurrency and digital asset analysis. Learn more about us.

Quick summary: This article shows practical, step-by-step ways to export a TradingView watchlist to Excel — from a one-click browser-console CSV trick to automated Python/Selenium scripts and Google Sheets integrations. You’ll learn low-code and programmatic methods, how to enrich your exported list with live prices, volume and other columns, and best practices for scheduling, security, and Excel-ready formatting. If you trade crypto, stocks or forex, these methods will help you turn TradingView watchlists into working Excel dashboards in 2025.


Why export a TradingView watchlist to Excel?

Why export a TradingView watchlist to Excel?

Many traders and analysts prefer Excel for advanced filtering, custom alerts, model building and portfolio reporting. TradingView has an excellent UI for research and watchlists, but it doesn’t provide a direct “Export watchlist to Excel” button. Converting a TradingView watchlist to an Excel-ready CSV/XLSX lets you:

  • Create custom dashboards and scans
  • Combine watchlists with external data sources (API price feeds, fundamental data)
  • Keep historical snapshots and perform batch calculations
  • Feed your trading signals into automation pipelines

Overview of methods (pick one)

  1. Quick browser-console CSV export (no tools) — best for one-off exports
  2. Google Sheets + TradingView Alerts/Zapier — real-time integration without code
  3. Python + Selenium or Playwright — automated scheduled exports to Excel
  4. API-based enrichment (Binance, exchanges, market data) — add prices, volumes
  5. Third-party connectors / paid tools — if you prefer GUI integrations

Method 1 — Fast: Browser console script to produce a CSV

This is the quickest way to export your TradingView watchlist to a CSV that Excel can open. Open TradingView, make sure your watchlist panel is visible and contains the symbols you want, then open your browser console (Chrome: Ctrl+Shift+J / Cmd+Option+J). Paste and run the script below. It collects visible symbol nodes and produces a downloadable CSV.

Script to paste into the browser console:

(function(){
  // Run while the watchlist panel is visible on TradingView
  const nodes = Array.from(document.querySelectorAll('[data-symbol], .tv-symbol'));
  const seen = new Set();
  const items = nodes.map(el => {
    const symbol = el.getAttribute('data-symbol') || el.textContent.trim();
    const nameEl = el.querySelector('.tv-widget-watchlist__symbol-name, .tv-symbol__name, .tv-symbol-info__name') || null;
    const name = nameEl ? nameEl.textContent.trim() : '';
    return { symbol, name };
  }).filter(i => i.symbol).filter(i => { if(seen.has(i.symbol)) return false; seen.add(i.symbol); return true; });

  if(!items.length){
    alert('No watchlist symbols found. Make sure the watchlist is visible and symbols are loaded.');
    return;
  }
  const csv = ['Symbol,Name'].concat(items.map(i => `"${i.symbol.replace(/"/g,'""')}","${i.name.replace(/"/g,'""')}"`)).join('\n');
  const blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' });
  const url = URL.createObjectURL(blob);
  const a = document.createElement('a');
  a.href = url;
  a.download = 'tradingview_watchlist.csv';
  document.body.appendChild(a);
  a.click();
  a.remove();
  URL.revokeObjectURL(url);
  console.log('Downloaded tradingview_watchlist.csv with', items.length, 'symbols.');
})();

Open the downloaded CSV in Excel (File → Open) and use the Text Import Wizard if needed. Convert the range to an Excel table (Insert → Table) for easy filtering and formulas.

Notes and limitations

  • This reads DOM elements visible in the watchlist view. If your watchlist uses lazy loading or paging, scroll the list to load everything before running the script.
  • Class names on TradingView can change; the script uses multiple selectors to improve reliability. If it doesn’t find symbols, try inspecting the watchlist elements and adapt the selector.

Method 2 — Google Sheets + Zapier or Make (no-code, near real-time)

Method 2 — Google Sheets + Zapier or Make (no-code, near real-time)

For traders who prefer cloud-native automation, you can append and update a Google Sheet whenever a TradingView alert fires (alerts support webhook payloads). Use Zapier or Make (Integromat) to receive webhooks and write rows to a Google Sheet. Then, in Excel you can use Data → Get Data → From Google Sheets (Power Query) or download as XLSX.

Typical flow:

  1. Create alerts in TradingView for symbols in your watchlist (for changes, signals, or simple periodic alerts)
  2. Configure the alert to send a webhook with JSON payload containing symbol, price, and timestamp
  3. Set up a Zapier/Make webhook to receive the payload and append a row to Google Sheets
  4. Open the sheet in Excel or link it via Power Query for scheduled refresh

This approach is especially useful if you want live price updates or to record alerts history into Excel. For details on how trading bots and automated workflows operate, review a comprehensive guide on trading automation.

Further reading on trading bots: What Do Trading Bots Do — Complete Guide.

Method 3 — Programmatic export and enrichment using Python

If you want scheduled exports and data enrichment (prices, percent change, exchange-specific tickers), use Python. The typical pipeline:

  1. Use Selenium or Playwright to log into TradingView and extract the watchlist DOM — or maintain a local CSV of symbols.
  2. Use exchange APIs (Binance, Coinbase Pro, etc.) or a market-data API to fetch latest quotes, 24h change, volume.
  3. Write the results to an Excel file using pandas (to_excel).
  4. Schedule the script with cron / Windows Task Scheduler / cloud scheduler.

Example Python (outline) using Selenium + pandas + Binance public API:

from selenium import webdriver
from selenium.webdriver.common.by import By
import pandas as pd
import requests

# 1) Start a headless browser and open TradingView
driver = webdriver.Chrome()
driver.get('https://www.tradingview.com/')

# --- user must log in if watchlist is private ---
input('Log into TradingView and open the watchlist panel, then press Enter here...')

# 2) scrape symbol elements
elements = driver.find_elements(By.CSS_SELECTOR, '[data-symbol], .tv-symbol')
symbols = []
for el in elements:
    sym = el.get_attribute('data-symbol') or el.text
    if sym and sym not in symbols:
        symbols.append(sym)
driver.quit()

# 3) fetch price data from Binance (only for symbols that exist on Binance)
rows = []
for s in symbols:
    # convert TradingView symbol to exchange symbol if necessary
    symbol = s.replace(':', '').replace('/', '')  # naive conversion; adjust per symbol format
    res = requests.get(f'https://api.binance.com/api/v3/ticker/24hr?symbol={symbol}')
    if res.status_code == 200:
        js = res.json()
        rows.append({
            'symbol': s,
            'lastPrice': js.get('lastPrice'),
            'priceChangePercent': js.get('priceChangePercent'),
            'volume': js.get('volume'),
        })
    else:
        rows.append({'symbol': s, 'lastPrice': None, 'priceChangePercent': None, 'volume': None})

df = pd.DataFrame(rows)
df.to_excel('tradingview_watchlist_enriched.xlsx', index=False)

Adjust symbol normalization and choice of exchange API. If you trade crypto and need accurate tickers, consider programmatically mapping TradingView symbols to exchange-specific tickers.

Scheduling and deployment

  • Linux: use cron to call python script; save to network drive or cloud storage
  • Windows: use Task Scheduler
  • Cloud: deploy on an AWS Lambda / EC2 / GCP VM or a low-cost VPS

Method 4 — Use TradingView data with official APIs and enrichment

TradingView doesn’t officially provide a simple “export watchlist” REST API for personal watchlists. However, you can combine these approaches:

  • Use the browser DOM approach to get the list of symbols
  • Use official exchange APIs (Binance, MEXC, Bybit, Bitget) to fetch market data for those symbols
  • Use a market-data provider (e.g., AlphaVantage, IEX Cloud, CoinGecko) for cross-reference

Popular exchange links for traders (register via referral links if you want):

Make sure API usage complies with exchange rate limits and terms of service.


How to format the exported file for Excel and analysis

How to format the exported file for Excel and analysis

Once you have a CSV or XLSX, use these best practices to make it analysis-ready:

  • Convert ranges to Excel Tables (Insert → Table). Tables support structured references and automatic filters.
  • Add calculated columns (e.g., notional value = lastPrice * shares)
  • Use conditional formatting to highlight movers (Home → Conditional Formatting)
  • Use Data → Get & Transform (Power Query) to build refreshable queries to external APIs
  • Protect sensitive files: store API keys in secure stores or environment variables if you automate scripts

Example: Enrich watchlist with last price using Excel Power Query

Instead of Python, you can use Power Query in Excel to call REST APIs for each symbol. Steps:

  1. Open your CSV in Excel (or create a table with symbol column)
  2. Data → Get Data → From Other Sources → From Web
  3. In Power Query, create a function that takes a symbol and calls a public API endpoint (e.g., CoinGecko, Binance)
  4. Invoke the function for each row to add price/volume columns
  5. Close & Load to refreshable table; set refresh schedule in Excel/Office 365 if needed

Advanced: Automating daily snapshots and historical watchlist records

Many traders keep daily snapshots of their watchlists to backtest selection rules or to audit decisions. Strategy:

  1. Schedule a Python job that extracts the watchlist and fetches the latest quotes
  2. Append the snapshot to a daily Excel or CSV archive with timestamp column
  3. Create a pivot table or Power BI model to analyze symbol frequency, performance, and correlation

Troubleshooting & common questions

Troubleshooting & common questions

Q: The console script returns no symbols / the selectors changed.

A: Inspect the watchlist DOM using Developer Tools (right-click element → Inspect). Look for unique attributes (data-symbol, data-ticker, role="row") and adapt the selector in the console script accordingly.

Q: My watchlist contains exchange prefixes (e.g., BINANCE:BTCUSDT). How to normalize?

A: Strip exchange prefixes and convert separators (/:, -) as required by your target API. Maintain a mapping table in Excel for symbol transformations, for example:

  • BINANCE:BTCUSDT → BTCUSDT (Binance API)
  • NASDAQ:AAPL → AAPL (IEX / Yahoo Finance)

Q: I want live price updates in Excel without coding. Options?

A: Use Power Query with APIs that allow multiple requests, or third-party Excel add-ins (e.g., Bloomberg Terminal, Quandl, or commercial Excel add-ins) to stream prices. For crypto, some Excel add-ins or the "Stock Data Types" may fetch price snapshots.

Security & compliance reminders

  • Never embed API keys or credentials directly into shared files. Use secure secrets storage or environment variables.
  • Respect trading platforms’ TOS and rate limits when calling APIs programmatically.
  • If you log into TradingView in automated scripts, use multi-factor authentication and rotate credentials where possible.

Related resources and deeper market reading

Want to combine exported watchlists with market analysis or advanced strategies? The following resources can help:


Best practices for 2025 and beyond

Best practices for 2025 and beyond

  • Use reproducible pipelines (version-controlled scripts, Docker containers) to ensure exports remain consistent as UIs change.
  • Prefer exchange APIs or trusted market-data providers for price/volume fields rather than scraping price text from web UIs.
  • Monitor data freshness and include timestamps in all snapshots.
  • Automate backups of historical snapshots to cloud storage for audit and research.

Final checklist before you export

  • Make sure the watchlist is fully loaded and visible in TradingView.
  • Decide whether you need only symbols or enriched market data.
  • Choose a workflow: quick console export, Google Sheets integration, or automated Python job.
  • Ensure symbol mappings and API rate limits are handled if you enrich with exchange data.
  • Test a single export manually before scheduling automation.

Exporting your TradingView watchlist to Excel unlocks custom analytics, batch processing and easier record-keeping. The method you choose depends on frequency, technical comfort, and whether you need live enrichment. For deep dives into crypto trading strategies and automation that can be connected to watchlist exports, review the linked guides above and consider combining your Excel workflows with API-driven data for the most reliable results.

If you want a ready-made, tested script (Python or browser), tell me:

  • Which platform (Windows / Linux / Mac)
  • Whether your watchlist is public or requires login
  • Which exchanges you want to enrich prices from (Binance, MEXC, Bitget, Bybit, etc.)

I can provide a complete Python + Selenium script and a Power Query function template tailored to your setup.