ig-trading-api
                                
                                
                                
                                    ig-trading-api copied to clipboard
                            
                            
                            
                        IG Trading API for Node.js, written in TypeScript.
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-api
Yarn
yarn add ig-trading-api
Usage
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.
TypeScript
Recommended:
import {APIClient} from 'ig-trading-api';
const client = new APIClient(APIClient.URL_LIVE, 'your-api-key');
const session = await client.rest.login.createSession('your-username', 'your-password');
console.info(`Your client ID is "${session.clientId}".`);
Alternative:
import {APIClient} from 'ig-trading-api';
const client = new APIClient(APIClient.URL_LIVE, {
  apiKey: 'your-api-key',
  username: 'your-username',
  password: 'your-password',
});
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.
