Skip to main content

TradeKart API

TradeKart API is a Python wrapper around the official Groww SDK with a service-oriented design for trading workflows.

It provides custom service layers for common operations (Orders, Portfolio) with request models, response models, and consistent exception handling so teams can build reliable trading integrations faster.

Why TradeKart API

  • Built on top of growwapi, so you can continue to use Groww's official SDK.
  • Clean service abstraction for business use-cases instead of raw SDK calls everywhere.
  • Typed request models for safer payload construction.
  • Structured response handling for predictable downstream processing.
  • Custom exceptions for easier debugging and application-level error handling.

System Design

TradeKart API System Design

TradeKart API System Design

Installation

pip install tradekartapi

Quick Start (Jupyter / Notebook)

from tradekartapi.client import TradeKartClient
from growwapi import GrowwAPI

access_token = "your_access_token"
client = TradeKartClient.from_access_token(access_token, GrowwAPI)
# Now client is ready to use the service

Service Architecture

TradeKart API uses:

  1. Groww SDK Adapter to initialize and hold the SDK client.
  2. Custom Services to expose trading operations as business-level methods.
  3. Models to keep request and response shapes explicit and reusable.

Available Services

  • Order Service
    • Place order
    • Modify order
    • Cancel order
    • Get order status
    • Get order list
    • Get order detail
  • Portfolio Service
    • Get holdings
    • Get positions
    • Get positions by trading symbol

Margin Service

Margin-related service support is planned as part of upcoming releases.

Orders Example

from tradekartapi.models.orders import PlaceOrderRequest
from tradekartapi.models.annexures import (
    Exchange, Segment, Product, OrderType, TransactionType, Validity
)

request = PlaceOrderRequest(
    trading_symbol="SBIN",
    quantity=1,
    validity=Validity.DAY,
    exchange=Exchange.NSE,
    segment=Segment.CASH,
    product=Product.CNC,
    order_type=OrderType.MARKET,
    transaction_type=TransactionType.BUY,
)

response = client.order_service.place_order(request)
print(response)

Portfolio Example

holdings = client.portfolio_service.get_holdings()
positions = client.portfolio_service.get_positions()

print([h.to_dict() for h in holdings])
print([p.to_dict() for p in positions])

Response Formats

Depending on the service method, you may receive:

  • Native dict from direct SDK passthrough methods.
  • Dataclass-based response objects from modeled service methods.

For dataclass responses, use:

  • to_dict() for Python dictionary output.
  • to_json() for JSON string output.

Error Handling

TradeKart API raises structured custom exceptions for validation and service-level failures, making it easier to map failures to API responses or logs in production systems.

Compatibility

  • Python >=3.10
  • Depends on growwapi

Changelog

Full changelog: https://tradekartapi.readthedocs.io/en/latest/changelog.html

License

MIT

Metadata

Release files for tradekartapi 0.2.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tradekartapi 0.2.7
File Size Uploaded Provenance Actions
tradekartapi-0.2.7.tar.gz 28.3 kB Without provenance Details for tradekartapi-0.2.7.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for tradekartapi 0.2.7
File Interpreter ABI Platform Actions
tradekartapi-0.2.7-py3-none-any.whl Python 3 none any Details for tradekartapi-0.2.7-py3-none-any.whl

Total release size: 70.1 kB

Release files / tradekartapi-0.2.7.tar.gz

Download URL tradekartapi-0.2.7.tar.gz
Size 28.3 kB
Tags Source
SHA-256 checksum
How to use checksums
915b7404f7cbf5cd467c82cbe436f5a043443c7f5f23ffbb9525926e343ae234
BLAKE2b-256 checksum
How to use checksums
2c3e7578e963e887a9c66f64447df063c55ebb1c82176739b587e0ec5668c3fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.17

Release files / tradekartapi-0.2.7-py3-none-any.whl

Download URL tradekartapi-0.2.7-py3-none-any.whl
Size 41.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
45351e6ccbfbd51e4a94e7f85fe744b3e96af748fa716855d298b68b9d9f64bc
BLAKE2b-256 checksum
How to use checksums
92790852a902e64fa723726291252cd28b96965b9b8963d031e2f1f154a9b1bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.17

Security for tradekartapi 0.2.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page