Twelve Data Technical Indicator API

The technical_indicator API from Twelve Data — 102 operation(s) for technical_indicator.

Operations 102

GET /ad Accumulation/distribution #
GET /add Addition #
GET /adosc Accumulation/distribution oscillator #
GET /adx Average directional index #
GET /adxr Average directional movement index rating #
GET /apo Absolute price oscillator #
GET /aroon Aroon indicator #
GET /aroonosc Aroon oscillator #
GET /atr Average true range #
GET /avg Average #
GET /avgprice Average price #
GET /bbands Bollinger bands #
GET /beta Beta indicator #
GET /bop Balance of power #
GET /cci Commodity channel index #
GET /ceil Ceiling #
GET /cmo Chande momentum oscillator #
GET /coppock Coppock curve #
GET /correl Correlation #
GET /crsi Connors relative strength index #
GET /dema Double exponential moving average #
GET /div Division #
GET /dpo Detrended price oscillator #
GET /dx Directional movement index #
GET /ema Exponential moving average #
GET /exp Exponential #
GET /floor Floor #
GET /heikinashicandles Heikinashi candles #
GET /hlc3 High, low, close average #
GET /ht_dcperiod Hilbert transform dominant cycle period #
GET /ht_dcphase Hilbert transform dominant cycle phase #
GET /ht_phasor Hilbert transform phasor components #
GET /ht_sine Hilbert transform sine wave #
GET /ht_trendline Hilbert transform instantaneous trendline #
GET /ht_trendmode Hilbert transform trend vs cycle mode #
GET /ichimoku Ichimoku cloud #
GET /kama Kaufman adaptive moving average #
GET /keltner Keltner channel #
GET /kst Know sure thing #
GET /linearreg Linear regression #
GET /linearregangle Linear regression angle #
GET /linearregintercept Linear regression intercept #
GET /linearregslope Linear regression slope #
GET /ln Natural logarithm #
GET /log10 Base-10 logarithm #
GET /ma Moving average #
GET /macd Moving average convergence divergence #
GET /macd_slope Moving average convergence divergence slope #
GET /macdext Moving average convergence divergence extension #
GET /mama MESA adaptive moving average #
GET /max Maximum #
GET /maxindex Maximum Index #
GET /mcginley_dynamic McGinley dynamic indicator #
GET /medprice Median price #
GET /mfi Money flow index #
GET /midpoint Midpoint #
GET /midprice Midprice #
GET /min Minimum #
GET /minindex Minimum index #
GET /minmax Minimum and maximum #
GET /minmaxindex Minimum and maximum index #
GET /minus_di Minus directional indicator #
GET /minus_dm Minus directional movement #
GET /mom Momentum #
GET /mult Multiplication #
GET /natr Normalized average true range #
GET /obv On balance volume #
GET /percent_b Percent B #
GET /pivot_points_hl Pivot points high low #
GET /plus_di Plus directional indicator #
GET /plus_dm Plus directional movement #
GET /ppo Percentage price oscillator #
GET /roc Rate of change #
GET /rocp Rate of change percentage #
GET /rocr Rate of change ratio #
GET /rocr100 Rate of change ratio 100 #
GET /rsi Relative strength index #
GET /rvol Relative volume #
GET /sar Parabolic stop and reverse #
GET /sarext Parabolic stop and reverse extended #
GET /sma Simple moving average #
GET /sqrt Square root #
GET /stddev Standard deviation #
GET /stoch Stochastic oscillator #
GET /stochf Stochastic fast #
GET /stochrsi Stochastic relative strength index #
GET /sub Subtraction #
GET /sum Summation #
GET /supertrend Supertrend #
GET /supertrend_heikinashicandles Supertrend Heikin Ashi candles #
GET /t3ma Triple exponential moving average #
GET /tema Triple exponential moving average #
GET /trange True range #
GET /trima Triangular moving average #
GET /tsf Time series forecast #
GET /typprice Typical price #
GET /ultosc Ultimate oscillator endpoint #
GET /var Variance #
GET /vwap Volume weighted average price #
GET /wclprice Weighted close price #
GET /willr Williams %R #
GET /wma Weighted moving average #

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/twelvedata-technical-indicator-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

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

OpenAPI Specification

twelvedata-technical-indicator-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: "## Overview\n\nWelcome to Twelve Data developer docs — your gateway to comprehensive financial market data through a powerful and easy-to-use API.\nTwelve Data provides access to financial markets across over 50 global countries, covering more than 1 million public instruments, including stocks, forex, ETFs, mutual funds, commodities, and cryptocurrencies.\n\n## Quickstart\n\nTo get started, you'll need to sign up for an API key. Once you have your API key, you can start making requests to the API.\n\n### Step 1: Create Twelve Data account\n\nSign up on the Twelve Data website to create your account [here](https://twelvedata.com/register). This gives you access to the API dashboard and your API key.\n\n### Step 2: Get your API key\n\nAfter signing in, navigate to your [dashboard](https://twelvedata.com/account/api-keys) to find your unique API key. This key is required to authenticate all API and WebSocket requests.\n\n### Step 3: Make your first request\n\nTry a simple API call with cURL to fetch the latest price for Apple (AAPL):\n\n```\ncurl \"https://api.twelvedata.com/price?symbol=AAPL&apikey=your_api_key\"\n```\n\n### Step 4: Make a request from Python or Javascript\n\nUse our client libraries or standard HTTP clients to make API calls programmatically. Here’s an example in [Python](https://github.com/twelvedata/twelvedata-python) and [Node.js](https://github.com/twelvedata/twelvedata-node):\n\n#### Python (using official Twelve Data SDK):\n\n```python\nfrom twelvedata import TDClient\n\n# Initialize client with your API key\ntd = TDClient(apikey=\"your_api_key\")\n\n# Get latest price for Apple\nprice = td.price(symbol=\"AAPL\").as_json()\n\nprint(price)\n```\n\n#### JavaScript (Node.js):\n\n```javascript\nimport { MarketDataApi, CreateConfig } from \"@twelvedata/twelvedata-node\";\n\nconst config = CreateConfig('your_api_key');\nconst api = new MarketDataApi(config);\n\nasync function main() {\n&nbsp;&nbsp;const response = await api.getPrice({\n&nbsp;&nbsp;&nbsp;&nbsp;symbol: \"AAPL\",\n&nbsp;&nbsp;});\n&nbsp;&nbsp;console.log(response.data);\n}\n\nmain().catch(console.error);\n```\n\n### Step 5: Perform correlation analysis between Tesla and Microsoft prices\n\nFetch historical price data for Tesla (TSLA) and Microsoft (MSFT) and calculate the correlation of their closing prices:\n\n```python\nfrom twelvedata import TDClient\nimport pandas as pd\n\n# Initialize client with your API key\ntd = TDClient(apikey=\"your_api_key\")\n\n# Fetch historical price data for Tesla\ntsla_ts = td.time_series(\n&nbsp;&nbsp;&nbsp;&nbsp;symbol=\"TSLA\",\n&nbsp;&nbsp;&nbsp;&nbsp;interval=\"1day\",\n&nbsp;&nbsp;&nbsp;&nbsp;outputsize=100\n).as_pandas()\n\n# Fetch historical price data for Microsoft\nmsft_ts = td.time_series(\n&nbsp;&nbsp;&nbsp;&nbsp;symbol=\"MSFT\",\n&nbsp;&nbsp;&nbsp;&nbsp;interval=\"1day\",\n&nbsp;&nbsp;&nbsp;&nbsp;outputsize=100\n).as_pandas()\n\n# Align data on datetime index\ncombined = pd.concat(\n&nbsp;&nbsp;&nbsp;&nbsp;[tsla_ts['close'].astype(float), msft_ts['close'].astype(float)],\n&nbsp;&nbsp;&nbsp;&nbsp;axis=1,\n&nbsp;&nbsp;&nbsp;&nbsp;keys=[\"TSLA\", \"MSFT\"]\n).dropna()\n\n# Calculate correlation\ncorrelation = combined[\"TSLA\"].corr(combined[\"MSFT\"])\nprint(f\"Correlation of closing prices between TSLA and MSFT: {correlation:.2f}\")\n```\n\n### Authentication\n\nAuthenticate your requests using one of these methods:\n\n#### Query parameter method\n```\nGET https://api.twelvedata.com/endpoint?symbol=AAPL&apikey=your_api_key\n```\n\n#### HTTP header method (recommended)\n```\nAuthorization: apikey your_api_key\n```\n\n##### API key useful information\n<ul>\n<li> Demo API key (<code>apikey=demo</code>) available for demo requests</li>\n<li> Personal API key required for full access</li>\n<li> Premium endpoints and data require higher-tier plans (testable with <a href=\"https://twelvedata.com/exchanges\">trial symbols</a>)</li>\n</ul>\n\n### API endpoints\n\n Service | Base URL |\n---------|----------|\n REST API | `https://api.twelvedata.com` |\n WebSocket | `wss://ws.twelvedata.com` |\n\n### Parameter guidelines\n<ul>\n<li><b>Separator:</b> Use <code>&</code> to separate multiple parameters</li>\n<li><b>Case sensitivity:</b> Parameter names are case-insensitive (<code>symbol=AAPL</code> = <code>symbol=aapl</code>)</li>\n<li><b>Multiple values:</b> Separate with commas where supported</li>\n</ul>\n\n### Response handling\n\n#### Default format\nAll responses return JSON format by default unless otherwise specified.\n\n#### Null values\n<b>Important:</b> Some response fields may contain `null` values when data is unavailable for specific metrics. This is expected behavior, not an error.\n\n##### Best Practices:\n<ul>\n<li>Always implement <code>null</code> value handling in your application</li>\n<li>Use defensive programming techniques for data processing</li>\n<li>Consider fallback values or error handling for critical metrics</li>\n</ul>\n\n#### Error handling\nStructure your code to gracefully handle:\n<ul>\n<li>Network timeouts</li>\n<li>Rate limiting responses</li>\n<li>Invalid parameter errors</li>\n<li>Data unavailability periods</li>\n</ul>\n\n##### Best practices\n<ul>\n<li><b>Rate limits:</b> Adhere to your plan’s rate limits to avoid throttling. Check your dashboard for details.</li>\n<li><b>Error handling:</b> Implement retry logic for transient errors (e.g., <code>429 Too Many Requests</code>).</li>\n<li><b>Caching:</b> Cache responses for frequently accessed data to reduce API calls and improve performance.</li>\n<li><b>Secure storage:</b> Store your API key securely and never expose it in client-side code or public repositories.</li>\n</ul>\n\n## Errors\n\nTwelve Data API employs a standardized error response format, delivering a JSON object with `code`, `message`, and `status` keys for clear and consistent error communication.\n\n### Codes\n\nBelow is a table of possible error codes, their HTTP status, meanings, and resolution steps:\n\n Code | status | Meaning | Resolution |\n --- | --- | --- | --- |\n **400** | Bad Request | Invalid or incorrect parameter(s) provided. | Check the `message` in the response for details. Refer to the API Documenta­tion to correct the input. |\n **401** | Unauthor­ized | Invalid or incorrect API key. | Verify your API key is correct. Sign up for a key <a href=\"https://twelvedata.com/account/api-keys\">here</a>. |\n **403** | Forbidden | API key lacks permissions for the requested resource (upgrade required). | Upgrade your plan <a href=\"https://twelvedata.com/pricing\">here</a>. |\n **404** | Not Found | Requested data could not be found. | Adjust parameters to be less strict as they may be too restrictive. |\n **414** | Parameter Too Long | Input parameter array exceeds the allowed length. | Follow the `message` guidance to adjust the parameter length. |\n **429** | Too Many Requests | API request limit reached for your key. | Wait briefly or upgrade your plan <a href=\"https://twelvedata.com/pricing\">here</a>. |\n **500** | Internal Server Error | Server-side issue occurred; retry later. | Contact support <a href=\"https://twelvedata.com/contact\">here</a> for assistance. |\n\n### Example error response\n\nConsider the following invalid request:\n\n```\nhttps://api.twelvedata.com/time_series?symbol=AAPL&interval=0.99min&apikey=your_api_key\n```\n\nDue to the incorrect `interval` value, the API returns:\n\n```json\n{\n&nbsp;&nbsp;\"code\": 400,\n&nbsp;&nbsp;\"message\": \"Invalid **interval** provided: 0.99min. Supported intervals: 1min, 5min, 15min, 30min, 45min, 1h, 2h, 4h, 8h, 1day, 1week, 1month\",\n&nbsp;&nbsp;\"status\": \"error\"\n}\n```\n\nRefer to the API Documentation for valid parameter values to resolve such errors.\n\n## Libraries\n\nTwelve Data provides a growing ecosystem of libraries and integrations to help you build faster and smarter in your preferred environment. Official libraries are actively maintained by the Twelve Data team, while selected community-built libraries offer additional flexibility.\n\nA full list is available on our [GitHub profile](https://github.com/search?q=twelvedata).\n\n### Official SDKs\n<ul>\n<li><b>Python:</b> <a href=\"https://github.com/twelvedata/twelvedata-python\">twelvedata-python</a></li>\n<li><b>Node.js:</b> <a href=\"https://github.com/twelvedata/twelvedata-node\">twelvedata-node</a></li>\n<li><b>Go:</b> <a href=\"https://github.com/twelvedata/twelvedata-go\">twelvedata-go</a></li>\n<li><b>Java:</b> <a href=\"https://github.com/twelvedata/twelvedata-java\">twelvedata-java</a></li>\n<li><b>R:</b> <a href=\"https://github.com/twelvedata/twelvedata-r-sdk\">twelvedata-r-sdk</a></li>\n<li><b>CLI:</b> <a href=\"https://github.com/twelvedata/twelvedata-cli\">twelvedata-cli</a></li>\n</ul>\n\n### AI integrations\n<ul>\n<li><b>Twelve Data MCP Server:</b> <a href=\"https://github.com/twelvedata/mcp\">Repository</a> — Model Context Protocol (MCP) server that provides seamless integration with AI assistants and language models, enabling direct access to Twelve Data's financial market data within conversational interfaces and AI workflows.</li>\n<li><b>Twelve Data integration for OpenClaw:</b> <a href=\"https://clawhub.ai/twelvedata/twelvedata\">Clawhub skill</a> — Integration for the OpenClaw platform, allowing users to leverage Twelve Data's API within their OpenClaw applications.</li>\n<li><b>Twelve Data NEAR Agent:</b> <a href=\"https://market.near.ai/agents/twelve_data\">NEAR Agent</a> — Access Twelve Data's API directly from NEAR's AI agent platform, enabling users to retrieve financial data and insights within their NEAR AI agent workflows.</li>\n</ul>\n\n### Spreadsheet add-ons\n<ul>\n<li><b>Excel:</b> <a href=\"https://twelvedata.com/excel\">Excel Add-in</a></li>\n<li><b>Google Sheets:</b> <a href=\"https://twelvedata.com/google-sheets\">Google Sheets Add-on</a></li>\n</ul>\n\n### Community libraries\n\nThe community has developed libraries in several popular languages. You can explore more community libraries on [GitHub](https://github.com/search?q=twelvedata).\n<ul>\n<li><b>C#:</b> <a href=\"https://github.com/pseudomarkets/TwelveDataSharp\">TwelveDataSharp</a></li>\n<li><b>JavaScript:</b> <a href=\"https://github.com/evzaboun/twelvedata\">twelvedata</a></li>\n<li><b>PHP:</b> <a href=\"https://github.com/ingelby/twelvedata\">twelvedata</a></li>\n<li><b>Go:</b> <a href=\"https://github.com/soulgarden/twelvedata\">twelvedata</a></li>\n<li><b>TypeScript:</b> <a href=\"https://github.com/Clyde-Goodall/twelve-data-wrapper\">twelve-data-wrapper</a></li>\n</ul>\n\n### Other Twelve Data repositories\n<ul>\n<li><b>searchindex</b> <i>(Go)</i>: <a href=\"https://github.com/twelvedata/searchindex\">Repository</a> — In-memory search index by strings</li>\n<li><b>ws-tools</b> <i>(Python)</i>: <a href=\"https://github.com/twelvedata/ws-tools\">Repository</a> — Utility tools for WebSocket stream handling</li>\n</ul>\n\n### API specification\n<ul>\n<li><b>OpenAPI / Swagger:</b> Access the <a href=\"https://api.twelvedata.com/doc/swagger/openapi.json\">complete API specification</a> in OpenAPI format. You can use this file to automatically generate client libraries in your preferred programming language, explore the API interactively via Swagger tools, or integrate Twelve Data seamlessly into your AI and LLM workflows.</li>\n</ul>"
  title: Twelve Data Technical Indicator API
  version: 0.0.1
servers:
- url: https://api.twelvedata.com/
security:
- authorizationHeader:
  - '[]'
- queryParameter:
  - '[]'
tags:
- name: technical_indicator
paths:
  /ad:
    get:
      description: The Accumulation/Distribution (AD) endpoint provides data on the cumulative money flow into and out of a financial instrument, using its closing price, price range, and trading volume. This endpoint returns the AD line, which helps users identify potential buying or selling pressure and assess the strength of price movements.
      operationId: GetTimeSeriesAd
      parameters:
      - description: Symbol ticker of the instrument. E.g. `AAPL`, `EUR/USD`, `ETH/BTC`, ...
        in: query
        name: symbol
        schema:
          type: string
          x-go-name: Symbol
          x-order: '10'
          x-required-group: symbol
        x-go-name: Symbol
        x-order: '10'
        x-required-group: symbol
        example: AAPL
      - description: Filter by international securities identification number (ISIN). ISIN access is activating in the <a href="https://twelvedata.com/account/add-ons">Data add-ons</a> section
        in: query
        name: isin
        schema:
          type: string
          x-go-name: Isin
          x-order: '25'
          x-required-group: symbol
        x-go-name: Isin
        x-order: '25'
        x-required-group: symbol
        example: US0378331005
      - description: The FIGI of an instrument for which data is requested. This parameter is available on the <a href="https://twelvedata.com/pricing">Ultra</a> plan (individual) and the <a href="https://twelvedata.com/pricing-business">Enterprise</a> plan (business) and above.
        in: query
        name: figi
        schema:
          type: string
          x-go-name: Figi
          x-order: '20'
          x-required-group: symbol
        x-go-name: Figi
        x-order: '20'
        x-required-group: symbol
        example: BBG000B9Y5X2
      - description: The CUSIP of an instrument for which data is requested. CUSIP access is activating in the <a href="https://twelvedata.com/account/add-ons">Data add-ons</a> section
        in: query
        name: cusip
        schema:
          type: string
          x-go-name: Cusip
          x-order: '26'
          x-required-group: symbol
        x-go-name: Cusip
        x-order: '26'
        x-required-group: symbol
        example: '594918104'
      - description: Interval between two consecutive points in time series
        in: query
        name: interval
        required: true
        schema:
          $ref: '#/components/schemas/IntervalEnum'
        x-go-name: Interval
        x-order: '30'
        example: 1min
      - description: Number of data points to retrieve. Supports values in the range from `1` to `5000`. Default `30` when no date parameters are set, otherwise set to maximum
        in: query
        name: outputsize
        schema:
          default: 30
          format: int64
          type: integer
          x-go-name: PageSize
          x-order: '80'
        x-go-name: PageSize
        x-order: '80'
      - description: Exchange where instrument is traded
        in: query
        name: exchange
        schema:
          type: string
          x-go-name: Exchange
          x-order: '40'
        x-go-name: Exchange
        x-order: '40'
        example: NASDAQ
      - description: Market Identifier Code (MIC) under ISO 10383 standard
        in: query
        name: mic_code
        schema:
          type: string
          x-go-name: MicCode
          x-order: '50'
        x-go-name: MicCode
        x-order: '50'
        example: XNAS
      - description: The country where the instrument is traded, e.g., `United States` or `US`
        in: query
        name: country
        schema:
          type: string
          x-go-name: Country
          x-order: '60'
        x-go-name: Country
        x-order: '60'
        example: United States
      - description: The asset class to which the instrument belongs
        in: query
        name: type
        schema:
          $ref: '#/components/schemas/TypeEnum'
        x-go-name: Type
        x-order: '70'
        example: Common Stock
      - description: 'Timezone at which output datetime will be displayed. Supports:

          <ul>

          <li>1. <code>Exchange</code> for local exchange time</li>

          <li>2. <code>UTC</code> for datetime at universal UTC standard</li>

          <li>3. Timezone name according to the IANA Time Zone Database. E.g. <code>America/New_York</code>, <code>Asia/Singapore</code>. Full list of timezones can be found <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones" target="blank">here</a></li>

          </ul>

          <p>Interval Limitation: The timezone parameter is only applicable for intraday intervals (less than 1 day). For intervals of 1day, 1week, or 1month, the timezone parameter is ignored, and data is strictly returned in the Exchange local time.</p>

          <i>Take note that the IANA Timezone name is case-sensitive</i>'
        in: query
        name: timezone
        schema:
          default: Exchange
          type: string
          x-go-name: Timezone
          x-order: '135'
        x-go-name: Timezone
        x-order: '135'
      - description: 'Can be used separately and together with `end_date`. Format `2006-01-02` or `2006-01-02T15:04:05`


          Default location:

          <ul>

          <li>Forex and Cryptocurrencies - <code>UTC</code></li>

          <li>Stocks - where exchange is located (e.g. for AAPL it will be <code>America/New_York</code>)</li>

          </ul>

          Both parameters take into account if <code>timezone</code> parameter is provided.<br/>

          If <code>timezone</code> is given then, <code>start_date</code> and <code>end_date</code> will be used in the specified location


          Examples:

          <ul>

          <li>1. <code>&symbol=AAPL&start_date=2019-08-09T15:50:00&…</code><br/>

          Returns all records starting from 2019-08-09T15:50:00 New York time up to current date</li>

          <li>2. <code>&symbol=EUR/USD&timezone=Asia/Singapore&start_date=2019-08-09T15:50:00&…</code><br/>

          Returns all records starting from 2019-08-09T15:50:00 Singapore time up to current date</li>

          <li>3. <code>&symbol=ETH/BTC&timezone=Europe/Zurich&start_date=2019-08-09T15:50:00&end_date=2019-08-09T15:55:00&...</code><br/>

          Returns all records starting from 2019-08-09T15:50:00 Zurich time up to 2019-08-09T15:55:00</li>

          </ul>'
        in: query
        name: start_date
        schema:
          type: string
          x-go-name: StartDate
          x-order: '150'
        x-go-name: StartDate
        x-order: '150'
        example: '2024-08-22T15:04:05'
      - description: The ending date and time for data selection, see `start_date` description for details.
        in: query
        name: end_date
        schema:
          type: string
          x-go-name: EndDate
          x-order: '160'
        x-go-name: EndDate
        x-order: '160'
        example: '2024-08-22T16:04:05'
      - description: Specifies the exact date to get the data for. Could be the exact date, e.g. `2021-10-27`, or in human language `today` or `yesterday`
        in: query
        name: date
        schema:
          type: string
          x-go-name: Date
          x-order: '140'
        x-go-name: Date
        x-order: '140'
        example: '2021-10-27'
      - description: Sorting order of the output
        in: query
        name: order
        schema:
          $ref: '#/components/schemas/OrderEnum'
        x-go-name: Order
        x-order: '130'
      - description: 'Returns quotes that include pre-market and post-market data. Only for the `Pro` plan (individual) and `Venture` plan (business) and above.

          Available at the `1min`, `5min`, `15min`, and `30min` intervals for US equities.

          Open, high, low, close values are supplied without volume'
        in: query
        name: prepost
        schema:
          default: false
          type: boolean
          x-go-name: Prepost
          x-order: '110'
        x-go-name: Prepost
        x-order: '110'
      - description: The format of the response data
        in: query
        name: format
        schema:
          $ref: '#/components/schemas/FormatEnum'
        x-go-name: Format
        x-order: '90'
      - description: The separator used in the CSV response data
        in: query
        name: delimiter
        schema:
          default: ;
          type: string
          x-go-name: Delimiter
          x-order: '100'
        x-go-name: Delimiter
        x-order: '100'
      - description: 'Specifies the number of decimal places for floating values.

          Should be in range [0, 11] inclusive.

          By default, the number of decimal places is automatically determined based on the values provided'
        in: query
        name: dp
        schema:
          default: -1
          format: int64
          type: integer
          x-go-name: DecimalPlaces
          x-order: '120'
        x-go-name: DecimalPlaces
        x-order: '120'
      - description: A boolean parameter to include the previous closing price in the time_series data. If true, adds previous bar close price value to the current object
        in: query
        name: previous_close
        schema:
          default: false
          type: boolean
          x-go-name: PreviousPrice
          x-order: '170'
        x-go-name: PreviousPrice
        x-order: '170'
      - description: Adjusting mode for prices
        in: query
        name: adjust
        schema:
          $ref: '#/components/schemas/AdjustEnum'
        x-go-name: Adjust
        x-order: '180'
      - description: Specify if OHLC values should be added in the output
        in: query
        name: include_ohlc
        schema:
          default: false
          type: boolean
          x-go-name: IncludeOHLC
          x-order: '132'
        x-go-name: IncludeOHLC
        x-order: '132'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTimeSeriesAd_200_response'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiBadRequestErrorResponseBody'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiUnauthorizedErrorResponseBody'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiForbiddenErrorResponseBody'
          description: ''
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiNotFoundErrorResponseBody'
          description: ''
        '414':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiParameterTooLongErrorResponseBody'
          description: ''
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiTooManyRequestsErrorResponseBody'
          description: ''
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiInternalServerErrorResponseBody'
          description: ''
      summary: Accumulation/distribution
      tags:
      - technical_indicator
      x-additional-notes: Take note that this endpoint is applicable to all instruments except currencies.
      x-api-credits-cost: '1'
      x-api-credits-type: symbol
      x-group: Technical indicators/Volume indicators
      x-order: '10'
      x-url-hash: ad-indicator
      x-required:
        anyOf:
        - required:
          - symbol
          - isin
          - figi
          - cusip
  /add:
    get:
      description: The Addition (ADD) endpoint calculates the sum of two input data series, such as technical indicators or price data, and returns the combined result. This endpoint is useful for users who need to aggregate data points to create custom indicators or analyze the combined effect of multiple data series in financial analysis.
      operationId: GetTimeSeriesAdd
      parameters:
      - description: Symbol ticker of the instrument. E.g. `AAPL`, `EUR/USD`, `ETH/BTC`, ...
        in: query
        name: symbol
        schema:
          type: string
          x-go-name: Symbol
          x-order: '10'
          x-required-group: symbol
        x-go-name: Symbol
        x-order: '10'
        x-required-group: symbol
        example: AAPL
      - description: Filter by international securities identification number (ISIN). ISIN access is activating in the <a href="https://twelvedata.com/account/add-ons">Data add-ons</a> section
        in: query
        name: isin
        schema:
          type: string
          x-go-name: Isin
          x-order: '25'
          x-required-group: symbol
        x-go-name: Isin
        x-order: '25'
        x-required-group: symbol
        example: US0378331005
      - description: The FIGI of an instrument for which data is requested. This parameter is available on the <a href="https://twelvedata.com/pricing">Ultra</a> plan (individual) and the <a href="https://twelvedata.com/pricing-business">Enterprise</a> plan (business) and above.
        in: query
        name: figi
        schema:
          type: string
          x-go-name: Figi
          x-order: '20'
          x-required-group: symbol
        x-go-name: Figi
        x-order: '20'
        x-required-group: symbol
        example: BBG000B9Y5X2
      - description: The CUSIP of an instrument for which data is requested. CUSIP access is activating in the <a href="https://twelvedata.com/account/add-ons">Data add-ons</a> section
        in: query
        name: cusip
        schema:
          type: string
          x-go-name: Cusip
          x-order: '26'
          x-required-group: symbol
        x-go-name: Cusip
        x-order: '26'
        x-required-group: symbol
        example: '594918104'
      - description: Interval between two consecutive points in time series
        in: query
        name: interval
        required: true
        schema:
          $ref: '#/components/schemas/IntervalEnum'
        x-go-name: Interval
        x-order: '30'
        example: 1min
      - description: Number of data points to retrieve. Supports values in the range from `1` to `5000`. Default `30` when no date parameters are set, otherwise set to maximum
        in: query
        name: outputsize
        schema:
          default: 30
          format: int64
          type: integer
          x-go-name: PageSize
          x-order: '80'
        x-go-name: PageSize
        x-order: '80'
      - description: Exchange where instrument is traded
        in: query
        name: exchange
        schema:
          type: string
          x-go-name: Exchange
          x-order: '40'
        x-go-name: Exchange
        x-order: '40'
        example: NASDAQ
      - description: Market Identifier Code (MIC) under ISO 10383 standard
        in: query
        name: mic_code
        schema:
          type: string
          x-go-name: MicCode
          x-order: '50'
        x-go-name: MicCode
        x-order: '50'
        example: XNAS
      - description: The country where the instrument is traded, e.g., `United States` or `US`
        in: query
        name: country
        schema:
          type: string
          x-go-name: Country
          x-order: '60'
        x-go-name: Country
        x-order: '60'
        example: United States
      - description: The asset class to which the instrument belongs
        in: query
        name: type
        schema:
          $ref: '#/components/schemas/TypeEnum'
        x-go-name: Type
        x-order: '70'
        example: Common Stock
      - description: 'Timezone at which output datetime will be displayed. Supports:

          <ul>

          <li>1. <code>Exchange</code> for local exchange time</li>

          <li>2. <code>UTC</code> for datetime at universal UTC standard</li>

          <li>3. Timezone name according to the IANA Time Zone Database. E.g. <code>America/New_York</code>, <code>Asia/Singapore</code>. Full list of timezones can be found <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones" target="blank">here</a></li>

          </ul>

          <p>Interval Limitation: The timezone parameter is only applicable for intraday intervals (less than 1 day). For intervals of 1day, 1week, or 1month, the timezone parameter is ignored, and data is strictly returned in the Exchange local time.</p>

          <i>Take note that the IANA Timezone name is case-sensitive</i>'
        in: query
        name: timezone
        schema:
          default: Exchange
          type: string
          x-go-name: Timezone
          x-order: '135'
        x-go-name: Timezone
        x-order: '135'
      - description: 'Can be used separately and together with `end_date`. Format `2006-01-02` or `2006-01-02T15:04:05`


          Default location:

          <ul>

          <li>Forex and Cryptocurrencies - <code>UTC</code></li>

          <li>Stocks - where exchange is located (e.g. for AAPL it will be <code>America/New_York</code>)</li>

          </ul>

          Both parameters take into account if <code>timezone</code> parameter is provided.<br/>

          If <code>timezone</code> is given then, <code>start_date</code> and <code>end_date</code> will be used in the specified location


          Examples:

          <ul>

          <li>1. <code>&symbol=AAPL&start_date=2019-08-09T15:50:00&…</code><br/>

          Returns all records starting from 2019-08-09T15:50:00 New York time up to current date</li>

          <li>2. <code>&symbol=EUR/USD&timezone=Asia/Singapore&start_date=2019-08-09T15:50:00&…</code><br/>

          Returns all records starting from 2019-08-09T15:50:00 Singapore time up to current date</li>

          <li>3. <code>&symbol=ETH/BTC&timezone=Europe/Zurich&start_date=2019-08-09T15:50:00&end_date=2019-08-09T15:55:00&...</code><br/>

          Returns all records starting from 2019-08-09T15:50:00 Zurich time up to 2019-08-09T15:55:00</li>

          </ul>'
        in: query
        name: start_date
        schema:
          type: string
          x-go-name: StartDate
          x-order: '150'
        x-go-name: StartDate
        x-order: '150'
        example: '2024-08-22T15:04:05'
      - description: The ending date and time for data selection, see `start_date` description for details.
        in: query
        name: end_date
        schema:
          type: string
          x-go-name: EndDate
          x-order: '160'
        x-go-name: EndDate
        x-order: '160'
        example: '2024-08-22T16:04:05'
      - description: Specifies the exact date to get the data for. Could be the exact date, e.g. `2021-10-27`, or in human language `today` or `yesterday`
        in: query
        name: date
        schema:
          type: string
          x-go-name: Date
          x-order: '140'
        x-go-name: Date
        x-order: '140'
        example: '2021-10-27'
      - description: Sorting order of the output
        in: query
        name: order
        schema:
          $ref: '#/components/schemas/OrderEnum'
        x-go-name: Order
        x-order: '130'
      - description: 'Returns quotes that include pre-market and post-market data. Only for the `Pro` plan (individual) and `Venture` plan (business) and above.

          Available at the `1min`, `5min`, `15min`, and `30min` intervals for US equities.

          Open, high, low, close values are supplied without volume'
        in: query
        name: prepost
        schema:
          default: false
          type: boolean
          x-go-name: Prepost
          x-order: '110'
        x-go-name: Prepost
        x-order: '110'
      - description: The format of the response data
        in: query
        name: format
        schema:
          $ref: '#/components/schemas/FormatEnum'
        x-go-name: Format
        x-order: '90'
      - description: The separator used in the CSV response data
        in: query
        name: delimiter
        schema:
          default: ;
          type: string
          x-go-name: Delimiter
          x-order: '100'
        x-go-name: Delimiter
        x-order: '100'
      - description: 'Specifies the number of decimal places for floating values.

          Should be in range [0, 11] inclusive.

          By default, the number of decimal places is automatically determined based on the values provided'
        in: query
        name: dp
        schema:
          default: -1
          format: int64
          type: integer
          x-go-name: DecimalPlaces
          x-order: '120'
        x-go-name: DecimalPlaces
        x-order: '120'
      - description: A boolean parameter to include the previous closing price in the time_series data. If true, adds previous bar close price value to the current 

# --- truncated at 32 KB (1657 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/twelvedata/refs/heads/main/openapi/twelvedata-technical-indicator-api-openapi.yml