BINANCE SAPI · C2C

Retrieve User Order List With Pagination API

Query paginated historical and active peer-to-peer (C2C) trade orders with comprehensive filtering by date ranges, trade direction, asset types, and status codes.

ENDPOINT
POST /sapi/v1/c2c/orderMatch/listOrders
Authentication USER_DATA / SIGNED
API Group C2C / Order Match
Method POST
Response JSON (Paginated)

Overview

This endpoint enables trading bots, accounting platforms, and merchant dashboards to query paginated lists of C2C (P2P) orders. It provides rich query filters such as advertisement number (`advNo`), digital asset currency (`asset`), trade direction (`BUY`/`SELL`), timestamp boundaries, and multiple order status codes.

Automated reconciliation engines frequently poll this endpoint to maintain synchronization between Binance P2P order lifecycles and external database ledgers.

01

Request Parameters

Parameters accepted in Body and HTTP Headers.

Parameter In Type Required Description
clientType Header STRING Required Client Device Type initiating the request (e.g., WEB, APP, WEB_MOBILE).
page Body INT Optional Target page number for pagination (starts at 1).
rows Body INT Optional Number of records per page (default is typically 10 or 20; maximum 100).
asset Body STRING Optional Cryptocurrency asset symbol to filter by (e.g., USDT, BTC).
tradeType Body STRING Optional Order direction filter (BUY or SELL).
advNo Body STRING Optional Filter orders originating from a specific advertisement number.
orderStatus Body INT Optional Single order status code filter (e.g., 1: In Progress, 4: Completed, 5: Cancelled).
orderStatusList Body ARRAY[INT] Optional Array of status codes to retrieve multiple order states simultaneously.
startDate Body LONG Optional Start timestamp filter in milliseconds.
endDate Body LONG Optional End timestamp filter in milliseconds.
payType Body INT Optional Filter orders by payment method type code.
sort Body STRING Optional Field to sort by (e.g., createTime).
order Body STRING Optional Sort direction (ASC or DESC).
i
Status Filtering Flexibility

You can specify a single status code using orderStatus, or query multiple states at once (such as filtering both active trading and appeal states) using the orderStatusList array.

02

Request Example

Example POST request using cURL to fetch recent completed USDT orders.

cURL BASH
curl -X POST \
'https://api.binance.com/sapi/v1/c2c/orderMatch/listOrders' \
-H 'clientType: WEB' \
-H 'Content-Type: application/json' \
-d '{
  "page": 1,
  "rows": 10,
  "asset": "USDT",
  "tradeType": "BUY",
  "orderStatusList": [4],
  "startDate": 1786867200000,
  "endDate": 1786953600000
}'
03

Response

Example paginated response returned on successful query execution.

RESPONSE 200 OK
{
    "code": "000000",
    "message": "success",
    "data": {
        "total": 42,
        "page": 1,
        "rows": 10,
        "data": [
            {
                "orderNumber": "202608161234567890",
                "advNo": "1122334455667788",
                "tradeType": "BUY",
                "asset": "USDT",
                "fiat": "USD",
                "fiatSymbol": "$",
                "amount": "250.00",
                "totalPrice": "253.75",
                "unitPrice": "1.015",
                "orderStatus": 4,
                "createTime": 1786950000000,
                "counterPartNickName": "MerchantAlpha"
            }
        ]
    },
    "success": true
}

Response Fields

Field Type Description
code STRING Standard Binance status code ("000000" indicates success).
data.total INT Total matching order records available across all pages.
data.page INT Current page index.
data.rows INT Number of items returned per page.
data.data ARRAY Array of matching C2C order record objects.
data.data[].orderNumber STRING Unique order identification string.
data.data[].orderStatus INT Numeric status code reflecting current order state.
success BOOLEAN Indicates overall request execution result.
04

How It Works

Workflow for retrieving paginated order lists.

01 Define Filters Set date range, asset, status list, and page size.
02 Send POST Request Call /sapi/v1/c2c/orderMatch/listOrders with JSON body.
03 Iterate Pages Loop incrementing page until total count is covered.
04 Sync Database Ingest order updates into local database tables.

Common Use Cases

Accounting & Tax Exports

Extract structured transaction history across custom date windows for financial reporting and auditing.

Periodic Ledger Reconciliation

Synchronize external merchant databases and CRM records with historical P2P order records.

Ad Performance Analysis

Filter order lists by specific advNo to calculate fill rates and profitability per advertisement.



💬
Telegram WhatsApp