Skip to main content

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

Project description

CapitalCom PyPI Publish PyPI Python License PyPI Downloads

Discord

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).
  • requests is 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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

capitalcom-1.0.3-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

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

Hashes for capitalcom-1.0.3.tar.gz
Algorithm Hash digest
SHA256 52f75471167683b61a6aa15ea39c84d28d2f6ad3d7838c8e3bf6fc9916a07daa
MD5 56aa8d708384f6f6cf5c172f7480aff7
BLAKE2b-256 23e19e1c3ad7ae128d9fb7fcafcea675cc41266fda958085769b77d42a016f53

See more details on using hashes here.

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

Hashes for capitalcom-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3d838b95e96b040d8f2171088ec0be2a5eb09d23b95da09ba8e7d900653e6e89
MD5 e1b6ef0b73d7162cadd34f47f8d26616
BLAKE2b-256 953a87e45580a79eafaeaf113ca5ab680d5539d03f6bf41ab295120ec0cd6119

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page