Broker Auth: Zerodha (Kite Connect)¶

Open In Colab

Authenticate and place a demo order via Kite Connect over your static IP.

Part 02 of 20 in the ServLoci algo/options trading notebook series — full index in notebooks/README.md.

Setup¶

# Get your dedicated static IPv6 + SOCKS5 credentials free:
#   https://comm.servloci.in/register        (or /auth/google?free=1 for an instant trial)
# Your api_key / api_secret pair shows up in the portal after signup:
#   https://comm.servloci.in/user
!pip install -q "requests[socks]"
!curl -sL https://comm.servloci.in/sdk/servloci.py -o servloci.py

import os
from servloci import ServLoci

SERVLOCI_API_KEY = os.environ.get("SERVLOCI_API_KEY", "dhan:1000000001")   # broker:client_id
SERVLOCI_API_SECRET = os.environ.get("SERVLOCI_API_SECRET", "")            # from the portal — leave blank to run this notebook in demo mode

sl = None
if SERVLOCI_API_SECRET:
    sl = ServLoci(api_key=SERVLOCI_API_KEY, api_secret=SERVLOCI_API_SECRET)
    print("ServLoci configured:", sl.host, sl.port)
else:
    print("SERVLOCI_API_SECRET not set — running in demo mode (no live proxy calls).")

Support level: Self-service — Kite Connect apps are approved instantly from the developer console; add your ServLoci IPv6 there.

if sl:
    sl.attach()  # BEFORE importing kiteconnect — it creates a requests.Session at import time
    from kiteconnect import KiteConnect

    kite = KiteConnect(api_key=os.environ.get("KITE_API_KEY", ""))
    print("Login URL:", kite.login_url())
    # After the browser redirect, exchange request_token for an access_token:
    # data = kite.generate_session(request_token, api_secret=os.environ["KITE_API_SECRET"])
    # kite.set_access_token(data["access_token"])
    # order_id = kite.place_order(tradingsymbol="INFY", exchange=kite.EXCHANGE_NSE,
    #                              transaction_type=kite.TRANSACTION_TYPE_BUY, quantity=1,
    #                              order_type=kite.ORDER_TYPE_MARKET, product=kite.PRODUCT_MIS,
    #                              variety=kite.VARIETY_REGULAR)
else:
    print("Demo mode — set SERVLOCI_API_SECRET above to run this against your Zerodha account.")

Install the broker SDK separately: !pip install -q kiteconnect. Full whitelist steps: https://comm.servloci.in/docs/brokers.


« Previous: ServLoci SDK Quickstart
Next: Broker Auth: Dhan »

Try the concepts above interactively: Options Strategy Builder · Docs · Get your static IP