Developer Hub & REST API Specification
Query modeled liquidation clusters, Cumulative Volume Delta (CVD), high-timeframe levels, and an untested momentum projection for research, backtesting, and your own applications. The API supplies market structure data, not trading signals.
๐ ๏ธ API Request Standards
All API queries are served over SSL. There are two things a token changes, and they are separate: any account โ including a free one โ unlocks the quant payload (ict, htf, prediction, cvd_markers), while any active paid plan (Premium or Pro API) removes the 24-hour delay and raises the rate limit to 300 req/min. A key on the 7-day trial is live too. Without any token you still get candles and the modeled stop bands, on the delay.
Authorization: Bearer sl_api_your_token_here
โก GET /v1/liquidity
One market and timeframe per call: candles with the modeled stop-loss bands, order blocks and Fair Value Gaps, the daily and weekly context, and the projection path. Live on a paid plan, otherwise 24 hours behind.
| Parameter | Type | Required | Description |
|---|---|---|---|
| symbol | string | YES | One of the 41 markets we cover, e.g. BTCUSD, EURUSD, AAPL, XAUUSD: letters and digits only. Common names are answered as the market they name (GOLD as XAUUSD, US500 as SPX). |
| interval | integer | NO | Candle size in minutes: 5, 15, 30, 60 (1h, default), 240 (4h), 1440 (daily), 10080 (weekly). The terminal's spelling works as well: 5m, 15m, 30m, 1h, 4h, 1d, 1w. Any other value is answered with hourly candles. |
| only_candles | boolean | NO | Return only lightweight candle data with active upper/lower liquidity boundary prices (disables ICT metrics). |
locked โ no token, no quant payload ict, htf, prediction and cvd_markers keys are omitted and a locked object names what is missing. There is deliberately no 401, so check for lockedrather than a status code.is_delayed and is_premium on every response, or keep trading on day-old candles without noticing.code: "unknown_symbol" and lists every symbol we cover in supported. Until 2 Oct 2026 this was a 200 with an empty data array.BTCUSD, not BTC-USD or BTC/USD.โโ GET /v1/signal-truth
Every EMA 9/21 cross, MACD cross, RSI 30/70 reversal or Stochastic cross on a market and timeframe, each with what price did next, and the indicator's score. Use it to check an indicator on your market before a bot trades it. Across our 41 markets these four work 49โ51% of the time on the hourly chart (21,566 signals checked); this endpoint shows where yours stands.
| Parameter | Type | Required | Description |
|---|---|---|---|
| symbol | string | YES | Canonical ticker, e.g. XAUUSD, EURUSD, NAS100. |
| interval | integer | NO | 5, 15, 30, 60 (default), 240, 1440, 10080. Signals cover the last 720 bars (1h = about 30 trading days). |
| indicator | string | NO | ema_cross (EMA 9 over/under EMA 21, default), macd_cross (MACD 12/26 over/under its 9 signal line), rsi_reversal (RSI 14 back above 30 / below 70), stoch_cross (Stochastic 14/3/3: %K crossing %D below 20 / above 80). |
worked if price moved 1 ATR(14) in its direction before it moved 1 ATR against, within 48 bars; failed is the reverse. Both barriers inside one bar, or neither within 48 bars, is unclear; a signal still inside its 48 bars is open. Only worked and failed count towards the score. The same text comes back in rule.{ time, side, price, outcome, resolved_time } โ time is the signal candle (Unix seconds, UTC), side is buy or sell, price the close it fired on, and resolved_time the candle that decided it (null while open).{ worked, failed, total, pct, verdict }. verdict is better or worse only when the score falls outside what chance gives 95% of the time at that sample size, otherwise coin_flip(too_few under 8 signals). from and to bound the candles used. Access follows /v1/liquidity: with live access live is true; otherwise everything, outcomes included, is computed on data ending 24 hours ago. Past signals, not a forecast.curl -H "Authorization: Bearer sl_api_your_token_here" "https://ampeld.com/api/v1/signal-truth?symbol=XAUUSD&interval=60&indicator=macd_cross"
๐ Data Schema & Glossary
The API delivers a rich payload structure that feeds directly into quantitative engines. Here is the mathematical explanation of each returned model field:
data[] also carries time, open/high/low/close, volume, delta, vol_flag, whale, whale_value and vwap with its upper and lower bands. type (bullish/bearish), top, bottom, time, mitigated, mitigated_time.type (support/resistance), price, time, mitigated, mitigated_time, swept_by_spread, and liquidations[]โ the forced-exit ladder as { price, level }, where level 0 is the tightest band. fvgs[] and obs[] in exactly the same shape as their intraday counterparts above. historical and future are { time, value } series; historical_pathsholds past projections for backtesting, each point carrying its origin_time so you can replay what the model said at the time. It draws a direction, and we have not measured whether that direction is right; our methodology tests the levels, not this line. Replay it with historical_paths to test it yourself.{ time, type }, where type is bullish_div or bearish_div. Per-candle delta itself is on data[].delta.is_delayed is true whenever the response is on the free 24-hour delay, with delay_hours alongside it.