Developer Tools

Official SDKs

Integrate TesterPayKit into your workflow with our official SDKs. Full type safety, comprehensive documentation, and active maintenance.

📘

TypeScript SDK

TypeScript-first SDK for Node.js, Deno, and browser environments. Full ESM and CommonJS support.

Install via npm
npm install @testerpaykit/sdk
  • Full TypeScript types
  • Promise & async/await
  • Built-in retries
  • Webhook verification
🐍

Python SDK

Modern Python SDK with async support. Compatible with Python 3.9+ and FastAPI, Django, Flask.

Install via PyPI
pip install testerpaykit
  • Async/await support
  • Pydantic models
  • Type hints
  • Rate limit handling

Quick Examples

See how easy it is to get started with each SDK

Flutter/Dart Create campaign and listen to bugs
import 'package:testerpaykit/testerpaykit.dart';

final client = TesterPayKit(
  apiKey: 'tpk_live_your_api_key',
);

// Create a test campaign
final campaign = await client.campaigns.create(
  CreateCampaignRequest(
    name: 'iOS Login Test',
    platform: Platform.ios,
    testersRequired: 5,
    rewardPerBug: 4.00,
  ),
);

// Listen to bug reports
client.bugs.stream(campaignId: campaign.id).listen((bug) {
  print('New bug: ' + bug.title);
});
TypeScript Create campaign and list bugs
import { TesterPayKit } from '@testerpaykit/sdk';

const client = new TesterPayKit({
  apiKey: 'tpk_live_your_api_key',
});

// Create a test campaign
const campaign = await client.campaigns.create({
  name: 'iOS Login Test',
  platform: 'ios',
  testersRequired: 5,
  rewardPerBug: 4.00,
});

// Get bug reports
const bugs = await client.bugs.list({
  campaignId: campaign.id,
  status: 'open',
});

console.log('Found ' + bugs.length + ' open bugs');
Python Async campaign creation
from testerpaykit import TesterPayKit

client = TesterPayKit(api_key="tpk_live_your_api_key")

# Create a test campaign
campaign = await client.campaigns.create(
    name="iOS Login Test",
    platform="ios",
    testers_required=5,
    reward_per_bug=4.00,
)

# Get bug reports
bugs = await client.bugs.list(
    campaign_id=campaign.id,
    status="open",
)

print(f"Found {len(bugs)} open bugs")

SDK Comparison

Feature Dart TypeScript Python
Type Safety Full Full Type Hints
Async Support Streams Promises async/await
Auto Retries Yes Yes Yes
Webhook Verification Yes Yes Yes
Rate Limit Handling Yes Yes Yes
Minimum Runtime Dart 3.0+ Node 18+ Python 3.9+

Ready to integrate?

Get started with a free account. No credit card required.