JavaScript
import Whop from '@whop/sdk';
const client = new Whop({
apiKey: process.env['WHOP_API_KEY'], // This is the default and can be omitted
});
// Automatically fetches more pages as needed.
for await (const earningListResponse of client.partners.businesses.earnings.list('id')) {
console.log(earningListResponse.id);
}curl --request GET \
--url https://api.whop.com/api/v1/partners/businesses/{id}/earnings \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.whop.com/api/v1/partners/businesses/{id}/earnings"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.whop.com/api/v1/partners/businesses/{id}/earnings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.whop.com/api/v1/partners/businesses/{id}/earnings"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.whop.com/api/v1/partners/businesses/{id}/earnings")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.whop.com/api/v1/partners/businesses/{id}/earnings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"account": {
"id": "<string>",
"logo_url": "<string>",
"route": "<string>",
"title": "<string>"
},
"cancelation_reason": "<string>",
"commission_amount_usd": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"financial_activity": [
{
"amount": "<string>",
"amount_usd": "<string>",
"category": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"currency": "<string>",
"type": "income"
}
],
"id": "<string>",
"income_source": "sales",
"object": "partner_business_earning",
"payout_at": "2023-11-07T05:31:56Z",
"payout_percentage": 123,
"product": {
"id": "<string>",
"route": "<string>",
"title": "<string>"
},
"resource": {
"alternative_payment_method": {
"image_url": "<string>",
"name": "<string>"
},
"brand": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"currency": "<string>",
"id": "<string>",
"last4": "<string>",
"object": "receipt",
"payment_method_type": "<string>",
"processor": "<string>"
},
"second_tier": true,
"status": "pending",
"transaction_amount_usd": "<string>"
}
],
"page_info": {
"end_cursor": "<string>",
"has_next_page": true,
"has_previous_page": true,
"start_cursor": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>"
}
}Partners
List referred business earnings
Lists the earnings Whop pays out for one referred business’s activity, most recent first.
GET
/
partners
/
businesses
/
{id}
/
earnings
JavaScript
import Whop from '@whop/sdk';
const client = new Whop({
apiKey: process.env['WHOP_API_KEY'], // This is the default and can be omitted
});
// Automatically fetches more pages as needed.
for await (const earningListResponse of client.partners.businesses.earnings.list('id')) {
console.log(earningListResponse.id);
}curl --request GET \
--url https://api.whop.com/api/v1/partners/businesses/{id}/earnings \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.whop.com/api/v1/partners/businesses/{id}/earnings"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.whop.com/api/v1/partners/businesses/{id}/earnings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.whop.com/api/v1/partners/businesses/{id}/earnings"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.whop.com/api/v1/partners/businesses/{id}/earnings")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.whop.com/api/v1/partners/businesses/{id}/earnings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"account": {
"id": "<string>",
"logo_url": "<string>",
"route": "<string>",
"title": "<string>"
},
"cancelation_reason": "<string>",
"commission_amount_usd": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"financial_activity": [
{
"amount": "<string>",
"amount_usd": "<string>",
"category": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"currency": "<string>",
"type": "income"
}
],
"id": "<string>",
"income_source": "sales",
"object": "partner_business_earning",
"payout_at": "2023-11-07T05:31:56Z",
"payout_percentage": 123,
"product": {
"id": "<string>",
"route": "<string>",
"title": "<string>"
},
"resource": {
"alternative_payment_method": {
"image_url": "<string>",
"name": "<string>"
},
"brand": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"currency": "<string>",
"id": "<string>",
"last4": "<string>",
"object": "receipt",
"payment_method_type": "<string>",
"processor": "<string>"
},
"second_tier": true,
"status": "pending",
"transaction_amount_usd": "<string>"
}
],
"page_info": {
"end_cursor": "<string>",
"has_next_page": true,
"has_previous_page": true,
"start_cursor": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>"
}
}Authorizations
An Account API key, account-scoped JWT, App API key, or user OAuth token. Prepend the key or token with Bearer, for example Bearer ***************************.
Headers
Pins the request to a dated API version.
Example:
"2026-08-05-1"
Path Parameters
The partner business ID (a coma_ identifier).
Query Parameters
Filter by earning status.
Available options:
awaiting_settlement, pending, completed, canceled, reversed Required range:
x <= 100Required range:
x <= 100The field to sort earnings by.
Available options:
created_at, commission_amount, transaction_amount, payout_at Sort direction.
Available options:
asc, desc Only return earnings created before this timestamp.
Only return earnings created after this timestamp.
⌘I

