๐ŸŽ‰ Sambungan Chrome kami telah tiba! Dapatkan harga pasaran langsung di pelayar anda.Pasang Sekarangโ†’
RealMarketAPIRealMarketAPI
Ciri-ciriHargaDokumentasi

Kawasan Uji

Kawasan uji API interaktif

Widget

Penyelesaian widget sematan

SDK

Sambung dengan cepat menggunakan klien SDK rasmi

Blog

Artikel dan kemas kini terbaru

Berita

Berita dan pengumuman terbaru

Forum

Sertai forum komuniti kami

Pembelajaran

Learning resources, tutorials, and implementation guides

Calculator

Position sizing, pip value, and risk management tools

Suapan RSS

Direktori suapan RSS untuk dagangan

RealMarketAPI

Infrastruktur data pasaran masa nyata untuk aplikasi fintech moden dan platform dagangan.

Produk

  • Ciri-ciri
  • Harga
  • Dokumentasi
  • Widget
  • Papan Pemuka

Syarikat

  • Tentang Kami
  • Hubungi
  • Blog
  • Soalan Lazim
  • Maklum Balas
  • Status
  • Afiliasi

Compare

  • All Comparisons
  • vs Alpaca
  • vs Polygon.io
  • vs GoldPrice.io
  • vs Finnhub
  • vs Alpha Vantage
  • vs Finage

Undang-undang

  • Dasar Privasi
  • Terma Perkhidmatan
  • Dasar Bayaran Balik
  • Keselamatan
  • Trust Center
  • Amaran Risiko
  • Dasar Cookie

Sumber Terbuka

  • Pembelajaran
  • Calculator
  • Suapan RSS

Featured on

Fazier badgeRealMarketAPI - Real-time market data, built for builders | Product HuntFind Us on NextGen ToolsFeatured on Findly.toolsRealMarketAPI - Featured on Startup FameListed on Turbo0Featured on neeed.directoryVerified on Verified ToolsRealMarketAPI | dang.aiLive on FoundrListFeatured on ToolDirsMonitor your Domain Rating with FrogDRReal Market API badge#1 Product on EarlyHuntFeatured on LaunchIgniterListed on codetrendy.comFeatured on RankInPublicFeatured on ScrollLaunchOpenHunts Club MemberReal-time Market API badgerealmarketapi.com Domain RatingFeatured on Launch LlamaSEOJuiceFeatured on Wired BusinessPowered by Startup Fast
Fazier badgeRealMarketAPI - Real-time market data, built for builders | Product HuntFind Us on NextGen ToolsFeatured on Findly.toolsRealMarketAPI - Featured on Startup FameListed on Turbo0Featured on neeed.directoryVerified on Verified ToolsRealMarketAPI | dang.aiLive on FoundrListFeatured on ToolDirsMonitor your Domain Rating with FrogDRReal Market API badge#1 Product on EarlyHuntFeatured on LaunchIgniterListed on codetrendy.comFeatured on RankInPublicFeatured on ScrollLaunchOpenHunts Club MemberReal-time Market API badgerealmarketapi.com Domain RatingFeatured on Launch LlamaSEOJuiceFeatured on Wired BusinessPowered by Startup Fast

ยฉ 2026 RealMarketAPI. Hak cipta terpelihara.

Dibina dengan โค untuk pembangun

vv0.0.0 ยท 2026-06-20

PrivasiยทTermaยทKeselamatanยทAmaran RisikoยทKuki

Risk Disclosure: Trading in financial instruments and/or cryptocurrencies involves high risks including the risk of losing some, or all, of your investment amount, and may not be suitable for all investors. Prices of cryptocurrencies are extremely volatile and may be affected by external factors such as financial, regulatory or political events. This content is provided for informational purposes only and does not constitute financial advice.

Feedback
๐Ÿ“Š
Docs/Volatility API

Volatility API

3 endpoints ยท ATR time-series ยท Spike detection ยท Day ร— Hour heatmap ยท Starter plan and above

VolatilitySpikesHeatmapBase path GET /api/v1/volatility/*

Endpoints

  • GET /volatility
  • GET /volatility/spikes
  • GET /volatility/heatmap
  • Error Codes
โ†’ Technical Indicatorsโ†’ REST Endpointsโ†’ Error Reference
โ–ถ Playground
๐Ÿ”‘

Starter plan and above

All volatility endpoints require an active paid plan โ€” Free plan access is not supported. Authentication is via the apiKey query parameter.

GET

/api/v1/volatility

Starter+

Returns a time-series of four complementary volatility metrics for a given symbol and timeframe: raw ATR, ATR%, Bollinger Band Width, and Historical Volatility. Results are returned newest-first.

Query Parameters
NameTypeDescription
apiKey*stringYour API key.
symbolCode*stringSymbol identifier (e.g. BTCUSD, XAUUSD).
timeFrame*stringCandle interval: M1 ยท M5 ยท M15 ยท H1 ยท H4 ยท D1.
periodintegerLookback window for ATR, Band Width, and Historical Volatility. Range 2โ€“500. Default: 14.
Response Fields โ€” 200 OK
FieldTypeDescription
openTimeDateTimeOffsetCandle open timestamp (UTC).
atrdecimalAverage True Range โ€” Wilder smoothed over period candles.
atrPercentdecimalATR as a percentage of closing price: ATR รท Close ร— 100.
bandWidthdecimalBollinger Band Width: (Upper โˆ’ Lower) รท Middle ร— 100 โ€” proxy for price expansion.
historicalVolatilitydecimalRolling std dev of log returns over period candles, expressed as a percentage.

Request

GET /api/v1/volatility
GEThttps://api.realmarketapi.com/api/v1/volatility?apiKey=YOUR_API_KEY&symbolCode=BTCUSD&timeFrame=H1&period=14

Response โ€” 200 OK

response.json
{
  "data": [
    {
      "openTime": "2025-06-01T08:00:00+00:00",
      "atr": 1234.560000,
      "atrPercent": 1.8432,
      "bandWidth": 7.2418,
      "historicalVolatility": 0.9751
    }
  ],
  "totalCount": 1
}

Code examples

volatility.js
const BASE    = "https://api.realmarketapi.com"
const API_KEY = "YOUR_API_KEY"
const PERIOD  = 14

const url = new URL("/api/v1/volatility", BASE)
url.searchParams.set("apiKey",     API_KEY)
url.searchParams.set("symbolCode", "BTCUSD")
url.searchParams.set("timeFrame",  "H1")
url.searchParams.set("period",     String(PERIOD))

const res = await fetch(url.toString())
if (!res.ok) throw new Error("Request failed: " + res.status)

const { data } = await res.json()
for (const point of data) {
  console.log(point.openTime, "ATR:", point.atr, "HV:", point.historicalVolatility)
}
โ–ถ๏ธ

Try it live in the Playground

Run a live /api/v1/volatility request with your API key โ€” see the real response instantly in your browser.

Open Playground
GET

/api/v1/volatility/spikes

Starter+

Scans the full ATR series and returns only the candles where ATR exceeded a given multiple of the series average. Useful for identifying unusual bursts of market activity โ€” news events, liquidity gaps, or panic-driven moves.

๐Ÿ’กOnly candles where atr โ‰ฅ spikeMultiplier ร— atrAverage are included. The direction field tells you whether that spike candle closed as Bullish, Bearish, or Neutral. Results are returned newest-first.
Query Parameters
NameTypeDescription
apiKey*stringYour API key.
symbolCode*stringSymbol identifier (e.g. BTCUSD, XAUUSD).
timeFrame*stringCandle interval: M1 ยท M5 ยท M15 ยท H1 ยท H4 ยท D1.
periodintegerATR lookback period. Range 2โ€“500. Default: 14.
spikeMultiplierdecimalMinimum ratio of candle ATR to series average ATR required to classify as a spike. Range 1.1โ€“10.0. Default: 2.0.
Response Fields โ€” 200 OK
FieldTypeDescription
openTimeDateTimeOffsetCandle open timestamp (UTC).
atrdecimalATR value at the spike candle.
atrAveragedecimalMean ATR across the entire series used for comparison.
multiplierReacheddecimalatr รท atrAverage โ€” how many times above average the spike was.
directionstringCandle direction: "Bullish", "Bearish", or "Neutral".

Request

GET /api/v1/volatility/spikes
GEThttps://api.realmarketapi.com/api/v1/volatility/spikes?apiKey=YOUR_API_KEY&symbolCode=BTCUSD&timeFrame=H1&period=14&spikeMultiplier=2.0

Response โ€” 200 OK

response.json
{
  "data": [
    {
      "openTime": "2025-05-12T14:00:00+00:00",
      "atr": 3512.880000,
      "atrAverage": 1204.320000,
      "multiplierReached": 2.92,
      "direction": "Bearish"
    }
  ],
  "totalCount": 1
}

Code examples

volatility-spikes.js
const BASE             = "https://api.realmarketapi.com"
const API_KEY          = "YOUR_API_KEY"
const PERIOD           = 14
const SPIKE_MULTIPLIER = 2.0

const url = new URL("/api/v1/volatility/spikes", BASE)
url.searchParams.set("apiKey",          API_KEY)
url.searchParams.set("symbolCode",      "BTCUSD")
url.searchParams.set("timeFrame",       "H1")
url.searchParams.set("period",          String(PERIOD))
url.searchParams.set("spikeMultiplier", String(SPIKE_MULTIPLIER))

const res = await fetch(url.toString())
if (!res.ok) throw new Error("Request failed: " + res.status)

const { data, totalCount } = await res.json()
console.log(`Found ${totalCount} spike candle(s)`)
for (const spike of data) {
  console.log(spike.openTime, spike.direction, "ร—" + spike.multiplierReached)
}
โ–ถ๏ธ

Try it live in the Playground

Run a live /api/v1/volatility/spikes request with your API key โ€” see the real response instantly in your browser.

Open Playground
GET

/api/v1/volatility/heatmap

Starter+

Aggregates the true range of all available candles into a Day-of-Week ร— Hour-of-Day grid. Each cell shows the average true range and a 0โ€“1 normalised intensity for that time bucket, making it easy to identify when a symbol is typically most volatile. Uses all available historical candles โ€” the more history on your plan, the more reliable the heatmap.

๐Ÿ—“๏ธResults are sorted by dayOfWeek then hour ascending. Buckets with no candles are omitted. An intensity of 1.0000 marks the single most volatile time slot across the entire dataset.
Query Parameters
NameTypeDescription
apiKey*stringYour API key.
symbolCode*stringSymbol identifier (e.g. XAUUSD, BTCUSD).
timeFrame*stringCandle interval: M1 ยท M5 ยท M15 ยท H1 ยท H4 ยท D1.
Response Fields โ€” 200 OK
FieldTypeDescription
dayOfWeekstringDay name ("Monday" โ€ฆ "Sunday").
hourintegerHour of day in UTC (0โ€“23).
avgRangedecimalMean true range across all candles that fell in this time bucket.
intensitydecimalavgRange รท max(avgRange) across all buckets โ€” 1.0 marks the most volatile slot.

Request

GET /api/v1/volatility/heatmap
GEThttps://api.realmarketapi.com/api/v1/volatility/heatmap?apiKey=YOUR_API_KEY&symbolCode=XAUUSD&timeFrame=H1

Response โ€” 200 OK

response.json
{
  "data": [
    {
      "dayOfWeek": "Monday",
      "hour": 9,
      "avgRange": 812.340000,
      "intensity": 0.6714
    },
    {
      "dayOfWeek": "Monday",
      "hour": 14,
      "avgRange": 1209.110000,
      "intensity": 1.0000
    }
  ],
  "totalCount": 2
}

Code examples

volatility-heatmap.js
const BASE    = "https://api.realmarketapi.com"
const API_KEY = "YOUR_API_KEY"

const url = new URL("/api/v1/volatility/heatmap", BASE)
url.searchParams.set("apiKey",     API_KEY)
url.searchParams.set("symbolCode", "XAUUSD")
url.searchParams.set("timeFrame",  "H1")

const res = await fetch(url.toString())
if (!res.ok) throw new Error("Request failed: " + res.status)

const { data } = await res.json()
// Print the top-3 most volatile time slots
const sorted = [...data].sort((a, b) => b.intensity - a.intensity).slice(0, 3)
for (const slot of sorted) {
  console.log(`${slot.dayOfWeek} ${String(slot.hour).padStart(2, "0")}:00 โ€” intensity ${slot.intensity}`)
}
โ–ถ๏ธ

Try it live in the Playground

Run a live /api/v1/volatility/heatmap request with your API key โ€” see the real response instantly in your browser.

Open Playground

Error Codes

Common Error Codes
CodeHTTPDescription
ERR_0001_DATA_NOT_FOUND400No market data available for the requested symbol / timeframe
ERR_0005_INVALID_API_KEY400API key is missing, inactive, or not found
ERR_0007_INVALID_TIME_FRAME400Requested timeframe is not available on your plan
ERR_0008_SYMBOL_NOT_SUPPORTED400Requested symbol is not available on your plan
ERR_0012_EMAIL_NOT_VERIFIED400Account email has not been verified
ERR_0014_INVALID_PLAN400Free plan is not permitted to access this endpoint
ERR_0017_REQUEST_QUOTA_EXCEEDED429Monthly request quota has been reached