
Kraken Market Data Scraper
hipersoft/kraken-market-data-scraper
Fetch Kraken spot market data in bulk: ticker stats (ask, bid, last, 24h high/low/volume/vwap), OHLC candles for any interval, order book depth (top bids/asks), and tradable pair metadata. Fast, clean and cheap.
Total users
4Monthly users
1Total runs
165Per pair scraped
$0.001Last rebuilt
Oct 26, 2026Overview
Pull Kraken spot market data in bulk and export it as clean JSON, CSV or Excel. Get ticker statistics (ask, bid, last price plus 24-hour high, low, volume and VWAP), OHLC candles at any interval, order book depth (top bids and asks), and the full tradable pair list — one tidy row per pair or per candle.
Perfect for crypto trading bots, price dashboards, backtesting, portfolio trackers, alerting and automated watchlists.
What you get
- 🐙 Every spot pair — request specific pairs like
XBTUSDandETHUSD, or leave the list empty to snapshot all tradable pairs at once (ticker & asset pairs). - 📈 Four datasets in one Actor — ticker stats, OHLC candles, order book depth, and tradable pair metadata. Pick one with a single
dataTypefield. - 🕯️ Candles at any interval — 1m, 5m, 15m, 1h, 4h, 1d, 1w and more, up to the 720 most recent candles per pair.
- 📖 Order book snapshots — top bids and asks per side, with best bid, best ask and spread computed for you.
- ⚡ Fast & clean — flat records with numeric fields (not strings), ready for spreadsheets, databases or code.
Note: Kraken uses XBT for Bitcoin, so Bitcoin/US-Dollar is
XBTUSD(notBTCUSD).
Example input
Top pairs, ticker statistics:
{ "pairs": ["XBTUSD", "ETHUSD", "SOLUSD"], "dataType": "ticker" }
Every pair's ticker in one run (leave pairs empty):
{ "pairs": [], "dataType": "ticker" }
Hourly candles for two pairs:
{ "pairs": ["XBTUSD", "ETHUSD"], "dataType": "ohlc", "interval": 60 }
Order book depth, top 50 levels per side:
{ "pairs": ["XBTUSD"], "dataType": "depth", "count": 50 }
Output
Ticker (ticker) — one row per pair
{
"pair": "XXBTZUSD",
"dataType": "ticker",
"ask": 77179.7,
"bid": 77179.6,
"last": 77183.6,
"open24h": 77398.1,
"high24h": 77736.2,
"low24h": 76236.9,
"vwap24h": 77105.55859,
"volume24h": 2264.55629102,
"trades24h": 106260
}
OHLC (ohlc) — one row per candle
{
"pair": "XXBTZUSD",
"dataType": "ohlc",
"interval": 60,
"time": 1785783600,
"open": 63807.2,
"high": 64008.2,
"low": 63784.8,
"close": 63813.4,
"vwap": 63901.6,
"volume": 106.80970701,
"count": 2594
}
Order book depth (depth) — one row per pair
{
"pair": "XXBTZUSD",
"dataType": "depth",
"bestBid": 77182.3,
"bestAsk": 77182.4,
"spread": 0.1,
"bids": [{ "price": 77182.3, "volume": 0.767, "timestamp": 1788378142 }],
"asks": [{ "price": 77182.4, "volume": 0.831, "timestamp": 1788378142 }]
}
Asset pairs (assetpairs) — one row per pair
{
"pair": "XXBTZUSD",
"dataType": "assetpairs",
"altname": "XBTUSD",
"wsname": "XBT/USD",
"base": "XXBT",
"quote": "ZUSD",
"status": "online",
"pairDecimals": 1,
"orderMin": 0.00005,
"tickSize": 0.1
}
Input fields
| Field | Description |
|---|---|
pairs |
Trading pairs in Kraken format (e.g. XBTUSD, ETHUSD). Empty = all pairs (ticker & asset pairs only; OHLC and depth need at least one pair). |
dataType |
ticker (ask/bid/last + 24h stats), ohlc (candles), depth (order book), or assetpairs (tradable pair list). Default ticker. |
interval |
Candle interval in minutes for ohlc: 1, 5, 15, 30, 60, 240, 1440, 10080, 21600. Default 60. |
count |
Order-book depth per side for depth (1-500). Ignored for the other data types. |
FAQ
Which pairs can I request?
Any Kraken spot trading pair, written as base + quote with no separator — XBTUSD, ETHUSD, SOLEUR, ADAUSD, and so on. Remember Kraken uses XBT for Bitcoin. For a full snapshot of every pair, leave pairs empty (ticker or asset pairs). Not sure of a pair's exact code? Run assetpairs first to list every tradable pair.
What interval options are there for candles?
1, 5, 15, 30, 60, 240 minutes, plus 1440 (daily), 10080 (weekly) and 21600. You get up to the 720 most recent candles per pair.
How is order book depth returned?
One row per pair containing the top bids and asks (each a price, volume and timestamp), plus the best bid, best ask and the computed spread. Use count to choose how many levels per side.
What's the output format? Structured JSON — one clean record per pair or per candle, with numeric fields. Export as JSON, CSV, Excel or via the API.
Can I use this in n8n? Yes. Apify has an official n8n community node — run this Actor from an n8n workflow and pipe the returned market data straight into your automation, database or spreadsheet. It also works with Make, Zapier and many more.
Can I integrate this with other tools? The Kraken Market Data Scraper connects with almost any cloud service or web app via integrations on the Apify platform: Make, Zapier, Slack, Google Drive and more, plus the Apify API, JavaScript/Python clients, webhooks and MCP.
Notes
Market data is © Kraken and the respective venues, and is provided for informational purposes — respect their terms and any redistribution restrictions. Original clean-room implementation.
Input
| Field | Type | Description |
|---|---|---|
pairsPairs | array | Trading pairs to fetch, in Kraken format (base + quote, no separator), e.g. "XBTUSD", "ETHUSD", "SOLEUR". Leave empty to fetch every tradable pair (supported for the "ticker" and "assetpairs" data types; "ohlc" and "depth" require at least one pair). Note Krak |
dataTypeData type | string · ticker, ohlc, depth, assetpairs | Which market dataset to return. "ticker" = latest ticker + rolling 24-hour stats (one row per pair). "ohlc" = OHLC candles (one row per candle). "depth" = order book snapshot with the top bids and asks (one row per pair). "assetpairs" = metadata for every trad Default: "ticker" |
intervalOHLC interval (minutes) | integer | Candle interval in minutes, used only when Data type is "ohlc". One of: 1, 5, 15, 30, 60, 240, 1440 (daily), 10080 (weekly), 21600. Returns up to the 720 most recent candles per pair. Default: 60 |
countOrder book depth | integer | How many order book levels to return per side (bids and asks). Used only when Data type is "depth" (1-500). Ignored for the other data types. Default: 100 |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~kraken-market-data-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"pairs": [
"XBTUSD",
"ETHUSD"
]
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/kraken-market-data-scraper").call(run_input={
"pairs": [
"XBTUSD",
"ETHUSD"
]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/kraken-market-data-scraper').call({
"pairs": [
"XBTUSD",
"ETHUSD"
]
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Pair Scraped Charged per item returned. | $0.001 | $0.0005 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Dribbble Shots Scraper
Scrape public design shots from Dribbble: title, high-res image, tags, likes, views and designer credit. Filter by category or sort, export JSON, CSV or Excel.
359 runs · 5 users · $0.003 / shot scrapedComputrabajo Scraper
Scrape Computrabajo job listings across Latin America (Mexico, Colombia, Argentina, Chile, Peru and more): title, company, location, salary, posted date and apply URL. Filter by country and keyword. No setup.
206 runs · 4 users · $0.002 / listing scrapedBayt Scraper
Scrape Bayt.com job listings across the Middle East (UAE, Saudi Arabia, Egypt, Qatar and more): title, company, location, posted date and apply URL. Filter by country and keyword.
134 runs · 4 users · $0.003 / job scrapedGitHub Scraper
Search GitHub and scrape repositories (stars, forks, language, topics, license, dates) or user profiles (name, company, location, bio, followers, public email, repos). Uses the GitHub REST API; optional token for higher rate limits. For developer lead generation, OSS research and recruiting.
131 runs · 7 users · $0.0008 / item scrapedHacker News Scraper
Scrape Hacker News stories, comments, Ask HN, Show HN, jobs and polls by keyword, points, comments and date range. Sort by relevance or newest. Title, URL, author, points, comment count, text and HN link. Fast clean HTTP via the HN Algolia API, no setup.
130 runs · 2 users · $0.004 / item scrapedRemoteOK Job Scraper
Scrape remote job listings from RemoteOK: position, company, tags, location, salary range, and full job description. One request, complete records.
126 runs · 2 users · $0.001 / job scrapedSend the site and the fields. We build it and you get it first.