BTC $82,988.00 +0.53% ETH $2,505.66 +0.78% USDT $0.9992 −0.00% BNB $750.16 +1.08% XRP $1.40 +0.67% USDC $0.9997 +0.00% SOL $110.06 +0.85% TRX $0.3306 −0.39% FIGR_HELOC $1.06 +5.95% ZEC $1,219.35 +0.72% HYPE $85.29 +1.25% DOGE $0.0857 +0.55% USDS $1.0000 +0.04% LINK $13.01 +1.64% BTC $82,988.00 +0.53% ETH $2,505.66 +0.78% USDT $0.9992 −0.00% BNB $750.16 +1.08% XRP $1.40 +0.67% USDC $0.9997 +0.00% SOL $110.06 +0.85% TRX $0.3306 −0.39% FIGR_HELOC $1.06 +5.95% ZEC $1,219.35 +0.72% HYPE $85.29 +1.25% DOGE $0.0857 +0.55% USDS $1.0000 +0.04% LINK $13.01 +1.64%
BITTOOLS · DEVELOPER PLATFORM
API v1Key-authenticatedServer-side

Your next integration.
Powered by BitTools.

Crypto market data and Bitcoin tools, with clear endpoints, predictable responses and access you control.

BitTools / API
GET/v1/prices?ids=bitcoin
// Illustrative response
{
  "success": true,
  "data": {
    "bitcoin": {
      "price": 81000,
      "change_24h": 1.25
    }
  }
}
JSON responses Authorization: Bearer
01 · ACCESS

Your developer workspace

API access is available by request. Tell us about your application and expected usage; our team will create your key after review.

Request an API key
02 · QUICK START

Your first request, in three steps.

01Get your keyRequest access or generate it from your account.
02Store it securelySet BITTOOLS_API_KEY on your server.
03Make a requestSend your first authenticated HTTPS request.
BASE URLhttps://www.bittools.net/api/v1
curl "https://www.bittools.net/api/v1/prices?ids=bitcoin,ethereum&fiat=USD" \
  -H "Authorization: Bearer $BITTOOLS_API_KEY"

Keys belong in request headers, never in URLs. Documentation is public; data requests require authentication.

03 · AUTHENTICATION

One key. Clear access.

Send Authorization: Bearer YOUR_API_KEY with every API request. Alternatively, use X-BT-API-Key: YOUR_API_KEY. If both are provided, X-BT-API-Key takes priority. Use server-side requests so your secret stays private.

New keys begin with btd_live_. Revoked or expired keys stop working immediately. Keys tied to an account stop working when that account is disabled. A valid key also needs permission for the endpoint you call.

Responses use success, data and meta; failed requests include error.message and error.status.

{
    "success": true,
    "data": {
        "bitcoin": {
            "price": 81000,
            "change_24h": 1.25,
            "market_cap": 1600000000000,
            "last_updated": "2026-10-09T00:00:00Z"
        }
    },
    "meta": {
        "api_version": "v1",
        "source": "BitTools",
        "generated_at": "2026-10-09T00:00:00Z",
        "response_time_ms": 8,
        "fiat": "USD"
    }
}

Example values are illustrative. Cached market data can be older than the response generation time; inspect last_updated.

04 · REFERENCE

Explore the endpoints.

Use cryptocurrency IDs such as bitcoin or ethereum, not ticker symbols. Fiat defaults to the site's configured currency. Unsupported fiat values fall back to that default. Lists accept 1–250 items per page.

GETAPI directory/api/v1/

API identity and available endpoint URLs.

GETService status/api/v1/status

Data platform readiness, coin and exchange counts, and latest market update.

GETGlobal market/api/v1/global

Market capitalization, 24h volume, dominance and active cryptocurrency counts.

ParameterLocation / typeDescription
fiatquery / stringConfigured fiat currency, e.g. USD. Unsupported values fall back to the configured default.
GETCoin market list/api/v1/coins

Paginated locally stored market data. Meta includes page, limit and has_more.

ParameterLocation / typeDescription
fiatquery / stringConfigured fiat currency, e.g. USD. Unsupported values fall back to the configured default.
pagequery / integerOne-based page number; default 1.
limitquery / integerItems per page, default 100; values are clamped to 1–250.
searchquery / stringSearch the stored coin names and symbols.
orderquery / stringSort order; default market_cap_desc.
GETCoin details/api/v1/coins/{id}

Identity, categories, description, market metrics, supply, highs/lows and links. Returns 404 when no stored coin exists.

ParameterLocation / typeDescription
id · requiredpath / stringCoin ID, for example bitcoin.
fiatquery / stringConfigured fiat currency, e.g. USD. Unsupported values fall back to the configured default.
GETCoin price history/api/v1/coins/{id}/history

Cached market_chart data. If the requested range is missing, the stored 365-day payload may be returned. Meta.days echoes the requested range, not a guarantee of the stored data span.

ParameterLocation / typeDescription
id · requiredpath / stringCoin ID, for example bitcoin.
fiatquery / stringConfigured fiat currency, e.g. USD. Unsupported values fall back to the configured default.
daysquery / integerRequested history range; default 365.
GETSelected prices/api/v1/prices

Map keyed by coin ID. Unknown or uncached IDs are omitted; a missing price is not fabricated. Accepts up to 100 comma-separated IDs.

ParameterLocation / typeDescription
fiatquery / stringConfigured fiat currency, e.g. USD. Unsupported values fall back to the configured default.
ids · requiredquery / stringComma-separated coin IDs, e.g. bitcoin,ethereum.
GETExchange list/api/v1/exchanges

Paginated locally stored exchange data.

ParameterLocation / typeDescription
pagequery / integerOne-based page number; default 1.
limitquery / integerItems per page, default 100; values are clamped to 1–250.
GETExchange details/api/v1/exchanges/{id}

Stored exchange identity, description, public notice and up to 100 markets.

ParameterLocation / typeDescription
id · requiredpath / stringExchange ID, for example binance.

The downloadable OpenAPI specification describes the response fields and can be imported into API clients.

05 · BITCOIN

Transaction accelerator

Accelerator API access is currently limited to approved business and distribution partners. Email [email protected] with your company details and intended use. We review each partnership for transparency, operational reliability and responsible resource use to help protect end users.

Discuss an accelerator API partnership

POST/api/v1/accelerator

Send a Bitcoin transaction ID in a JSON object. A transaction ID is 64 hexadecimal characters. This endpoint submits an existing transaction; it does not request private keys or wallet seed phrases.

curl -X POST "https://www.bittools.net/api/v1/accelerator" \
  -H "Authorization: Bearer $BITTOOLS_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{"txid":"REPLACE_WITH_YOUR_64_CHARACTER_TRANSACTION_ID"}'

When a connected accelerator accepts the submission, the response is HTTP 202 with data.txid and data.status: submitted. Submitted does not mean confirmed; confirmation depends on the Bitcoin network. Requests can return 403 when accelerator access is disabled and 503 when the backend is unavailable.

Request body limit: 2 KB. Do not retry a submission automatically unless your integration knows it is safe to repeat.

06 · EXAMPLES

Use your preferred language.

<?php
$key = getenv('BITTOOLS_API_KEY');
$ch = curl_init('https://www.bittools.net/api/v1/prices?ids=bitcoin&fiat=USD');
curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_TIMEOUT => 15,
  CURLOPT_HTTPHEADER => ['Authorization: Bearer '.$key]
]);
$body = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($body === false) { throw new RuntimeException(curl_error($ch)); }
curl_close($ch);
$response = json_decode($body, true);
if ($status !== 200 || empty($response['success'])) {
  throw new RuntimeException('API request failed: '.$status);
}
print_r($response['data']);
07 · RELIABILITY

Know your limits.

Your assigned limits apply across market and accelerator requests. Default limits for new keys: 30 per minute and 1000 per day. Administrators may assign different limits.

Authenticated requests consume quota, including validation errors. Minute and day windows reset at UTC boundaries. Inspect X-RateLimit-Limit-Minute, X-RateLimit-Remaining-Minute, X-RateLimit-Limit-Day and X-RateLimit-Remaining-Day. A rate-limited response includes Retry-After for new portal keys.

HTTPMeaningNext step
200SuccessRead data.
202AcceptedSubmission accepted; not confirmation.
400Invalid requestCheck identifiers and JSON.
401Authentication failedCheck, regenerate or request your key.
403Access unavailableCheck account status and endpoint permissions.
404No data foundCheck the identifier or cached historical data.
405Wrong methodUse GET for market data, POST for accelerator.
413Body too largeKeep accelerator JSON under 2 KB.
429Quota reachedWait for the quota window to reset.
503Service unavailableRetry later for reads or contact support.

Browser keys and public URL query tokens are not supported. CORS availability does not make a key safe to expose. Existing legacy market keys retain their original configured limits and windows.

FREE BITCOIN TOOLS

Stuck Bitcoin transaction?

Try our free Bitcoin accelerator and check your transaction status.

Try the free accelerator