API
connecting

Developer API · v1

API documentation

Closed one-minute candles, open/closed charts, and the live forming bar for Binomo. Same JSON your bot or chart can poll. No API key.

Base URLthis host
AuthenticationNone. GET only.
Candle sizeM1, up to 8 days
Default timezoneUTC+6
Candles stored 17,020 Charts open ··· Feed ···

Quick start

  1. Pick a pair symbol such as EURUSD or EURUSD_otc.
  2. Read closed candles with count. Newest candle is first.
  3. Read /api/v1/tick for the price that is still forming this minute.
curl
curl "__ORIGIN__/api/v1/candles?pair=EURUSD&count=5&timezone=UTC%2B6"
response
{
  "success": true,
  "pair": "EURUSD",
  "timeframe": "M1",
  "timezone": "UTC+6",
  "open": true,
  "payout": 0,
  "count": 5,
  "data": [
    {
      "pair": "EURUSD",
      "time": "2026-11-02 12:01:00",
      "epoch": 1790000000,
      "open": 1.11558,
      "high": 1.11570,
      "low": 1.11540,
      "close": 1.11562,
      "colour": "green",
      "payout": 0
    }
  ]
}

Response shape

Every candle is one closed minute. colour is green when close is greater than or equal to open, otherwise red. time is the candle open, shifted into the timezone you asked for. epoch stays UTC.

Pair names drop the slash. EUR/USD is EURUSD. An OTC name ending in (OTC) becomes EURUSD_otc.

The current minute is never inside /candles. It is the forming object on /tick. History older than 8 days is deleted.

Endpoint reference

GET/health

Process liveness. Always HTTP 200 while this service can answer, including while the broker feed is reconnecting.

FieldMeaning
binomotrue when the worker is connected
workerCONNECTED, CONNECTING, CONN_FAILED, or ERROR
tick_silence_sSeconds since the last price. -1 means no tick yet
mongoDatabase ping
example
curl "__ORIGIN__/health"
GET/api/v1/markets

Every pair the worker knows, with payout and whether the broker chart is open right now.

FieldMeaning
data[].symbolAPI pair name
data[].openChart is in session
data[].payout_percentLast known payout
open_pairsSymbols currently open
example
curl "__ORIGIN__/api/v1/markets"
GET/api/v1/status

Open flag, payout, and the time of the newest stored candle for one pair.

QueryNotes
pairrequiredAlso accepts symbol. Example EURUSD
example
curl "__ORIGIN__/api/v1/status?pair=EURUSD"
GET/api/v1/candles

Latest closed M1 candles, newest first. Alias: /candles.

QueryNotes
pairrequiredEURUSD, EURUSD_otc. Alias symbol
countoptionalDefault 100. Max 11520. Alias limit
timeframeoptionalM1
timezoneoptionalUTC, UTC+6, UTC+5:30, PKT. Default UTC+6
example
curl "__ORIGIN__/api/v1/candles?pair=EURUSD_otc&count=20&timezone=UTC%2B6"
GET/api/v1/tick

Latest price and the forming M1 candle. Alias: /tick. Without pair, returns one row per live pair.

QueryNotes
pairoptionalOmit it to list every live pair
example
curl "__ORIGIN__/api/v1/tick?pair=EURUSD"
GET/api/v1/ticks

Same as /api/v1/tick with no pair. Alias: /ticks.

example
curl "__ORIGIN__/api/v1/ticks"

Try a request

Runs against this server and prints the JSON below.

/api/v1/candles
Send a pair to see the live JSON.

Telegram

CommandWhat it does
/statusConnection, balance, silence, candles stored
/healthWorker snapshot
/pairsOpen and closed charts
/pair EURUSDOne pair, payout, last candle
/candles EURUSD 10Recent M1 rows
/tick EURUSDForming minute
/reconnectOpen the feed again
/alerts onPush a message when the feed drops or returns