ig-trading-api v0.13.9
IG Trading API
Unofficial IG Trading API for Node.js, written in TypeScript and covered by tests.
Features
- Typed. Source code is 100% TypeScript. No need to install external typings.
- Tested. Code coverage is 100%. No surprises when using ig-trading-api.
- Maintained. Automated security updates. No threats from outdated dependencies.
- Documented. Get started with the generated documentation.
Installation
npm
npm install ig-trading-apiYarn
yarn add ig-trading-apiUsage
You can set the API gateway, when initializing the API client. Use APIClient.URL_DEMO (demo-api.ig.com) for demo accounts and APIClient.URL_LIVE (api.ig.com) for live account access.
Login
import {APIClient} from 'ig-trading-api';
const client = new APIClient(APIClient.URL_LIVE, {
apiKey: 'your-api-key',
username: 'your-username',
password: 'your-password',
});Search Trading Symbol
Make sure to use IG's Epic codes to find a trading symbol:
const query = 'BITCOIN';
const response = await client.rest.market.searchMarkets(query);
console.log(response.markets[0].epic);Show available resolutions
Check the available intervals for retrieving data:
import {APIClient, Resolution} from 'ig-trading-api';
console.log(Resolution);Retrieve historical data
const epic = 'UC.D.MSFT.CASH.IP';
const prices = await client.rest.market.price.getPrices(epic, Resolution.DAY, 5);Subscribe to live data
Here is how you can subscribe to live candles and other updates from IG:
More Examples
More code examples can be found in the demo directory.
Resources
- IG REST Trading API Reference
- IG API Companion
- IG Streaming Companion
- IG REST Trading API Limits
- Spreads, commissions and margins (in Germany)
IG Instrument Identifier (Epic)
Breakdown for "IX.D.DOW.DAILY.IP":
| Symbol | Description | Example |
|---|---|---|
| IX | Hours of trading | "Index Out of Hours" |
| D | Tradability | "D" when tradeable |
| DOW | Underlying market | "Dow Jones" |
| DAILY | Indicator for processing method | "Daily" funded bet |
| IP | Asset type | "Intellectual Property" |
Epics for testing:
| Epic | Name | Environment | Trading Time |
|---|---|---|---|
| ED.D.DHERGY.CASH.IP | Delivery Hero SE | Live / Demo | Germany: 09:00 - 17:30 |
| UC.D.MSFT.CASH.IP | Microsoft Corp | Live / Demo | Germany: 10:00 - 03:00 |
| UA.D.COINUS.CASH.IP | Coinbase Global Inc | Live | Germany: 15:30 - 22:00 |
Development Setup
You can get up and running in just a few simple steps:
- Run
yarn(to install or update third-party dependencies) - Have a look at the .env.defaults file and make a copy (including your own credentials) with the name
.envin the root directory of this repository (read more about dotenv files) - Run
yarn demo:loginto test your credentials
Maintainers
Contributing
Contributions, issues and feature requests are welcome!
Feel free to check the issues page.
License
This project is MIT licensed.
⭐️ Show your support ⭐️
Please leave a star if you find this project useful.
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
3 years ago
4 years ago
4 years ago
4 years ago
5 years ago
4 years ago
5 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
