BYTETOOLS

Bitstamp API

Free Bitstamp public API with no key: 24-hour ticker with VWAP, open, high, low, volume and percent change for every trading pair. Tested example and live response.

No API key requiredHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the Bitstamp API?

The Bitstamp public API is a free, key-free market data API. Its ticker endpoint returns the last price, bid, ask, 24-hour open, high, low, volume, VWAP and percent change for any trading pair, as a flat JSON object with no authentication required.

Bitstamp is Europe's oldest crypto exchange, and its public API reflects that maturity: a flat, self-describing JSON object with clearly named keys, which after Bitfinex's positional arrays feels almost luxurious. Every value is returned as a string rather than a number — a deliberate choice that avoids floating-point rounding on financial values, and one you must handle by parsing explicitly.

The response includes VWAP, the volume-weighted average price over the last 24 hours, which most free exchange tickers omit. VWAP is a better reference than `last` when you are valuing a holding or setting a fair-value benchmark, because a single small trade can move `last` while barely touching VWAP.

Quick facts

Base URL
https://www.bitstamp.net/api/v2
Authentication
No key for public market data. Trading, balances and withdrawals require API credentials with request signing.
Rate limit
Roughly 400 requests per 10 minutes per IP for public endpoints; exceeding it can result in a temporary ban.
Pricing
Free for public market data.
CORS
Not enabled — call it from your server
Official docs
Read the docs

How to use the Bitstamp API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. 24-hour BTC/USD ticker

GET https://www.bitstamp.net/api/v2/ticker/btcusd/

curl
curl 'https://www.bitstamp.net/api/v2/ticker/btcusd/'
JavaScript (fetch)
const res = await fetch("https://www.bitstamp.net/api/v2/ticker/btcusd/");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://www.bitstamp.net/api/v2/ticker/btcusd/", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "timestamp": "1787289057",
  "open": "73000.01",
  "high": "75726.99",
  "low": "69309.68",
  "last": "75209.96",
  "volume": "4677.25244421",
  "vwap": "72629.46",
  "bid": "75209.96",
  "ask": "75209.97",
  "side": "1",
  "open_24": "69468.09",
  "percent_change_24": "8.27",
  "market_type": "SPOT"
}

Parameters

ParameterTypeRequiredDescription
currency_pairpath segmentRequiredLowercase pair with no separator, for example `btcusd`, `ethusd` or `btceur`. The trailing slash is required. btcusd
(all pairs)path segmentOptionalOmit the currency pair entirely to receive a ticker for every listed pair in one response.

Response fields

laststring
Price of the most recent trade. Returned as a string — parse before doing arithmetic.
bid / askstring
Best current bid and ask. The difference is the spread.
high / lowstring
Highest and lowest trade prices in the last 24 hours.
open / open_24string
Price at the start of the current UTC day and exactly 24 hours ago. These differ and it matters which you compare against.
vwapstring
Volume-weighted average price over 24 hours — a more stable reference than `last`.
volumestring
24-hour volume in the base currency.
percent_change_24string
Percent change over 24 hours, already expressed as a percentage (8.27 means +8.27 percent).
timestampstring
Unix timestamp in seconds for when the ticker was generated.

What you can build with the Bitstamp API

  • Display a live crypto price widget with 24-hour change
  • Value a portfolio using VWAP rather than a single last trade
  • Compare spreads across exchanges before routing an order
  • Feed a price-alert service without holding exchange credentials

Common errors and how to fix them

404

Unknown currency pair.

Fix: Pairs are lowercase with no separator and the trailing slash matters — `/ticker/btcusd/` works where a hyphenated uppercase form does not.

429

Rate limit exceeded.

Fix: Bitstamp bans aggressively. Cache the ticker for a few seconds and fetch all pairs in one call instead of looping.

403

Requests from some datacentre ranges are blocked.

Fix: Bitstamp restricts certain hosting IP ranges. If a server-side call fails while a local one works, this is usually why.

Bitstamp API — frequently asked questions

Is the Bitstamp API free?

Yes, all public market data endpoints — ticker, order book, trades and OHLC — are free with no API key. Only trading and account operations need credentials and signed requests.

Why are Bitstamp prices returned as strings?

To avoid floating-point precision loss on monetary values. JSON numbers are IEEE 754 doubles, which cannot represent every decimal exactly; strings preserve the exchange's exact value and let you parse into a decimal type of your choosing.

What is VWAP and why use it?

Volume-weighted average price over the trailing 24 hours. Because it weights every trade by size, a single small trade barely moves it — that makes it a more honest reference price than `last` for valuations and fair-value checks.

What is the difference between open and open_24?

`open` is the price at the start of the current UTC day, so early in the day it covers only a few hours. `open_24` is the price exactly 24 hours ago and is the one that pairs with `percent_change_24`.

Tools that pair with this API

Bitstamp is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.