Get Income History
Type: USER-DATA
Weight: 30
GET /fapi/v1/income
Realised PnL, funding fees and commissions.
Request
GET /fapi/v1/income?symbol=BTCUSDT&incomeType=FUNDING_FEE&startTime=<ms>&endTime=<ms>&limit=100×tamp=<ms>&signature=<hex>
Query params
| Name | Type | Required | Default | Notes |
|---|---|---|---|---|
symbol | string | no | — | |
incomeType | string | no | all three | REALIZED_PNL / FUNDING_FEE / COMMISSION |
startTime / endTime | long | no | — | ms — always send a window in high-frequency use; without one the commission query scans the whole trades table. |
limit | integer | no | 100 | max 1000 |
Response — 200
[
{
"symbol": "BTCUSDT",
"incomeType": "REALIZED_PNL",
"income": "12.3456",
"asset": "USDT",
"info": "",
"time": 1714261234567,
"tranId": "550e8400-e29b-41d4-a716-446655440000",
"tradeId": "550e8400-e29b-41d4-a716-446655440000"
}
]
incomeType | Source | Sign |
|---|---|---|
REALIZED_PNL | position-close PnL events | ± |
FUNDING_FEE | funding settlements | ± |
COMMISSION | maker / taker fee on trades | always negative |
Notes
tranIdandtradeIdcarry the same UUID (the source row id); they are stable and unique, which is all reconciliation needs.- The three sources are merged by
time DESCand then truncated tolimit; passincomeTypeif you only want one type so the others do not consume the limit. TRANSFER,WELCOME_BONUS,INSURANCE_CLEARand other Binance types are not produced.
Authentication failures (INVALID_API_KEY, API_KEY_DISABLED, IP_NOT_ALLOWED, SIGNATURE_INVALID) apply to every signed endpoint and use Sparky's {"success":false,"error":{...}} envelope; see Error Codes.