ETF API
The ETF API provides detailed information about Exchange-Traded Funds including their price, all holdings, expense ratios, assets under management, and other key metrics. This API is not suitable for live trading or high-frequency trading.
Available endpoints:
- /v1/etf - Get detailed information for a specific ETF by ticker
- /v1/etflist - Get a list of every supported ETF ticker symbol
- /v1/etfsearch - Search for ETFs by AUM, expense ratio, holdings, or country
For data on Mutual Funds, use the Mutual Fund API instead.
From 8,061 users
Applications using this API
API Status
API Response Times
Average | P50 | P75 | P90 | P95 |
|---|---|---|---|---|
| 328ms | 346ms | 382ms | 739ms | 979ms |
Similar APIs
Didn't find what you were looking for? Suggest an improvement
/v1/etf GET
https://api.api-ninjas.com/v1/etf
Returns comprehensive information about any ETF by its ticker. This API is not suitable for live trading or high-frequency trading.
Parameters
tickerrequiredETF ticker symbol (e.g.,
QQQ,SPY,VTI). You must pass the complete ticker symbol, including any exchange suffix (dot notation) when the listing requires it. For example,EUNL.DE, notEUNL.
Headers
X-Api-KeyrequiredAPI Key associated with your account.
Response
A JSON object with the following fields or an error if the request is unsuccessful.
etf_tickerETF ticker symbol.
etf_nameETF name.
isinInternational Securities Identification Number (ISIN) of the ETF.
cusipNine-character Committee on Uniform Security Identification Procedures (CUSIP) identifier for the ETF.
countryCountry of the ETF issuer.
pricepremium onlyCurrent price of the ETF in USD. ETF prices are updated periodically and are not suitable for live trading.
expense_ratiopremium onlyAnnual expense ratio of the ETF as a percentage. For example, 0.2% would be
0.2.aumpremium onlyAssets under management of the ETF in USD.
num_holdingspremium onlyNumber of holdings in the ETF.
holdingspremium onlyArray of all holdings in the ETF, each with ticker, name, and percentage weight.
Sample Request Live Demo!
Try this API endpoint with all available parameters in our API playground
https://api.api-ninjas.com/v1/etf?ticker=QQQHeaders
X-Api-KeyLog in or sign up to get your API KeySample Response
Code Examples
1
2
curl -X GET "https://api.api-ninjas.com/v1/etf?ticker=SPY" \
-H "X-Api-Key: YOUR_API_KEY"If your programming language is not listed in the Code Example above, you can still make API calls by using a HTTP request library written in your programming language and following the above documentation.
/v1/etflist GET Business, Professional, or annual subscriptions Only
https://api.api-ninjas.com/v1/etflist
Returns ETF ticker symbols supported by the ETF API, paginated up to 1000 per call. Useful for discovering which tickers can be passed to /v1/etf or /v1/etfsearch. Increment the offset parameter by 1000 until fewer than 1000 results are returned to walk the entire list.
Parameters
offsetoptionalNumber of results to skip for pagination. Default
0. Page size is1000.
Headers
X-Api-KeyrequiredAPI Key associated with your account.
Response
A JSON array of strings (up to 1000 supported ETF ticker symbols starting at offset) or an error if the request is unsuccessful.
Sample Request Live Demo!
Try this API endpoint with all available parameters in our API playground
https://api.api-ninjas.com/v1/etflistHeaders
X-Api-KeyLog in or sign up to get your API KeySample Response
Code Examples
1
2
curl -X GET "https://api.api-ninjas.com/v1/etflist?offset=0" \
-H "X-Api-Key: YOUR_API_KEY"/v1/etfsearch GET Business, Professional, or annual subscriptions Only
https://api.api-ninjas.com/v1/etfsearch
Search for ETFs matching a combination of filters. Results are sorted by assets under management (descending) and capped at 50 per page. Use the offset parameter to paginate. At least one filter parameter is required.
Parameters
At least one of the following parameters must be provided.
min_aumoptionalMinimum assets under management in USD (e.g.
10000000000for $10B).max_aumoptionalMaximum assets under management in USD.
min_expense_ratiooptionalMinimum annual expense ratio as a decimal (e.g.
0.001for 0.1%).max_expense_ratiooptionalMaximum annual expense ratio as a decimal.
holdingsoptionalComma-separated list of ticker symbols. Only ETFs that hold every listed ticker will be returned (AND match). Example:
AAPL,MSFT.countryoptionalISO country code of the ETF issuer (e.g.
US,CA,DE).offsetoptionalNumber of results to skip for pagination. Default
0. Page size is50.
Headers
X-Api-KeyrequiredAPI Key associated with your account.
Response
A JSON array of up to 50 matching ETFs (sorted by AUM descending) or an error if the request is unsuccessful. Each entry contains the following fields. To retrieve full holdings for a specific result, call /v1/etf with its symbol.
symbolETF ticker symbol.
nameETF name.
countryISO country code of the ETF issuer.
expense_ratioAnnual expense ratio of the ETF as a decimal (e.g.
0.0009for 0.09%).aumAssets under management of the ETF in USD.
num_holdingsNumber of holdings in the ETF.
Sample Request Live Demo!
Try this API endpoint with all available parameters in our API playground
https://api.api-ninjas.com/v1/etfsearch?min_aum=10000000000&country=USHeaders
X-Api-KeyLog in or sign up to get your API KeySample Response
Code Examples
1
2
curl -X GET "https://api.api-ninjas.com/v1/etfsearch?min_aum=10000000000&country=US" \
-H "X-Api-Key: YOUR_API_KEY"