Skip to main content
Glama

get_order_history

Retrieve detailed order history from Bybit by specifying category, symbol, order ID, and time range. Use this tool to monitor past orders, analyze trading activity, and manage portfolio performance.

Instructions

Get order history Args: category (str): Category (spot, linear, inverse, etc.) symbol (Optional[str]): Symbol (e.g., BTCUSDT) orderId (Optional[str]): Order ID orderLinkId (Optional[str]): Order link ID orderFilter (Optional[str]): Order filter orderStatus (Optional[str]): Order status startTime (Optional[int]): Start time in milliseconds endTime (Optional[int]): End time in milliseconds limit (int): Number of orders to retrieve Returns: Dict: Order history Example: get_order_history("spot", "BTCUSDT", "123456789", "link123", "Order", "Created", 1625097600000, 1625184000000, 10) Reference: https://bybit-exchange.github.io/docs/v5/order/order-list

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
categoryYesCategory (spot, linear, inverse, etc.)
endTimeNoEnd time in milliseconds
limitNoNumber of orders to retrieve
orderFilterNoOrder filter
orderIdNoOrder ID
orderLinkIdNoOrder link ID
orderStatusNoOrder status
startTimeNoStart time in milliseconds
symbolNoSymbol (e.g., BTCUSDT)

Implementation Reference

  • MCP tool handler for get_order_history: decorated with @mcp.tool(), defines input schema via Pydantic Field, delegates to BybitService.get_order_history, handles errors and logging.
    @mcp.tool() def get_order_history( category: str = Field(description="Category (spot, linear, inverse, etc.)"), symbol: Optional[str] = Field(default=None, description="Symbol (e.g., BTCUSDT)"), orderId: Optional[str] = Field(default=None, description="Order ID"), orderLinkId: Optional[str] = Field(default=None, description="Order link ID"), orderFilter: Optional[str] = Field(default=None, description="Order filter"), orderStatus: Optional[str] = Field(default=None, description="Order status"), startTime: Optional[int] = Field(default=None, description="Start time in milliseconds"), endTime: Optional[int] = Field(default=None, description="End time in milliseconds"), limit: int = Field(default=50, description="Number of orders to retrieve") ) -> Dict: """ Get order history Args: category (str): Category (spot, linear, inverse, etc.) symbol (Optional[str]): Symbol (e.g., BTCUSDT) orderId (Optional[str]): Order ID orderLinkId (Optional[str]): Order link ID orderFilter (Optional[str]): Order filter orderStatus (Optional[str]): Order status startTime (Optional[int]): Start time in milliseconds endTime (Optional[int]): End time in milliseconds limit (int): Number of orders to retrieve Returns: Dict: Order history Example: get_order_history("spot", "BTCUSDT", "123456789", "link123", "Order", "Created", 1625097600000, 1625184000000, 10) Reference: https://bybit-exchange.github.io/docs/v5/order/order-list """ try: result = bybit_service.get_order_history( category, symbol, orderId, orderLinkId, orderFilter, orderStatus, startTime, endTime, limit ) if result.get("retCode") != 0: logger.error(f"Failed to get order history: {result.get('retMsg')}") return {"error": result.get("retMsg")} return result except Exception as e: logger.error(f"Failed to get order history: {e}", exc_info=True) return {"error": str(e)}
  • BybitService helper method that directly calls the pybit.unified_trading.HTTP client.get_order_history API.
    def get_order_history(self, category: str, symbol: Optional[str] = None, orderId: Optional[str] = None, orderLinkId: Optional[str] = None, orderFilter: Optional[str] = None, orderStatus: Optional[str] = None, startTime: Optional[int] = None, endTime: Optional[int] = None, limit: int = 50) -> Dict: """ Get order history Args: category (str): Category (spot, linear, inverse, etc.) symbol (Optional[str]): Symbol (e.g., BTCUSDT) orderId (Optional[str]): Order ID orderLinkId (Optional[str]): Order link ID orderFilter (Optional[str]): Order filter orderStatus (Optional[str]): Order status startTime (Optional[int]): Start time in milliseconds endTime (Optional[int]): End time in milliseconds limit (int): Number of orders to retrieve Returns: Dict: Order history """ return self.client.get_order_history( category=category, symbol=symbol, orderId=orderId, orderLinkId=orderLinkId, orderFilter=orderFilter, orderStatus=orderStatus, startTime=startTime, endTime=endTime, limit=limit )

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dlwjdtn535/mcp-bybit-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server