Official Libraries

Reply Publishing SDK for Node.js & Python

Publish replies on Reddit and X with a few lines of code. Type-safe clients for Node.js and Python with async support.

Install in seconds

Add the DropReply SDK to your project with a single command.

Node.js
$ npm install @dropreply/sdk
Python
$ pip install dropreply

Publish a reply in 5 lines

Initialize the client, call one method, and your reply is published.

index.js
import DropReply from '@dropreply/sdk';

const client = new DropReply('drpl_live_xxx');

const reply = await client.reply({
  platform: 'reddit',
  target_url: 'https://reddit.com/r/webdev/...',
  content: 'Great point! We built something similar...'
});

console.log(reply.id);
// rpl_7f3a9b2c

console.log(reply.status);
// "queued"
main.py
from dropreply import DropReply

client = DropReply("drpl_live_xxx")

reply = client.reply(
    platform="reddit",
    target_url="https://reddit.com/r/webdev/...",
    content="Great point! We built something similar..."
)

print(reply["id"])
# rpl_7f3a9b2c

print(reply["status"])
# "queued"

Common workflows

Check reply status, send upvotes, and manage your usage programmatically.

Check status & upvote (Node.js)
// Check reply status
const status = await client.replies.get('rpl_7f3a9b2c');
console.log(status.status);
// "published"
console.log(status.platform_url);
// "https://reddit.com/r/.../def456"

// Send upvotes
await client.upvotes.create({
  reply_id: 'rpl_7f3a9b2c',
  amount: 5
});

// List recent replies
const replies = await client.replies.list({
  platform: 'reddit',
  limit: 10
});
Check status & upvote (Python)
# Check reply status
status = client.replies.get("rpl_7f3a9b2c")
print(status.status)
# "published"
print(status.platform_url)
# "https://reddit.com/r/.../def456"

# Send upvotes
client.upvotes.create(
    reply_id="rpl_7f3a9b2c",
    amount=5
)

# List recent replies
replies = client.replies.list(
    platform="reddit",
    limit=10
)
Usage & Twitter (Node.js)
// Check usage
const usage = await client.usage.get();
console.log(usage.replies_used);
// 42
console.log(usage.replies_limit);
// 100

// Reply on Twitter/X
const tweet = await client.replies.create({
  platform: 'twitter',
  url: 'https://x.com/user/status/123...',
  content: 'Interesting thread! We have been...'
});
Usage & Twitter (Python)
# Check usage
usage = client.usage.get()
print(usage.replies_used)
# 42
print(usage.replies_limit)
# 100

# Reply on Twitter/X
tweet = client.replies.create(
    platform="twitter",
    url="https://x.com/user/status/123...",
    content="Interesting thread! We have been..."
)

All SDK methods

Both SDKs share the same method signatures and response format.

client.reply(opts)

Publish a new reply on Reddit or Twitter/X. Pass platform, target_url, and content. Returns the reply object with ID and status.

client.getReply(id)

Retrieve a reply by ID. Returns full details: status, published URL, content, error messages, and timestamps.

client.listReplies(opts)

List replies with optional filters. Supports platform, status, limit, and offset parameters for pagination.

client.upvote(opts)

Submit an upvote or like. Specify platform and target URL. Costs 0.25 credits per upvote.

client.usage()

Get current billing period usage. Returns credits used, remaining, plan name, and period start/end dates.

client.accountsAvailability(opts)

Check available managed accounts. Optionally filter by platform to see how many Reddit or Twitter accounts are ready.

Built for developers

Everything you expect from a modern SDK, plus features specific to reply publishing.

Type-Safe

Full TypeScript definitions for Node.js. Python SDK includes type hints and Pydantic models for request/response validation.

Auto-Retry

Automatic retry with exponential backoff on transient errors (429, 500, 502, 503). Configurable max retries and timeout.

Async Native

Both SDKs support async/await natively. Node.js uses promises, Python supports asyncio with an async client variant.

Polling Helper

Built-in reply polling method that waits for a reply to reach published/failed status. No need to write your own retry loop.

Configurable

Set base URL, timeout, max retries, and custom headers. Use test API keys for sandbox mode during development.

Minimal Dependencies

Node.js SDK uses only undici for HTTP. Python SDK has zero dependencies beyond the standard library and httpx.

Start building with DropReply

Install the SDK, grab your API key, and publish your first reply in minutes.