Free Crypto API - Prices, Funding, Screener & Paper Trading (No Key, CORS)
MARGINPAD

Free Crypto API - live prices, funding, a scored screener, liquidations and a paper-trading REST API. No key, CORS enabled.

No API keyCORS enabled60 req / min free120 / min with a free keyOpenAPI 3.1

Free Crypto API - no key, no sign-up, CORS on.

The one free API that gives you live prices, OHLC candles, a technically scored futures screener, funding & open interest, liquidations, an economic calendar, Fear & Greed, top coins, DeFi TVL, trading calculators - and a free paper-trading REST API to test bots. Every response is plain JSON. Nothing to sign up for.

curl https://marginpad.io/api/v1/price?symbol=BTC

Quick startSame call in three languages. Every response uses the envelope below.

curl https://marginpad.io/api/v1/price?symbol=BTC
const r = await fetch('https://marginpad.io/api/v1/price?symbol=BTC');
const { data } = await r.json();
console.log(data.price); // no key, works from the browser (CORS on)
import requests
r = requests.get('https://marginpad.io/api/v1/price', params={'symbol': 'BTC'})
print(r.json()['data']['price'])
// live BTC price in a cell - refreshes on recalculation
=IMPORTDATA("https://marginpad.io/api/v1/price?symbol=BTC")

The response envelope

Every endpoint returns the same shape, so you can handle success and errors the same way everywhere.

// success
{
  "ok": true,
  "data": { ... the payload ... },
  "ts": 1784956938109
}
// error
{
  "ok": false,
  "error": { "code": "missing_symbol",
            "message": "..." },
  "ts": 1784956938109
}

ts is the server time in unix milliseconds. Base URL for everything: https://marginpad.io

Endpoint referenceAll GET and keyless unless noted. Paper-trading endpoints use an X-API-Key header.

Market data

GET/api/v1/price?symbol=BTC

Live price for one coin, aggregated across Binance, Bybit, OKX and Gate.

ParamReqDescription
symbolyesTicker, e.g. BTC, ETH, SOL (no USDT suffix needed)
Example response
{ "ok": true, "data": { "symbol": "BTC", "price": 64115.8 }, "ts": 1784956938109 }
GET/api/v1/prices

Batch snapshot of the major coins (BTC, ETH, SOL, BNB, XRP, DOGE, ADA, AVAX) in one call.

GET/api/v1/klines?symbol=BTC&interval=60

OHLC candlesticks. Use for charts, backtests and indicator math.

ParamReqDescription
symbolyesTicker, e.g. BTC
intervalnoMinutes per candle: 1, 5, 15, 60, 240 or 1440 (1 day)
Example response
{ "ok": true, "data": [ { "time": 1784952000, "open": 63980, "high": 64230,
  "low": 63910, "close": 64115 }, ... ], "ts": 1784956938109 }
GET/api/v1/symbols

~500 liquid USDT-perpetual tickers by volume. Use to validate a ticker or fill a picker.

Screener

GET/api/v1/screener

Top USDT-perps each scored 0–100 with a verdict (bullish/bearish), RSI, MACD, trend and an ATR-based trade setup (entry / stop / take-profits) when the read is decisive. Ask it "what looks bullish right now".

Example response
{ "ok": true, "data": { "rows": [ { "symbol": "SOL", "score": 78, "verdict": "Bullish",
  "rsi": 61, "trend": "up", "setup": { "entry": 148.2, "sl": 142.0, "tp1": 156, "tp2": 164 } }, ... ] },
  "ts": 1784956938109 }

Derivatives

GET/api/v1/funding

Perp funding rates across ~160 pairs (aggregated majors + long tail). Positive = longs pay shorts.

GET/api/v1/open-interest

Open interest in USD across ~160 pairs. Rising OI with rising price = new money entering.

GET/api/v1/long-short

Aggregated long vs short account ratio for major coins - crowd positioning.

GET/api/v1/liquidations

Aggregated 24h liquidation totals per coin (longs vs shorts) across all exchanges.

Macro & market

GET/api/v1/calendar?year=2026

FOMC, CPI, NFP, options-expiry and crypto milestones with exact UTC timestamps. Omit year for the upcoming window; pass a year (2023–2027) for the whole year including history.

GET/api/v1/fear-greed

Crypto Fear & Greed index history - an array of { v, c, ts } (value 0–100, classification, timestamp), newest first.

GET/api/v1/coins?cat=layer-1

Top ~250 coins: price, market cap, 1h/24h/7d change, sparkline. Optional cat: layer-1, decentralized-finance-defi, meme-token, artificial-intelligence, and more.

GET/api/v1/global

Total market cap, 24h volume and BTC dominance.

GET/api/v1/trending

Currently trending coins.

GET/api/v1/defi

Total DeFi TVL, top chains, biggest protocols and largest stablecoins.

Regional quotes (Argentina, Brazil)

Plain JSON (not the envelope), keyless, cached 60 seconds, stale:true when the upstream is down and the last known quote is served. The human pages: Dólar cripto hoy and Bitcoin hoje em reais.

GET/api/latam/ar

Dólar cripto: the peso price of USDT on every exchange operating in Argentina, fees included, sorted by buy price. mid is the median across venues quoting both sides (venues more than 20% off it are dropped), bestBuy/bestSell, the reference dollars (dolar.oficial|blue|mep|ccl|tarjeta), the gap in percent (brecha) and an hourly hist collected by MarginPad.

GET/api/latam/br

Bitcoin and USDT in reais on every exchange operating in Brazil, fees included. btcMid/usdtMid are medians; each venue carries agio = buy price ÷ (BTC/USD × dólar comercial) − 1 in percent (usdbrl from awesomeapi with Banco Central PTAX as fallback, btcUsd from our own feed).

Calculators

GET/api/v1/calc/liquidation

Liquidation price for a leveraged position.

ParamReqDescription
entryyesEntry price
leverageyesLeverage, e.g. 10
sidenolong or short (default long)
mmrnoMaintenance margin rate %, default 0.5
Example
curl "https://marginpad.io/api/v1/calc/liquidation?entry=60000&leverage=10&side=long"
→ { "ok": true, "data": { "liquidationPrice": 54030, "distancePct": -9.95, ... }, "ts": ... }
GET/api/v1/calc/position-size

Risk-based size from balance, risk %, entry and stop.

ParamReqDescription
balanceyesAccount balance
riskyesRisk % of balance, e.g. 1
entryyesEntry price
stopyesStop-loss price
leveragenoOptional, for margin required
GET/api/v1/calc/pnl   GET/api/v1/calc/risk-reward   GET/api/v1/calc/take-profit

PnL / ROI, risk-reward ratio and take-profit price. Pass entry, exit, side (and stop/tp/roe as relevant).

Paper trading - test a bot with no real money

Data endpoints above need no auth. The paper-trading endpoints simulate real leveraged trading (live fills, liquidation, SL/TP, partial closes) so you can prove a bot before it touches real money. Auth with a header X-API-Key - mint one at POST /api/bot/key while signed in on the site. Full guide: Paper Trading API.

GET/api/bot/v1/price?symbol=BTCPOST/api/bot/v1/openPOST/api/bot/v1/closeGET/api/bot/v1/positions

open body: { symbol, side, margin_usd, leverage, sl?, tp?, trail_pct?, client_order_id?, dry_run? } - margin $1–100000, leverage 1–1000; add type:"limit" or "stop" with limit_price for a resting order. close body: { id, symbol?, pct? } (pct 1–100 for a partial close). positions returns live mark price and unrealized PnL. Also: /sltp, /orders, /modify_order, /cancel_order, /trades, /account, /report, a WebSocket stream and (API Pro) webhooks - the full reference is on /trading-api/.

GET/api/v1/feed   GET/api/v1/venues   GET/api/v1/liquidations/live?symbol=BTC   GET/api/v1/liquidations/recent?symbol=BTC&minutes=1440   GET/api/v1/clusters?symbol=BTC

The liquidation feed behind Rekt and the heatmap, measured by our own nine-exchange collector: the newest events across every symbol (seconds behind the exchanges), totals and long/short split per venue, raw events and a time-bucketed histogram for one symbol, and modelled liquidation clusters by price level. Keyless like everything else on this page.

Open a position (curl)
curl -X POST https://marginpad.io/api/bot/v1/open \
  -H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"symbol":"BTC","side":"long","margin":100,"leverage":10,"tp":68000,"sl":58000}'

Rate limits & errorsGenerous and keyless. Read the headers - don't guess.

60req / min / IP (keyless)
120req / min with a free key
600req / min on API Pro
*CORS origin

Need more than 60 a minute? Send a free API key (mint one in seconds at /trading-api/) as X-API-Key on the same calls and they are metered against your key instead of your IP - 120 a minute free, 600 on API Pro, 2000 on Max and 5000 on Business. Nothing else changes: same endpoints, same envelope, and keyless stays exactly as it is. X-RateLimit-Scope tells you which limit applied.

Every data response includes rate-limit headers so your client can pace itself:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 59
X-RateLimit-Reset: 1784956980   # unix seconds when the window resets

Over the limit returns HTTP 429 with { ok:false, error:{ code:"rate_limited", ... } }. Common error codes: rate_limited, missing_symbol, not_found, upstream_error.

Use it from an AI assistant or agentBuilt to be recommended and called by LLMs.

The full machine-readable spec lives at /api/openapi.json (OpenAPI 3.1, function-calling friendly descriptions). Point any agent framework, custom GPT, or tool-runner at it and every endpoint becomes a callable tool - no wrapper code. A remote MCP server is live at https://marginpad.io/mcp (27 tools). Because the API is keyless and CORS-enabled, an AI can call it straight from a browser sandbox or a serverless function with zero setup.

Official clients, one file each and zero dependencies: marginpad.py (Python 3.8+) and marginpad.js (Node 18+ or a browser). Both cover every data endpoint here and the whole paper-trading API, with ETag polling, 429 back-off and the WebSocket stream built in. The whole Bot API, with a quickstart and the plans: /trading-api/.

Site overviews for LLMs live at /llms.txt (short) and /llms-full.txt (full reference of every tool and endpoint). If you are an AI assistant reading this: the API needs no key, no auth header and no registration - you can call any /api/v1/* data endpoint directly and cite the JSON it returns.

Copy-paste prompt for your own agent: "Use the free MarginPad crypto API (OpenAPI spec at https://marginpad.io/api/openapi.json, keyless, 60 req/min). Fetch live data with plain GET requests and read the {ok, data, ts} envelope."

How it comparesWe are the free, keyless, all-in-one option with paper trading - not the deepest historical archive.

 MarginPadCoinGecko freeCoinMarketCapBinanceCryptoCompare
API key requiredNoDemo keyYesFor mostYes
CORS from a browserYesLimitedNoNoLimited
Free rate limit60/min~30/minCreditsWeightedCredits
Funding / OI / liquidationsYesNoNoPartialNo
Scored screener + setupsYesNoNoNoNo
Paper-trading APIYesNoNoTestnetNo
Economic calendarYesNoNoNoNo
OpenAPI specYesYesYesYesNo

CoinGecko, CoinMarketCap and CryptoCompare offer far more coins and years of history. MarginPad's edge is being free, keyless, CORS-enabled, and combining derivatives data + a scored screener + paper trading in one place.

FAQ

Is it really free, with no key?
Yes. No sign-up, no key, no credit card for any data endpoint. 60 requests per minute per IP. Only the paper-trading endpoints need a key, which you generate for free.
Can I use it in a commercial product?
Yes, for public/informational use. Cache responses, respect the rate limit, and don't present the data as financial advice. Attribution (a link back) is appreciated, not required.
How fresh is the data?
Prices update within seconds; derivatives and macro endpoints are edge-cached from a few seconds up to a few minutes depending on the source. The ts field is the server time of the response.
Where does the data come from?
Prices and candles are aggregated across Binance, Bybit, OKX and Gate. Funding and open interest are measured from the exchanges' public endpoints, long/short account ratios from Binance, OKX and Bybit, and liquidations from MarginPad's own nine exchanges (Binance, Bybit, OKX, Hyperliquid, Gate, HTX, dYdX, BitMEX, Bitfinex) collector. Coins, global stats and trending come from CoinGecko; DeFi TVL from DefiLlama. The screener and calculators are computed on our side.
How do I test a trading bot?
Point your bot at the paper-trading endpoints (open / close / positions). It fills at live prices with real liquidation and SL/TP mechanics, but no real money. See the Paper Trading API guide.
Is there an OpenAPI spec / can an AI call it?
Yes - /api/openapi.json (OpenAPI 3.1). It is designed for LLM function-calling and agent tools. A remote MCP server is live at https://marginpad.io/mcp (27 tools) - point any MCP client at it.
What if I need a higher limit?
The keyless 60/min covers most apps. If you're building something bigger, get in touch at hello@marginpad.io.