forex-quotes
v6.0.2
Published
Realtime forex quote API client
Downloads
517
Maintainers
Readme
javascript-forex-quotes
javascript-forex-quotes is a Javascript Library for fetching realtime forex quotes.
Table of Contents
Requirements
- A 1Forge API key which you can obtain at http://1forge.com/forex-data-api
Installation
npm install forex-quotes --save
Usage
Importing the client
// With require
const ForgeClient = require("forex-quotes").default;
// With es6 or TypeScript
import ForgeClient from 'forex-quotes';
Using WebSocket
let client = new ForgeClient('YOUR_API_KEY');
// Handle incoming price updates from the server
client.onUpdate((symbol, data) => {
console.log(symbol, data);
});
// Handle non-price update messages
client.onMessage((message) => {
console.log(message);
});
// Handle disconnection from the server
client.onDisconnect(() => {
console.log("Disconnected from server");
});
// Handle successful connection
client.onConnect(() => {
// Subscribe to a single currency pair
client.subscribeTo('EUR/USD');
// Subscribe to an array of currency pairs
client.subscribeTo([
'GBP/JPY',
'AUD/CAD',
'EUR/CHF',
]);
// Subscribe to all currency pairs
client.subscribeToAll();
// Unsubscribe from a single currency pair
client.unsubscribeFrom('EUR/USD');
// Unsubscribe from an array of currency pairs
client.unsubscribeFrom([
'GBP/JPY',
'AUD/CAD',
'EUR/CHF'
]);
// Unsubscribe from all currency pairs
client.unsubscribeFromAll();
// Disconnect from the server
client.disconnect();
});
client.connect();
Using RESTful API
// You can get an API key at 1forge.com
let client = new ForgeClient('YOUR_API_KEY');
// Get the list of available symbols
client.getSymbols().then(response => {
console.log(response);
});
// Get quotes for specified symbols:
client.getQuotes(['EUR/USD', 'GBP/JPY', 'AUD/USD']).then(response => {
console.log(response);
});
// Convert from one currency to another:
client.convert('EUR', 'USD', 100).then(response => {
console.log(response);
});
// Check if the market is open:
client.getMarketStatus().then(response => {
console.log(response);
});
// Check your usage / quota limit:
client.getQuota().then(response => {
console.log(response);
});
Contributing
Thank you for considering contributing! Any issues, bug fixes, suggestions, improvements or help in any other way is always appreciated. Please feel free to open an issue or create a pull request.
Support and Contact
Please contact me at [email protected] if you have any questions or requests.
License and Terms
This library is provided without warranty under the MIT license.