Skip to content

Overview

Terminal window
bun add tipply-sdk-ts
  • Bun or Node.js 18+
  • a runtime with fetch
  • an existing Tipply session if you plan to call authenticated endpoints

Use createTipplyClient() when you need private account data, settings, moderation, payouts, or control commands.

Use createTipplyPublicClient() when you only need public widget, template, voting, or realtime reads and you already know the internal userId used by Tipply’s widget endpoints.

import { createTipplyClient } from "tipply-sdk-ts";
const client = createTipplyClient({
authCookie: process.env.TIPPLY_AUTH_COOKIE!,
});
const me = await client.me.get();
console.log(me.username);
import { createTipplyClient } from "tipply-sdk-ts";
const client = createTipplyClient({
authCookie: process.env.TIPPLY_AUTH_COOKIE!,
});
const me = await client.me.get();
const widgetMessageEnabled = await client.public.user(me.id).widgetMessage.get();
console.log(widgetMessageEnabled);

Public profile payloads no longer expose userId, so the SDK cannot discover another user’s internal ID from client.profile.public(slug).get().

  • me
  • dashboard
  • profile
  • paymentMethods
  • settings
  • goals
  • templates
  • tips
  • moderators
  • media
  • withdrawals
  • reports
  • tipAlerts
  • public
  • goal templates and configuration
  • goal widget reads
  • voting templates and configuration
  • template font CSS
  • widget message status
  • realtime TIP_ALERT
import { createTipplyPublicClient } from "tipply-sdk-ts/public";
const listener = createTipplyPublicClient().tipAlerts.fromWidgetUrl(
"https://widgets.tipply.pl/TIP_ALERT/user-123",
);
listener.on("donation", (donation) => {
console.log(donation.nickname, donation.amount);
});
await listener.connect();