Payouts
List Payout Requests
Returns the history of withdrawal requests the creator has submitted — one row per request, with invoice ID, amount, currency, approval state, and reject reason. This is the payout-history view, not the per-transaction earnings feed. Requires permission api_payouts_list_requests.
https://public-api.fansmetric.comAuthorization
defaultAuthorizationBearer <token>Send your FansMetric API key as a Bearer token in the Authorization header.
In: header
Path Parameters
account_id*integerOnlyFans numeric account ID.
Query Parameters
start_datestringLower bound on
createdAt. Default 2 years ago, UTC.end_datestringUpper bound on
createdAt. Default end of today, UTC.offsetintegerRows to skip. Page size is fixed at 10.
markerstringSnapshot pin (unix seconds) from a prior response. Omit on the first page; pass back unchanged so the paged view stays stable.
Response Fields
data.list[]arrayPayout requests in this page. Newest first.
data.list[].invoiceIdstringOnlyFans invoice ID for this payout request.
data.list[].createdAtstringISO 8601 timestamp when the request was submitted.
data.list[].amountnumberAmount requested, in
currencyunits (whole units, same scale as/payouts/balances).data.list[].currencystringISO 4217 currency code.
data.list[].statestringApproval state. Observed:
approved. Other expected values:pending,rejected,processing.data.list[].rejectReasonstring|nullReject reason when
state == "rejected".nullotherwise.data.markerintegerSnapshot pin (unix seconds). Pass back on subsequent requests.
dataobject | arrayEndpoint-specific payload. See the fields below for this route.
_pagination.next_pagestringRelative URL for the next page, with the cursor or offset already applied. Append it to the API base URL and send it as-is. Omitted entirely on the last page.
_meta._credits.usedintegerCredits consumed by this request (currently always
1)._meta._rate_limits.limit_minuteintegerMaximum requests per minute for the organization.
_meta._rate_limits.remaining_minuteintegerRemaining requests in the current minute window.
_meta._rate_limits.limit_dayintegerMaximum requests per day for the organization.
_meta._rate_limits.remaining_dayintegerRemaining requests in the current day window.
| Field | Type | Description |
|---|---|---|
| data.list[] | array | Payout requests in this page. Newest first. |
| data.list[].invoiceId | string | OnlyFans invoice ID for this payout request. |
| data.list[].createdAt | string | ISO 8601 timestamp when the request was submitted. |
| data.list[].amount | number | Amount requested, in currency units (whole units, same scale as /payouts/balances). |
| data.list[].currency | string | ISO 4217 currency code. |
| data.list[].state | string | Approval state. Observed: approved. Other expected values: pending, rejected, processing. |
| data.list[].rejectReason | string|null | Reject reason when state == "rejected". null otherwise. |
| data.marker | integer | Snapshot pin (unix seconds). Pass back on subsequent requests. |
| data | object | array | Endpoint-specific payload. See the fields below for this route. |
| _pagination.next_page | string | Relative URL for the next page, with the cursor or offset already applied. Append it to the API base URL and send it as-is. Omitted entirely on the last page. |
| _meta._credits.used | integer | Credits consumed by this request (currently always 1). |
| _meta._rate_limits.limit_minute | integer | Maximum requests per minute for the organization. |
| _meta._rate_limits.remaining_minute | integer | Remaining requests in the current minute window. |
| _meta._rate_limits.limit_day | integer | Maximum requests per day for the organization. |
| _meta._rate_limits.remaining_day | integer | Remaining requests in the current day window. |
curl --request GET "https://public-api.fansmetric.com/v1/100000001/payouts/requests?start_date=2026-01-01%2000%3A00%3A00&end_date=2026-01-31%2023%3A59%3A59&offset=0" \
--header "Authorization: Bearer YOUR_API_KEY"Response
200