Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/groww-portfolio-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Groww Trading Authentication Portfolio API
description: The Groww Trading API is the official programmatic interface to the Groww investing and trading platform, enabling algorithmic trading, order management, portfolio and position tracking, margin calculation, live market data (LTP, quote, OHLC, option chain, greeks) and historical candle data across the CASH (equity) and FNO (derivatives) segments on Indian exchanges. Requests are authenticated with a daily access token (or an OAuth2 / API-key + secret / TOTP flow) and versioned with the X-API-VERSION header.
version: '1.0'
contact:
name: Groww Trading API Support
url: https://groww.in/trade-api/docs
termsOfService: https://groww.in/terms-and-conditions
x-api-evangelist-source: https://groww.in/trade-api/docs/curl
servers:
- url: https://api.groww.in
description: Groww Trading API production host
security:
- bearerAuth: []
apiVersion: []
tags:
- name: Portfolio
description: Holdings and positions.
paths:
/v1/holdings/user:
get:
operationId: getHoldings
summary: Get holdings
description: Retrieve the demat holdings for the authenticated user.
tags:
- Portfolio
responses:
'200':
description: User holdings
content:
application/json:
schema:
$ref: '#/components/schemas/HoldingsResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v1/positions/user:
get:
operationId: getPositions
summary: Get positions for user
description: Retrieve all open positions for the authenticated user.
tags:
- Portfolio
responses:
'200':
description: User positions
content:
application/json:
schema:
$ref: '#/components/schemas/PositionsResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/v1/positions/trading-symbol:
get:
operationId: getPositionByTradingSymbol
summary: Get position for a trading symbol
tags:
- Portfolio
parameters:
- name: trading_symbol
in: query
required: true
schema:
type: string
- name: segment
in: query
required: false
schema:
$ref: '#/components/schemas/Segment'
responses:
'200':
description: Position for the trading symbol
content:
application/json:
schema:
$ref: '#/components/schemas/PositionsResponse'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
Exchange:
type: string
enum:
- NSE
- BSE
ErrorEnvelope:
type: object
properties:
status:
type: string
enum:
- SUCCESS
- FAILURE
payload:
type: object
nullable: true
error:
$ref: '#/components/schemas/Error'
Product:
type: string
enum:
- CNC
- MIS
- NRML
Error:
type: object
properties:
code:
type: string
description: Groww error code (e.g. GA004).
message:
type: string
metadata:
type: object
nullable: true
Segment:
type: string
enum:
- CASH
- FNO
description: Trading segment. MCX (commodities) is not supported.
Holding:
type: object
properties:
isin:
type: string
trading_symbol:
type: string
quantity:
type: integer
average_price:
type: number
pledge_quantity:
type: integer
demat_locked_quantity:
type: integer
groww_locked_quantity:
type: integer
repledge_quantity:
type: integer
t1_quantity:
type: integer
demat_free_quantity:
type: integer
corporate_action_additional_quantity:
type: integer
active_demat_transfer_quantity:
type: integer
PositionsResponse:
type: object
properties:
status:
type: string
payload:
type: object
properties:
positions:
type: array
items:
$ref: '#/components/schemas/Position'
Position:
type: object
properties:
trading_symbol:
type: string
credit_quantity:
type: integer
credit_price:
type: number
debit_quantity:
type: integer
debit_price:
type: number
carry_forward_credit_quantity:
type: integer
carry_forward_credit_price:
type: number
carry_forward_debit_quantity:
type: integer
carry_forward_debit_price:
type: number
exchange:
$ref: '#/components/schemas/Exchange'
symbol_isin:
type: string
quantity:
type: integer
product:
$ref: '#/components/schemas/Product'
net_carry_forward_quantity:
type: integer
net_price:
type: number
net_carry_forward_price:
type: number
realised_pnl:
type: number
HoldingsResponse:
type: object
properties:
status:
type: string
payload:
type: object
properties:
holdings:
type: array
items:
$ref: '#/components/schemas/Holding'
responses:
Unauthorized:
description: User not authorised to perform this operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorEnvelope'
NotFound:
description: Requested entity does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorEnvelope'
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'Daily access token (or API key on the token endpoint) sent as `Authorization: Bearer {ACCESS_TOKEN}`.'
apiVersion:
type: apiKey
in: header
name: X-API-VERSION
description: API version header, currently `1.0`.
oauth2:
type: oauth2
description: OAuth2 authorization-code flow advertised at https://api.groww.in/.well-known/oauth-authorization-server
flows:
authorizationCode:
authorizationUrl: https://groww.in/oauth/authorize
tokenUrl: https://api.groww.in/oauth2/v1/token
scopes: {}