Client for Capital.com REST API (demo and real)
Project description
CapitalCom

A lightweight Python wrapper for the Capital.com REST API. Supports demo and live accounts. Designed for algorithmic trading, market data exploration, and automated execution.
Features
- Open and close market positions
- Lot-based forex trading with SL/TP (in pips)
- Automatic session token renewal
- View and manage demo account balance
- List and search tradable instruments
- Colored CLI feedback (green/red/blue)
Installation
pip install capitalcom
Example usage
from capitalcom_client import CapitalClient
client = CapitalClient(
api_key="your_api_key",
login="your_email",
password="your_api_password",
demo=True # Set to False for live account
)
# List your accounts
client.list_accounts()
# Check balance
balance = client.get_balance()
print("Current balance:", balance)
# Open and close a test trade
client.test_trade()
# Add demo funds
client.top_up_demo(5000)
)
# Open and close a test trade
client.test_trade()
Available Methods
| Method | Description |
|---|---|
open_forex_position(epic, size, direction, stop_dist=None, profit_dist=None) |
Open forex trade (lot-based) |
open_raw_position(epic, size, direction, ...) |
Open position with raw size |
close_position_by_id(deal_id, size=None) |
Close full or partial position |
get_open_positions() |
List all open positions |
search_instrument(term) |
Search instruments via market navigation |
search_markets(term) |
Search instruments via /markets endpoint |
list_all_instruments() |
Recursively list all tradable instruments |
get_session_info() |
View session, accountId, clientId |
get_balance(account_id=None, raw=False) |
Fetch current account balance |
list_accounts() |
List all your accounts and IDs |
top_up_demo(amount) |
Add funds to demo account (up to 100K) |
test_trade() |
Execute a small test trade (0.001 lot EUR/USD) |
License
This project is licensed under the CC BY-NC 4.0 License.
Notes
- Works with REST API only (not streaming).
requestsis the only dependency.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
capitalcom-1.0.3.tar.gz
(5.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file capitalcom-1.0.3.tar.gz.
File metadata
- Download URL: capitalcom-1.0.3.tar.gz
- Upload date:
- Size: 5.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52f75471167683b61a6aa15ea39c84d28d2f6ad3d7838c8e3bf6fc9916a07daa
|
|
| MD5 |
56aa8d708384f6f6cf5c172f7480aff7
|
|
| BLAKE2b-256 |
23e19e1c3ad7ae128d9fb7fcafcea675cc41266fda958085769b77d42a016f53
|
File details
Details for the file capitalcom-1.0.3-py3-none-any.whl.
File metadata
- Download URL: capitalcom-1.0.3-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d838b95e96b040d8f2171088ec0be2a5eb09d23b95da09ba8e7d900653e6e89
|
|
| MD5 |
e1b6ef0b73d7162cadd34f47f8d26616
|
|
| BLAKE2b-256 |
953a87e45580a79eafaeaf113ca5ab680d5539d03f6bf41ab295120ec0cd6119
|