Skip to main content

Get Order Bookโ€‹

API to retrieve a paginated list of mutual fund orders for the user. The response can be filtered by order status and transaction type, with pagination managed through the page_number and records parameters.

Requestโ€‹

curl --location 'https://api.upstox.com/v2/mf/orders?page_number=1&records=10' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {your_access_token}'

Additional samples in various languages are available in the Sample Code section on this page.

Query Parametersโ€‹

NameRequiredTypeDescription
statusfalsestringFilter by order status: ALL, ARCHIVED, NEW, PENDING, OPEN, INPROCESS, COMPLETED, PLACED, REJECTED, CREATED, PAYMENT_PENDING, FAILED, CANCELLED, or VERIFIED.
Default: ALL.
transaction_typefalsestringFilter by transaction type: BUY, SELL, or ALL.
Default: ALL.
page_numberfalseintegerPage number, starting from 1. Default: 1
recordsfalseintegerRecords per page. Default: 10, Max: 30.
Responses

Response Bodyโ€‹

{
"status": "success",
"data": [
{
"instrument_key": "INF109K01Q49",
"status": "INPROCESS",
"status_message": "",
"folio": "",
"fund": "ICICI Prudential Liquid Fund Direct Plan Growth",
"amount": 1000.0,
"quantity": 0.0,
"price": 0.0,
"order_id": "ABC123-a9b52e90-3de6-4674-84b9-e3bcced7ec30",
"exchange_order_id": "254657127",
"order_timestamp": "2026-03-12 15:17:42",
"exchange_timestamp": null,
"transaction_type": "BUY",
"last_price": 0.0,
"average_price": 0.0,
"settlement_id": "254657127",
"variety": "REGULAR",
"purchase_type": "FRESH",
"last_price_date": "2026-03-06"
},
{
"instrument_key": "INF277K01YE6",
"status": "OPEN",
"status_message": null,
"folio": "",
"fund": "Tata Liquid Fund Direct Plan Growth",
"amount": 500.0,
"quantity": 0.0,
"price": 0.0,
"order_id": "ABC123-1dcb96f2-e5d1-49c1-a03b-151c066365c2",
"exchange_order_id": "254657127",
"order_timestamp": "2026-03-12 00:00:00",
"exchange_timestamp": null,
"transaction_type": "BUY",
"last_price": 0.0,
"average_price": 0.0,
"settlement_id": "254657127",
"variety": "REGULAR",
"purchase_type": "FRESH",
"last_price_date": "2026-03-06"
},
{
"instrument_key": "INF204K01K15",
"status": "COMPLETED",
"status_message": null,
"folio": "131082908",
"fund": "Nippon India Small Cap Fund - Direct Plan - Growth Plan",
"amount": 1000.0,
"quantity": 10.0,
"price": 100.0,
"order_id": "ABC123-5c17d81a-24b9-4ec0-8a71-77fc0572030c",
"exchange_order_id": "254657127",
"order_timestamp": "2026-03-06 13:28:26",
"exchange_timestamp": null,
"transaction_type": "BUY",
"last_price": 100.0,
"average_price": 100.0,
"settlement_id": "254657127",
"variety": "REGULAR",
"purchase_type": "FRESH",
"last_price_date": "2026-03-06"
}
],
"meta_data": {
"page": {
"page_number": 1,
"total_pages": 1,
"records": 10,
"total_records": 3
}
}
}
NameTypeDescription
statusstringOutcome of the request. Typically success or error.
dataarrayList of mutual fund order rows.
data[].order_idstringUnique order identifier.
data[].exchange_order_idstringExchange order id when available.
data[].instrument_keystringFund ISIN when available.
data[].statusstringCurrent order status.
data[].status_messagestringHuman-readable status or rejection reason.
data[].foliostringFolio when allotted.
data[].fundstringFund or scheme display name.
data[].order_timestampstringWhen the order was registered in format: YYYY-MM-DD HH:mm:ss.
data[].exchange_timestampstringExchange date when available in format: YYYY-MM-DD HH:mm:ss.
data[].settlement_idstringSettlement id when available.
data[].transaction_typestringBUY or SELL.
data[].amountnumberOrder amount.
data[].varietystringOrder variety either REGULAR or SIP.
data[].purchase_typestringFRESH or ADDITIONAL for buys when applicable. (null incase of SELL order)
data[].quantitynumberUnits allotted or sold.
data[].pricenumberPrice or NAV used when available.
data[].last_pricenumberLast known NAV.
data[].average_pricenumberAllotted or sold NAV.
data[].last_price_datestringDate for last NAV when available in format: YYYY-MM-DD.
meta_dataobjectPagination wrapper.
meta_data.pageobjectPage metadata.
meta_data.page.page_numberintegerCurrent page.
meta_data.page.total_pagesintegerTotal pages.
meta_data.page.recordsintegerPage size used.
meta_data.page.total_recordsintegerTotal rows across pages.

Sample Codeโ€‹

Get mutual fund ordersโ€‹

import requests

url = 'https://api.upstox.com/v2/mf/orders'
params = {
'page_number': 1,
'records': 10,
}
headers = {
'accept': 'application/json',
'Authorization': 'Bearer {your_access_token}',
}

try:
response = requests.get(url, params=params, headers=headers)
print('Response Code:', response.status_code)
print('Response Body:', response.json())
except Exception as e:
print('Error:', str(e))
Loading...