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.1.tar.gz (5.6 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.1-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file capitalcom-1.0.1.tar.gz.

File metadata

  • Download URL: capitalcom-1.0.1.tar.gz
  • Upload date:
  • Size: 5.6 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.1.tar.gz
Algorithm Hash digest
SHA256 9d534676e89039e340645cc32b9d61a3e00c76dcc81a4cdcb91146db17c849e9
MD5 ad8a9f842e107af0eed7522b7b6393d9
BLAKE2b-256 268c03edc9fc970db2a33871f5847951c069338443adad81fd41a15aa15377f8

See more details on using hashes here.

File details

Details for the file capitalcom-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: capitalcom-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.0 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 941b964b39ff4acb7883f98943467302216f241ee12eb2e8be472690a49df6d7
MD5 88cac9399a3d199b9ff16230aba5e077
BLAKE2b-256 91d2478f88076d898b767140e33dbb049bd0db8ea6cc3286fcc991d8a7856a6e

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