Welcome to the Bitformance API! You can use our API to access cryptocurrency data that powers the Bitformance website, including information on various coins, market trends, and historical data.
We offer language bindings in Shell, JavaScript, and Python! You can view code examples in the dark area to the right, and you can switch the programming language of the examples using the tabs in the top right.
To access the API, you'll need both an API-KEY and an API-SECRET-KEY. Free API keys are available to all users with limited calls per month and restricted access to certain endpoints. For additional access and higher usage limits, please contact the Bitformance Team at contact@bitformance.com.
Make sure to replace your_api_key_here and your_api_secret_key_here with your API key and your Secret Key.
Bitformance uses API keys to allow access to the API. You can register a new Bitformance API key by creating an account on Our Website and navigating to the API Keys Dashboard once logged in.
User Access
The access to each endpoint is subscription based. Endpoints with the "free" tier designation are available to all users. Some endpoints require a higher tier, or paid subscription. The available tiers are listed below:
Free (5000 credits per month, 10 requests per minute, 3 months historical data)
Starter (250000 credits per month, 20 requests per minute, 6 months historical data)
Analyst (250000 credits per month, 20 requests per minute, 3 years historical data)
Professional (250000 credits per month, 30 requests per minute, all time historical data, commercial use available)
Enterprise (2000000 credits per month, custom rate limits, all time historical data, commercial use available, beta features available)
Rate Limits
The frequency at which users can call the endpoints are based on the user's tier subscription. Default rate limits are listed below and apply to most endpoints, however some endpoints have custom rate limits. Please read the endpoint's documentation on its rate limits for more information.
Free: 10 requests per minute
Starter: 20 requests per minute
Analyst: 20 requests per minute
Professional: 30 requests per minute
Enterprise: Custom requests per minute
Historical Data Access
Different subscription tiers have access to different amounts of historical data:
Free: 3 months of historical data
Starter: 6 months of historical data
Analyst: 3 years of historical data
Professional: All time historical data
Enterprise: All time historical data
Endpoints
Get Browsable Indexes
Access Tier: FREE
Credits Cost: 1 credit per request
Rate Limits
Tier
Limit
Free
10 requests per minute
Starter
20 requests per minute
Analyst
20 requests per minute
Professional
30 requests per minute
Enterprise
Custom
importrequests# Without query parameters
url="https://api.bitformance.com/api/v2/get-browsable-indexes"headers={"API-KEY":"your_api_key","API-SECRET-KEY":"your_api_secret_key"}response=requests.get(url,headers=headers)indexes=response.json()# With query parameters
params={"sortField":"marketcap","sortOrder":"desc","indexType":"all"}response=requests.get(url,headers=headers,params=params)indexes=response.json()
# Without query parameters
curl "https://api.bitformance.com/api/v2/get-browsable-indexes"\-H"API-KEY: your_api_key"\-H"API-SECRET-KEY: your_api_secret_key"# With query parameters
curl "https://api.bitformance.com/api/v2/get-browsable-indexes?sortField=marketcap&sortOrder=desc&indexType=all"\-H"API-KEY: your_api_key"\-H"API-SECRET-KEY: your_api_secret_key"
constfetch=require('node-fetch');// Without query parametersconsturl="https://api.bitformance.com/api/v2/get-browsable-indexes";constheaders={"API-KEY":"your_api_key","API-SECRET-KEY":"your_api_secret_key"};fetch(url,{headers}).then(response=>response.json()).then(data=>console.log(data)).catch(error=>console.error('Error:',error));// With query parametersconstparams=newURLSearchParams({sortField:'marketcap',sortOrder:'desc',indexType:'all'});fetch(`${url}?${params.toString()}`,{headers}).then(response=>response.json()).then(data=>console.log(data)).catch(error=>console.error('Error:',error));
The above command returns JSON structured like this:
{"success":true,"data":[{"index_info":{"_id":"65569daf76cd9d2bc8ec55b5","created":"2023-11-16 22:54:38.948000","updated":"2024-08-24 12:01:06.870000","initial_timestamp":1483315200,"name":"50/50 Bitcoin + Ethereum","description":"50/50 Bitcoin + Ethereum with a monthly rebalance and an initial starting balance of $1,000.","algorithm":"market_cap","sector":"Cryptocurrency","industry":"Digital Currency","asset_type":"cryptocurrency","weighting_method":"custom","rebalancing_interval":"monthly","custom_weights":{"BTC":0.5,"ETH":0.5}},"index_holdings":[{"ticker":"BTC","id":1},{"ticker":"ETH","id":1027}],"index_performance":{"initial_value":1000.0,"value":15847.23,"change_24hour":234.56,"changepct_24hour":1.5,"change_7d":-567.89,"changepct_7d":-3.46,"change_1m":1234.56,"changepct_1m":8.44,"change_3m":2345.67,"changepct_3m":17.37,"change_6m":3456.78,"changepct_6m":27.85,"change_1y":4567.89,"changepct_1y":40.47,"drawdown":-15.23,"marketcap":128456789.12,"asset_performance_24h_bullish":1,"asset_performance_24h_bearish":1,"asset_sma_200d_over":1,"asset_sma_200d_under":1,"asset_sma_50d_over":1,"asset_sma_50d_under":1,"asset_1y_high":0,"asset_1y_low":0,"asset_alltime_high":0,"asset_alltime_low":0,"asset_new_highs":0,"asset_new_lows":0}}]}
This endpoint retrieves all publicly available browsable indexes. You can filter, sort, and organize the results using optional query parameters.
HTTP Request
GET https://api.bitformance.com/api/v2/get-browsable-indexes
Type of indexes to return. Accepted values: bitformance, sector, aggregated, all
Headers
Header
Description
API-KEY
Your unique API key.
API-SECRET-KEY
Your API secret key.
Response
field
Description
success
A boolean value indicating whether the API request was successful (true) or not (false).
index_info
Description
_id
Unique index identifier.
created
Timestamp indicating when the index was created.
updated
Timestamp indicating when the index was last updated.
initial_timestamp
Timestamp representing the starting point for the index's data and performance tracking.
name
The name of the index.
description
The description of the index.
algorithm
The algorithm used to construct the index (e.g., "market_cap", "equal_weight", "sector_ranked").
sector
The sector classification of the index.
industry
The industry classification of the index (if applicable).
asset_type
The type of assets included in the index (e.g., "cryptocurrency").
weighting_method
The method used to assign weights to the assets in the index.
rebalancing_interval
The frequency at which the index is rebalanced.
custom_weights
Contains custom weighting values if the "weighting_method" is "custom".
index_holdings
Description
ticker
The ticker symbol of the asset held in the index.
id
Unique asset identifier (CMC ID).
index_performance
Description
initial_value
The initial value of the index on inception, also known as the starting investment.
value
Current value of the index.
change_24hour
Absolute change in index value over the last 24 hours.
changepct_24hour
Percentage change in index value over the last 24 hours.
change_7d
Absolute change in index value over the last 7 days.
changepct_7d
Percentage change in index value over the last 7 days.
change_1m
Absolute change in index value over the last 1 month.
changepct_1m
Percentage change in index value over the last 1 month.
change_3m
Absolute change in index value over the last 3 months.
changepct_3m
Percentage change in index value over the last 3 months.
change_6m
Absolute change in index value over the last 6 months.
changepct_6m
Percentage change in index value over the last 6 months.
change_1y
Absolute change in index value over the last 1 year.
changepct_1y
Percentage change in index value over the last 1 year.
drawdown
Maximum drawdown percentage of the index.
marketcap
Total market capitalization of all assets in the index.
asset_performance_24h_bullish
Number of assets in the index with positive 24h performance.
asset_performance_24h_bearish
Number of assets in the index with negative 24h performance.
asset_sma_200d_over
Number of assets trading above their 200-day simple moving average.
asset_sma_200d_under
Number of assets trading below their 200-day simple moving average.
asset_sma_50d_over
Number of assets trading above their 50-day simple moving average.
asset_sma_50d_under
Number of assets trading below their 50-day simple moving average.
asset_1y_high
Number of assets at or near their 1-year high.
asset_1y_low
Number of assets at or near their 1-year low.
asset_alltime_high
Number of assets at or near their all-time high.
asset_alltime_low
Number of assets at or near their all-time low.
asset_new_highs
Number of assets that have reached new highs recently.
asset_new_lows
Number of assets that have reached new lows recently.
Get All Coins
Access Tier: FREE
Credits Cost: 1 credit per request
Rate Limits
Tier
Limit
Free
10 requests per minute
Starter
20 requests per minute
Analyst
20 requests per minute
Professional
30 requests per minute
Enterprise
Custom
importrequests# Basic request with default pagination
url="https://api.bitformance.com/api/v2/get-all-coins"headers={"API-KEY":"your_api_key","API-SECRET-KEY":"your_api_secret_key"}response=requests.get(url,headers=headers)coins=response.json()# Request with pagination and sorting parameters
params={"page":2,"page_size":50,"sortBy":"price","sortOrder":"asc","tax_only":"true"}response=requests.get(url,headers=headers,params=params)coins=response.json()
This endpoint retrieves a paginated list of cryptocurrency data. Returns 100 coins per page by default, with options for sorting and filtering.
HTTP Request
GET https://api.bitformance.com/api/v2/get-all-coins
Query Parameters
Parameter
Type
Default
Description
page
integer
1
Specifies the page number to retrieve (e.g., 1, 2, 3, etc.)
page_size
integer
100
Number of coins to return per page. Maximum value is 200
sortBy
string
market_cap
Field to sort by. Accepted values: market_cap, price, name, symbol, volume, change_24hour, changepct_24hour, change_7day, changepct_7day, all_time_high, all_time_low
sortOrder
string
desc
Sort direction. Accepted values: asc, desc
tax_only
string
-
When present (any value), returns only coins with valid taxonomy classification, excluding "Uncategorized" and "BLACKLIST" coins
Headers
Header
Description
API-KEY
Your unique API key.
API-SECRET-KEY
Your API secret key.
Response
field
Description
success
A boolean value indicating whether the API request was successful (true) or not (false).
data (array of coin objects)
Description
coin_id
Unique coin identifier (CMC ID).
coin_slug
URL-friendly version of the coin's name.
name
The full name of the cryptocurrency.
symbol
The ticker symbol of the cryptocurrency.
description
Description of the cryptocurrency.
tier_lvl_1
The level 1 taxonomy classification of the cryptocurrency (sector).
tier_lvl_2
The level 2 taxonomy classification of the cryptocurrency (sub-sector).
last_updated
The timestamp of the last time the data for this cryptocurrency was updated.
price
The current price of the cryptocurrency (in USD).
market_cap
The total market capitalization of the cryptocurrency (price × circulating supply).
volume
The total trading volume of the cryptocurrency over the last 24 hours.
last_daily_close
The closing price of the cryptocurrency at the end of the last trading day.
all_time_high
The highest price ever reached by the cryptocurrency.
all_time_low
The lowest price ever reached by the cryptocurrency.
avg_price_200d
The average price of the cryptocurrency over the last 200 days.
avg_price_50d
The average price of the cryptocurrency over the last 50 days.
change_24hour
The change in the cryptocurrency's value over the last 24 hours in dollars.
changepct_24hour
The percentage change in the cryptocurrency's value over the last 24 hours.
change_7day
The change in the cryptocurrency's value over the last 7 days in dollars.
changepct_7day
The percentage change in the cryptocurrency's value over the last 7 days.
change_1m
The change in the cryptocurrency's value over the last 1 month in dollars.
changepct_1m
The percentage change in the cryptocurrency's value over the last 1 month.
change_3m
The change in the cryptocurrency's value over the last 3 months in dollars.
changepct_3m
The percentage change in the cryptocurrency's value over the last 3 months.
change_6m
The change in the cryptocurrency's value over the last 6 months in dollars.
changepct_6m
The percentage change in the cryptocurrency's value over the last 6 months.
change_1y
The change in the cryptocurrency's value over the last 1 year in dollars.
changepct_1y
The percentage change in the cryptocurrency's value over the last 1 year.
one_year_high
The highest price reached by the cryptocurrency in the last year.
one_year_low
The lowest price reached by the cryptocurrency in the last year.
weekly_high
The highest price reached by the cryptocurrency in the last 7 days.
weekly_low
The lowest price reached by the cryptocurrency in the last 7 days.
Get Coin Data
Access Tier: FREE
Credits Cost: 1 credit per request
Rate Limits
Tier
Limit
Free
10 requests per minute
Starter
20 requests per minute
Analyst
20 requests per minute
Professional
30 requests per minute
Enterprise
Custom
importrequests# Define the base URL and query parameters
base_url="https://api.bitformance.com/api/v2/get-coin-data"params={"symbols":"BTC,ETH","timeseries_interval":"daily","start":"1639612800","metric":"closing_price"}# Send the GET request
response=requests.get(base_url,headers={"API-KEY":"your_api_key","API-SECRET-KEY":"your_secret_key"},params=params)coin_data=response.json()
# Define the base URL and query parametersbase_url="https://api.bitformance.com/api/v2/get-coin-data"symbols="BTC,ETH"timeseries_interval="daily"start="1639612800"metric="closing_price"# Send the GET request using curl
curl -G"$base_url"\--data-urlencode"symbols=$symbols"\--data-urlencode"timeseries_interval=$timeseries_interval"\--data-urlencode"start=$start"\--data-urlencode"metric=$metric"\-H"API-KEY: your_api_key"\-H"API-SECRET-KEY: your_secret_key"
constfetch=require('node-fetch');// Define the base URL and query parametersconstbaseUrl='https://api.bitformance.com/api/v2/get-coin-data';constparams=newURLSearchParams({symbols:'BTC,ETH',timeseries_interval:'daily',start:'1639612800',metric:'closing_price'});// Send the GET requestfetch(`${baseUrl}?${params.toString()}`,{method:'GET',headers:{'API-KEY':'your_api_key','API-SECRET-KEY':'your_secret_key'}}).then(response=>response.json()).then(data=>console.log(data));
The above command returns JSON structured like this:
This endpoint retrieves detailed information and historical data for specific cryptocurrencies by their symbols.
HTTP Request
GET https://api.bitformance.com/api/v2/get-coin-data
Query Parameters
Parameter
Type
Required
Description
symbols
string
Yes
Comma-separated list of cryptocurrency symbols (e.g., "BTC,ETH,DOGE"). Maximum 10 symbols per request.
timeseries_interval
string
No
Time interval for historical data. Accepted values: daily, fivemin. When daily is used, returns one data point per day at UTC-0. When fivemin is used, returns 24-hour data with data points every 5 minutes.
start
integer
No
UNIX (Epoch) timestamp indicating when the timeseries data should begin. If the timestamp is older than your tier's historical data access limit, the earliest available timestamp will be used. If the timestamp would return more than 3000 data points, an earlier timestamp will be used to stay within limits.
metric
string
No
The metric to return in timeseries data. Accepted values: closing_price, market_cap. Defaults to closing_price.
Headers
Header
Description
API-KEY
Your unique API key.
API-SECRET-KEY
Your API secret key.
Response
field
Description
success
A boolean value indicating whether the API request was successful (true) or not (false).
data (array of coin objects)
Description
cmc_id
Unique coin identifier (CoinMarketCap ID).
symbol
The ticker symbol of the cryptocurrency.
name
The full name of the cryptocurrency.
marketcap
The total market capitalization of the cryptocurrency (price × circulating supply).
volume
The total trading volume of the cryptocurrency over the last 24 hours.
price
The current price of the cryptocurrency (in USD).
change_24hour
The change in the cryptocurrency's value over the last 24 hours in dollars.
change_7day
The change in the cryptocurrency's value over the last 7 days in dollars.
changepct_24hour
The percentage change in the cryptocurrency's value over the last 24 hours.
changepct_7day
The percentage change in the cryptocurrency's value over the last 7 days.
change_1m
The change in the cryptocurrency's value over the last 1 month in dollars.
changepct_1m
The percentage change in the cryptocurrency's value over the last 1 month.
change_3m
The change in the cryptocurrency's value over the last 3 months in dollars.
changepct_3m
The percentage change in the cryptocurrency's value over the last 3 months.
change_6m
The change in the cryptocurrency's value over the last 6 months in dollars.
changepct_6m
The percentage change in the cryptocurrency's value over the last 6 months.
change_1y
The change in the cryptocurrency's value over the last 1 year in dollars.
changepct_1y
The percentage change in the cryptocurrency's value over the last 1 year.
description
Description of the cryptocurrency.
tier_lvl_1
The level 1 taxonomy classification of the cryptocurrency (sector).
tier_lvl_2
The level 2 taxonomy classification of the cryptocurrency (sub-sector).
initial_value
The oldest closing price tracked in the database for this cryptocurrency.
daily_timeseries_data / fivemin_timeseries_data (when timeseries_interval is provided)
Description
date
The date and time in "YYYY-MM-DD HH:MM:SS" format representing the timestamp of the data point.
value
The corresponding value (closing price or market cap) of the cryptocurrency at the specified date and time.
Get Bitformance Altcoin Index
Access Tier: STARTER
Credits Cost: 1 credit per request
Rate Limits
Tier
Limit
Free
Not Available
Starter
20 requests per minute
Analyst
20 requests per minute
Professional
30 requests per minute
Enterprise
Custom
importrequests# Define the base URL and query parameters
base_url="https://api.bitformance.com/api/v2/get-bitformance-altcoin-index"params={"timeseries_interval":"daily","weighting_method":"market_cap","metric":"closing_price"}# Send the GET request
response=requests.get(base_url,headers={"API-KEY":"your_api_key","API-SECRET-KEY":"your_secret_key"},params=params)altcoin_index=response.json()
# Define the base URL and query parametersbase_url="https://api.bitformance.com/api/v2/get-bitformance-altcoin-index"timeseries_interval="daily"weighting_method="market_cap"metric="closing_price"# Send the GET request using curl
curl -G"$base_url"\--data-urlencode"timeseries_interval=$timeseries_interval"\--data-urlencode"weighting_method=$weighting_method"\--data-urlencode"metric=$metric"\-H"API-KEY: your_api_key"\-H"API-SECRET-KEY: your_secret_key"
constfetch=require('node-fetch');// Define the base URL and query parametersconstbaseUrl='https://api.bitformance.com/api/v2/get-bitformance-altcoin-index';constparams=newURLSearchParams({timeseries_interval:'daily',weighting_method:'market_cap',metric:'closing_price'});// Send the GET requestfetch(`${baseUrl}?${params.toString()}`,{method:'GET',headers:{'API-KEY':'your_api_key','API-SECRET-KEY':'your_secret_key'}}).then(response=>response.json()).then(data=>console.log(data));
The above command returns JSON structured like this:
{"success":true,"data":{"index_info":{"_id":"6478bf4fc7a3444d2433fd36","created":"2022-06-12 20:09:13.368000","updated":"2024-08-25 22:31:06.880000","initial_timestamp":1491004800,"name":"Bitformance Altcoin","description":"Top 200 Altcoins - weighted by market cap, rebalanced quarterly, and an initial starting balance of $1,000. This index aims to reflect the overall performance/trends of altcoins.","algorithm":"top_ranked","sector":"Multi-Sector","industry":"Altcoins","asset_type":"dynamic","weighting_method":"market_cap","rebalancing_interval":"QUARTERLY","custom_weights":{}},"index_holdings":[{"ticker":"LTC","id":2,"quantity":3.287725841392287},{"ticker":"XRP","id":52,"quantity":2450.9797025951802},{"ticker":"DOGE","id":74,"quantity":6378.512439581647}],"index_performance":{"marketcap":405001505119.2155,"initial_value":1000,"value":17647.9592678145,"drawdown":-44.7335,"change_24hour":219.86630934640198,"change_7d":20.00662346527679,"changepct_24hour":1.2615626383813359,"changepct_7d":0.11349374410584241,"change_1m":-583.7322879097555,"change_3m":-5273.669374681358,"change_6m":-8771.200695155574,"change_1y":7813.173206304606,"changepct_1m":-3.2017450828718057,"changepct_3m":-23.007393832845576,"changepct_6m":-33.200149843710264,"changepct_1y":79.44426200466917,"asset_new_highs":105,"asset_new_lows":1,"asset_performance_24h_bearish":71,"asset_performance_24h_bullish":129,"asset_sma_200d_over":10,"asset_sma_200d_under":190,"asset_sma_50d_over":42,"asset_sma_50d_under":158,"asset_1y_high":1,"asset_1y_low":0,"asset_alltime_high":0,"asset_alltime_low":0},"daily_timeseries_data":[{"date":"2017-04-01 00:00:00","value":1000.0},{"date":"2017-04-02 00:00:00","value":1004.5596183364022},{"date":"2017-04-03 00:00:00","value":1639.5754208146486},{"date":"2017-04-04 00:00:00","value":1184.4590760724552}],"constituent_info":[{"coin_id":2,"coin_slug":"litecoin","name":"Litecoin","symbol":"LTC","description":"","tier_lvl_1":"Digital Currency","tier_lvl_2":"General","last_updated":"2024-08-25T22:28:00.000Z","price":65.30661265643441,"market_cap":4891647320.7893,"volume":232839669.20519465,"last_daily_close":66.58131223228845,"all_time_high":386.45077919,"all_time_low":1.1570099592,"avg_price_200d":78.53544956180635,"avg_price_50d":66.90979366661023,"change_24hour":64.33712188532131,"changepct_24hour":-1.4845216,"change_7day":64.30490964026299,"changepct_7day":-1.53384623,"change_1m":-123.45,"changepct_1m":-1.85,"change_3m":234.56,"changepct_3m":3.60,"change_6m":345.67,"changepct_6m":5.29,"change_1y":1234.56,"changepct_1y":18.90,"one_year_high":109.2439422366925,"one_year_low":55.98397579556809,"weekly_high":66.58131223228845,"weekly_low":63.83114086015394}]}}
This endpoint returns information and performance data for the Bitformance Altcoin Index, which tracks the top altcoins weighted by market capitalization.
HTTP Request
GET https://api.bitformance.com/api/v2/get-bitformance-altcoin-index
Query Parameters
Parameter
Type
Description
timeseries_interval
string
Time interval for historical data. Accepted values: daily, fivemin. When daily is used, returns one data point per day at UTC-0. When fivemin is used, returns 24-hour data with data points every 5 minutes.
weighting_method
string
The weighting method for the index. Accepted values: market_cap, equal_weight. Defaults to market_cap if not specified or invalid.
metric
string
The metric to return in timeseries data. Accepted values: closing_price, market_cap. Defaults to closing_price.
Headers
Header
Description
API-KEY
Your unique API key.
API-SECRET-KEY
Your API secret key.
Response
field
Description
success
A boolean value indicating whether the API request was successful (true) or not (false).
index_info
Description
_id
Unique index identifier.
created
Timestamp indicating when the index was created.
updated
Timestamp indicating the last time the index was updated.
initial_timestamp
Timestamp representing the starting point for the index's data and performance tracking.
name
The name of the index.
description
The description of the index.
algorithm
The algorithm used to construct the index (typically "top_ranked").
sector
The sector classification of the index.
industry
The industry classification of the index.
asset_type
The type of assets included in the index (typically "dynamic").
weighting_method
The method used to assign weights to the assets in the index.
rebalancing_interval
The frequency at which the index is rebalanced.
custom_weights
Contains custom weighting values (usually empty for algorithmic indexes).
index_holdings
Description
ticker
The ticker symbol of the asset held in the index.
id
Unique asset identifier (CMC ID).
quantity
The amount of the asset currently held in the index.
index_performance
Description
marketcap
The total market capitalization of the index, representing the aggregate value of all assets' market capitalization within the index, weighted by percentage of index.
initial_value
The initial value of the index on inception, also known as the starting investment.
value
Current value of the index.
drawdown
The maximum percentage loss from the index's peak value over a specified period.
change_24hour
The change in the index's value over the last 24 hours in dollars.
changepct_24hour
The percentage change in the index's value over the last 24 hours.
change_7d
The change in the index's value over the last 7 days in dollars.
changepct_7d
The percentage change in the index's value over the last 7 days.
change_1m
The change in the index's value over the last 1 month in dollars.
changepct_1m
The percentage change in the index's value over the last 1 month.
change_3m
The change in the index's value over the last 3 months in dollars.
changepct_3m
The percentage change in the index's value over the last 3 months.
change_6m
The change in the index's value over the last 6 months in dollars.
changepct_6m
The percentage change in the index's value over the last 6 months.
change_1y
The change in the index's value over the last 1 year in dollars.
changepct_1y
The percentage change in the index's value over the last 1 year.
asset_new_highs
The number of holdings in the index that have reached new highs.
asset_new_lows
The number of holdings in the index that have reached new lows.
asset_performance_24h_bearish
The number of holdings in the index that have a bearish performance (negative returns) over the last 24 hours.
asset_performance_24h_bullish
The number of holdings in the index that have a bullish performance (positive returns) over the last 24 hours.
asset_sma_200d_over
The number of holdings in the index that are currently trading above their 200-day simple moving average (SMA).
asset_sma_200d_under
The number of holdings in the index that are currently trading under their 200-day simple moving average (SMA).
asset_sma_50d_over
The number of holdings in the index that are currently trading above their 50-day simple moving average (SMA).
asset_sma_50d_under
The number of holdings in the index that are currently trading under their 50-day simple moving average (SMA).
asset_1y_high
The number of holdings in the index that have reached their highest price in the last year.
asset_1y_low
The number of holdings in the index that have reached their lowest price in the last year.
asset_alltime_high
The number of holdings in the index that have reached their highest price ever.
asset_alltime_low
The number of holdings in the index that have reached their lowest price ever.
daily_timeseries_data / fivemin_timeseries_data (when timeseries_interval is provided)
Description
date
The date and time in "YYYY-MM-DD HH:MM:SS" format representing the timestamp of the data point.
value
The corresponding value (closing price or market cap) of the index at the specified date and time.
constituent_info
Description
coin_id
Unique coin identifier (CMC ID).
coin_slug
URL-friendly version of the coin's name.
name
The full name of the cryptocurrency.
symbol
The ticker symbol of the cryptocurrency.
description
Description of the cryptocurrency.
tier_lvl_1
The level 1 taxonomy classification of the cryptocurrency (sector).
tier_lvl_2
The level 2 taxonomy classification of the cryptocurrency (sub-sector).
last_updated
The timestamp of the last time the data for this cryptocurrency was updated.
price
The current price of the cryptocurrency (in USD).
market_cap
The total market capitalization of the cryptocurrency (price × circulating supply).
volume
The total trading volume of the cryptocurrency over the last 24 hours.
last_daily_close
The closing price of the cryptocurrency at the end of the last trading day.
all_time_high
The highest price ever reached by the cryptocurrency.
all_time_low
The lowest price ever reached by the cryptocurrency.
avg_price_200d
The average price of the cryptocurrency over the last 200 days.
avg_price_50d
The average price of the cryptocurrency over the last 50 days.
change_24hour
The change in the cryptocurrency's value over the last 24 hours in dollars.
changepct_24hour
The percentage change in the cryptocurrency's value over the last 24 hours.
change_7day
The change in the cryptocurrency's value over the last 7 days in dollars.
changepct_7day
The percentage change in the cryptocurrency's value over the last 7 days.
change_1m
The change in the cryptocurrency's value over the last 1 month in dollars.
changepct_1m
The percentage change in the cryptocurrency's value over the last 1 month.
change_3m
The change in the cryptocurrency's value over the last 3 months in dollars.
changepct_3m
The percentage change in the cryptocurrency's value over the last 3 months.
change_6m
The change in the cryptocurrency's value over the last 6 months in dollars.
changepct_6m
The percentage change in the cryptocurrency's value over the last 6 months.
change_1y
The change in the cryptocurrency's value over the last 1 year in dollars.
changepct_1y
The percentage change in the cryptocurrency's value over the last 1 year.
one_year_high
The highest price reached by the cryptocurrency in the last year.
one_year_low
The lowest price reached by the cryptocurrency in the last year.
weekly_high
The highest price reached by the cryptocurrency in the last 7 days.
weekly_low
The lowest price reached by the cryptocurrency in the last 7 days.
Get Top 200 Index
Access Tier: STARTER
Credits Cost: 1 credit per request
Rate Limits
Tier
Limit
Free
Not Available
Starter
20 requests per minute
Analyst
20 requests per minute
Professional
30 requests per minute
Enterprise
Custom
importrequests# Define the base URL and query parameters
base_url="https://api.bitformance.com/api/v2/get-top200-index"params={"timeseries_interval":"daily","weighting_method":"market_cap","metric":"closing_price"}# Send the GET request
response=requests.get(base_url,headers={"API-KEY":"your_api_key","API-SECRET-KEY":"your_secret_key"},params=params)top200_index=response.json()
# Define the base URL and query parametersbase_url="https://api.bitformance.com/api/v2/get-top200-index"timeseries_interval="daily"weighting_method="market_cap"metric="closing_price"# Send the GET request using curl
curl -G"$base_url"\--data-urlencode"timeseries_interval=$timeseries_interval"\--data-urlencode"weighting_method=$weighting_method"\--data-urlencode"metric=$metric"\-H"API-KEY: your_api_key"\-H"API-SECRET-KEY: your_secret_key"
constfetch=require('node-fetch');// Define the base URL and query parametersconstbaseUrl='https://api.bitformance.com/api/v2/get-top200-index';constparams=newURLSearchParams({timeseries_interval:'daily',weighting_method:'market_cap',metric:'closing_price'});// Send the GET requestfetch(`${baseUrl}?${params.toString()}`,{method:'GET',headers:{'API-KEY':'your_api_key','API-SECRET-KEY':'your_secret_key'}}).then(response=>response.json()).then(data=>console.log(data));
The above command returns JSON structured like this:
{"success":true,"data":{"index_info":{"_id":"6478bf4fc7a3444d2433fd36","created":"2022-06-12 20:09:13.368000","updated":"2024-08-25 22:31:06.880000","initial_timestamp":1491004800,"name":"Top 200","description":"Top 200 cryptocurrencies - weighted by market cap, rebalanced quarterly, and an initial starting balance of $1,000. This index aims to reflect the overall performance of the top cryptocurrency market.","algorithm":"top_ranked","sector":"Multi-Sector","industry":"Top Assets","asset_type":"dynamic","weighting_method":"market_cap","rebalancing_interval":"QUARTERLY","custom_weights":{}},"index_holdings":[{"ticker":"BTC","id":1,"quantity":15.287725841392287},{"ticker":"ETH","id":1027,"quantity":145.9797025951802},{"ticker":"BNB","id":1839,"quantity":378.512439581647}],"index_performance":{"marketcap":1205001505119.2155,"initial_value":1000,"value":25647.9592678145,"drawdown":-38.7335,"change_24hour":419.86630934640198,"change_7d":120.00662346527679,"changepct_24hour":1.6615626383813359,"changepct_7d":0.47349374410584241,"change_1m":-1583.7322879097555,"change_3m":-3273.669374681358,"change_6m":-4771.200695155574,"change_1y":9813.173206304606,"changepct_1m":-6.2017450828718057,"changepct_3m":-12.007393832845576,"changepct_6m":-18.600149843710264,"changepct_1y":62.44426200466917,"asset_new_highs":15,"asset_new_lows":3,"asset_performance_24h_bearish":89,"asset_performance_24h_bullish":111,"asset_sma_200d_over":45,"asset_sma_200d_under":155,"asset_sma_50d_over":87,"asset_sma_50d_under":113,"asset_1y_high":5,"asset_1y_low":2,"asset_alltime_high":1,"asset_alltime_low":0},"daily_timeseries_data":[{"date":"2017-04-01 00:00:00","value":1000.0},{"date":"2017-04-02 00:00:00","value":1014.5596183364022},{"date":"2017-04-03 00:00:00","value":1089.5754208146486},{"date":"2017-04-04 00:00:00","value":1134.4590760724552}],"constituent_info":[{"coin_id":1,"coin_slug":"bitcoin","name":"Bitcoin","symbol":"BTC","description":"","tier_lvl_1":"Digital Currency","tier_lvl_2":"General","last_updated":"2024-08-25T22:28:00.000Z","price":64510.34179357949,"market_cap":1273762311113.9631,"volume":17528186093.072506,"last_daily_close":64176.36706695918,"all_time_high":73079.3733787985,"all_time_low":0.04951,"avg_price_200d":63241.400978283695,"avg_price_50d":61652.955475512186,"change_24hour":65334.582599120564,"changepct_24hour":1.27768786,"change_7day":69978.65742318358,"changepct_7day":8.4766496,"change_1m":-1234.56,"changepct_1m":-1.87,"change_3m":2345.67,"changepct_3m":3.64,"change_6m":5678.90,"changepct_6m":8.81,"change_1y":12345.67,"changepct_1y":19.15,"one_year_high":73079.3733787985,"one_year_low":25684.019423324316,"weekly_high":64176.36706695918,"weekly_low":58482.74531725411}]}}
This endpoint returns information and performance data for the Top 200 Index, which tracks the top 200 cryptocurrencies weighted by market capitalization.
HTTP Request
GET https://api.bitformance.com/api/v2/get-top200-index
Query Parameters
Parameter
Type
Description
timeseries_interval
string
Time interval for historical data. Accepted values: daily, fivemin. When daily is used, returns one data point per day at UTC-0. When fivemin is used, returns 24-hour data with data points every 5 minutes.
weighting_method
string
The weighting method for the index. Accepted values: market_cap, equal_weight. Defaults to market_cap if not specified or invalid.
metric
string
The metric to return in timeseries data. Accepted values: closing_price, market_cap. Defaults to closing_price.
Headers
Header
Description
API-KEY
Your unique API key.
API-SECRET-KEY
Your API secret key.
Response
The response structure is identical to the Get Bitformance Altcoin Index endpoint, containing:
field
Description
success
A boolean value indicating whether the API request was successful (true) or not (false).
index_info
Description
_id
Unique index identifier.
created
Timestamp indicating when the index was created.
updated
Timestamp indicating the last time the index was updated.
initial_timestamp
Timestamp representing the starting point for the index's data and performance tracking.
name
The name of the index.
description
The description of the index.
algorithm
The algorithm used to construct the index (typically "top_ranked").
sector
The sector classification of the index.
industry
The industry classification of the index.
asset_type
The type of assets included in the index (typically "dynamic").
weighting_method
The method used to assign weights to the assets in the index.
rebalancing_interval
The frequency at which the index is rebalanced.
custom_weights
Contains custom weighting values (usually empty for algorithmic indexes).
index_holdings
Description
ticker
The ticker symbol of the asset held in the index.
id
Unique asset identifier (CMC ID).
quantity
The amount of the asset currently held in the index.
index_performance
Description
marketcap
The total market capitalization of the index.
initial_value
The initial value of the index on inception.
value
Current value of the index.
drawdown
The maximum percentage loss from the index's peak value.
change_24hour
The change in the index's value over the last 24 hours in dollars.
changepct_24hour
The percentage change in the index's value over the last 24 hours.
change_7d
The change in the index's value over the last 7 days in dollars.
changepct_7d
The percentage change in the index's value over the last 7 days.
change_1m
The change in the index's value over the last 1 month in dollars.
changepct_1m
The percentage change in the index's value over the last 1 month.
change_3m
The change in the index's value over the last 3 months in dollars.
changepct_3m
The percentage change in the index's value over the last 3 months.
change_6m
The change in the index's value over the last 6 months in dollars.
changepct_6m
The percentage change in the index's value over the last 6 months.
change_1y
The change in the index's value over the last 1 year in dollars.
changepct_1y
The percentage change in the index's value over the last 1 year.
asset_new_highs
Number of holdings that have reached new highs.
asset_new_lows
Number of holdings that have reached new lows.
asset_performance_24h_bearish
Number of holdings with negative 24h performance.
asset_performance_24h_bullish
Number of holdings with positive 24h performance.
asset_sma_200d_over
Number of holdings trading above their 200-day SMA.
asset_sma_200d_under
Number of holdings trading below their 200-day SMA.
asset_sma_50d_over
Number of holdings trading above their 50-day SMA.
asset_sma_50d_under
Number of holdings trading below their 50-day SMA.
asset_1y_high
Number of holdings at their 1-year high.
asset_1y_low
Number of holdings at their 1-year low.
asset_alltime_high
Number of holdings at their all-time high.
asset_alltime_low
Number of holdings at their all-time low.
daily_timeseries_data / fivemin_timeseries_data (when timeseries_interval is provided)
Description
date
The date and time in "YYYY-MM-DD HH:MM:SS" format.
value
The corresponding value (closing price or market cap) of the index.
constituent_info
Description
Complete cryptocurrency data for each asset in the index, including price, market cap, volume, performance metrics, and taxonomy classifications. See the Get All Coins endpoint documentation for detailed field descriptions.
Get Top 200 Data
Access Tier: STARTER
Credits Cost: 1 credit per request
Rate Limits
Tier
Limit
Free
Not Available
Starter
20 requests per minute
Analyst
20 requests per minute
Professional
30 requests per minute
Enterprise
Custom
importrequests# Define the base URL and query parameters
base_url="https://api.bitformance.com/api/v2/get-top200-data"params={"weighting_method":"marketcap","metric":"closing_price"}# Send the GET request
response=requests.get(base_url,headers={"API-KEY":"your_api_key","API-SECRET-KEY":"your_secret_key"},params=params)top200_data=response.json()
# Define the base URL and query parametersbase_url="https://api.bitformance.com/api/v2/get-top200-data"weighting_method="marketcap"metric="closing_price"# Send the GET request using curl
curl -G"$base_url"\--data-urlencode"weighting_method=$weighting_method"\--data-urlencode"metric=$metric"\-H"API-KEY: your_api_key"\-H"API-SECRET-KEY: your_secret_key"
constfetch=require('node-fetch');// Define the base URL and query parametersconstbaseUrl='https://api.bitformance.com/api/v2/get-top200-data';constparams=newURLSearchParams({weighting_method:'marketcap',metric:'closing_price'});// Send the GET requestfetch(`${baseUrl}?${params.toString()}`,{method:'GET',headers:{'API-KEY':'your_api_key','API-SECRET-KEY':'your_secret_key'}}).then(response=>response.json()).then(data=>console.log(data));
The above command returns JSON structured like this:
This endpoint returns special timeseries and constituent data for a Top 200 index created by the Bitformance Team. This index is currently not available on the website and can only be accessed via the API. The index is created using coins with valid taxonomy data that meet specific volume and market cap thresholds. It is rebalanced quarterly, and users can view the constituents per rebalancing period.
HTTP Request
GET https://api.bitformance.com/api/v2/get-top200-data
Query Parameters
Parameter
Type
Description
weighting_method
string
The weighting method for the index. Accepted values: marketcap, equal_weight. Defaults to marketcap if not specified or invalid.
metric
string
The metric to return in timeseries data. Accepted values: closing_price, market_cap. Defaults to closing_price.
Headers
Header
Description
API-KEY
Your unique API key.
API-SECRET-KEY
Your API secret key.
Response
field
Description
message
Status message indicating success or any warnings about parameter validation.
data
Description
weighting_method
The weighting method used for the index data returned.
daily_timeseries_data
Description
date
The date in "YYYY-MM-DD" format representing the trading day.
value
The corresponding value of the index (total_value for closing_price or total_marketcap for market_cap metric) at the specified date.
top_200_rebalanced_constituents
Description
rebalance_date
The date in "YYYY-MM-DD" format when the rebalancing occurred.
constituents
An array of cryptocurrency objects that were included in the index during this rebalancing period.
Individual constituent objects contain:
Description
symbol
The ticker symbol of the cryptocurrency.
cmc_id
The unique CoinMarketCap ID of the cryptocurrency.
Data Source
This endpoint retrieves data from CSV files stored in S3 that contain:
- Historical performance data for the Top 200 index with different weighting methods
- Quarterly rebalancing constituent data showing which cryptocurrencies were included in each rebalancing period
- Data spanning multiple years of index performance and composition changes
Use Cases
Historical analysis of top cryptocurrency market performance
Understanding how the composition of top cryptocurrencies has changed over time
Backtesting strategies based on top-ranked cryptocurrency indexes
Research into market concentration and dominance patterns
Get Sector Indexes
Access Tier: FREE
Credits Cost: 1 credit per request
Rate Limits
Tier
Limit
Free
10 requests per minute
Starter
20 requests per minute
Analyst
20 requests per minute
Professional
30 requests per minute
Enterprise
Custom
importrequests# Define the base URL and query parameters
base_url="https://api.bitformance.com/api/v2/get-sector-indexes"params={"weighting_method":"market_cap","sector":"Smart Contract Platform","industry":"Layer 1"}# Send the GET request
response=requests.get(base_url,headers={"API-KEY":"your_api_key","API-SECRET-KEY":"your_secret_key"},params=params)sector_indexes=response.json()
# Define the base URL and query parametersbase_url="https://api.bitformance.com/api/v2/get-sector-indexes"weighting_method="market_cap"sector="Smart Contract Platform"industry="Layer 1"# Send the GET request using curl
curl -G"$base_url"\--data-urlencode"weighting_method=$weighting_method"\--data-urlencode"sector=$sector"\--data-urlencode"industry=$industry"\-H"API-KEY: your_api_key"\-H"API-SECRET-KEY: your_secret_key"
constfetch=require('node-fetch');// Define the base URL and query parametersconstbaseUrl='https://api.bitformance.com/api/v2/get-sector-indexes';constparams=newURLSearchParams({weighting_method:'market_cap',sector:'Smart Contract Platform',industry:'Layer 1'});// Send the GET requestfetch(`${baseUrl}?${params.toString()}`,{method:'GET',headers:{'API-KEY':'your_api_key','API-SECRET-KEY':'your_secret_key'}}).then(response=>response.json()).then(data=>console.log(data));
The above command returns JSON structured like this:
This endpoint returns sector-specific cryptocurrency indexes, allowing you to filter by sector, industry, and weighting method.
HTTP Request
GET https://api.bitformance.com/api/v2/get-sector-indexes
Query Parameters
Parameter
Type
Description
weighting_method
string
Specifies the method of weighting. Accepted values: market_cap, equal_weight
sector
string
Specifies the sector to filter by (e.g., "Smart Contract Platform", "Digital Currency", "DeFi")
industry
string
Specifies the industry within the sector (e.g., "Layer 1", "General", "DEX")
Headers
Header
Description
API-KEY
Your unique API key.
API-SECRET-KEY
Your API secret key.
Response
field
Description
success
A boolean value indicating whether the API request was successful (true) or not (false).
index_info
Description
_id
Unique index identifier.
created
Timestamp indicating when the index was created.
updated
Timestamp indicating the last time the index was updated.
initial_timestamp
Timestamp representing the starting point for the index's data and performance tracking.
name
The name of the index.
description
The description of the index.
algorithm
The algorithm used to construct the index (typically "sector_ranked" for sector indexes).
sector
The sector classification of the index.
industry
The industry classification within the sector.
asset_type
The type of assets included in the index (typically "dynamic" for sector indexes).
weighting_method
The method used to assign weights to the assets in the index.
rebalancing_interval
The frequency at which the index is rebalanced (typically "quarterly").
custom_weights
Contains custom weighting values (usually empty for sector indexes).
index_holdings
Description
ticker
The ticker symbol of the asset held in the index.
id
Unique asset identifier (CMC ID).
quantity
The amount of the asset currently held in the index.
index_performance
Description
marketcap
The total market capitalization of the index, representing the aggregate value of all assets' market capitalization within the index, weighted by percentage of index.
initial_value
The initial value of the index on inception, also known as the starting investment.
value
Current value of the index.
drawdown
The maximum percentage loss from the index's peak value over a specified period.
change_24hour
The change in the index's value over the last 24 hours in dollars.
changepct_24hour
The percentage change in the index's value over the last 24 hours.
change_7d
The change in the index's value over the last 7 days in dollars.
changepct_7d
The percentage change in the index's value over the last 7 days.
change_1m
The change in the index's value over the last 1 month in dollars.
changepct_1m
The percentage change in the index's value over the last 1 month.
change_3m
The change in the index's value over the last 3 months in dollars.
changepct_3m
The percentage change in the index's value over the last 3 months.
change_6m
The change in the index's value over the last 6 months in dollars.
changepct_6m
The percentage change in the index's value over the last 6 months.
change_1y
The change in the index's value over the last 1 year in dollars.
changepct_1y
The percentage change in the index's value over the last 1 year.
asset_new_highs
The number of holdings in the index that have reached new highs.
asset_new_lows
The number of holdings in the index that have reached new lows.
asset_performance_24h_bearish
The number of holdings in the index that have a bearish performance (negative returns) over the last 24 hours.
asset_performance_24h_bullish
The number of holdings in the index that have a bullish performance (positive returns) over the last 24 hours.
asset_sma_200d_over
The number of holdings in the index that are currently trading above their 200-day simple moving average (SMA).
asset_sma_200d_under
The number of holdings in the index that are currently trading under their 200-day simple moving average (SMA).
asset_sma_50d_over
The number of holdings in the index that are currently trading above their 50-day simple moving average (SMA).
asset_sma_50d_under
The number of holdings in the index that are currently trading under their 50-day simple moving average (SMA).
asset_1y_high
The number of holdings in the index that have reached their highest price in the last year.
asset_1y_low
The number of holdings in the index that have reached their lowest price in the last year.
asset_alltime_high
The number of holdings in the index that have reached their highest price ever.
asset_alltime_low
The number of holdings in the index that have reached their lowest price ever.
Get Altcoin Season Index
Access Tier: STARTER
Credits Cost: 1 credit per request
Rate Limits
Tier
Limit
Free
Not Available
Starter
20 requests per minute
Analyst
20 requests per minute
Professional
30 requests per minute
Enterprise
Custom
importrequests# Define the base URL
base_url="https://api.bitformance.com/api/v2/get-altcoin-season"# Send the GET request
response=requests.get(base_url,headers={"API-KEY":"your_api_key","API-SECRET-KEY":"your_secret_key"})altcoin_season=response.json()
# Define the base URLbase_url="https://api.bitformance.com/api/v2/get-altcoin-season"# Send the GET request using curl
curl -X GET "$base_url"\-H"API-KEY: your_api_key"\-H"API-SECRET-KEY: your_secret_key"
constfetch=require('node-fetch');// Define the base URLconstbaseUrl='https://api.bitformance.com/api/v2/get-altcoin-season';// Send the GET requestfetch(baseUrl,{method:'GET',headers:{'API-KEY':'your_api_key','API-SECRET-KEY':'your_secret_key'}}).then(response=>response.json()).then(data=>console.log(data));
The above command returns JSON structured like this:
This endpoint returns historical data for the Altcoin Season Index, which measures the relative performance of altcoins compared to Bitcoin over time.
HTTP Request
GET https://api.bitformance.com/api/v2/get-altcoin-season
Query Parameters
Headers
Header
Description
API-KEY
Your unique API key.
API-SECRET-KEY
Your API secret key.
Response
field
Description
success
A boolean value indicating whether the API request was successful (true) or not (false).
data
Description
daily_timeseries_data
Description
date
The date and time in "YYYY-MM-DD HH:MM:SS" format representing the timestamp of the index calculation.
value
The corresponding value of the Altcoin Season Index at the specified date. Values typically range from 0 to 1, where higher values indicate stronger altcoin performance relative to Bitcoin.
Understanding the Altcoin Season Index
The Altcoin Season Index measures the relative performance of altcoins compared to Bitcoin:
Values closer to 0: Bitcoin is outperforming most altcoins (Bitcoin season)
Values closer to 1: Altcoins are outperforming Bitcoin (Altcoin season)
Values around 0.5: Mixed performance between Bitcoin and altcoins
This index helps traders and analysts identify market cycles and periods when altcoins tend to outperform or underperform relative to Bitcoin.
Use Cases
Market Cycle Analysis: Identify periods of altcoin strength vs Bitcoin dominance
Portfolio Strategy: Inform allocation decisions between Bitcoin and altcoins
Trend Analysis: Understand historical patterns in crypto market leadership
Research: Study correlations between market cycles and altcoin performance
Get Taxonomies
Access Tier: FREE
Credits Cost: 1 credit per request
Rate Limits
Tier
Limit
Free
10 requests per minute
Starter
20 requests per minute
Analyst
20 requests per minute
Professional
30 requests per minute
Enterprise
Custom
importrequests# Define the base URL
base_url="https://api.bitformance.com/api/v2/get-taxonomies"# Send the GET request
response=requests.get(base_url,headers={"API-KEY":"your_api_key","API-SECRET-KEY":"your_secret_key"})taxonomies=response.json()
# Define the base URLbase_url="https://api.bitformance.com/api/v2/get-taxonomies"# Send the GET request using curl
curl -X GET "$base_url"\-H"API-KEY: your_api_key"\-H"API-SECRET-KEY: your_secret_key"
constfetch=require('node-fetch');// Define the base URLconstbaseUrl='https://api.bitformance.com/api/v2/get-taxonomies';// Send the GET requestfetch(baseUrl,{method:'GET',headers:{'API-KEY':'your_api_key','API-SECRET-KEY':'your_secret_key'}}).then(response=>response.json()).then(data=>console.log(data));
The above command returns JSON structured like this:
This endpoint returns comprehensive taxonomy information for all cryptocurrencies, organized by sector and industry classifications.
HTTP Request
GET https://api.bitformance.com/api/v2/get-taxonomies
Query Parameters
Headers
Header
Description
API-KEY
Your unique API key.
API-SECRET-KEY
Your API secret key.
Response
field
Description
success
A boolean value indicating whether the API request was successful (true) or not (false).
data (nested object structure)
Description
The response data is organized as a nested object structure:
- First level: Sector names (tier_lvl_1) as keys
- Second level: Industry names (tier_lvl_2) as keys
- Third level: Arrays of cryptocurrency objects belonging to that sector/industry combination
Individual cryptocurrency objects contain:
Description
coin_id
Unique coin identifier (CMC ID).
coin_slug
URL-friendly version of the coin's name.
name
The full name of the cryptocurrency.
symbol
The ticker symbol of the cryptocurrency.
description
Description of the cryptocurrency.
tier_lvl_1
The level 1 taxonomy classification of the cryptocurrency (sector).
tier_lvl_2
The level 2 taxonomy classification of the cryptocurrency (sub-sector/industry).
last_updated
The timestamp of the last time the data for this cryptocurrency was updated.
price
The current price of the cryptocurrency (in USD).
market_cap
The total market capitalization of the cryptocurrency (price × circulating supply).
volume
The total trading volume of the cryptocurrency over the last 24 hours.
last_daily_close
The closing price of the cryptocurrency at the end of the last trading day.
all_time_high
The highest price ever reached by the cryptocurrency.
all_time_low
The lowest price ever reached by the cryptocurrency.
avg_price_200d
The average price of the cryptocurrency over the last 200 days.
avg_price_50d
The average price of the cryptocurrency over the last 50 days.
change_24hour
The change in the cryptocurrency's value over the last 24 hours in dollars.
changepct_24hour
The percentage change in the cryptocurrency's value over the last 24 hours.
change_7day
The change in the cryptocurrency's value over the last 7 days in dollars.
changepct_7day
The percentage change in the cryptocurrency's value over the last 7 days.
change_1m
The change in the cryptocurrency's value over the last 1 month in dollars.
changepct_1m
The percentage change in the cryptocurrency's value over the last 1 month.
change_3m
The change in the cryptocurrency's value over the last 3 months in dollars.
changepct_3m
The percentage change in the cryptocurrency's value over the last 3 months.
change_6m
The change in the cryptocurrency's value over the last 6 months in dollars.
changepct_6m
The percentage change in the cryptocurrency's value over the last 6 months.
change_1y
The change in the cryptocurrency's value over the last 1 year in dollars.
changepct_1y
The percentage change in the cryptocurrency's value over the last 1 year.
one_year_high
The highest price reached by the cryptocurrency in the last year.
one_year_low
The lowest price reached by the cryptocurrency in the last year.
weekly_high
The highest price reached by the cryptocurrency in the last 7 days.
weekly_low
The lowest price reached by the cryptocurrency in the last 7 days.
Example Sectors and Industries
Common sector (tier_lvl_1) and industry (tier_lvl_2) combinations include:
importrequests# Define the base URL
base_url="https://api.bitformance.com/api/v2/get-user-indexes"# Send the GET request
response=requests.get(base_url,headers={"API-KEY":"your_api_key","API-SECRET-KEY":"your_secret_key"})user_indexes=response.json()
# Define the base URLbase_url="https://api.bitformance.com/api/v2/get-user-indexes"# Send the GET request using curl
curl -X GET "$base_url"\-H"API-KEY: your_api_key"\-H"API-SECRET-KEY: your_secret_key"
constfetch=require('node-fetch');// Define the base URLconstbaseUrl='https://api.bitformance.com/api/v2/get-user-indexes';// Send the GET requestfetch(baseUrl,{method:'GET',headers:{'API-KEY':'your_api_key','API-SECRET-KEY':'your_secret_key'}}).then(response=>response.json()).then(data=>console.log(data));
The above command returns JSON structured like this:
This endpoint returns all custom indexes created by the authenticated user, including their configuration, holdings, and performance metrics.
HTTP Request
GET https://api.bitformance.com/api/v2/get-user-indexes
Query Parameters
Headers
Header
Description
API-KEY
Your unique API key.
API-SECRET-KEY
Your API secret key.
Response
field
Description
success
A boolean value indicating whether the API request was successful (true) or not (false).
data (array of index objects)
Description
index_info
Description
_id
Unique index identifier.
created
Timestamp indicating when the index was created.
initial_timestamp
Timestamp representing the starting point for the index's data and performance tracking.
name
The name of the index as set by the user.
description
The description of the index as set by the user.
weighting_method
The method used to assign weights to the assets in the index. Common values: market_cap, equal_weight, custom.
rebalancing_interval
The frequency at which the index is rebalanced (e.g., daily, weekly, monthly, quarterly).
custom_weights
Contains custom weighting values when the weighting_method is set to "custom". Empty object for other weighting methods.
index_holdings
Description
ticker
The ticker symbol of the asset held in the index.
id
Unique asset identifier (CMC ID).
quantity
The amount of the asset currently held in the index (if available).
index_performance
Description
initial_value
The initial value of the index on inception, also known as the starting investment.
value
Current value of the index (if calculated).
change_24hour
The change in the index's value over the last 24 hours in dollars (if available).
changepct_24hour
The percentage change in the index's value over the last 24 hours (if available).
change_7d
The change in the index's value over the last 7 days in dollars (if available).
changepct_7d
The percentage change in the index's value over the last 7 days (if available).
change_1m
The change in the index's value over the last 1 month in dollars (if available).
changepct_1m
The percentage change in the index's value over the last 1 month (if available).
change_3m
The change in the index's value over the last 3 months in dollars (if available).
changepct_3m
The percentage change in the index's value over the last 3 months (if available).
change_6m
The change in the index's value over the last 6 months in dollars (if available).
changepct_6m
The percentage change in the index's value over the last 6 months (if available).
change_1y
The change in the index's value over the last 1 year in dollars (if available).
changepct_1y
The percentage change in the index's value over the last 1 year (if available).
Index Types
User indexes can be configured with different weighting methods:
Market Cap Weighting
- Assets are weighted based on their market capitalization
- Larger market cap assets have higher weights in the index
Equal Weight
- All assets in the index receive equal weighting
- Useful for balanced exposure across all holdings
Custom Weighting
- User-defined weights for each asset
- Allows for precise control over asset allocation
- Custom weights are specified as percentages in the custom_weights object
Performance Calculation
Performance metrics are calculated when available and may vary based on:
- Index age and data availability
- Calculation completion status
- Asset data quality and history
Get Index Data
Access Tier: STARTER
Credits Cost: 1 credit per request
Rate Limits
Tier
Limit
Free
Not Available
Starter
20 requests per minute
Analyst
20 requests per minute
Professional
30 requests per minute
Enterprise
Custom
importrequests# Define the base URL and query parameters
base_url="https://api.bitformance.com/api/v2/get-index-data"params={"index_id":"65569daf76cd9d2bc8ec55b5","timeseries_interval":"daily","metric":"closing_price"}# Send the GET request
response=requests.get(base_url,headers={"API-KEY":"your_api_key","API-SECRET-KEY":"your_secret_key"},params=params)index_data=response.json()
# Define the base URL and query parametersbase_url="https://api.bitformance.com/api/v2/get-index-data"index_id="65569daf76cd9d2bc8ec55b5"timeseries_interval="daily"metric="closing_price"# Send the GET request using curl
curl -G"$base_url"\--data-urlencode"index_id=$index_id"\--data-urlencode"timeseries_interval=$timeseries_interval"\--data-urlencode"metric=$metric"\-H"API-KEY: your_api_key"\-H"API-SECRET-KEY: your_secret_key"
constfetch=require('node-fetch');// Define the base URL and query parametersconstbaseUrl='https://api.bitformance.com/api/v2/get-index-data';constparams=newURLSearchParams({index_id:'65569daf76cd9d2bc8ec55b5',timeseries_interval:'daily',metric:'closing_price'});// Send the GET requestfetch(`${baseUrl}?${params.toString()}`,{method:'GET',headers:{'API-KEY':'your_api_key','API-SECRET-KEY':'your_secret_key'}}).then(response=>response.json()).then(data=>console.log(data));
The above command returns JSON structured like this:
{"success":true,"data":{"index_info":{"_id":"65569daf76cd9d2bc8ec55b5","created":"2023-11-16 22:54:38.948000","updated":"2024-09-10 15:56:21.374000","initial_timestamp":1483315200,"name":"50/50 Bitcoin + Ethereum","description":"50/50 Bitcoin + Ethereum with a monthly rebalance and an initial starting balance of $1,000.","algorithm":"standard","asset_type":"fixed","weighting_method":"equal_weight","rebalancing_interval":"monthly","custom_weights":{}},"index_holdings":[{"ticker":"BTC","id":1,"quantity":2.1383870222874193},{"ticker":"ETH","id":1027,"quantity":50.1803901851935}],"index_performance":{"marketcap":1400425365144.1763,"initial_value":"1000","value":238173.42538224178,"drawdown":-35.5936,"change_24hour":4544.369432365114,"change_7d":-15594.211603870266,"changepct_24hour":1.9451216861228402,"changepct_7d":-6.1450749942254035,"change_1m":-22496.40538317163,"change_3m":-91255.94576247892,"change_6m":-98844.70487499418,"change_1y":105391.0504697602,"changepct_1m":-8.630229788048235,"changepct_3m":-27.701217242827305,"changepct_6m":-29.32919507907451,"changepct_1y":79.37126485290287,"asset_new_highs":0,"asset_new_lows":0,"asset_performance_24h_bearish":2,"asset_performance_24h_bullish":0,"asset_sma_200d_over":0,"asset_sma_200d_under":2,"asset_sma_50d_over":0,"asset_sma_50d_under":2,"asset_1y_high":0,"asset_1y_low":0,"asset_alltime_high":0,"asset_alltime_low":0},"daily_timeseries_data":[{"date":"2017-01-02 00:00:00","value":1000.0},{"date":"2017-01-03 00:00:00","value":1024.3316236471035},{"date":"2017-01-04 00:00:00","value":1117.7890317260942},{"date":"2017-01-05 00:00:00","value":1266.7095610690671},{"date":"2017-01-06 00:00:00","value":1134.9070354154176},{"date":"2017-01-07 00:00:00","value":1079.2425800449123}]}}
This endpoint returns detailed information for a specific index, including historical performance data. It works with both public indexes and user-created indexes.
HTTP Request
GET https://api.bitformance.com/api/v2/get-index-data
Query Parameters
Parameter
Type
Required
Description
index_id
string
Yes
The hexadecimal ID of the index to query. Index IDs can be retrieved from the "get-browsable-indexes" or "get-user-indexes" endpoints.
timeseries_interval
string
No
Time interval for historical data. Accepted values: daily, fivemin. When daily is used, returns one data point per day at UTC-0. When fivemin is used, returns 24-hour data with data points every 5 minutes.
metric
string
No
The metric to return in timeseries data. Accepted values: closing_price, market_cap. Defaults to closing_price.
Headers
Header
Description
API-KEY
Your unique API key.
API-SECRET-KEY
Your API secret key.
Index Access Control
This endpoint supports both public and private indexes:
Public Indexes
- Browsable indexes accessible to all users
- Sector indexes and Bitformance-created indexes
- No ownership validation required
User Indexes
- Custom indexes created by users
- Only accessible by the index owner
- Ownership is validated against the authenticated user
Response
field
Description
success
A boolean value indicating whether the API request was successful (true) or not (false).
index_info
Description
_id
Unique index identifier.
created
Timestamp indicating when the index was created.
updated
Timestamp indicating the last time the index was updated.
initial_timestamp
Timestamp representing the starting point for the index's data and performance tracking.
name
The name of the index.
description
The description of the index.
algorithm
The algorithm used to construct the index.
asset_type
The type of assets included in the index.
weighting_method
The method used to assign weights to the assets in the index.
rebalancing_interval
The frequency at which the index is rebalanced.
custom_weights
Contains custom weighting values if applicable.
index_holdings
Description
ticker
The ticker symbol of the asset held in the index.
id
Unique asset identifier (CMC ID).
quantity
The amount of the asset currently held in the index.
index_performance
Description
marketcap
The total market capitalization of the index.
initial_value
The initial value of the index on inception.
value
Current value of the index.
drawdown
The maximum percentage loss from the index's peak value over a specified period.
change_24hour
The change in the index's value over the last 24 hours in dollars.
changepct_24hour
The percentage change in the index's value over the last 24 hours.
change_7d
The change in the index's value over the last 7 days in dollars.
changepct_7d
The percentage change in the index's value over the last 7 days.
change_1m
The change in the index's value over the last 1 month in dollars.
changepct_1m
The percentage change in the index's value over the last 1 month.
change_3m
The change in the index's value over the last 3 months in dollars.
changepct_3m
The percentage change in the index's value over the last 3 months.
change_6m
The change in the index's value over the last 6 months in dollars.
changepct_6m
The percentage change in the index's value over the last 6 months.
change_1y
The change in the index's value over the last 1 year in dollars.
changepct_1y
The percentage change in the index's value over the last 1 year.
asset_new_highs
The number of holdings in the index that have reached new highs.
asset_new_lows
The number of holdings in the index that have reached new lows.
asset_performance_24h_bearish
The number of holdings in the index that have a bearish performance (negative returns) over the last 24 hours.
asset_performance_24h_bullish
The number of holdings in the index that have a bullish performance (positive returns) over the last 24 hours.
asset_sma_200d_over
The number of holdings in the index that are currently trading above their 200-day simple moving average (SMA).
asset_sma_200d_under
The number of holdings in the index that are currently trading under their 200-day simple moving average (SMA).
asset_sma_50d_over
The number of holdings in the index that are currently trading above their 50-day simple moving average (SMA).
asset_sma_50d_under
The number of holdings in the index that are currently trading under their 50-day simple moving average (SMA).
asset_1y_high
The number of holdings in the index that have reached their highest price in the last year.
asset_1y_low
The number of holdings in the index that have reached their lowest price in the last year.
asset_alltime_high
The number of holdings in the index that have reached their highest price ever.
asset_alltime_low
The number of holdings in the index that have reached their lowest price ever.
daily_timeseries_data / fivemin_timeseries_data (when timeseries_interval is provided)
Description
date
The date and time in "YYYY-MM-DD HH:MM:SS" format representing the timestamp of the data point.
value
The corresponding value (closing price or market cap) of the index at the specified date and time.
Error Handling
If the requested index cannot be found or accessed, the endpoint will return an error message indicating the issue. Common error scenarios include:
Invalid index ID format
Index not found
Insufficient permissions (for user indexes)
Index data unavailable
Get User API Summary
Access Tier: FREE
Credits Cost: 1 credit per request
Rate Limits
Tier
Limit
Free
10 requests per minute
Starter
20 requests per minute
Analyst
20 requests per minute
Professional
30 requests per minute
Enterprise
Custom
importrequests# Define the base URL
base_url="https://api.bitformance.com/api/v2/get-user-api-summary"# Send the GET request
response=requests.get(base_url,headers={"API-KEY":"your_api_key","API-SECRET-KEY":"your_secret_key"})api_summary=response.json()
# Define the base URLbase_url="https://api.bitformance.com/api/v2/get-user-api-summary"# Send the GET request using curl
curl -X GET "$base_url"\-H"API-KEY: your_api_key"\-H"API-SECRET-KEY: your_secret_key"
constfetch=require('node-fetch');// Define the base URLconstbaseUrl='https://api.bitformance.com/api/v2/get-user-api-summary';// Send the GET requestfetch(baseUrl,{method:'GET',headers:{'API-KEY':'your_api_key','API-SECRET-KEY':'your_secret_key'}}).then(response=>response.json()).then(data=>console.log(data));
The above command returns JSON structured like this:
This endpoint returns API usage information and account details for the authenticated user.
HTTP Request
GET https://api.bitformance.com/api/v2/get-user-api-summary
Query Parameters
Headers
Header
Description
API-KEY
Your unique API key.
API-SECRET-KEY
Your API secret key.
Response
field
Description
success
A boolean value indicating whether the API request was successful (true) or not (false).
data
Description
api-key
The user's API key identifier.
tier
The current subscription tier of the user. Possible values: free, starter, analyst, professional, enterprise.
credits
The number of API credits remaining for the current billing period.
expiration
The expiration date and time of the current subscription in ISO 8601 format.
active
Boolean indicating whether the API key is currently active and functional.
Subscription Tiers
The API supports five subscription tiers with different features and limits:
Free Tier
- 5,000 credits per month
- 10 requests per minute
- 3 months of historical data
- Access to basic endpoints
Starter Tier
- 250,000 credits per month
- 20 requests per minute
- 6 months of historical data
- Access to advanced endpoints
Analyst Tier
- 250,000 credits per month
- 20 requests per minute
- 3 years of historical data
- Full endpoint access
Professional Tier
- 250,000 credits per month
- 30 requests per minute
- All time historical data
- Commercial use available
- Priority support
Enterprise Tier
- 2,000,000 credits per month
- Custom rate limits
- All time historical data
- Commercial use available
- Beta features available
- Dedicated support
Credit Management
Monthly Reset: Credits are replenished at the start of each billing cycle
No Rollover: Unused credits do not carry over to the next month
Real-time Tracking: Credit balance is updated with each API request
Usage Monitoring: Track your consumption to avoid service interruption
Use Cases
Monitor Usage: Check remaining credits and plan API usage accordingly
Validate Access: Confirm subscription tier and feature availability
Account Management: Verify subscription status and expiration dates
Integration Planning: Design applications based on rate limits and credit allowances
Error Scenarios
If no API keys are found for the user, the endpoint will return a message indicating that no API keys exist for the account. This typically occurs when:
The user account has not yet generated API keys
API keys have been revoked or deleted
There are issues with account provisioning
Get User API Transactions
Access Tier: FREE
Credits Cost: 1 credit per request
Rate Limits
Tier
Limit
Free
10 requests per minute
Starter
20 requests per minute
Analyst
20 requests per minute
Professional
30 requests per minute
Enterprise
Custom
importrequests# Define the base URL
base_url="https://api.bitformance.com/api/v2/get-user-api-transactions"# Send the GET request
response=requests.get(base_url,headers={"API-KEY":"your_api_key","API-SECRET-KEY":"your_secret_key"})api_transactions=response.json()
# Define the base URLbase_url="https://api.bitformance.com/api/v2/get-user-api-transactions"# Send the GET request using curl
curl -X GET "$base_url"\-H"API-KEY: your_api_key"\-H"API-SECRET-KEY: your_secret_key"
constfetch=require('node-fetch');// Define the base URLconstbaseUrl='https://api.bitformance.com/api/v2/get-user-api-transactions';// Send the GET requestfetch(baseUrl,{method:'GET',headers:{'API-KEY':'your_api_key','API-SECRET-KEY':'your_secret_key'}}).then(response=>response.json()).then(data=>console.log(data));
The above command returns JSON structured like this: