项目作者: Live-Rates

项目描述 :
Forex Real-time Streaming, Web-service & Rest API
高级语言:
项目地址: git://github.com/Live-Rates/live-rates.com.git
创建时间: 2017-08-03T12:29:53Z
项目社区:https://github.com/Live-Rates/live-rates.com

开源协议:

下载


Live-Rates.com

Live-Rates.com is a real-time JSON / XML Webservice & Rest API for forex, commodities and indexes. There is also a Streaming API available for subscribers, starting in 2019.

The rates are updated every second.

Usage

Web-Service

Get the latest foreign exchange reference rates in JSON format.

  1. GET /rates
  2. Host: live-rates.com

Get the latest foreign exchange reference rates in XML format.

  1. GET /rates?rate_format=xml
  2. Host: live-rates.com

Rest API

(requires authentication)

Get the available currency pairs, commodities & indexes and also when they were last updated

  1. GET /api/rates?key=YOUR_KEY
  2. Host: live-rates.com

Get the latest foreign exchange reference rates for the requested params, in JSON format.

  1. GET /api/price?rate=EUR_USD,EUR_GBP&key=YOUR_KEY
  2. Host: live-rates.com

Streaming API

(requires authentication)

With streaming API, it’s no longer necessary to request for fresh data every second.
When updated data is retrieved by the main server, it’s automatically pushed to client via Web-socket technology (socket.io).

The central DNS server (wss.live-rates.com) connects you to the preferred datacenter based on your location and server availability. The available local servers are:

Location Socket Address (*) Socket V3 Address
Router Server wss.live-rates.com wss3.live-rates.com
Europe eu-wss.live-rates.com eu-wss3.live-rates.com
US us-wss.live-rates.com us-wss3.live-rates.com
Asia as-wss.live-rates.com as-wss3.live-rates.com

(*) Required for new client version of socketio (3.xx)

Check the Web-socket API examples, to understand how you can integrate and use it:

streaming_api


Output Response

All APIs - Web-Service / Rest API / Streaming API - output data with the same structure. All fields are sent in string format:

  1. {
  2. Currency: "EUR/USD" //Description of the Instrument
  3. Rate: "1.13625" //Same as BID (Deprecated)
  4. Bid: "1.13625" //Bid Value of the Currency / Instrument
  5. Ask: "1.13638" //Ask Value of the Currency / Instrument
  6. High: "1.14081" //24H High of the Currency / Instrument
  7. Low: "1.13527" //24H Low of the Currency / Instrument
  8. Open: "1.13725" //Opening Value of the Daily Session / Previous Day if Market is Active
  9. Close: "1.13625" //Closing Value of the Daily Session / Previous Day if Market is Active
  10. Timestamp: "1551477238763" //Timestamp of the Last Update
  11. }
  12. ...

Historical Data

(requires authentication)

Live-Rates Provides Historical Data for a Limited number of Instruments (+-170). At the moment only Forex Currencies, Metals and Crypto are Available. All Endpoints Require Authentication.

List Available Instruments

This will Output all Available Instruments

  1. GET /historical/list?key=YOUR_KEY
  2. Host: live-rates.com

Get Instrument Price on a Specific Previous Day

This Endpoint will provide the closing Price for the required day (23:59:59 UTC Time).

You can provide the Optional parameter symbols if you only need specific Pairs.

  1. GET /historical?base=EUR&date=YYYY-MM-DD&symbols=USD&key=YOUR_KEY
  2. Host: live-rates.com

Get Series Data for a Base Instrument

This Endpoint will provide the rates for a given past time period that cannot be longer than 30 Days.

You can provide the Optional parameter symbols if you only need specific Pairs.

  1. GET /historical/series?base=EUR&start=YYYY-MM-DD&end=YYYY-MM-DD&symbols=USD&key=YOUR_KEY
  2. Host: live-rates.com

Cross-Rates

For obvious reasons, Live-Rates don’t provide all the thousands of possible cross-rate’s combinations directly. All our available rates come directly from providers with real liquidity. If you need to get/calculate a rate not available directly, you can convert it, changing the base currency.

Example:
MYR/CNY, MYR/GBP or any other cross-rates with base currency MYR are not provided. However that doesn’t mean you can’t get them. In this case/example, you can directly use the USD/MYR, and then the USD/XXX you want.

  1. {
  2. "currency":"USD/MYR","rate":"4.14611",
  3. "currency":"USD/CNY","rate":"6.8421"
  4. }
  5. // 6.84/4.15 = 1.65 MYR/CNY

Multi-Region

Live-Rates has currently multiple servers in 3 Datacenters:

  • Europe: (eu.live-rates.com)
  • America: (us.live-rates.com)
  • Asia (new): (as.live-rates.com)

Requests made to live-rates.com are forwarded and resolved by our central DNS server in Europe.

If you bypass the DNS server and connect directly to a specific datacenter, the connection would be faster however in case of an issue with the server, you will receive a 502 or 521 instead of a Success Response from the alternative server.


Authentication

We allow up to 3 hits/hour/ip for un-authententicated requests, if you need to make API requests or get live rates updated every second you’ll need to subscribe a licence and include on your requests the following param:

  1. GET /rates?key=Your key
  2. Host: live-rates.com

Limitation / Throttling

We restrict access to abusers. If your licence is accessing more than 1x per second on a 10-min average, it will be temporarily locked for 10 minutes. You will receive 503 Service Unavailable during that period.