Skip to main content
dotnet add package OnlyFans.SDK

Quick Example

using OFAuth;

var client = new OFAuthClient("your-api-key");

var account = await client.GetAsync<WhoamiResponse>("/v2/account/whoami");
Console.WriteLine($"{account.Id} {string.Join(", ", account.Permissions)}");

Details

C#
PackageOnlyFans.SDK
Repositoryonlyfans-sdk-csharp
Initnew OFAuthClient()
ArchitectureGetAsync<T>(path) with 473 model classes
TypesGenerated classes with JsonPropertyName
PaginationManual (query params)
DependenciesSystem.Net.Http, System.Text.Json

Features

DI Support

Register OFAuthClient in your DI container with IHttpClientFactory.

CancellationToken

Every async method accepts CancellationToken for cooperative cancellation.

Proxy Support

Call any OnlyFans endpoint directly through the OFAuth proxy.

Media Upload

Automatic chunking and progress callbacks.

Usage Examples

List subscribers

var subs = await client.GetAsync<ListSubscribersResponse>(
    "/v2/access/subscribers?limit=50",
    connectionId: "conn_xxx"
);

foreach (var sub in subs.Data)
{
    Console.WriteLine($"{sub.Username} {sub.SubscribedAt}");
}

Send a message

await client.PostAsync("/v2/access/chats/12345/messages",
    new { text = "Hello from OFAuth!" },
    connectionId: "conn_xxx"
);

Error handling

try
{
    await client.GetAsync<UserResponse>(
        "/v2/access/users/999",
        connectionId: "conn_xxx"
    );
}
catch (OFAuthException ex)
{
    Console.WriteLine($"{ex.Status} {ex.Code} {ex.Message}");
}