---
title: "Participant-wise F&O open interest"
method: GET
path: "/v1/market/institutional-flows/derivatives"
tags: ["market"]
---

# Participant-wise F&O open interest

`GET /v1/market/institutional-flows/derivatives`

## Request

- Base URL: `https://api.tapetide.com`
- URL: `https://api.tapetide.com/v1/market/institutional-flows/derivatives`
- Auth: HTTP bearer

End-of-day open interest in exchange-traded equity derivatives by participant category (FII, DII, proprietary, client), in contracts, long and short, from January 2012. One row per date and participant. Defaults to the last 30 days. Pages by (date, participant).

## Query parameters

- `participant` 'fii' | 'dii' | 'pro' | 'client'
- `from` string
- `to` string
- `order` 'asc' | 'desc'
- `limit` integer
- `cursor` string

## Response `200`

OK. Costs one request unit.

- object
  - `data` ParticipantOpenInterestItem[], required
    - `date` string, required: Trading date (YYYY-MM-DD).
    - `participant` 'fii' | 'dii' | 'pro' | 'client', required: Participant category: fii (foreign institutional), dii (domestic institutional), pro (proprietary traders), client (all other clients incl. retail).
    - `index_futures_long` number, nullable, required: Open long index-futures contracts at end of day.
    - `index_futures_short` number, nullable, required: Open short index-futures contracts.
    - `stock_futures_long` number, nullable, required: Open long stock-futures contracts.
    - `stock_futures_short` number, nullable, required: Open short stock-futures contracts.
    - `index_calls_long` number, nullable, required: Open long index call option contracts.
    - `index_calls_short` number, nullable, required: Open short index call option contracts.
    - `index_puts_long` number, nullable, required: Open long index put option contracts.
    - `index_puts_short` number, nullable, required: Open short index put option contracts.
    - `stock_calls_long` number, nullable, required: Open long stock call option contracts.
    - `stock_calls_short` number, nullable, required: Open short stock call option contracts.
    - `stock_puts_long` number, nullable, required: Open long stock put option contracts.
    - `stock_puts_short` number, nullable, required: Open short stock put option contracts.
    - `total_long` number, nullable, required: Total open long contracts across all of the above.
    - `total_short` number, nullable, required: Total open short contracts across all of the above.
  - `meta` ListMeta, required
    - `as_of` string, date-time, required: When this response was assembled (UTC).
    - `route` string, required: operationId that served the request.
    - `count` integer, required: Items in this page.
    - `limit` integer, required: Page size applied.
    - `has_more` boolean, required: Whether another page exists.
    - `next_cursor` string, nullable, required: Pass as `cursor` to fetch the next page; null on the last page.
  - `links` Links, required
    - `next` string, nullable: Relative URL of the next page, or null.

## Other responses

- `400`: Malformed or out-of-range parameter. Not charged.
- `401`: Missing or invalid bearer token.
- `404`: The requested resource does not exist. Not charged.
- `429`: Per-minute burst cap (`rate_limited`) or plan quota (`quota_exhausted`) reached.
- `500`: Unexpected server error. Not charged.
- `502`: A data dependency was unavailable. Not charged.
- `503`: Authentication or quota service temporarily unavailable (`service_unavailable`). Not charged; retry after `Retry-After` seconds.

---

[API](https://skmtc.dev/tapetide/apis/tapetide-api.md) · [All operations](https://skmtc.dev/tapetide/apis/tapetide-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tapetide/apis/tapetide-api/revisions/261ec086bde5?raw)
