Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including ccxt-rest with all npm packages installed. Try it out:

var ccxtRest = require("ccxt-rest")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

ccxt-rest v1.0.4

Open Source Unified REST API of 100+ Crypto Exchange Sites


Build Status npm NPM Downloads Docker Pulls Supported Exchanges


Hire Us

Open Source Unified REST API of 100+ Crypto Exchange Sites !

Table of Contents


CCXT-REST provides a Unified REST APIs to allow clients access to retrieve data (ticker, order book, trades, your order, your trades, balances, etc) and to create and cancel orders from over 100 cryptocurrency exhange sites. And it is built on top of the popular open source project CCXT


You can install this as a global node package, or run the server via docker

NPM Package

$ npm install -g ccxt-rest
$ ccxt-rest


$ docker run -p 3000:3000 franzsee/ccxt-rest

Getting Started

CCXT-REST supports over 100 crytpocurrency exchange sites. However, in order to start invoking API calls on most of them, you would first need to get an API Key and Secret from them.

So if you want to interact with Binance (for example), you would have to generate an API Key and Secret for binance first (see binance's official documentation for more info).

Once you have an API Key and Secret, you will then create an 'instance' from CCXT-REST by providing CCXT-REST a reference id to this instance, your API Key and Secret for binance

$ curl -X POST http://localhost:10010/exchange/{exchangeName} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -d {
    "id": "myBinance",
    "apiKey": "myApiKey",
    "secret": "s3cret",
    "enableRateLimit": true

Once you have created an exchange instance, you can then start invoking calls against that exchange instance

List All Supported Currency Pairs

$ curl -X GET http://localhost:3000/exchange/binance/myBinance/markets \
  -H 'Accept: application/json'

Get Ticker for a Currency Pair

$ curl -X GET http://localhost:3000/exchange/binance/myBinance/ticker?symbol=BTC/USDT \
  -H 'Accept: application/json'

Get Order Book for a Currency Pair

$ curl -X GET http://localhost:3000/exchange/binance/myBinance/orderBook?symbol=BTC/USDT \
  -H 'Accept: application/json'

Placing an Order

$ curl -X POST http://localhost:3000/exchange/binance/myBinance/order \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -d {
  "symbol": "string",
  "type": "market",
  "side": "buy",
  "amount": 0,
  "price": 0

Cancelling an Order

Note: 12345 is the id of the order you want to cancel

$ curl -X DELETE http://localhost:3000/exchange/binance/myBinance/order/12345 \
  -H 'Accept: application/json'


For a complete list of API, see

Feature / Support Request

Need a feature or need support? Reach out and let us know what you need.

Hire Us


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free