Official beta JavaScript/TypeScript SDK for RealMarketAPI REST and WebSocket market data endpoints.
Website: https://realmarketapi.com/
npm install realmarketapi-js-sdk-beta- Node.js 18+ (recommended).
- RealMarketAPI key.
import { RealMarketApiClient } from "realmarketapi-js-sdk-beta";
const client = new RealMarketApiClient({
apiKey: process.env.REALMARKET_API_KEY!
});
const price = await client.getPrice("EURUSD", "M1");
console.log(price.closePrice);import { RealMarketApiWebSocket } from "realmarketapi-js-sdk-beta";
const ws = new RealMarketApiWebSocket({
apiKey: process.env.REALMARKET_API_KEY!
});
const stop = ws.streamPrice("BTCUSDT", "M1", {
onOpen: () => console.log("connected"),
onMessage: msg => console.log(msg),
onError: err => console.error(err),
onClose: () => console.log("closed")
});
setTimeout(() => stop(), 30_000);const client = new RealMarketApiClient({
apiKey: "YOUR_API_KEY",
baseUrl: "https://api.realmarketapi.com", // optional
fetchImpl: fetch // optional custom fetch
});Options:
apiKey(required): your RealMarketAPI key.baseUrl(optional): defaults tohttps://api.realmarketapi.com.fetchImpl(optional): inject a custom fetch implementation.
const ws = new RealMarketApiWebSocket({
apiKey: "YOUR_API_KEY",
baseUrl: "https://api.realmarketapi.com", // optional
reconnectDelayMs: 2000 // optional
});Options:
apiKey(required): your RealMarketAPI key.baseUrl(optional): defaults tohttps://api.realmarketapi.com.reconnectDelayMs(optional): reconnect delay after disconnect, default2000ms.
- Returns latest ticker payload for one symbol/timeframe.
- Returns latest candle array for one symbol/timeframe.
- Returns paginated historical ticker data in the provided ISO 8601 time range.
- Returns list of available symbols.
- Returns SMA points for one symbol/timeframe.
- Streams live price updates.
- Returns a stop function
() => void.
- Streams live candle updates.
- Returns a stop function
() => void.
Handlers:
onMessage(message)required.onError(error)optional.onOpen()optional.onClose()optional.
type ListResult<T> = { data: T[] };
type PagedResult<T> = {
data: T[];
pageNumber: number;
pageSize: number;
totalPages: number;
totalRecords: number;
};
type PriceTickerResult = {
symbolCode: string;
timeFrame: string;
openTime: string;
closePrice: number;
askPrice?: number;
bidPrice?: number;
};
type PriceCandleResult = {
symbolCode: string;
timeFrame: string;
openTime: string;
openPrice: number;
highPrice: number;
lowPrice: number;
closePrice: number;
volume: number;
};
type SymbolResult = {
symbolCode: string;
name?: string;
category?: string;
};
type IndicatorPoint = {
openTime: string;
value: number;
};REST methods throw Error when the API response is not successful.
try {
const data = await client.getSymbols();
console.log(data.data.length);
} catch (error) {
console.error("Request failed:", error);
}- Current REST scope: price, candles, history, symbols, SMA.
- Current WebSocket scope: price and candles with automatic reconnect.
- API surface may expand before stable
1.0.
- Main site: https://realmarketapi.com/
- API base URL default: https://api.realmarketapi.com