mrkeyoor.com_
Mon 14 Sept 15:46 UTC
Dataevaluationupdated 14 Sept 2026

TradingView-API review

TradingView-API is an independent Node.js client for reading TradingView market prices, chart periods, indicators, drawings, and replay data. It gives JavaScript programs access to chart sessions and studies that developers otherwise use through TradingView's website.

Verdict

Our TradingView-API run passed 50 of 66 tests in 20 seconds, but npm audit found 17 vulnerabilities, including 1 critical and 12 high, so it belongs in an isolated research or alerting service before it belongs near money. Use it when TradingView-specific indicators or replay data justify watching an unofficial WebSocket client for breakage. Choose an official data vendor or exchange API when availability, licensing, authentication, and support need contractual answers.

We ran it

Lab card: what happened when we ran TradingView-APIScreenshot of TradingView-API (github.com/Mathieu2301/TradingView-API)
Install✓ · 17s310 packages · 81 MB
Buildn/ano build script
Tests✓ · 20s50 passed · 0 failed · 16 skipped of 66 (vitest)
Known vulns171 critical · 12 high · 2 moderate · 2 low (npm audit)
Repo54 files~5,144 lines of source · 0.4 MB · 1 CI workflows · tests dir

Answers from our run

Does TradingView-API build from source?

Dependencies installed in 17 seconds (310 packages), and the project has no separate build step. We cloned commit 5baea86 into a clean Debian container with 3 CPUs and no project-specific setup.

Do TradingView-API's tests pass?

Yes: 50 of 66 passed when we ran the project's own test command (vitest). Some failures need services or credentials a bare container does not have.

Does TradingView-API have known vulnerabilities in its dependencies?

npm audit flagged 17 known advisories in the dependency tree, including 1 critical at the time of our run.

Who should not use TradingView-API?

Security-sensitive deployments that cannot accept 17 known dependency vulnerabilities: our npm audit found 1 critical and 12 high-severity advisories.

What are the alternatives to TradingView-API?

TradingView Screener, yfinance, CCXT. Our TradingView-API run passed 50 of 66 tests in 20 seconds, but npm audit found 17 vulnerabilities, including 1 critical and 12 high, so it belongs in an isolated research or alerting service before it belongs near money.

Setup4/517-second install; authenticated features need session cookies
Docs2/5Examples help, but the docs page is one sentence
Community3/54,789 stars and recent PRs, with 101 issues and PRs open
Maturity2/5Tests pass, but auth, WebSocket, and audit risks remain

Who it’s for

Node.js developers who want TradingView chart or indicator data and can monitor an unofficial WebSocket integration.
Researchers testing many indicator settings or collecting replay periods for analysis.
Alerting projects that need live chart updates but do not place brokerage orders through this package.
TradingView subscribers willing to manage the 2 session cookies needed by authenticated examples.

Who it’s NOT for

Security-sensitive deployments that cannot accept 17 known dependency vulnerabilities: our npm audit found 1 critical and 12 high-severity advisories.
Teams that require an official, contracted market-data API: this package follows TradingView's web behavior, and issue 312 reports a WebSocket connection timeout after that service changed.
Applications that need unattended username-and-password login: issue 202 shows TradingView returning a CAPTCHA challenge, while issue 222 reports rejected session and signature cookies.
Developers expecting a full written API manual: docs/DOCS.md contains one sentence and directs readers back to JSDoc, leaving the examples and source to explain use.
Order-execution systems seeking a broker adapter: the documented surface reads markets, charts, studies, drawings, and replay data rather than submitting trades.

Setup reality

Our sandbox installed 310 npm packages in 17 seconds and used 81 MB. There was no build script, so build was skipped. Vitest finished in 20 seconds with 50 passed, 0 failed, and 16 skipped out of 66. npm audit reported 17 known vulnerabilities: 1 critical, 12 high, 2 moderate, and 2 low.

Public chart examples create a client without credentials. Authenticated indicators, real replay mode, drawings, and user functions can require a TradingView sessionid and signature, stored as SESSION and SIGNATURE. The included login example accepts a username and password, but an open issue documents CAPTCHA blocking.

The package declares Node 14 or newer and has no build step. Its value depends on a remote WebSocket behavior outside the maintainer's control, so timeouts, cookie expiry, and service changes need explicit error handling. The repository has 1 CI workflow and a tests directory, but no Dockerfile.

Version 3.5.2 reads charts, studies, and replay sessions

TradingView-API connects a Node.js program to TradingView chart and quote sessions. The package exposes clients for charts, built-in and Pine indicators, drawing retrieval, market search, technical analysis, and replay. Its examples show live updates for a symbol, switching markets and timeframes, attaching studies, and stepping through historical periods. That is useful when a strategy depends on a TradingView study rather than a calculation already available in a general market-data library.

The project also reaches into account-bound features. The README claims support for premium and invite-only indicators, drawings, unlimited simultaneous indicators, and date ranges. Example code passes a sessionid token and signature cookie into the client. Version 3.5.2 added search pagination and handling for unexpected HTTP errors such as 429 responses. These are practical capabilities, yet each one depends on behavior controlled by TradingView rather than a stable interface described by this repository.

Two cookies separate public charts from authenticated features

A public chart is short to start: create a client, open a chart session, set a market such as BINANCE:BTCEUR, and listen for updates. Market and indicator search functions also have small examples. Authenticated paths use 2 values named SESSION and SIGNATURE in the sample environment file. Developers must decide how to obtain, store, rotate, and revoke those account cookies without leaking them into logs or source control.

The included login example accepts a TradingView username and password and returns session values. Open issue 202 shows why that is a weak automation boundary: TradingView returned a request to complete a CAPTCHA, even with valid credentials. Issue 222 reports cookies being rejected as wrong or expired. A service built on this client should expect authentication to stop working and should fail closed, notify an operator, and keep trading credentials separate from the data reader.

What happened when we ran it

Our sandbox installed 310 npm packages in 17 seconds and occupied 81 MB. The repository at commit 5baea86 contained 54 files, roughly 5,144 lines of source, and 0.4 MB checked out. There was no build script or target, so the harness skipped that step. The scan found 1 CI workflow, a tests directory, and no Dockerfile.

Vitest completed in 20 seconds: 50 tests passed, none failed, and 16 were skipped out of 66. That is a useful result because the suite reaches chart, indicator, quote-session, replay, search, and authentication-related code. The skipped 16 cases still leave part of the claimed surface unproved by this run. We also did not measure quote latency, data accuracy, reconnect behavior, or request limits, so the test result should not be read as a market-data service guarantee.

The dependency audit found 17 known vulnerabilities

The same npm install produced 17 audit findings: 1 critical, 12 high, 2 moderate, and 2 low. Those numbers are the clearest reason to keep the package out of a privileged process until the dependency tree has been reviewed and remediated. A passing 50-test subset cannot answer whether a published advisory is exploitable in a particular deployment. Pin the lockfile, inspect each advisory, and expose only the narrow data output the rest of the application needs.

Remote behavior adds another failure class. Issue 312 reports a 60,000 ms WebSocket connection timeout, while issue 236 describes a session freezing after 30 pings without an error event. The reports do not establish one shared cause, and the latter is older. They still show the cases an operator should simulate: connection refusal, silent stalls, service throttling, expired cookies, and partial updates. Put a watchdog around the feed and reject stale timestamps before an alert or strategy consumes them.

One sentence of docs leaves the examples carrying the API

The README gives installation, a feature checklist, and links to the examples. docs/DOCS.md contains only the sentence that the project is JSDoc-ed. There are 15 example files covering charts, indicators, drawings, replay, search, login, custom timeframes, and error handling, which is better than a blank repository. Still, a buyer has to read example code and source comments to learn object lifecycles, event order, retries, limits, and the shape of returned data.

That documentation style raises the cost of upgrades. The package declares Node 14 or newer, uses CommonJS exports, and has no compilation step to catch consumer type mismatches. Issue 235 asks for a TypeScript implementation, while the current source is JavaScript. For a small internal collector, tests around your own symbols and studies can fill the gap. A shared platform needs an internal wrapper and contract tests so application code does not spread package-specific session objects everywhere.

June code activity and 101 open items show mixed health

GitHub listed 4,789 stars, 101 combined open issues and pull requests, and a last push on June 23, 2026. The latest release, v3.5.2, was published October 5, 2025. Code activity continued after that release, including June work to stabilize indicator CI tests, and open pull requests were updated in July and August 2026. The project is active, although the large queue and old unanswered bug reports weaken the support story.

TradingView-API makes sense when TradingView itself is the required data surface and a team can own the adapter. Our 17-second install and passing 50-test result make a trial cheap. The 17 audit findings, thin written manual, cookie problems, and WebSocket reports make direct use inside an execution engine a poor bet. Place it behind a small process, validate incoming timestamps and values, record disconnects, and keep an alternative feed ready for any decision that cannot wait.

Alternatives

ProjectWhat it isPick it when
TradingView ScreenerA Python package for building queries against TradingView screeners.pick this instead when filtered screener rows in Python matter more than chart sessions, studies, and replay.
yfinanceA Python downloader for Yahoo Finance market and fundamental data.pick this instead when historical price tables and company data are enough and TradingView indicators are unnecessary.
CCXT gh↗A multi-language API covering more than 100 crypto exchanges and prediction markets.pick this instead when direct exchange data and trading methods matter more than TradingView chart studies.

What people are saying

  1. [github-trending] Mathieu2301/TradingView-API

Sources

  1. TradingView-API repository and README
  2. TradingView-API v3.5.2 release
  3. TradingView-API package manifest
  4. Issue 202: login CAPTCHA failure
  5. Issue 312: WebSocket connection timeout
  6. Issue 236: connection freezes after 30 pings

More data reviews

os-taxonomy · Lean · bokeh · orm · datahub · open-source-games · the whole board →