Skip to content

Subscriber Data

The subscribers endpoint returns rich data including email addresses and payment history.

Get Subscribers

subscribers = await client.subscriptions.get_subscribers("my_blog", limit=50)
for sub in subscribers:
    print(f"{sub.name}: {sub.email}, payments={sub.payments}")

Async Iterator

async for sub in client.subscriptions.iter_subscribers("my_blog"):
    if sub.is_paid:
        print(f"{sub.name}: {sub.email}{sub.payments} RUB")

Filter Paid Subscribers

subs = await client.subscriptions.get_subscribers("my_blog", limit=100)
paid = [s for s in subs if s.is_paid and s.is_active]
print(f"Active paid subscribers: {len(paid)}")

Subscriber Model

Field Type Description
id int Boosty user ID
name str Display name
email str Email address
avatar_url str \| None Avatar URL
level SubscriptionLevel \| None Subscription tier
price int Subscription price
payments float Total lifetime payments (RUB)
status str active or inactive
subscribed bool Currently subscribed
on_time int \| None Subscribe timestamp (unix)
off_time int \| None Unsubscribe timestamp (unix)
is_black_listed bool Blacklisted
can_write bool Can send messages

Computed Properties

Property Description
sub.is_active status == "active" and subscribed
sub.is_paid price > 0

Integration Example: Export Paid Subscriber Emails

async with BoostyClient(access_token="...") as client:
    emails = []
    async for sub in client.subscriptions.iter_subscribers("my_blog"):
        if sub.is_active and sub.payments > 0:
            emails.append(sub.email)

    # Write to file
    with open("paid_subscribers.txt", "w") as f:
        f.write("\n".join(emails))