TL;DR: The CoinTracking Data API allows you to programmatically access data from your CoinTracking account. It provides endpoints for retrieving trades, balances, historical values, gains, and ledger data, enabling integrations with external tools, custom reports, and automated workflows.
To use the API, an API key and secret are required. The page also includes technical documentation, request limits, response examples, and integration options for both developers and non-developers.
CoinTracking Data API
At the top of the page, an introduction explains that the CoinTracking API provides access to account data and requires an API key and secret.
API Key Status
If no key has been created yet, the status is shown in red, indicating that no API key is currently active.
Create New API Key
A prominent button allows you to generate a new API key. Once created, this key and its associated secret are used to authenticate all API requests.
API Documentation Overview
General Information
All API requests must be sent via POST to the CoinTracking API endpoint.
Responses are returned in JSON format.
Authentication is required for every request.
Authentication
API requests must be authenticated using HTTP headers.
The authentication process requires:
An API key
A generated signature
A nonce value
The signature is generated using an HMAC-SHA512 hash of the request method, the nonce, and the POST data, signed with the API secret.
The nonce must increase with every request. It is recommended to use a UNIX timestamp or microtime to ensure uniqueness and order.
Request Limits
API usage is subject to request limits depending on the account type.
In most cases, a single API call per hour is sufficient.
Maximum requests per hour:
FREE accounts: No API access
PRO and EXPERT accounts: 20 requests per hour
UNLIMITED accounts: 60 requests per hour
Exceeding these limits may result in temporary blocking of API access.
API Response Structure
Successful Responses
A successful API response includes a success flag indicating that the request was processed correctly, along with the method that was called.
Error Responses
Error responses include:
A success flag indicating failure
The requested method
An error code
A descriptive error message explaining the reason for the failure
This structure allows applications to reliably detect and handle API errors.
API Code Examples
The page provides links to implementation examples in multiple environments to help users get started quickly:
PHP example
C# example
Postman Collection (v2.1)
Node.js example hosted on GitHub
Python example hosted on GitHub
These examples demonstrate request creation, authentication, and response handling.
Integration for Non-Developers
CoinTracking data can also be used without programming knowledge through third-party integrations.
Cryptosheets Integration
Cryptosheets provides add-ins for Excel and Google Sheets that allow CoinTracking data to be imported and automatically updated.
This integration is suitable for creating custom reports, dashboards, and charts without writing code.
The page includes:
Instructions on how to connect a CoinTracking account with Cryptosheets
Examples of CoinTracking data displayed in Excel and Google Sheets
Additional resources explaining portfolio management with Cryptosheets and CoinTracking
A visual preview illustrates CoinTracking data embedded in spreadsheet software.
Available API Methods
getTrades
Returns all trades and transactions from your CoinTracking account.
Comparable to the Trade List page.
getTradesByUser
Returns trades and transactions for a specific user within the account.
Comparable to the Trade List page.
getBalance
Returns the current account balance and coin balances.
Comparable to the Current Balance page.
getHistoricalSummary
Returns historical values for all coins, currencies, commodities, and the total account value.
Comparable to Daily Balance and Trade Statistics pages.
getHistoricalCurrency
Returns historical amounts and values for a specific currency or for all currencies.
Comparable to Daily Balance and Trade Statistics pages.
getGroupedBalance
Returns the current balance grouped by exchange, trade group, or transaction type.
Comparable to the Balance by Exchange page.
getGains
Returns realized and unrealized gains data.
Comparable to the Realized and Unrealized Gains pages.
getLedger
Returns all transactions in a ledger-based format, including balances and values before and after each transaction, as well as price and transaction growth.
Comparable to the Double-Entry / Ledger List page.
Each method includes links to full technical documentation as well as Cryptosheets-specific documentation for non-developers.