TradingView Data Integration API

The Data Integration API from TradingView — 4 operation(s) for data integration.

Operations 4

GET /groups Groups #
GET /symbol_info Symbol Info #
GET /history History #
GET /streaming Stream of prices #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tradingview:tradingview-data-integration-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

tradingview-data-integration-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.21.0
  title: TradingView REST API Specification for Brokers Data…
  description: '## Overview

    This API is to be implemented by the Brokers in order to connect their backend systems to TradingView, that acts as a frontend. Check the info page for more info and use the contact form there if you have any questions. ### Types of requests

    There are two types of requests — client and server. Client requests are executed at the browser. Server requests are initiated from the TradingView servers. If your integration does not imply brokerage data stream connection to the TradingView website -

    then there won''t be any server requests. #### Clients requests

    The two possible ways of sending updates to the client''s side are either done by making use of client regularly polling endpoints,

    or by opening a streaming connection and pushing updates. ##### HTTP requests

    From the browser TradingView requests the info (list of orders and positions, balance info, etc.) from the broker’s server. The requests are sent periodically and the intervals can be set by using the /config endpoint. After that, TradingView compares the new data with the previous answer and calculates the difference. If the status of the order/position changes or new data appears - the user will see a notification and the changes

    will display in the Account manager on the website. Requests to the endpoints for placing/modifying orders, positions closing, etc. occur only after actions made by the user. The /quotes endpoint retrieves the current bid/ask from the broker. The /depth endpoint retrieves Level 2 market data. ##### HTTP streaming

    If the integration uses HTTP streaming endpoints, the connections to them are established once at the start of a session. The http-streaming consists of messages separated with line breaks. The content of the messages must be in Compact JSON format, i.e. should not contain any line breaks, except a line break at the very end

    which will act as a message separator. There are four types of messages:

    - Entities snapshot

    - Entities updates

    - Ping

    - Error


    Please refer to the streaming endpoints for more details. #### Server requests

    In case if a Broker provides any Forex or CFD trading access for its clients it will require connection

    of its own market data at TradingView. In order to make it possible, you will need to implement the following endpoints -

    /symbol_info, /history and /streaming. Data requests are sent from different TradingView servers. Usually, at least 4 servers are used. The historical data is cached on TradingView servers and loaded to the client browser from our servers. ### Restricting access to data

    By default, the broker symbols will be available in the symbol search at TradingView and all the community

    will have access to your data streams without any limitation. In order to limit the access to your data streams

    please use the following endpoints - /groups and /permissions. You can find more information about restricting access to the data in the description of these endpoints. ### Change log

    1.21.0 Added time window and cursor pagination to the /executions and /ordersHistory endpoints. Added new `startTime`, `endTime` and `cursor` query parameters and a new `nextPageCursor` field to the responses. The `maxCount` parameter limits the page size. The `instrument` parameter of the /executions endpoint is no longer required. Added new `invalid_cursor` error type. 1.20.0 Added new `grossPnl`, `netPnl`, `swap` and `conversion` fields to Execution in the /getExecutions endpoint''s response. 1.19.0 Added support for unpaired exit levels. Added new flag: `supportUnpairedExitLevels`. 1.18.0 Added a new `digitalSignature` field to the /modifyPosition and /modifyIndividualPosition endpoints. 1.17.0 Added new typespecs `algorithmic`. 1.16.0 Added OAuth 2.0 JWT Authorization. 1.15.0 Added new `option` type and new fields specific to options: `lotsize`, `option-product`, `option-type`, `option-style`, `strike`, `underlying-symbol` to the /symbol_info endpoint.'
servers:
- url: https://your-rest-implementation.com/api
  description: Your REST API implementation url. Change it to your real REST API url.
tags:


# --- truncated at 32 KB (59 KB total) ---
# Full source: https://artifacts.apis.io/tradingview/openapi/tradingview-data-integration-api-openapi.yml