Binance API / SAPI / C2C
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.

ParameterInTypeRequiredDescription
clientTypeHeaderSTRINGRequiredClient Device Type initiating the request (e.g., WEB, APP, WEB_MOBILE).
pageBodyINTOptionalTarget page number for pagination (starts at 1).
rowsBodyINTOptionalNumber of records per page (default is typically 10 or 20; maximum 100).
assetBodySTRINGOptionalCryptocurrency asset symbol to filter by (e.g., USDT, BTC).
tradeTypeBodySTRINGOptionalOrder direction filter (BUY or SELL).
advNoBodySTRINGOptionalFilter orders originating from a specific advertisement number.
orderStatusBodyINTOptionalSingle order status code filter (e.g., 1: In Progress, 4: Completed, 5: Cancelled).
orderStatusListBodyARRAY[INT]OptionalArray of status codes to retrieve multiple order states simultaneously.
startDateBodyLONGOptionalStart timestamp filter in milliseconds.
endDateBodyLONGOptionalEnd timestamp filter in milliseconds.
payTypeBodyINTOptionalFilter orders by payment method type code.
sortBodySTRINGOptionalField to sort by (e.g., createTime).
orderBodySTRINGOptionalSort 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

FieldTypeDescription
codeSTRINGStandard Binance status code ("000000" indicates success).
data.totalINTTotal matching order records available across all pages.
data.pageINTCurrent page index.
data.rowsINTNumber of items returned per page.
data.dataARRAYArray of matching C2C order record objects.
data.data[].orderNumberSTRINGUnique order identification string.
data.data[].orderStatusINTNumeric status code reflecting current order state.
successBOOLEANIndicates 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