ETF Profile Data API
getETFDetails
getETFDetails API provides ETF profile information including descriptions, fund family, underlying index, inception date, alpha, beta, shares outstanding, management fee, assets under management, top 10 holdings and more.
View All APIsContact Us to Get Access
Inputs
symbolsoptional
A valid equity symbol. Multiple symbols separated by a comma may be used.
Type
list (A comma or semi-colon delimited string.)
Example
SPY
categoriesoptional
A valid asset class value. Multiple asset classes separated by a comma may be used.
Type
list (A comma or semi-colon delimited string.)
Example
Equity
subCategoriesoptional
A valid sub-category (classification) value. Multiple values separated by a comma may be used.
Type
list (A comma or semi-colon delimited string.)
Example
Global
Outputs
symbol
always returned
always returned
A symbol or code that identifies a financial instrument. Multiple symbols separated by a comma may be used.
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
name
always returned
always returned
The name of the ETF.
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
fundFamily
always returned
always returned
The family of funds the ETF belongs to
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
underlyingIndex
always returned
always returned
The underlying index the ETF belongs to
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
description
always returned
always returned
An overview of the ETF
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
assetClass
always returned
always returned
The type of assets the ETF invests in
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
classification
always returned
always returned
The classification for the ETF.
enum
A type which includes a list of valid possible values.
A type which includes a list of valid possible values.
sector
always returned
always returned
Sectors the ETF is part of
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
inceptionDate
always returned
always returned
The launch date of the ETF
date
A date in the format of YYYY-MM-DD.
A date in the format of YYYY-MM-DD.
firstTradeDate
always returned
always returned
The first day the ETF traded
date
A date in the format of YYYY-MM-DD.
A date in the format of YYYY-MM-DD.
leverage
always returned
always returned
The leverage strategy of the ETF
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
alpha
always returned
always returned
The alpha of the ETF
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
beta
always returned
always returned
The beta of the ETF
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
standardDeviation
always returned
always returned
The standard deviation of the ETF
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
sharesOutstanding
always returned
always returned
The number of shares outstanding
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
managedAssets
always returned
always returned
The amount of assets invested in the ETF
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
netAssetValue
always returned
always returned
The net assets value of the ETF
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
lastNAVUpdateDate
always returned
always returned
The date net asset value was last updated.
date
A date in the format of YYYY-MM-DD.
A date in the format of YYYY-MM-DD.
firstTradePrice
always returned
always returned
The first traded price of the ETF
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
peRatio
always returned
always returned
The p/e ratio of the ETF
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
managementFee
always returned
always returned
The management fee of the ETF
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
options
always returned
always returned
If options are listed on the ETF
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
latestDividend
always returned
always returned
The latest dividend amount of the ETF
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
dividendDate
always returned
always returned
The date of the latest dividend for the ETF
date
A date in the format of YYYY-MM-DD.
A date in the format of YYYY-MM-DD.
annualDividend
always returned
always returned
The amount of the annual dividend for the ETF
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
annualDividendYield
always returned
always returned
The annual dividend yield of the ETF
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
latestSplit
always returned
always returned
The latest split ratio for the ETF
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
splitDate
always returned
always returned
The date of the latest split
date
A date in the format of YYYY-MM-DD.
A date in the format of YYYY-MM-DD.
ytdReturn
always returned
always returned
The year-to-date return on the ETF
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
OneyearReturn
always returned
always returned
The one year return on the ETF
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
ThreeyearReturn
always returned
always returned
The three year return on the ETF
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
FiveyearReturn
always returned
always returned
The five year return on the ETF
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
TenyearReturn
always returned
always returned
The ten year return on the ETF
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
totalHoldings
always returned
always returned
Total number of holdings for the given symbol.
integer
A numeric type defining a whole number. (example: 2)
A numeric type defining a whole number. (example: 2)
topHoldings1
always returned
always returned
The symbol for the number one holding
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
topHoldings1Name
always returned
always returned
The name of the holding
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
topHoldings1Percent
always returned
always returned
The percent of holdings
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
topHoldings2
always returned
always returned
The symbol for the number two holding
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
topHoldings2Name
always returned
always returned
The name of the holding
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
topHoldings2Percent
always returned
always returned
The percent of holdings
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
topHoldings3
always returned
always returned
The symbol for the number three holding
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
topHoldings3Name
always returned
always returned
The name of the holding
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
topHoldings3Percent
always returned
always returned
The percent of holdings
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
topHoldings4
always returned
always returned
The symbol for the number four holding
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
topHoldings4Name
always returned
always returned
The name of the holding
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
topHoldings4Percent
always returned
always returned
The percent of holdings
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
topHoldings5
always returned
always returned
The symbol for the number five holding
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
topHoldings5Name
always returned
always returned
The name of the holding
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
topHoldings5Percent
always returned
always returned
The percent of holdings
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
topHoldings6
always returned
always returned
The symbol for the number six holding
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
topHoldings6Name
always returned
always returned
The name of the holding
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
topHoldings6Percent
always returned
always returned
The percent of holdings
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
topHoldings7
always returned
always returned
The symbol for the number seven holding
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
topHoldings7Name
always returned
always returned
The name of the holding
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
topHoldings7Percent
always returned
always returned
The percent of holdings
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
topHoldings8
always returned
always returned
The symbol for number eight holding
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
topHoldings8Name
always returned
always returned
The name of the holding
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
topHoldings8Percent
always returned
always returned
The percent of holdings
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
topHoldings9
always returned
always returned
The symbol for the number nine holding
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
topHoldings9Name
always returned
always returned
The name of the holding
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
topHoldings9Percent
always returned
always returned
The percent of holdings
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
topHoldings10
always returned
always returned
The symbol for number ten holding
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
topHoldings10Name
always returned
always returned
The name of the holding
string
A sequence of characters. (example: GOOG)
A sequence of characters. (example: GOOG)
topHoldings10Percent
always returned
always returned
The percent of holdings
double
A numeric type defining a number with fractional parts. (example: 2.14)
A numeric type defining a number with fractional parts. (example: 2.14)
Status Code Responses
200
OK
Success
400
Bad Request
The request was invalid, please see the message for more information.
500
Internal Server Error
Something is not working correctly, please contact support.
JSON
GET
GET https://ondemand.websol.barchart.com/getETFDetails.json?apikey=YOUR_API_KEY&symbols=SPY&categories=Equity&subCategories=Global
Host: ondemand.websol.barchart.com
POST
POST https://ondemand.websol.barchart.com/getETFDetails.json
Host: ondemand.websol.barchart.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length
apikey=YOUR_API_KEY&symbols=SPY&categories=Equity&subCategories=Global
Response
{
"status": {
"code": 200,
"message": "Success."
},
"results": [
{
"symbol": "SPY",
"name": "SPDR S&P 500 ETF",
"fundFamily": "State Street Global Advisors",
"underlyingIndex": "S&P 500 Index",
"description": "The SPDR SP 500 ETF Trust seeks to provide investment results that, before expenses, correspond generally to the price and yield performance of the SP 500 Index.",
"assetClass": "Equity",
"classification": {
"region": "North America",
"country": "US",
"sector": "Multi-Sector",
"equity_index": "S&P 500",
"leveraged_family": "SPY",
"country_listing": "US"
},
"sector": "Large Cap",
"inceptionDate": "1993-01-22",
"firstTradeDate": "1993-01-29",
"leverage": "Long",
"alpha": -0.03,
"beta": 1,
"standardDeviation": 16.52,
"sharesOutstanding": 1031082.2,
"managedAssets": 598562624,
"netAssetValue": 580.5188,
"lastNAVUpdateDate": "2024-10-29",
"firstTradePrice": 43.97,
"peRatio": 17.86,
"managementFee": 0.09,
"options": "Yes",
"latestDividend": 1.746,
"dividendDate": "2024-09-20",
"annualDividend": 7.01,
"annualDividendYield": 1.21,
"latestSplit": null,
"splitDate": null,
"ytdReturn": 22.4,
"OneyearReturn": 41.66,
"ThreeyearReturn": 24.17,
"FiveyearReturn": 88.31,
"TenyearReturn": 188.49,
"totalHoldings": "505",
"topHoldings1": "AAPL",
"topHoldings1Name": "APPLE INC",
"topHoldings1Percent": 7.21,
"topHoldings2": "NVDA",
"topHoldings2Name": "NVIDIA CORP",
"topHoldings2Percent": 7.02,
"topHoldings3": "MSFT",
"topHoldings3Name": "MICROSOFT CORP",
"topHoldings3Percent": 6.44,
"topHoldings4": "AMZN",
"topHoldings4Name": "AMAZON.COM INC",
"topHoldings4Percent": 3.57,
"topHoldings5": "META",
"topHoldings5Name": "META PLATFORMS INC CLASS A",
"topHoldings5Percent": 2.56,
"topHoldings6": "GOOGL",
"topHoldings6Name": "ALPHABET INC CL A",
"topHoldings6Percent": 1.98,
"topHoldings7": "BRK.B",
"topHoldings7Name": "BERKSHIRE HATHAWAY INC CL B",
"topHoldings7Percent": 1.71,
"topHoldings8": "GOOG",
"topHoldings8Name": "ALPHABET INC CL C",
"topHoldings8Percent": 1.64,
"topHoldings9": "AVGO",
"topHoldings9Name": "BROADCOM INC",
"topHoldings9Percent": 1.63,
"topHoldings10": "TSLA",
"topHoldings10Name": "TESLA INC",
"topHoldings10Percent": 1.48
}
]
}
XML
GET
GET https://ondemand.websol.barchart.com/getETFDetails.xml?apikey=YOUR_API_KEY&symbols=SPY&categories=Equity&subCategories=Global
Host: ondemand.websol.barchart.com
POST
POST https://ondemand.websol.barchart.com/getETFDetails.xml
Host: ondemand.websol.barchart.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length
apikey=YOUR_API_KEY&symbols=SPY&categories=Equity&subCategories=Global
Response
<?xml version="1.0" encoding="utf-8"?>
<getETFDetails>
<status>
<code>200</code>
<message>Success.</message>
</status>
<item>
<symbol>SPY</symbol>
<name>SPDR S&P 500 ETF</name>
<fundFamily>State Street Global Advisors</fundFamily>
<underlyingIndex>S&P 500 Index</underlyingIndex>
<description>The SPDR SP 500 ETF Trust seeks to provide investment results that, before expenses, correspond generally to the price and yield performance of the SP 500 Index.</description>
<assetClass>Equity</assetClass>
<classification>
<region>North America</region>
<country>US</country>
<sector>Multi-Sector</sector>
<equity_index>S&P 500</equity_index>
<leveraged_family>SPY</leveraged_family>
<country_listing>US</country_listing>
</classification>
<sector>Large Cap</sector>
<inceptionDate>1993-01-22</inceptionDate>
<firstTradeDate>1993-01-29</firstTradeDate>
<leverage>Long</leverage>
<alpha>-0.03</alpha>
<beta>1</beta>
<standardDeviation>16.52</standardDeviation>
<sharesOutstanding>1031082.2</sharesOutstanding>
<managedAssets>598562624</managedAssets>
<netAssetValue>580.5188</netAssetValue>
<lastNAVUpdateDate>2024-10-29</lastNAVUpdateDate>
<firstTradePrice>43.97</firstTradePrice>
<peRatio>17.86</peRatio>
<managementFee>0.09</managementFee>
<options>Yes</options>
<latestDividend>1.746</latestDividend>
<dividendDate>2024-09-20</dividendDate>
<annualDividend>7.01</annualDividend>
<annualDividendYield>1.21</annualDividendYield>
<latestSplit/>
<splitDate/>
<ytdReturn>22.4</ytdReturn>
<OneyearReturn>41.66</OneyearReturn>
<ThreeyearReturn>24.17</ThreeyearReturn>
<FiveyearReturn>88.31</FiveyearReturn>
<TenyearReturn>188.49</TenyearReturn>
<totalHoldings>505</totalHoldings>
<topHoldings1>AAPL</topHoldings1>
<topHoldings1Name>APPLE INC</topHoldings1Name>
<topHoldings1Percent>7.21</topHoldings1Percent>
<topHoldings2>NVDA</topHoldings2>
<topHoldings2Name>NVIDIA CORP</topHoldings2Name>
<topHoldings2Percent>7.02</topHoldings2Percent>
<topHoldings3>MSFT</topHoldings3>
<topHoldings3Name>MICROSOFT CORP</topHoldings3Name>
<topHoldings3Percent>6.44</topHoldings3Percent>
<topHoldings4>AMZN</topHoldings4>
<topHoldings4Name>AMAZON.COM INC</topHoldings4Name>
<topHoldings4Percent>3.57</topHoldings4Percent>
<topHoldings5>META</topHoldings5>
<topHoldings5Name>META PLATFORMS INC CLASS A</topHoldings5Name>
<topHoldings5Percent>2.56</topHoldings5Percent>
<topHoldings6>GOOGL</topHoldings6>
<topHoldings6Name>ALPHABET INC CL A</topHoldings6Name>
<topHoldings6Percent>1.98</topHoldings6Percent>
<topHoldings7>BRK.B</topHoldings7>
<topHoldings7Name>BERKSHIRE HATHAWAY INC CL B</topHoldings7Name>
<topHoldings7Percent>1.71</topHoldings7Percent>
<topHoldings8>GOOG</topHoldings8>
<topHoldings8Name>ALPHABET INC CL C</topHoldings8Name>
<topHoldings8Percent>1.64</topHoldings8Percent>
<topHoldings9>AVGO</topHoldings9>
<topHoldings9Name>BROADCOM INC</topHoldings9Name>
<topHoldings9Percent>1.63</topHoldings9Percent>
<topHoldings10>TSLA</topHoldings10>
<topHoldings10Name>TESLA INC</topHoldings10Name>
<topHoldings10Percent>1.48</topHoldings10Percent>
</item>
</getETFDetails>
CSV
GET
GET https://ondemand.websol.barchart.com/getETFDetails.csv?apikey=YOUR_API_KEY&symbols=SPY&categories=Equity&subCategories=Global
Host: ondemand.websol.barchart.com
POST
POST https://ondemand.websol.barchart.com/getETFDetails.csv
Host: ondemand.websol.barchart.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length
apikey=YOUR_API_KEY&symbols=SPY&categories=Equity&subCategories=Global
Response
symbol,name,fundFamily,underlyingIndex,description,assetClass,classification,sector,inceptionDate,firstTradeDate,leverage,alpha,beta,standardDeviation,sharesOutstanding,managedAssets,netAssetValue,lastNAVUpdateDate,firstTradePrice,peRatio,managementFee,options,latestDividend,dividendDate,annualDividend,annualDividendYield,latestSplit,splitDate,ytdReturn,OneyearReturn,ThreeyearReturn,FiveyearReturn,TenyearReturn,totalHoldings,topHoldings1,topHoldings1Name,topHoldings1Percent,topHoldings2,topHoldings2Name,topHoldings2Percent,topHoldings3,topHoldings3Name,topHoldings3Percent,topHoldings4,topHoldings4Name,topHoldings4Percent,topHoldings5,topHoldings5Name,topHoldings5Percent,topHoldings6,topHoldings6Name,topHoldings6Percent,topHoldings7,topHoldings7Name,topHoldings7Percent,topHoldings8,topHoldings8Name,topHoldings8Percent,topHoldings9,topHoldings9Name,topHoldings9Percent,topHoldings10,topHoldings10Name,topHoldings10Percent
"SPY","SPDR S&P 500 ETF","State Street Global Advisors","S&P 500 Index","The SPDR SP 500 ETF Trust seeks to provide investment results that, before expenses, correspond generally to the price and yield performance of the SP 500 Index.","Equity","region:North America,country:US,sector:Multi-Sector,equity_index:S&P 500,leveraged_family:SPY,country_listing:US","Large Cap","1993-01-22","1993-01-29","Long","-0.03","1","16.52","1031082.2","598562624","580.5188","2024-10-29","43.97","17.86","0.09","Yes","1.746","2024-09-20","7.01","1.21","","","22.4","41.66","24.17","88.31","188.49","505","AAPL","APPLE INC","7.21","NVDA","NVIDIA CORP","7.02","MSFT","MICROSOFT CORP","6.44","AMZN","AMAZON.COM INC","3.57","META","META PLATFORMS INC CLASS A","2.56","GOOGL","ALPHABET INC CL A","1.98","BRK.B","BERKSHIRE HATHAWAY INC CL B","1.71","GOOG","ALPHABET INC CL C","1.64","AVGO","BROADCOM INC","1.63","TSLA","TESLA INC","1.48"
PHP
<?php
$ondemand = new SoapClient('https://ondemand.websol.barchart.com/service?wsdl');
$params = [
'apikey' => 'YOUR_API_KEY',
'symbols' => 'SPY',
'categories' => 'Equity',
'subCategories' => 'Global',
];
$result = $ondemand->getETFDetails($params);
var_dump($result);
Classic ASP
Dim ondemand
Dim result
Set ondemand = Server.CreateObject("MSSOAP.SoapClient30")
ondemand.ClientProperty("ServerHTTPRequest") = True
ondemand.MSSoapInit("https://ondemand.websol.barchart.com/service?wsdl")
Set result = ondemand.getETFDetails("YOUR_API_KEY", "SPY", "Equity", "Global")
Perl
use SOAP::Lite;
use SOAP::WSDL;
my $ondemand = SOAP::Lite
-> service('https://ondemand.websol.barchart.com/service?wsdl');
my $result = $ondemand->getETFDetails('YOUR_API_KEY', 'SPY', 'Equity', 'Global');
print $result;
Python
from suds.client import Client
ondemand = Client('https://ondemand.websol.barchart.com/service?wsdl')
result = ondemand.service.getETFDetails('YOUR_API_KEY', 'SPY', 'Equity', 'Global')
print(result)
Ruby
require 'savon'
ondemand = Savon.client(wsdl: 'https://ondemand.websol.barchart.com/service?wsdl')
response = ondemand.call(
:getETFDetails,
message: {
apikey: 'YOUR_API_KEY',
symbols: 'SPY',
categories: 'Equity',
subCategories: 'Global',
}
)
response.body