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 const response = await api.getPrice({\n symbol: \"AAPL\",\n });\n 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 symbol=\"TSLA\",\n interval=\"1day\",\n outputsize=100\n).as_pandas()\n\n# Fetch historical price data for Microsoft\nmsft_ts = td.time_series(\n symbol=\"MSFT\",\n interval=\"1day\",\n outputsize=100\n).as_pandas()\n\n# Align data on datetime index\ncombined = pd.concat(\n [tsla_ts['close'].astype(float), msft_ts['close'].astype(float)],\n axis=1,\n 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
\n- Demo API key (
apikey=demo) available for demo requests \n- Personal API key required for full access
\n- Premium endpoints and data require higher-tier plans (testable with trial symbols)
\n
\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\n- Separator: Use
& to separate multiple parameters \n- Case sensitivity: Parameter names are case-insensitive (
symbol=AAPL = symbol=aapl) \n- Multiple values: Separate with commas where supported
\n
\n\n### Response handling\n\n#### Default format\nAll responses return JSON format by default unless otherwise specified.\n\n#### Null values\nImportant: 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\n- Always implement
null value handling in your application \n- Use defensive programming techniques for data processing
\n- Consider fallback values or error handling for critical metrics
\n
\n\n#### Error handling\nStructure your code to gracefully handle:\n\n- Network timeouts
\n- Rate limiting responses
\n- Invalid parameter errors
\n- Data unavailability periods
\n
\n\n##### Best practices\n\n- Rate limits: Adhere to your plan’s rate limits to avoid throttling. Check your dashboard for details.
\n- Error handling: Implement retry logic for transient errors (e.g.,
429 Too Many Requests). \n- Caching: Cache responses for frequently accessed data to reduce API calls and improve performance.
\n- Secure storage: Store your API key securely and never expose it in client-side code or public repositories.
\n
\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 Documentation to correct the input. |\n **401** | Unauthorized | Invalid or incorrect API key. | Verify your API key is correct. Sign up for a key here. |\n **403** | Forbidden | API key lacks permissions for the requested resource (upgrade required). | Upgrade your plan here. |\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 here. |\n **500** | Internal Server Error | Server-side issue occurred; retry later. | Contact support here 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 \"code\": 400,\n \"message\": \"Invalid **interval** provided: 0.99min. Supported intervals: 1min, 5min, 15min, 30min, 45min, 1h, 2h, 4h, 8h, 1day, 1week, 1month\",\n \"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\n\n### AI integrations\n\n- Twelve Data MCP Server: Repository — 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.
\n- Twelve Data integration for OpenClaw: Clawhub skill — Integration for the OpenClaw platform, allowing users to leverage Twelve Data's API within their OpenClaw applications.
\n- Twelve Data NEAR Agent: NEAR Agent — 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.
\n
\n\n### Spreadsheet add-ons\n\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\n\n### Other Twelve Data repositories\n\n- searchindex (Go): Repository — In-memory search index by strings
\n- ws-tools (Python): Repository — Utility tools for WebSocket stream handling
\n
\n\n### API specification\n\n- OpenAPI / Swagger: Access the complete API specification 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.
\n
"
title: Twelve Data Etfs API
version: 0.0.1
servers:
- url: https://api.twelvedata.com/
security:
- authorizationHeader:
- '[]'
- queryParameter:
- '[]'
tags:
- name: etfs
paths:
/etfs/family:
get:
description: Retrieve a comprehensive list of exchange-traded fund (ETF) families, providing users with detailed information on various ETF groups available in the market. This endpoint is ideal for users looking to explore different ETF categories, compare offerings, or integrate ETF family data into their financial applications.
operationId: GetETFsFamily
parameters:
- description: Filter by country name or alpha code, e.g., `United States` or `US`
in: query
name: country
schema:
type: string
x-go-name: Country
x-order: '10'
x-go-name: Country
x-order: '10'
example: United States
- description: Filter by investment company that manages the fund
in: query
name: fund_family
schema:
type: string
x-go-name: FundFamily
x-order: '20'
x-go-name: FundFamily
x-order: '20'
example: iShares
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetETFsFamily_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: ETFs families
tags:
- etfs
x-api-credits-cost: '1'
x-api-credits-type: request
x-group: ETFs
x-order: '70'
x-url-hash: etf-family-list
/etfs/list:
get:
description: The ETFs directory endpoint provides a daily updated list of exchange-traded funds, sorted by total assets in descending order. This endpoint is useful for retrieving comprehensive ETF data, including fund names and asset values, to assist users in quickly identifying the ETFs available.
operationId: GetETFsList
parameters:
- description: Filter by symbol
in: query
name: symbol
schema:
type: string
x-go-name: Symbol
x-go-name: Symbol
example: IVV
- description: Filter by financial instrument global identifier (FIGI). This parameter is available on the Ultra plan (individual) and the Enterprise plan (business) and above.
in: query
name: figi
schema:
type: string
x-go-name: Figi
x-go-name: Figi
example: BBG000BVZ697
- description: Filter by international securities identification number (ISIN). ISIN access is activating in the Data add-ons section
in: query
name: isin
schema:
type: string
x-go-name: Isin
x-go-name: Isin
example: US4642872000
- description: The CUSIP of an instrument for which data is requested. CUSIP access is activating in the Data add-ons section
in: query
name: cusip
schema:
type: string
x-go-name: Cusip
x-go-name: Cusip
example: '464287200'
- description: The CIK of an instrument for which data is requested
in: query
name: cik
schema:
type: string
x-go-name: Cik
x-go-name: Cik
example: '95953'
- description: Filter by country name or alpha code, e.g., `United States` or `US`
in: query
name: country
schema:
type: string
x-go-name: Country
x-go-name: Country
example: United States
- description: Filter by investment company that manages the fund
in: query
name: fund_family
schema:
type: string
x-go-name: FundFamily
x-go-name: FundFamily
example: iShares
- description: Filter by the type of fund
in: query
name: fund_type
schema:
type: string
x-go-name: FundType
x-go-name: FundType
example: Large Blend
- description: The format of the response data
in: query
name: format
schema:
$ref: '#/components/schemas/FormatEnum'
x-go-name: Format
- description: The separator used in the CSV response data
in: query
name: delimiter
schema:
default: ;
type: string
x-go-name: Delimiter
x-go-name: Delimiter
- description: Number of decimal places for floating values
in: query
name: dp
schema:
default: 5
format: int64
type: integer
x-go-name: Dp
x-go-name: Dp
- description: Page number
in: query
name: page
schema:
default: 1
format: int64
type: integer
x-go-name: Page
x-go-name: Page
- description: Number of records in response
in: query
name: outputsize
schema:
default: 50
format: int64
type: integer
x-go-name: OutputSize
x-go-name: OutputSize
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetETFsList_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: ETFs directory
tags:
- etfs
x-additional-notes: Basic, Grow, and Pro plans (individual) and Venture plan (business) return up to 50 records. For complete data on over 40,000 ETFs, upgrade to the Ultra plan (individual), Enterprise (business), or Custom plan (business).
x-api-credits-cost: '1'
x-api-credits-type: request
x-badge: Useful
x-group: ETFs
x-order: '10'
x-starting-plan: ultra,enterprise
x-url-hash: etfs-list
/etfs/type:
get:
description: The ETFs Types endpoint provides a concise list of ETF categories by market (e.g., Singapore, United States), including types like "Equity Precious Metals" and "Large Blend." It supports targeted investment research and portfolio diversification.
operationId: GetETFsType
parameters:
- description: Filter by country name or alpha code, e.g., `United States` or `US`
in: query
name: country
schema:
type: string
x-go-name: Country
x-order: '10'
x-go-name: Country
x-order: '10'
example: United States
- description: Filter by the type of fund
in: query
name: fund_type
schema:
type: string
x-go-name: FundType
x-order: '20'
x-go-name: FundType
x-order: '20'
example: Large Blend
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetETFsType_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: ETFs types
tags:
- etfs
x-api-credits-cost: '1'
x-api-credits-type: request
x-group: ETFs
x-order: '80'
x-url-hash: etf-type-list
/etfs/world:
get:
description: The ETF full data endpoint provides detailed information about global Exchange-Traded Funds. It returns comprehensive data, including a summary, performance metrics, risk assessment, and composition details. This endpoint is ideal for users seeking an in-depth analysis of worldwide ETFs, enabling them to access key financial metrics and portfolio breakdowns.
operationId: GetETFsWorld
parameters:
- description: Symbol ticker of etf
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: IVV
- description: Filter by financial instrument global identifier (FIGI). This parameter is available on the Ultra plan (individual) and the Enterprise 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: BBG000BVZ697
- description: Filter by international securities identification number (ISIN). ISIN access is activating in the Data add-ons section
in: query
name: isin
schema:
type: string
x-go-name: Isin
x-order: '30'
x-required-group: symbol
x-go-name: Isin
x-order: '30'
x-required-group: symbol
example: US4642872000
- description: The CUSIP of an instrument for which data is requested. CUSIP access is activating in the Data add-ons section
in: query
name: cusip
schema:
type: string
x-go-name: Cusip
x-order: '31'
x-required-group: symbol
x-go-name: Cusip
x-order: '31'
x-required-group: symbol
example: '464287200'
- description: Filter by country name or alpha code, e.g., `United States` or `US`
in: query
name: country
schema:
type: string
x-go-name: Country
x-order: '40'
x-go-name: Country
x-order: '40'
example: United States
- description: Number of decimal places for floating values. Accepts value in range [0,11]
in: query
name: dp
schema:
default: 5
format: int64
type: integer
x-go-name: Dp
x-order: '50'
x-go-name: Dp
x-order: '50'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetETFsWorld_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: ETF full data
tags:
- etfs
x-api-credits-cost: '800'
x-api-credits-type: request
x-badge: High demand
x-group: ETFs
x-order: '20'
x-starting-plan: ultra,enterprise
x-url-hash: etf-all-data
x-required:
anyOf:
- required:
- symbol
- figi
- isin
- cusip
/etfs/world/composition:
get:
description: The ETFs composition endpoint provides detailed information about the composition of global Exchange-Traded Funds. It returns data on the sectors included in the ETF, specific holding details, and the weighted exposure of each component. This endpoint is useful for users who need to understand the specific makeup and sector distribution of an ETF portfolio.
operationId: GetETFsWorldComposition
parameters:
- description: Symbol ticker of etf
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: IVV
- description: Filter by financial instrument global identifier (FIGI). This parameter is available on the Ultra plan (individual) and the Enterprise 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: BBG000BVZ697
- description: Filter by international securities identification number (ISIN). ISIN access is activating in the Data add-ons section
in: query
name: isin
schema:
type: string
x-go-name: Isin
x-order: '30'
x-required-group: symbol
x-go-name: Isin
x-order: '30'
x-required-group: symbol
example: US4642872000
- description: The CUSIP of an instrument for which data is requested. CUSIP access is activating in the Data add-ons section
in: query
name: cusip
schema:
type: string
x-go-name: Cusip
x-order: '31'
x-required-group: symbol
x-go-name: Cusip
x-order: '31'
x-required-group: symbol
example: '464287200'
- description: Filter by country name or alpha code, e.g., `United States` or `US`
in: query
name: country
schema:
type: string
x-go-name: Country
x-order: '40'
x-go-name: Country
x-order: '40'
example: United States
- description: Number of decimal places for floating values. Accepts value in range [0,11]
in: query
name: dp
schema:
default: 5
format: int64
type: integer
x-go-name: Dp
x-order: '50'
x-go-name: Dp
x-order: '50'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetETFsWorldComposition_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: Composition
tags:
- etfs
x-api-credits-cost: '200'
x-api-credits-type: request
x-badge: High demand
x-group: ETFs
x-order: '60'
x-starting-plan: ultra,enterprise
x-url-hash: etf-composition
x-required:
anyOf:
- required:
- symbol
- figi
- isin
- cusip
/etfs/world/performance:
get:
description: The ETFs performance endpoint provides comprehensive performance data for exchange-traded funds globally. It returns detailed metrics such as trailing returns and annual returns, enabling users to evaluate the historical performance of various ETFs. This endpoint is ideal for users looking to compare ETF performance over different time periods and assess their investment potential.
operationId: GetETFsWorldPerformance
parameters:
- description: Symbol ticker of etf
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: IVV
- description: Filter by financial instrument global identifier (FIGI). This parameter is available on the Ultra plan (individual) and the Enterprise 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: BBG000BVZ697
- description: Filter by international securities identification number (ISIN). ISIN access is activating in the Data add-ons section
in: query
name: isin
schema:
type: string
x-go-name: Isin
x-order: '30'
x-required-group: symbol
x-go-name: Isin
x-order: '30'
x-required-group: symbol
example: US4642872000
- description: The CUSIP of an instrument for which data is requested. CUSIP access is activating in the Data add-ons section
in: query
name: cusip
schema:
type: string
x-go-name: Cusip
x-order: '31'
x-required-group: symbol
x-go-name: Cusip
x-order: '31'
x-required-group: symbol
example: '464287200'
- description: Filter by country name or alpha code, e.g., `United States` or `US`
in: query
name: country
schema:
type: string
x-go-name: Country
x-order: '40'
x-go-name: Country
x-order: '40'
example: United States
- description: Number of decimal places for floating values. Accepts value in range [0,11]
in: query
name: dp
schema:
default: 5
format: int64
type: integer
x-go-name: Dp
x-order: '50'
x-go-name: Dp
x-order: '50'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetETFsWorldPerformance_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: Performance
tags:
- etfs
x-api-credits-cost: '200'
x-api-credits-type: request
x-badge: High demand
x-group: ETFs
x-order: '40'
x-starting-plan: ultra,enterprise
x-url-hash: etf-performance
x-required:
anyOf:
- required:
- symbol
- figi
- isin
- cusip
/etfs/world/risk:
get:
description: The ETFs risk endpoint provides essential risk metrics for global Exchange Traded Funds. It returns data such as volatility, beta, and other risk-related indicators, enabling users to assess the potential risk associated with investing in various ETFs worldwide.
operationId: GetETFsWorldRisk
parameters:
- description: Symbol ticker of etf
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: IVV
- description: Filter by financial instrument global identifier (FIGI). This parameter is available on the Ultra plan (individual) and the Enterprise 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: BBG000BVZ697
- description: Filter by international securities identification number (ISIN). ISIN access is activating in the Data add-ons section
in: query
name: isin
schema:
type: string
x-go-name: Isin
x-order: '30'
x-required-group: symbol
x-go-name: Isin
x-order: '30'
x-required-group: symbol
example: US4642872000
- description: The CUSIP of an instrument for which data is requested. CUSIP access is activating in the Data add-ons section
in: query
name: cusip
schema:
type: string
x-go-name: Cusip
x-order: '31'
x-required-group: symbol
x-go-name: Cusip
x-order: '31'
x-required-group: symbol
example: '464287200'
- description: Filter by country name or alpha code, e.g., `United States` or `US`
in: query
name: country
schema:
type: string
x-go-name: Country
x-order: '40'
x-go-name: Country
x-order: '40'
example: United States
- description: Number of decimal places for floating values. Accepts value in range [0,11]
in: query
name: dp
schema:
default: 5
format: int64
type: integer
x-go-name: Dp
x-order: '50'
x-go-name: Dp
x-order: '50'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetETFsWorldRisk_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: Risk
tags:
- etfs
x-api-credits-cost: '200'
x-api-credits-type: request
x-group: ETFs
x-order: '50'
x-starting-plan: ultra,enterprise
x-url-hash: etf-risk
x-required:
anyOf:
- required:
- symbol
- figi
- isin
- cusip
/etfs/world/summary:
get:
description: The ETFs summary endpoint provides a concise overview of global Exchange-Traded Funds. It returns key data points such as ETF names, symbols, and current market values, enabling users to quickly assess the performance and status of various international ETFs. This summary is ideal for users who need a snapshot of the global ETF landscape without delving into detailed analysis.
operationId: GetETFsWorldSummary
parameters:
- description: Symbol ticker of etf
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: IVV
- description: Filter by financial instrument global identifier (FIGI). This parameter is available on the Ultra plan (individual) and the Enterprise 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: BBG000BVZ697
- description: Filter by international securities identification number (ISIN). ISIN access is activating in the Data add-ons section
in: query
name: isin
schema:
type: string
x-go-name: Isin
x-order: '30'
x-required-group: symbol
x-go-name: Isin
x-order: '30'
x-required-group: symbol
example: US4642872000
- description: The CUSIP of an instrument for which data is requested. CUSIP access is activating in the Data add-ons section
in: query
name: cusip
schema:
type: string
x-go-name: Cusip
x-order: '31'
x-required-group: symbol
x-go-name: Cusip
x-order: '31'
x-required-group: symbol
example: '464287200'
- description: Filter by country name or alpha code, e.g., `United States` or `US`
in: query
name: country
schema:
type: string
x-go-name: Country
x-order: '40'
x-go-name: Country
x-order: '40'
example: United States
- description: Number of decimal places for floating values. Accepts value in range [0,11]
in: query
name: dp
schema:
default: 5
format: int64
type: integer
x-go-name: Dp
x-order: '50'
x-go-name: Dp
x-order: '50'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetETFsWorldSummary_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: Summary
tags:
- etfs
x-api-credits-cost: '200'
x-api-credits-type: request
x-group: ETFs
x-order: '30'
x-starting-plan: ultra,enterprise
x-url-hash: etf-summary
x-required:
anyOf:
- required:
- symbol
- figi
- isin
- cusip
components:
schemas:
GetETFsWorldPerformance_200_response_etf_performance:
description: Detailed performance of a etf
properties:
trailing_returns:
description: Performance returns of the fund and its category over various trailing time periods
items:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_performance_trailing_returns_inner'
type: array
x-go-name: TrailingReturns
x-order: 10
annual_total_returns:
description: Fund and category total returns (%) for each calendar year
items:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_performance_annual_total_returns_inner'
type: array
x-go-name: AnnualTotalReturns
x-order: 20
type: object
x-go-name: Performance
x-order: 10
GetETFsWorldRisk_200_response_etf:
description: Etf information
properties:
risk:
$ref: '#/components/schemas/GetETFsWorldRisk_200_response_etf_risk'
type: object
x-go-name: Etf
x-order: 10
GetETFsWorldComposition_200_response_etf:
description: Etf information
properties:
composition:
$ref: '#/components/schemas/GetETFsWorldComposition_200_response_etf_composition'
type: object
x-go-name: Etf
x-order: 10
GetETFsWorld_200_response_etf_composition_major_market_sectors_inner:
properties:
sector:
description: Sector category of a fund exposure
examples:
- Technology
type: string
x-go-name: Sector
x-order: 10
weight:
description: Weight of a fund exposure in a sector
examples:
- 0.2424
format: double
type: number
x-go-name: Weight
x-order: 20
type: object
GetETFsWorldComposition_200_response:
properties:
etf:
$ref: '#/components/schemas/GetETFsWorldComposition_200_response_etf'
status:
description: Status of the response
examples:
- ok
type: string
x-go-name: Status
x-order: 20
required:
- etf
- status
type: object
GetETFsWorldPerformance_200_response:
properties:
etf:
$ref: '#/components/schemas/GetETFsWorldPerformance_200_response_etf'
status:
description: Status of the response
examples:
- ok
type: string
x-go-name: Status
x-order: 20
required:
- etf
- status
type: object
ApiInternalServerErrorResponseBody:
properties:
code:
description: Error code
examples:
- 500
format: int64
type: integer
x-go-name: Code
message:
description: Error message
examples:
- Internal server error
type: string
x-go-name: Message
status:
description: Error status
examples:
- error
type: string
x-go-name: Status
required:
- code
- message
- status
type: object
x-go-package: gitlab.atlasgroup.ai/twelvedata/api/route/description
GetETFsList_200_response:
properties:
result:
$ref: '#/components/schemas/GetETFsList_200_response_result'
status:
description: Status of the response
examples:
- ok
type: string
x-go-name: Status
x-order: 20
required:
- result
- status
type: object
GetETFsType_200_response:
properties:
result:
additionalProperties:
items:
type: string
type: array
description: List of fund types by country
examples:
- Singapore:
- Property - Indirect Asia
- Sector Equity Water
United States:
- Asia-Pacific ex-Japan Equity
- EUR Flexible Allocation - Global
type: object
x-go-name: Result
x-order: 10
status:
description: Status of the response
examples:
- ok
type: string
x-go-name: Status
x-order: 20
required:
- result
- status
type: object
GetETFsWorld_200_response_etf_performance_annual_total_returns_inner:
properties:
year:
description: Year of total returns
examples:
- 2021
format: int64
type: integer
x-go-name: Year
x-order: 10
share_class_return:
description: Fund total returns (%) generated over a given year
examples:
- 0.2866
format: double
type: number
x-go-name: ShareClassReturn
x-order: 20
category_return:
description: Same category average total returns (%) generated over a given year
examples:
- 0
format: double
type: number
x-go-name: CategoryReturn
x-order: 30
type: object
GetETFsWorld_200_response_etf_performance_trailing_returns_inner:
properties:
period:
description: Period of trailing returns
examples:
- ytd
type: string
x-go-name: Period
x-order: 10
share_class_return:
description: Fund returns (%) generated over a given period
examples:
- -0.0751
format: double
type: number
x-go-name: ShareClassReturn
x-order: 20
category_return:
description: Same category average returns (%) generated over a given period
examples:
- 0.1484
format: double
type: number
x-go-name: CategoryReturn
x-order: 30
type: object
GetETFsWorldRisk_200_response_etf_risk:
description: Risk metrics of a etf
properties:
volatility_measures:
description: Risk and volatility statistics of the fund and its category over different periods
items:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_risk_volatility_measures_inner'
type: array
x-go-name: VolatilityMeasures
x-order: 10
valuation_metrics:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_risk_valuation_metrics'
type: object
x-go-name: Risk
x-order: 10
GetETFsWorld_200_response_etf_composition_bond_breakdown:
description: Breakdown of the fund’s portfolio by bond holding characteristics
properties:
average_maturity:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_composition_bond_breakdown_average_maturity'
average_duration:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_composition_bond_breakdown_average_duration'
credit_quality:
description: Breakdown of the fund’s bond holdings by credit rating and their respective portfolio weights
items:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_composition_bond_breakdown_credit_quality_inner'
type: array
x-go-name: CreditQuality
x-order: 30
type: object
x-go-name: BondBreakdown
x-order: 50
ApiParameterTooLongErrorResponseBody:
properties:
code:
description: Error code
examples:
- 414
format: int64
type: integer
x-go-name: Code
message:
description: Error message
examples:
- Input parameter array exceeds the allowed length
type: string
x-go-name: Message
status:
description: Error status
examples:
- error
type: string
x-go-name: Status
required:
- code
- message
- status
type: object
x-go-package: gitlab.atlasgroup.ai/twelvedata/api/route/description
ApiForbiddenErrorResponseBody:
properties:
code:
description: Error code
examples:
- 403
format: int64
type: integer
x-go-name: Code
message:
description: Error message
examples:
- API key lacks permissions for the requested resource
type: string
x-go-name: Message
status:
description: Error status
examples:
- error
type: string
x-go-name: Status
required:
- code
- message
- status
type: object
x-go-package: gitlab.atlasgroup.ai/twelvedata/api/route/description
GetETFsWorld_200_response_etf_composition_bond_breakdown_average_duration:
description: Average duration of bond holding of a fund
properties:
fund:
description: Average duration of bond holding of a fund
examples:
- 5.72
format: double
type: number
x-go-name: Fund
x-order: 10
category:
description: Average duration of bond holding of funds in the same category
examples:
- 5.64
format: double
type: number
x-go-name: Category
x-order: 20
type: object
x-go-name: AverageDuration
x-order: 20
GetETFsWorld_200_response_etf_composition_country_allocation_inner:
properties:
country:
description: Country name
examples:
- United Kingdom
type: string
x-go-name: Country
x-order: 10
allocation:
description: Percentages of a fund's net assets distributed to securities of the country
examples:
- 0.9855
format: double
type: number
x-go-name: Allocation
x-order: 20
type: object
GetETFsList_200_response_result:
properties:
count:
description: Total number of matching funds
examples:
- 1000
format: int64
type: integer
x-go-name: Count
x-order: 10
list:
description: List of ETFs
items:
$ref: '#/components/schemas/ETFsListResponseItem'
type: array
x-go-name: List
x-order: 20
required:
- count
- list
type: object
x-go-name: Result
x-order: 10
GetETFsWorld_200_response_etf_composition_bond_breakdown_credit_quality_inner:
properties:
grade:
description: Rating of bond holding of a fund from AAA to below B
examples:
- AAA
type: string
x-go-name: Grade
x-order: 10
weight:
description: Weight of bond holding in fund portfolio
examples:
- 0
format: double
type: number
x-go-name: Weight
x-order: 20
type: object
GetETFsFamily_200_response:
properties:
result:
additionalProperties:
items:
type: string
type: array
description: List of fund families by country
examples:
- India:
- Aberdeen Standard Fund Managers Limited
- Aditya Birla Sun Life AMC Ltd
United States:
- Aegon Asset Management UK PLC
- Ampega Investment GmbH
- Aviva SpA
type: object
x-go-name: Result
x-order: 10
status:
description: Status of the response
examples:
- ok
type: string
x-go-name: Status
x-order: 20
required:
- result
- status
type: object
GetETFsWorld_200_response_etf:
description: Etf information
properties:
summary:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_summary'
performance:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_performance'
risk:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_risk'
composition:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_composition'
type: object
x-go-name: Etf
x-order: 10
GetETFsWorld_200_response_etf_composition_bond_breakdown_average_maturity:
description: Average credit rating of bond holding of a fund
properties:
fund:
description: Average maturity of bond holding of a fund
examples:
- 6.65
format: double
type: number
x-go-name: Fund
x-order: 10
category:
description: Average maturity of bond holding of funds in the same category
examples:
- 7.81
format: double
type: number
x-go-name: Category
x-order: 20
type: object
x-go-name: AverageMaturity
x-order: 10
FormatEnum:
default: JSON
enum:
- JSON
- CSV
type: string
x-go-name: Format
x-order: '90'
GetETFsWorldSummary_200_response_etf:
description: Etf information
properties:
summary:
$ref: '#/components/schemas/GetETFsWorldSummary_200_response_etf_summary'
type: object
x-go-name: Etf
x-order: 10
GetETFsWorld_200_response_etf_composition_asset_allocation:
description: Asset allocation of a fund by different asset classes and their respective weights
properties:
cash:
description: Percentage of overall portfolio composition in cash
examples:
- 0.0004
format: double
type: number
x-go-name: Cash
x-order: 10
stocks:
description: Percentage of overall portfolio composition in stocks
examples:
- 0.9996
format: double
type: number
x-go-name: Stocks
x-order: 20
preferred_stocks:
description: Percentage of overall portfolio composition in preferred stocks
examples:
- 0
format: double
type: number
x-go-name: PreferredStocks
x-order: 30
convertables:
description: Percentage of overall portfolio composition in convertable securities
examples:
- 0
format: double
type: number
x-go-name: Convertables
x-order: 40
bonds:
description: Percentage of overall portfolio composition in bond
examples:
- 0
format: double
type: number
x-go-name: Bonds
x-order: 50
others:
description: Percentage of overall portfolio composition in other forms of holding
examples:
- 0
format: double
type: number
x-go-name: Others
x-order: 60
type: object
x-go-name: AssetAllocation
x-order: 30
ETFsListResponseItem:
properties:
symbol:
description: Instrument symbol (ticker)
examples:
- IVV
type: string
x-go-name: Symbol
x-order: 10
name:
description: Full name of the fund
examples:
- iShares Core S&P 500 ETF
type: string
x-go-name: Name
x-order: 20
country:
description: Country of fund incorporation
examples:
- United States
type: string
x-go-name: Country
x-order: 30
mic_code:
description: Market identifier code (MIC) under ISO 10383 standard
examples:
- XNAS
type: string
x-go-name: MicCode
x-order: 40
fund_family:
description: Investment company that manages the fund
examples:
- iShares
type: string
x-go-name: FundFamily
x-order: 50
fund_type:
description: Type of fund
examples:
- Large Blend
type: string
x-go-name: FundType
x-order: 60
required:
- country
- fund_family
- fund_type
- mic_code
- name
- symbol
type: object
x-go-package: gitlab.atlasgroup.ai/twelvedata/api/route/description
GetETFsWorldComposition_200_response_etf_composition:
description: Composition of a etf
properties:
major_market_sectors:
description: Breakdown of the fund’s portfolio by major industry sectors and their respective weights
items:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_composition_major_market_sectors_inner'
type: array
x-go-name: MajorMarketSectors
x-order: 10
country_allocation:
description: Breakdown of the fund’s portfolio by country and their respective weights
items:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_composition_country_allocation_inner'
type: array
x-go-name: CountryAllocation
x-order: 20
asset_allocation:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_composition_asset_allocation'
top_holdings:
description: Top holdings of a fund with their respective weights in the overall portfolio composition
items:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_composition_top_holdings_inner'
type: array
x-go-name: TopHoldings
x-order: 40
bond_breakdown:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_composition_bond_breakdown'
type: object
x-go-name: Composition
x-order: 10
ApiNotFoundErrorResponseBody:
properties:
code:
description: Error code
examples:
- 404
format: int64
type: integer
x-go-name: Code
message:
description: Error message
examples:
- symbol or figi parameter is missing or invalid
type: string
x-go-name: Message
status:
description: Error status
examples:
- error
type: string
x-go-name: Status
required:
- code
- message
- status
type: object
x-go-package: gitlab.atlasgroup.ai/twelvedata/api/route/description
GetETFsWorld_200_response_etf_performance:
description: Detailed performance of a etf
properties:
trailing_returns:
description: Performance returns of the fund and its category over various trailing time periods
items:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_performance_trailing_returns_inner'
type: array
x-go-name: TrailingReturns
x-order: 10
annual_total_returns:
description: Fund and category total returns (%) for each calendar year
items:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_performance_annual_total_returns_inner'
type: array
x-go-name: AnnualTotalReturns
x-order: 20
type: object
x-go-name: Performance
x-order: 20
ApiTooManyRequestsErrorResponseBody:
properties:
code:
description: Error code
examples:
- 429
format: int64
type: integer
x-go-name: Code
message:
description: Error message
examples:
- You have run out of API credits for the current minute. 1000 API credits were used, with the current limit being 987. Wait for the next minute or consider upgrading your plan at https://twelvedata.com/pricing
type: string
x-go-name: Message
status:
description: Error status
examples:
- error
type: string
x-go-name: Status
required:
- code
- message
- status
type: object
x-go-package: gitlab.atlasgroup.ai/twelvedata/api/route/description
GetETFsWorld_200_response_etf_composition:
description: Composition of a etf
properties:
major_market_sectors:
description: Breakdown of the fund’s portfolio by major industry sectors and their respective weights
items:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_composition_major_market_sectors_inner'
type: array
x-go-name: MajorMarketSectors
x-order: 10
country_allocation:
description: Breakdown of the fund’s portfolio by country and their respective weights
items:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_composition_country_allocation_inner'
type: array
x-go-name: CountryAllocation
x-order: 20
asset_allocation:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_composition_asset_allocation'
top_holdings:
description: Top holdings of a fund with their respective weights in the overall portfolio composition
items:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_composition_top_holdings_inner'
type: array
x-go-name: TopHoldings
x-order: 40
bond_breakdown:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_composition_bond_breakdown'
type: object
x-go-name: Composition
x-order: 40
GetETFsWorldSummary_200_response_etf_summary:
description: A brief summary of a ETF
properties:
symbol:
description: All available fund types segmented by country
examples:
- IVV
type: string
x-go-name: Symbol
x-order: 10
name:
description: Fund name
examples:
- iShares Core S&P 500 ETF
type: string
x-go-name: Name
x-order: 20
fund_family:
description: Investment company that manages the fund
examples:
- iShares
type: string
x-go-name: FundFamily
x-order: 30
fund_type:
description: Type of the fund
examples:
- Large Blend
type: string
x-go-name: FundType
x-order: 40
currency:
description: Currency of fund price
examples:
- USD
type: string
x-go-name: Currency
x-order: 50
share_class_inception_date:
description: The date from which the fund started operations and the returns are calculated
examples:
- '2000-11-13'
type: string
x-go-name: ShareClassInceptionDate
x-order: 60
ytd_return:
description: Percentage of profit of the fund since the first trading day of the current calendar year
examples:
- -0.0537
format: double
type: number
x-go-name: YtdReturn
x-order: 70
expense_ratio_net:
description: Percentage of ETF assets steered toward a fund's operating expenses and fund management fees
examples:
- -0.004
format: double
type: number
x-go-name: ExpenseRatioNet
x-order: 80
yield:
description: Income returned to its investors through interest and dividends generated by the fund's investments
examples:
- 0.0133
format: double
type: number
x-go-name: Yield
x-order: 90
nav:
description: 'Net Asset Value: fund value minus liabilities'
examples:
- 413.24
format: double
type: number
x-go-name: Nav
x-order: 100
last_price:
description: Last price of the fund
examples:
- 413.24
format: double
type: number
x-go-name: LastPrice
x-order: 110
turnover_rate:
description: Percentage rate at which ETF replaces its holdings on investment every year
examples:
- 0.04
format: double
type: number
x-go-name: TurnoverRate
x-order: 130
net_assets:
description: Total assets of a fund minus its total liabilities
examples:
- 753409982464
format: int64
type: integer
x-go-name: NetAssets
x-order: 140
overview:
description: Description of the fund
examples:
- The investment seeks to track the performance of the Standard & Poor's 500...
type: string
x-go-name: Overview
x-order: 150
required:
- name
- symbol
type: object
x-go-name: Summary
x-order: 10
GetETFsWorld_200_response_etf_summary:
description: A brief summary of a etf
properties:
symbol:
description: All available fund types segmented by country
examples:
- IVV
type: string
x-go-name: Symbol
x-order: 10
name:
description: Fund name
examples:
- iShares Core S&P 500 ETF
type: string
x-go-name: Name
x-order: 20
fund_family:
description: Investment company that manages the fund
examples:
- iShares
type: string
x-go-name: FundFamily
x-order: 30
fund_type:
description: Type of the fund
examples:
- Large Blend
type: string
x-go-name: FundType
x-order: 40
currency:
description: Currency of fund price
examples:
- USD
type: string
x-go-name: Currency
x-order: 50
share_class_inception_date:
description: The date from which the fund started operations and the returns are calculated
examples:
- '2000-11-13'
type: string
x-go-name: ShareClassInceptionDate
x-order: 60
ytd_return:
description: Percentage of profit of the fund since the first trading day of the current calendar year
examples:
- -0.0537
format: double
type: number
x-go-name: YtdReturn
x-order: 70
expense_ratio_net:
description: Percentage of ETF assets steered toward a fund's operating expenses and fund management fees
examples:
- -0.004
format: double
type: number
x-go-name: ExpenseRatioNet
x-order: 80
yield:
description: Income returned to its investors through interest and dividends generated by the fund's investments
examples:
- 0.0133
format: double
type: number
x-go-name: Yield
x-order: 90
nav:
description: 'Net Asset Value: fund value minus liabilities'
examples:
- 413.24
format: double
type: number
x-go-name: Nav
x-order: 100
last_price:
description: Last price of the fund
examples:
- 413.24
format: double
type: number
x-go-name: LastPrice
x-order: 110
turnover_rate:
description: Percentage rate at which ETF replaces its holdings on investment every year
examples:
- 0.04
format: double
type: number
x-go-name: TurnoverRate
x-order: 130
net_assets:
description: Total assets of a fund minus its total liabilities
examples:
- 753409982464
format: int64
type: integer
x-go-name: NetAssets
x-order: 140
overview:
description: Description of the fund
examples:
- The investment seeks to track the performance of the Standard & Poor's 500...
type: string
x-go-name: Overview
x-order: 150
required:
- name
- symbol
type: object
x-go-name: Summary
x-order: 10
GetETFsWorldPerformance_200_response_etf:
description: Etf information
properties:
performance:
$ref: '#/components/schemas/GetETFsWorldPerformance_200_response_etf_performance'
type: object
x-go-name: Etf
x-order: 10
GetETFsWorld_200_response_etf_risk:
description: Risk metrics of a etf
properties:
volatility_measures:
description: Risk and volatility statistics of the fund and its category over different periods
items:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_risk_volatility_measures_inner'
type: array
x-go-name: VolatilityMeasures
x-order: 10
valuation_metrics:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf_risk_valuation_metrics'
type: object
x-go-name: Risk
x-order: 30
GetETFsWorld_200_response_etf_composition_top_holdings_inner:
properties:
symbol:
description: Symbol ticker of a holding instrument
examples:
- AAPL
type: string
x-go-name: Symbol
x-order: 10
name:
description: Name of a holding instrument
examples:
- Apple Inc
type: string
x-go-name: Name
x-order: 20
exchange:
description: Exchange where instrument is traded
examples:
- NASDAQ
type: string
x-go-name: Exchange
x-order: 30
mic_code:
description: Market Identifier Code (MIC) under ISO 10383 standard
examples:
- XNAS
type: string
x-go-name: MicCode
x-order: 40
weight:
description: Weight of a holding instrument in overall portfolio composition
examples:
- 0.0592
format: double
type: number
x-go-name: Weight
x-order: 50
type: object
ApiBadRequestErrorResponseBody:
properties:
code:
description: Error code
examples:
- 400
format: int64
type: integer
x-go-name: Code
message:
description: Error message
examples:
- Invalid request
type: string
x-go-name: Message
status:
description: Error status
examples:
- error
type: string
x-go-name: Status
required:
- code
- message
- status
type: object
x-go-package: gitlab.atlasgroup.ai/twelvedata/api/route/description
GetETFsWorld_200_response_etf_risk_valuation_metrics:
description: Valuation ratios and metrics of the fund and its category
properties:
price_to_earnings:
description: Fund price to earnings metric
examples:
- 26.46
format: double
type: number
x-go-name: PriceToEarnings
x-order: 10
price_to_book:
description: Fund price to book metric
examples:
- 4.42
format: double
type: number
x-go-name: PriceToBook
x-order: 30
price_to_sales:
description: Fund price to sales metric
examples:
- 2.96
format: double
type: number
x-go-name: PriceToSales
x-order: 50
price_to_cashflow:
description: Fund price to cashflow metric
examples:
- 17.57
format: double
type: number
x-go-name: PriceToCashflow
x-order: 70
type: object
x-go-name: ValuationMetrics
x-order: 20
GetETFsWorld_200_response:
properties:
etf:
$ref: '#/components/schemas/GetETFsWorld_200_response_etf'
status:
description: Status of the response
examples:
- ok
type: string
x-go-name: Status
x-order: 20
required:
- etf
- status
type: object
ApiUnauthorizedErrorResponseBody:
properties:
code:
description: Error code
examples:
- 401
format: int64
type: integer
x-go-name: Code
message:
description: Error message
examples:
- apikey parameter is incorrect or not specified
type: string
x-go-name: Message
status:
description: Error status
examples:
- error
type: string
x-go-name: Status
required:
- code
- message
- status
type: object
x-go-package: gitlab.atlasgroup.ai/twelvedata/api/route/description
GetETFsWorldRisk_200_response:
properties:
etf:
$ref: '#/components/schemas/GetETFsWorldRisk_200_response_etf'
status:
description: Status of the response
examples:
- ok
type: string
x-go-name: Status
x-order: 20
required:
- etf
- status
type: object
GetETFsWorld_200_response_etf_risk_volatility_measures_inner:
properties:
period:
description: Period of a measure
examples:
- 3_year
type: string
x-go-name: Period
x-order: 10
alpha:
description: Alpha score of a fund
examples:
- -0.03
format: double
type: number
x-go-name: Alpha
x-order: 20
alpha_category:
description: Average alpha score of a fund's category
examples:
- -0.02
format: double
type: number
x-go-name: AlphaCategory
x-order: 30
beta:
description: Beta score of a fund
examples:
- 1
format: double
type: number
x-go-name: Beta
x-order: 40
beta_category:
description: Average beta score of a fund's category
examples:
- 0.01
format: double
type: number
x-go-name: BetaCategory
x-order: 50
mean_annual_return:
description: Mean annual return of a fund
examples:
- 1.58
format: double
type: number
x-go-name: MeanAnnualReturn
x-order: 60
mean_annual_return_category:
description: Average mean annual return of a fund's category
examples:
- 0.01
format: double
type: number
x-go-name: MeanAnnualReturnCategory
x-order: 70
r_squared:
description: R-squared metric of a fund
examples:
- 100
format: double
type: number
x-go-name: RSquared
x-order: 80
r_squared_category:
description: Average r-squared metric of a fund's category
examples:
- 0.95
format: double
type: number
x-go-name: RSquaredCategory
x-order: 90
std:
description: Standard deviation of a fund
examples:
- 18.52
format: double
type: number
x-go-name: Std
x-order: 100
std_category:
description: Average standard deviation of a fund's category
examples:
- 0.19
format: double
type: number
x-go-name: StdCategory
x-order: 110
sharpe_ratio:
description: Sharpe ratio of a fund
examples:
- 0.95
format: double
type: number
x-go-name: SharpeRatio
x-order: 120
sharpe_ratio_category:
description: Average sharpe ratio of a fund's category
examples:
- 0.01
format: double
type: number
x-go-name: SharpeRatioCategory
x-order: 130
treynor_ratio:
description: Treynor ratio of a fund
examples:
- 17.41
format: double
type: number
x-go-name: TreynorRatio
x-order: 140
treynor_ratio_category:
description: Average treynor ratio of a fund's category
examples:
- 0.16
format: double
type: number
x-go-name: TreynorRatioCategory
x-order: 150
type: object
GetETFsWorldSummary_200_response:
properties:
etf:
$ref: '#/components/schemas/GetETFsWorldSummary_200_response_etf'
status:
description: Status of the response
examples:
- ok
type: string
x-go-name: Status
x-order: 20
required:
- etf
- status
type: object
securitySchemes:
authorizationHeader:
description: Enter the token with the `apikey ` prefix, e.g. "apikey abcde12345".
in: header
name: Authorization
type: apiKey
queryParameter:
in: query
name: apikey
type: apiKey
x-group-list:
- description: Access real-time and historical market prices—time series and exchange rates—for equities, forex, cryptocurrencies, ETFs, and more. These endpoints form the foundation for any trading or data-driven application.
name: Market data
order: 10
- children:
- description: Asset Catalog endpoints are your starting point. They return the complete inventory of tradeable instruments available through Twelve Data — over 1,000,000 symbols across 50+ countries. You query a catalog first to discover which symbols exist, then pass those symbols to price, fundamental, or indicator endpoints.
name: Asset catalogs
order: 10
- description: Discovery endpoints help you find instruments when you don't already know the exact identifier. The Asset Catalog is the phone book; Discovery is the search engine on top of it.
name: Discovery
order: 20
- description: 'Market endpoints answer operational questions about exchanges themselves: which ones are open right now, what are their trading hours, and how far back does data go for a given instrument?'
name: Markets
order: 30
- description: 'Metadata endpoints return the lookup tables and enumerations that define valid parameter values across the entire API. They answer: what instrument types exist? What intervals are supported? Which countries are covered? What technical indicators can I use?'
name: Supporting metadata
order: 40
description: Lookup static metadata—symbol lists, exchange details, currency information-to filter, validate, and contextualize your core data calls. Ideal for building dropdowns, mappings, and ensuring data consistency.
name: Reference data
order: 20
- description: In-depth company and fund financials—income statements, balance sheets, cash flows, profiles, corporate events, and key ratios. Unlock comprehensive datasets for valuation, screening, and fundamental research.
name: Fundamentals
order: 30
- name: Currencies
order: 35
- description: 'ETF-focused metadata and analytics: universe lists, family and type groupings, NAV snapshots, performance metrics, risk measures, and current fund composition. Tailored to the unique characteristics and reporting cadence of exchange-traded funds.'
name: ETFs
order: 40
- description: 'Mutual-fund-specific listings and snapshots: fund directories, issuer families, fund types, NAV history, dividend records, key ratios, and portfolio holdings. Ideal for long-term performance analysis and portfolio attribution.'
name: Mutual funds
order: 50
- description: 'Money-market-fund directories and full-data snapshots: fund listings ranked by fund size, plus screener metrics (fund size, liquidity, weighted average maturity), yields, key facts, and risk indicators. Focused on short-term, low-risk cash-management instruments for liquidity and capital-preservation analysis.'
name: Money market funds
order: 55
- children:
- description: Plotted directly on the price chart to smooth or envelope price data, highlighting trend direction, support/resistance, and mean-reversion levels (e.g. moving averages, Bollinger Bands, Parabolic SAR, Ichimoku Cloud, Keltner Channels, McGinley Dynamic).
name: Overlap studies
order: 10
- description: Oscillators that measure the speed or strength of price movement, helping detect overbought/oversold conditions, divergences, and shifts in trend momentum (e.g. RSI, MACD, ROC, Stochastics, ADX, CCI, Coppock Curve, TRIX).
name: Momentum indicators
order: 20
- description: Use trading volume to confirm price moves or warn of exhaustion—volume and price in tandem suggest trend strength, while divergences can signal reversals (e.g. OBV, Chaikin AD, Accumulation/Distribution Oscillator).
name: Volume indicators
order: 30
- description: Quantify the range or dispersion of price over time to gauge risk, size stops, or identify breakouts (e.g. ATR, NATR, True Range) and adaptive overlays like SuperTrend.
name: Volatility indicators
order: 40
- description: Convert raw OHLC data into derived series or aggregated values to feed other indicators or reveal different perspectives on price (e.g. typical price, HLC3, weighted close, arithmetic transforms like SUM, AVG, LOG, SQRT).
name: Price transform
order: 50
- description: Detect and follow recurring periodic patterns in price action using Hilbert Transform–based measures of cycle period and phase (e.g. HT_SINE, HT_DCPERIOD, HT_DCPHASE, HT_PHASOR, HT_TRENDMODE).
name: Cycle indicators
order: 60
- description: Scan bars or bar‐groups for predefined candlestick patterns that historically signal continuation or reversal setups (e.g. Doji, Hammer, Engulfing, Three Black Crows, Morning Star, Dark Cloud Cover, etc.).
name: Pattern recognition
order: 70
- description: Compute fundamental statistical metrics on price series—dispersion, regression, correlation, and forecasting components—for standalone analysis or as inputs to other models (e.g. STDDEV, VAR, LINEARREG, CORREL, TSF, BETA).
name: Statistic functions
order: 80
- name: Math transform
order: 90
description: On-demand calculation of popular indicators (SMA, EMA, RSI, MACD, Bollinger Bands, etc.) over any supported time series. Streamline chart overlays, signal generation, and backtesting without external libraries.
name: Technical indicators
order: 60
- description: Forward-looking and consensus analytics—earnings and revenue estimates, EPS trends and revisions, growth projections, analyst recommendations and ratings, price targets, and other consensus metrics. Perfect for incorporating expert forecasts and sentiment into your models and dashboards.
name: Analysis
order: 70
- description: 'Compliance and filings data: insider transactions, SEC reports, governance documents, and more. Critical for audit trails, due-diligence workflows, and risk-management integrations.'
name: Regulatory
order: 80
- description: High-throughput and management endpoints for power users—submit and monitor batch jobs to pull large datasets asynchronously, track your API usage and quotas programmatically, and access other developer-focused tools for automating and scaling your data workflows.
name: Advanced
order: 90
x-original-swagger-version: '2.0'