Broker API SDKs and wrappers, by language
46 libraries recorded for 15 brokers and platforms, under 17 languages and tools.
Risk warning: CFDs and spread bets are complex instruments and come with a high risk of losing money rapidly due to leverage. You can lose money on these products, and each provider publishes its own loss figure under FCA rules. You should consider whether you understand how they work and whether you can afford to take the high risk of losing your money. Automated and API trading can amplify losses through bugs, connectivity failures and runaway orders.
How to read this
An SDK or wrapper is code that turns an API into the functions of a programming language. Official means the record says it comes from the provider. Community means it is maintained by someone else, which can be well kept or abandoned: read the repository before you depend on it.
Within each language the libraries are in order of broker name. The order is not a ranking. A library whose record names several languages appears under each of them.
Agent Skills
| For | Library | Kind | Note from the record | Source |
|---|---|---|---|---|
| cTrader Open API | spotware/ctrader-skills (Agent Skills) | Official | Spotware's official Agent Skills repository: two skills, ctrader-cli and ctrader-mcp-servers, the latter with five helper scripts for pip maths and position sizing. Works with any agent supporting the Agent Skills specification, including Claude Code, Cursor, Windsurf, Codex, Cline and OpenCode, plus a native Claude Code plugin. The licence is proprietary under the Spotware EULA, not open source, which matters if you plan to redistribute. | github.comchecked |
Any MCP client
| For | Library | Kind | Note from the record | Source |
|---|---|---|---|---|
| cTrader Open API | cTrader Remote and Local MCP servers | Official | Two official servers launched on 14 May 2026. Remote is driven from cTrader Web with per-account tokens; Local attaches to the desktop app and also controls charts, indicators, plugins, workspaces, UI layout and price alerts. When trading is enabled an agent can place, modify and close real orders, and the confirmation requirement is an MCP server setting rather than a broker-enforced step. | ctrader.comchecked |
| Interactive Brokers | IBKR MCP public endpoint | Official | Hosted by IBKR at https://api.ibkr.com/v1/api/mcp-public and open to any MCP client. Connector 1.1.5 of 1 Sep 2026 is reported as the release that opened it. IBKR's AI integrations page carries no connector version and no such date, so that version and date are unverified, checked 19 Sep 2026. Read only: instructions never become orders automatically. Credentials are never passed to the AI application, and consent is revoked in Client Portal under Settings, Manage Third-Party Consents. Not available in India or Japan. | ibkrguides.comchecked |
C#
| For | Library | Kind | Note from the record | Source |
|---|---|---|---|---|
| cTrader Open API | OpenAPI.Net | Official | Not recorded | Unverifiedgithub.com |
| FXCM | ForexConnectAPI | Official | Not recorded | Unverifiedgithub.com |
| IG | ig-webapi-dotnet-sample | Official | Official IG sample, deprecated since Aug 2024; may be removed or replaced. | github.comchecked |
| Interactive Brokers | TWS API (ibapi) | Official | Not recorded | interactivebrokers.comchecked |
| MetaCopier | MetaCopier API client packages | Official | MetaCopier's documentation offers pre-generated client packages for the REST API in these languages, and says a client for other languages can be generated from its OpenAPI specification. The package registries were not opened. | docs.metacopier.iochecked |
| Saxo OpenAPI | openapi-samples-csharp | Official | Not recorded | Unverifiedgithub.com |
C++
| For | Library | Kind | Note from the record | Source |
|---|---|---|---|---|
| FXCM | ForexConnectAPI | Official | Not recorded | Unverifiedgithub.com |
| Interactive Brokers | TWS API (ibapi) | Official | Not recorded | interactivebrokers.comchecked |
FIX
| For | Library | Kind | Note from the record | Source |
|---|---|---|---|---|
| FXCM | FIXAPI | Official | Published in the FXCM GitHub organisation, not archived, last updated 9 Jul 2026. FIX itself is out of scope for this site. | github.comchecked |
Go
| For | Library | Kind | Note from the record | Source |
|---|---|---|---|---|
| Bitget | bitget-golang-sdk-api | Official | Listed as an official SDK on Bitget's SDK page. The repository itself was not opened. | bitget.comchecked |
| MetaCopier | MetaCopier API client packages | Official | MetaCopier's documentation offers pre-generated client packages for the REST API in these languages, and says a client for other languages can be generated from its OpenAPI specification. The package registries were not opened. | docs.metacopier.iochecked |
Java
| For | Library | Kind | Note from the record | Source |
|---|---|---|---|---|
| Bitget | bitget-java-sdk-api | Official | Listed as an official SDK on Bitget's SDK page. The repository itself was not opened. | bitget.comchecked |
| Capital.com | api-java-samples | Official | Not recorded | Unverifiedgithub.com |
| Dukascopy | JForex SDK | Official | Dukascopy's own SDK, downloadable from its wiki, with dependencies in a public Dukascopy Maven repository. Lets a Java program use the JForex API without the JForex client. | dukascopy.comchecked |
| FXCM | ForexConnectAPI | Official | Not recorded | Unverifiedgithub.com |
| FXCM | JavaAPI | Official | Listed in the FXCM GitHub organisation, not archived, last updated 9 Jul 2026. | github.comchecked |
| IG | ig-webapi-java-sample | Official | Official IG sample, deprecated since Aug 2024; may be removed or replaced. | github.comchecked |
| Interactive Brokers | TWS API (ibapi) | Official | Not recorded | interactivebrokers.comchecked |
| MetaApi | metaapi-java-sdk | Official | Listed on MetaApi's own SDK page. The repository itself was not opened. | metaapi.cloudchecked |
| MetaCopier | MetaCopier API client packages | Official | MetaCopier's documentation offers pre-generated client packages for the REST API in these languages, and says a client for other languages can be generated from its OpenAPI specification. The package registries were not opened. | docs.metacopier.iochecked |
JavaScript
| For | Library | Kind | Note from the record | Source |
|---|---|---|---|---|
| Deriv | deriv-api | Official | Deriv's maintained JavaScript websocket client, pushed 20 Aug 2026. | github.comchecked |
| IG | ig-webapi-javascript-sample | Official | Official IG sample, deprecated since Aug 2024; may be removed or replaced. | github.comchecked |
| Saxo OpenAPI | openapi-clientlib-js | Official | Official JS client library, archived. | github.comchecked |
| Saxo OpenAPI | openapi-samples-js | Official | Not recorded | Unverifiedgithub.com |
Language not stated
| For | Library | Kind | Note from the record | Source |
|---|---|---|---|---|
| FXCM | MarketData | Official | Published in the FXCM GitHub organisation, not archived, last updated 9 Jul 2026. The organisation listing is the source; the repository itself was not opened, so its contents are unverified. | github.comchecked |
MCP
| For | Library | Kind | Note from the record | Source |
|---|---|---|---|---|
| cTrader Open API | cTrader MCP server | Official | Official Spotware MCP server for cTrader, free while in beta. | ctrader.comchecked |
Node.js
| For | Library | Kind | Note from the record | Source |
|---|---|---|---|---|
| Bitget | bitget-node-sdk-api | Official | Listed as an official SDK on Bitget's SDK page. The repository itself was not opened. | bitget.comchecked |
Node.js and browser JavaScript
| For | Library | Kind | Note from the record | Source |
|---|---|---|---|---|
| MetaApi | metaapi.cloud-sdk | Official | Listed on MetaApi's own SDK page. The package page itself was not opened. | metaapi.cloudchecked |
PHP
| For | Library | Kind | Note from the record | Source |
|---|---|---|---|---|
| Bitget | bitget-php-sdk-api | Official | Listed as an official SDK on Bitget's SDK page. The repository itself was not opened. | bitget.comchecked |
Postman
| For | Library | Kind | Note from the record | Source |
|---|---|---|---|---|
| Capital.com | capital-api-postman | Official | Official Postman collection; 14 forks, 4 open issues. | github.comchecked |
Python
| For | Library | Kind | Note from the record | Source |
|---|---|---|---|---|
| Bitget | bitget-python-sdk-api | Official | Listed as an official SDK on Bitget's SDK page. The repository itself was not opened. | bitget.comchecked |
| Capital.com | capital-mcp | Community | MCP server for the Open API, published on Capital.com's own GitHub organisation while the README disclaims Capital.com's control, development, endorsement and liability. Trading tools are disabled by default. | github.comchecked |
| Capital.com | capitalcom-python | Community | Unofficial wrapper, no release since 0.2.3 (Dec 2023). | pypi.orgchecked |
| cTrader Open API | OpenApiPy (ctrader-open-api) | Official | Official Spotware Python SDK, installed as ctrader-open-api. Latest stable 0.9.2 of 26 Jun 2024; 0.9.3 was released on 6 Aug 2024 and has since been yanked, on a date PyPI does not publish. Asynchronous, built on Twisted plus Protobuf, Python 3.8 to 3.12. No stable release in over two years, though the repository is unarchived with open issues and pull requests. | pypi.orgchecked |
| Deriv | python-deriv-api | Official | Archived, last push 3 Dec 2024. Python users are left with the raw websocket. | github.comchecked |
| FOREX.com / StoneX Trading (City Index) | forexcom | Community | Community package, last release 1.2.0 in June 2022. | pypi.orgchecked |
| FOREX.com / StoneX Trading (City Index) | pygcapi | Community | Not recorded | Unverifiedgithub.com |
| FXCM | forexconnect | Official | Last PyPI release 1.6.43 in July 2021. | pypi.orgchecked |
| FXCM | ForexConnectAPI | Official | Not recorded | Unverifiedgithub.com |
| FXCM | fxcmpy | Community | Removed from PyPI; the name now holds an empty security placeholder (0.0.0.1). It wrapped the retired REST API. | pypi.orgchecked |
| IG | trading-ig | Community | Community wrapper, maintained in spare time; 214 forks. Version 0.0.25 (25 Aug 2026) needs Python 3.10 or later; BSD-3-Clause, marked Alpha on PyPI. | github.comchecked |
| Interactive Brokers | ib_async | Community | Community successor to ib_insync; 2.1.0 released Dec 2025. Migration note. ib_insync has been archived since March 2024 and ib_async is its maintained successor, but the archived package is still the more installed of the two: 640,258 against 556,555 over the same rolling 30 days to 23 Sep 2026, both from the pypistats.org /recent last_month counter. The 755,366 reading this page carried was taken on 20 Sep 2026 and is superseded by the 23 Sep reading above, not by a correction to it. If a tutorial tells you to install ib_insync, install ib_async instead: pip uninstall ib_insync, pip install ib_async, then change the import from ib_insync to ib_async. The class and method names are kept, so most scripts run unchanged. | pypi.orgchecked |
| Interactive Brokers | ibeam | Community | Community headless re-auth tool for the Client Portal Gateway; 155 forks, 10 open issues; release date not checked. | github.comchecked |
| Interactive Brokers | TWS API (ibapi) | Official | Not recorded | interactivebrokers.comchecked |
| MetaApi | metaapi-cloud-sdk | Official | Listed on MetaApi's own SDK page. The package page itself was not opened. | metaapi.cloudchecked |
| MetaCopier | MetaCopier API client packages | Official | MetaCopier's documentation offers pre-generated client packages for the REST API in these languages, and says a client for other languages can be generated from its OpenAPI specification. The package registries were not opened. | docs.metacopier.iochecked |
| MetaTrader 5 (Python package and MQL5) | Community Python MCP server (MQL5 article 21905) | Community | A community route documented in MQL5's own article library on 30 Apr 2026, separate from the native MCP in build 6060. It exposes 14 tools including place, modify and cancel orders, is Windows only because of the MT5 Python API, is single-threaded, and executes on whatever account MT5 is logged into. It has no approval step. The author advises demo testing first. | mql5.comchecked |
| MetaTrader 5 (Python package and MQL5) | MetaTrader5 | Official | Official MetaQuotes package, version 5.0.6231 of 27 Sep 2026, MIT licence, CPython 3.6 to 3.14, classified Production/Stable. Wheels are published for Windows x86-64 only, so the Python route is Windows only. | pypi.orgchecked |
| OANDA | oandapyV20 | Community | Community wrapper, last release 0.7.2 in Aug 2021. | github.comchecked |
| OANDA | v20 | Official | Not recorded | Unverifiedgithub.com |
| Saxo OpenAPI | saxo_openapi | Community | Community wrapper, last release 0.6.0 in Sept 2019. | pypi.orgchecked |
| TradeLocker API | tradelocker | Official | Official TradeLocker Python library, 0.56.2 of 18 Dec 2024, maintained by TradeLocker and ivosluganovic, Python 3.11 and 3.12 only, MIT licence. No 2025 or 2026 release. | pypi.orgchecked |
TypeScript
| For | Library | Kind | Note from the record | Source |
|---|---|---|---|---|
| MetaCopier | MetaCopier API client packages | Official | MetaCopier's documentation offers pre-generated client packages for the REST API in these languages, and says a client for other languages can be generated from its OpenAPI specification. The package registries were not opened. | docs.metacopier.iochecked |
VB
| For | Library | Kind | Note from the record | Source |
|---|---|---|---|---|
| FXCM | ForexConnectAPI | Official | Not recorded | Unverifiedgithub.com |
| Interactive Brokers | TWS API (ibapi) | Official | Not recorded | interactivebrokers.comchecked |
No library recorded
These records list no SDK or wrapper yet. That is a gap in this dataset and says nothing about whether a library exists.
- Axi: not recorded
- CMC Markets: not recorded
- eToro: not recorded
- Exness: not recorded
- FxPro: not recorded
- Pepperstone: not recorded
- Swissquote: not recorded
- ThinkMarkets: not recorded
- Tickmill: not recorded
- Trading 212: not recorded
- XTB: not recorded
- DXtrade APIs: not recorded
- Match-Trader Platform API: not recorded
- MetaTrader 4 (MQL4): not recorded