Skip to content
Agentmart
Submit a tool

upstox

Upstox API v2: portfolio, market data, orders, P&L (Indian F&O)

Skill by taracodlabs

IndexedApache-2.0★ 863
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/taracodlabs-upstox

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Upstox API v2: portfolio, market data, orders, P&L (Indian F&O)

Use cases: backend, data

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/upstox

What's inside

Skill name
upstox
Description
Upstox API v2: portfolio, market data, orders, P&L (Indian F&O)
License
Apache-2.0
Instructions
99 lines in SKILL.md · view on GitHub

Files (2)

  • SKILL.md
  • skill.json

SKILL.md (first lines)

# Upstox

Access your Upstox brokerage account via the Upstox API v2 — live quotes, holdings, positions, order placement, and margin data. Requires Upstox API credentials.

## When to Use

- User wants to check Upstox portfolio holdings or positions
- User asks for live market quotes on NSE/BSE instruments
- User wants to place, modify, or cancel an Upstox order
- User asks about today's P&L, order book, or trade history
- User wants margin or funds information

## How to Use

### Set up credentials
```powershell
$env:UPSTOX_TOKEN = "your_access_token"   # Bearer token from OAuth flow
$baseUrl = "https://api.upstox.com/v2"
$headers = @{
  "Authorization" = "Bearer $env:UPSTOX_TOKEN"
  "Accept"        = "application/json"
}
```

### Get holdings
```powershell
$resp = Invoke-RestMethod -Uri "$baseUrl/portfolio/long-term-holdings" -Headers $headers
$resp.data | Select-Object tradingsymbol, quantity, average_price, last_price,
  @{N='PnL';E={[math]::Round(($_.last_price - $_.average_price)*$_.quantity,2)}}
```

### Get short-term positions (intraday / F&O)
```powershell
$resp = Invoke-RestMethod -Uri "$baseUrl/portfolio/short-term-positions" -Headers $headers
$resp.data | Select-Object tradingsymbol, quantity, average_price, last_price, pnl, product
```

### Get live market quote
```powershell
$instrument = "NSE_EQ|INE009A01021"   # INFOSYS ISIN-based instrument key
$resp = Invoke-RestMethod -Uri "$baseUrl/market-quote/quotes?instrument_key=$instrument" -Headers $headers
$resp.data | Select-Object last_price, net_change, volume, ohlc
```

### Get funds and margin
```powershell
$resp = Invoke-RestMethod -Uri "$baseUrl/user/get-funds-and-margin" -Headers $headers
$resp.data | Select-Object equity
```

### Place a market order
```powershell
$order = @{
  quantity         = 1
  product          = "D"        # D = delivery, I = intraday
  validity         = "DAY"
  price            = 0
  tag              = "aiden"
  instrument_token = "NSE_EQ|INE009A01021"
  order_type       = "MARKET"
  transaction_type = "BUY"
  disclosed_quantity = 0
  trigger_price    = 0
  is_amo           = $false
} | ConvertTo-Json

$resp = Invoke-RestMethod -Uri "$baseUrl/order/place" -Method POST `
  -Headers ($headers + @{"Content-Type"="application/json"}) -Body $order
Write-Host "Order ID: $($resp.data.order_id)"
```

### Get order book
```powershell
$resp = Invoke-RestMethod -Uri "$baseUrl/order/retrieve-all" -Headers $headers
$resp.data | Select-Object order_id, tradingsymbol, transaction_type,
  quantity, price, status, order_timestamp |
  Sort-Object order_timestamp -Descending
```

## Examples

**"Show my Upstox portfolio"**
→ Fetch long-term holdings, calculate unrealized P&L per position, sum total.

**"What's the live price of Reliance?"**
→ Use instrument key `NSE_EQ|INE002A01018` and fetch `/market-quote/quotes`.

**"Place a buy order for 5 shares of TCS"**
→ POST to `/order/place` with instrument key for TCS, qty 5, product D, order_type MARKET — confirm first.

## Cautions

- Access tokens expire after 24 hours — regenerate via Upstox OAuth flow each trading day
- Instrument keys use the format `EXCHANGE|ISIN` — look up via Upstox instruments CSV download
- Always confirm order parameters with the user before calling the place order endpoint
- Use product `I` (intraday) only if you intend to square off before 3:20 PM IST — auto square-off applies
- F&O instruments require appropriate margin — check funds before placing F&O orders

From taracodlabs/aiden, Apache-2.0.

More from taracodlabs/aiden

Compare and alternatives

    Featured in

    Signals

    Stars
    863
    Forks
    150
    Open issues
    12
    Last commit (this folder)
    May 6, 2026 (5 months ago)
    Last release
    Oct 19, 2026 (8 days ago)

    From GitHub (fetched Oct 24, 2026).

    Details

    License
    Apache-2.0
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026

    More from taracodlabs

    Cite this page

    upstox skill. Agent Mart. https://agentmart.dev/skills/taracodlabs-upstox (last updated 2026-10-24)