Changelog
2026.4.30.17
Fixed
get_market_candles()no longer raises overflow errors for high-precision decimal columns; the client now materializes those columns asdecimal256, with a fallback for older Polars versions that lackdecimal256support.
Changed
The upstream documentation is now rendered with Sphinx (replacing MkDocs). No change to the published GitBook space served from this repo.
2026.4.16.18
Added
to_dataframe(dataframe_type="polars")andto_lazyframe()now run in parallel onParallelDataCollection, giving end-to-end speedups of roughly 2-5x on representative endpoints. Internally the parallel path fans out viaThreadPoolExecutorand concatenates Arrow tables withpl.concat(how="diagonal_relaxed").
Fixed
to_dataframe()no longer raises overflow errors when casting numeric columns todecimal.
Changed
PyArrow was upgraded to pick up upstream bug fixes. The Nix build target for Python 3.10 is dropped as a side effect; Python 3.10 itself remains supported via the standard install path until its EOL in October 2026.
2026.4.9.19
Changed
.to_list()is now ~1.5-1.9x faster on large result sets becauseformat="json_stream"is the default (single streaming HTTP connection instead of paginated round trips). When alimitis set the client falls back toformat="json"so behavior is unchanged for paginated callers.
2026.4.6.18
Added
Several
CoinMetricsClientmethods that were missing aformatparameter now expose one, so callers can opt intojson_stream/csvconsistently across the API surface.
2026.4.2.14
Fixed
to_dataframe(dataframe_type="polars")on an empty result now returns an empty Polars DataFrame instead of an empty pandas one.client.reference_data_markets(include="talos").to_dataframe()no longer raisesParserError.Polars exports no longer suffer from dtype mismatches on nested and decimal columns.
Changed
to_dataframe(),to_lazyframe(), andexport_to_parquet()are faster on large payloads and free of CSV-parsing edge cases. They now build outputs via PyArrowRecordBatch.from_pylist()driven by the schema fromget_schema()instead of round-tripping through CSV.
Added
decimal_as_stringparameter onto_dataframe()for callers that need full decimal precision instead of the lossyfloat64conversion.
Deprecated
optimize_dtypes,header, andcolumns_to_storeparameters onto_dataframe()now emit aDeprecationWarning. Calls keep working.
Removed
Unused
TransactionTrackerData,CoinMetricsAPIModel, andAssetChainsDataCollectionhelpers, plus the deadSchemaWrappermethods (get_field_types,get_pandas_dtypes,get_datetime_columns,has_nested_fields). These were not part of the documented client surface.
2026.3.31.13
Added
includequery parameter onreference_data_assets(),reference_data_exchanges(), andreference_data_markets().
2026.2.19.20
Changed
Internal release-pipeline cleanup. No user-facing API changes.
2026.2.19.19
Fixed
to_dataframe()andexport_to_parquet()now produce correct dtypes for nested and decimal columns, end-to-end. The client now drives type inference from the precise schema generated offopenapi.yaml(coinmetrics/_schema_gen.py,_schema_base.py,_schema.py) instead of inspecting columns heuristically.
Added
Several previously-missing endpoints and a routine schema regeneration.
2026.2.9.18
Added
get_stream_market_contract_prices()for the/timeseries-stream/market-contract-pricesWebSocket endpoint.
2026.1.14.15
Fixed
Several parallelization-related parameters are now passed through correctly to the underlying data-collection layer; they were previously dropped before reaching
_data_collection.py.
2026.1.5.19
Added
Python 3.13 support.
2025.12.16.20
Added
Exchange-pair endpoints:
reference_data_exchange_pair_metrics,catalog_exchange_pair_metrics_v2,catalog_full_exchange_pair_metrics_v2, andget_exchange_pair_metrics.
2025.12.12.16
Added
start_time/end_time(and related) filters on thecatalog-v2/market-*endpoints so callers can scope catalog queries to a time window.
2025.10.21.15
Added
Callers can now branch on the specific failure mode of a request: explicit exception classes for
401,403,414, and429responses are now raised (CoinMetricsClientUnauthorizedError,CoinMetricsClientForbiddenError,CoinMetricsClientBadParameterError,CoinMetricsClientRateLimitError).
Fixed
Transient
ChunkedEncodingErrorandConnectionErrorfailures are now retried more reliably.
Changed
The
examples/tree was simplified: obsolete Flat Files and legacy patterns were removed and the troubleshooting docs were expanded.docs.coinmetrics.iois now the primary reference for example workflows.
Removed
The Data Exporter (
coinmetrics/data_exporter.py) and itstyper_clientry point. Use the standard client methods plusto_dataframe()/export_to_parquet()instead.
2025.9.30.16
Added
blockchain-metadata/locationsandblockchain-metadata/ownersendpoints. Theowner_namesquery parameter is now exposed onblockchain-metadata/tagged-entities, and tagging methods that did not follow the standard naming convention are now also reachable under canonical aliases.
Fixed
Taxonomy endpoints no longer drop nullable columns when the result is materialized via
to_dataframe().
2025.9.17.17
Changed
JSON-stream processing is now faster on heavier endpoints. Lighter endpoints continue to use
format="json"so small queries stay fast.
2025.9.9.13
Added
api_path_prefixargument onCoinMetricsClientso callers can point the client at non-default API hosts/paths.
Documentation
Docstrings for
CoinMetricsClientandDataCollection.
2025.9.3.18
Added
ignore_unsupported_errorsandignore_forbidden_errorsparameters onget_market_metrics(), matching the existing pattern on otherget_market_*methods.
2025.9.2.14
Fixed
Fixed the error where
_schema_constants.pymodule is not in the Python Client package.
2025.8.28.15
Fixed
Fixed a bug where nullable columns for
blockchain-v2endpoints andtimeseries/market-tradeswere not returned when calling.to_dataframe().
Added
Added
.to_dataframe()forget_full_block_v2(),get_full_transaction_v2(), andget_full_transaction_for_block_v2().Added the API schema as part of the package build.
2025.8.15.5
Fixed
Fixed a bug where nullable columns from
timeseries/*-metrics endpointsare sometimes not returned when calling.to_dataframe(). This happened when the first row's columns are not the same as any of the subsequent rows.
2025.8.8.16
Added
Parallelization support to
get_predicted_funding_rates().
Changed
Changed the default to format=json_stream for the following functions:
All of
reference_data.All of
catalog_*_v2.get_market_orderbooks,get_market_quotes,get_market_open_interest,get_market_trades,get_market_candles,get_asset_metrics
2025.5.6.13
Fixed
Timezone normalization when using the parallel option with datetime.timedelta.
2025.4.24.14
Fixed
Install CHANGELOG to correct location for documentation site.
Fix broken image link in Best Practices user guide.
2025.4.15.13
Added
Allow
optimize_pandas_typesargument as an alias foroptimize_dtypesinDataCollection.to_dataframe()calls but issue a deprecated warning. Prevents exception for code using the old name.
2025.3.12.17
Changed
Made Pandas and Polars mandatory packages.
2025.3.3.16
Added
get_network_profiles, missingformatparam toget_market_orderbooks,ignore_*_errorstoget_stream_asset_metrics,
2025.2.26.22
Added
Enhanced documentation for API flows
2025.2.12.22
Fixed
Polars dependency issues.
2025.2.11.16
Note: This release may be unstable if you do not have polars installed. Please update to 2025.2.12.22 for a patched version.
Added
Added Polars dataframes and LazyFrames. They can be accessed using
DataCollection.to_dataframe(dataframe_type='polars')andDataCollection.to_lazyframe()respectively.
Changed
DataCollectionattributeoptimize_pandas_typeschanged tooptimize_dtypes.
2025.2.4.18
Fixed
Type annotations in docstrings
2024.12.23.19
Added
2024.12.20.17
Added
pd.DateOffset as a valid data type for
time_incrementinparallel()
Changed
Update pandas dependency to >= 2.0 and websocket-client >= 1.6.0
2024.12.16.21
Added
Allowed pandas Timestamp data type to be passed in
clientAPI callsAdded "deprecated" flag to catalog v1 endpoints
2024.12.11.19
Added
Catalog-v2/blockchain endpoints
2024.12.10.20
Changed
Removed unused columns for
reference_data_*().to_dataframe()returnImproved casting for return data types
2024.11.21.20
Changed
Upgraded the typer dependency to >= 0.6.1
2024.11.18.19
Changed
Set
format=json_streamforcatalogandreference_datafunctions by default, drastically improving speed
2024.10.31.17
Fixed
Bug where requests have double '/' in URL
2024.10.15.19
Changed
Updated the request header to denote User-Agent as a Python API Client user
2024.10.9.20
Added
txidsas a validparallelize_onvariable
2024.10.4.15
Added
Transformation logic for
catalog_*_v2().to_dataframe()that flattens these dataframes
Fixed
Type casting for
coin_metrics_idfield from pandas dataframes for very large integers
2024.9.18.17
Added
Auto-retry logic for Websockets
Removed
Redundant tests
2024.9.18.16
Fixed
Bug on parallelization where
end_timeuses user's timezone instead of UTC
Added
base_nativeandquote_nativefields toreference_data_markets()
2024.8.20.13
Changed
Removed JSON parsing on
on_errorforCmStreamdefault
2024.8.16.10
Removed
Atlas V1 (
get_blockchain_()) endpoints
Added
Warnings for upcoming
catalogdeprecation
2024.8.14.17
Added
txid,accounts,block_hashes,heights, andsub_accountsas validparallelvariablesheight_incrementas a validparallelparameter
2024.8.5.13
Added
Temporary patch for returning all columns for
to_dataframe()call forreference_data_*andsecurity_master_*functions
2024.7.12.14
Added
Allowed timezone aware datetimes to be passed to client API calls
2024.2.6.16
Added
Functions
get_market_funding_rates_predicted,catalog_{full}_market_funding_rates_predicted_v2Generic examples for Python API Client functions
2024.1.17.17
Fixed
Bug where
blockchain_metadatafunctions were not being called properly
2023.11.27.17
Added
blockchain_metadata_tags()andblockchain_metadata_tagged_entitiesfunctions
Changed
Updated README to shorten example code and remove catalog v1
2023.11.13.14
Added
Functions
get_snapshots_of_asset_metric_constituentsandget_timeframes_of_asset_metric_constituents
2023.10.30.13
Added
Function
get_stream_market_open_interest
2023.10.19.17
Added
Function
get_stream_market_liquidations
2023.9.29.14
Added
metricsparameter tocatalog_{full}_markets_v2catalog_index_levels_v2andreference_data_markets
2023.9.22.21
Added
Parallelization support for
blockchainendpoints
2023.9.11.14
Changed
Replaced
frequencyparameter withgranularityforget_market_quotesandget_market_orderbooks
Added
Functions
reference_data_assets,reference_data_indexes,reference_data_pairs
2023.8.30.20
Added
Functions
security_master_assets,security_master_markets
2023.8.28.16
Added
Functions
catalog_{full}_pair_candles_v2,catalog_{full}_index_candles_v2,catalog_{full}_asset_chains_v2,catalog_{full}_mempool_feerates_v2,catalog_{full}_mining_pool_tips_summaries_v2,catalog_{full}_transaction_tracker_assets_v2
2023.8.25.15
Added
Ability to parallelize API request for significantly improved data pull speed
2023.8.24.13
Added
Functions
reference_data_asset_metrics,reference_data_institution_metrics
Fixed
Added
frequencyparameter toget_market_orderbooks(fixed in 2023.9.11.14)
2023.8.22.14
Added
Functions
catalog_{full}_asset_metrics_v2,catalog_exchange_{full}_metrics_v2,catalog_{full}_exchange_asset_metrics_v2,catalog_{full}_pair_metrics_v2,catalog_{full}_institution_metrics_v2
2023.8.10.19
Added
on_closehandler toCmStream
2023.7.11.17
Added
Functions
catalog_{full}_contract_prices_v2,catalog_{full}_market_trades_v2,catalog_{full}_market_candles_v2,catalog_{full}_market_orderbooks_v2,catalog_{full}_market_quotes_v2,catalog_{full}_market_funding_rates_v2,catalog_{full}_market_contract_prices_v2,catalog_{full}_market_implied_volatility_v2,catalog_{full}_market_greeks_v2,catalog_{full}_market_open_interest,catalog_{full}_market_liquidations_v2,catalog_{full}_market_metrics_v2.
2023.6.8.20
Fixed
Market metrics catalog implementation to prevent duplicate rows
Added test to verify one row per frequency
2023.5.26.17
Added
Transaction tracker parameters
Include heartbeats functionality
2023.5.17.19
Changed
Fixed catalog performance issues
Added
Walkthrough notebook for DS UA Workshop
2023.5.2.20
Added
Rate limiter for community users
Multithreading to CI pipeline
Sample script for exporting atlas balance updates
2023.4.26.13
Fixed
URL fixes
2023.4.24.14
Added
Missing catalog endpoints
Support for optional columns in API data
New endpoint and tests
2023.3.16.17
Changed
Updated Dockerfile and dependencies
Updated poetry lock file
Bug fixes in examples
Added
Missing timeseries stream endpoints
2023.2.27.22
Added
Missing functions and parameters
2023.2.23.0
Added
Missing functions parameters
Improved documentation for DataCollections usage
2023.1.26.23
Added
Unauthorized error handling to FlatFilesExporter
Updated CI pipeline
2023.1.10.21
Added
Debug mode to help figure out performance issues
Documentation updates for to_dataframe() method for catalog
Automated testing code coverage
Error handling for large requests (URI too long)
Support for secondary_level parameter in to_dataframe()
Support for index levels via WS in the client
2022.11.14.16
Changed
Modified API Client to use python requests.Session for improved performance
2022.11.3.18
Added
Taxonomy endpoints
Updated Atlas V2 balance endpoints
Fixed
Fixed broken examples using
typeparameter
2022.10.18.18
Changed
Updated build pipeline
2022.10.14.20
Added
New catalog endpoints for metrics
Automated version updates on release
Documentation generation
Last updated
Was this helpful?