Without this you type the orders into your broker by hand. With it, one button hands the whole basket to Kite pre-filled, and you review and confirm. Free — Zerodha's Personal plan covers it — pick the Publisher app type.
Go to developers.kite.trade and sign in with the same Zerodha account you trade from.
Pick Publisher — free, and its description is literally "HTML/JS buttons for order and basket placement", which is this. Name it anything.
Publisher is the recommendation because it has no API access at
all, making it the least-privileged option that does the job. It is not a
requirement: Kite's own
offsite
orders spec names no app type, and a Personal key works at the same endpoint. So if
one is refused with Invalid api_key, try the other before assuming you copied the
wrong string.
Copy the field labelled API key. The API secret sits
right beside it and looks identical — a long run of letters and numbers — and pasting it here
produces exactly that same Invalid api_key error from Kite.
Your Kite login ID — the one you type to log in, shaped like AB1234.
Find it in Kite under Profile, or on any Zerodha statement or contract note.
Paste this exactly:
https://sharecase-mu.vercel.app/
Kite sends you back here after you confirm the basket. It must match what you register, or the handoff is rejected — so if you run your own copy at a different address, register that address instead of this one.
The app page shows an api_key — a short string like abcd1234efgh5678.
Copy it. Ignore the API secret — this never needs it.
It's saved only in this browser and used only to build the handoff form. Nothing is transmitted to me, to GitHub, or anywhere else.
An api_key only identifies the app — it
can't touch your account. Orders still need your Zerodha login and 2FA on Kite's own site,
and you approve every order there. The sensitive half is the API secret, which this never
asks for.
A sheet carries the prices it was built with, and those go stale — a stock that moved 20% since makes the whole basket's weights wrong. In the workbench, press Refresh prices from the market and it works out your share counts from today's prices instead.
Nothing to set up. No key, no signup, no account. Press the button and it fetches.
The one thing worth knowing: to learn a price, something has to be asked. The request goes to this app's own price endpoint, which looks the stocks up on Yahoo Finance. It sees the stock names and nothing else — not how much you hold, not who you are. It never happens on its own: you press the button and confirm the list. And if you skip it, every other feature still works on the sheet's own prices.