Publish replies on Reddit and X with a few lines of code. Type-safe clients for Node.js and Python with async support.
Add the DropReply SDK to your project with a single command.
$ npm install @dropreply/sdk
$ pip install dropreply
Initialize the client, call one method, and your reply is published.
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"
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"
Check reply status, send upvotes, and manage your usage programmatically.
// 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 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 )
// 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...' });
# 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..." )
Both SDKs share the same method signatures and response format.
Publish a new reply on Reddit or Twitter/X. Pass platform, target_url, and content. Returns the reply object with ID and status.
Retrieve a reply by ID. Returns full details: status, published URL, content, error messages, and timestamps.
List replies with optional filters. Supports platform, status, limit, and offset parameters for pagination.
Submit an upvote or like. Specify platform and target URL. Costs 0.25 credits per upvote.
Get current billing period usage. Returns credits used, remaining, plan name, and period start/end dates.
Check available managed accounts. Optionally filter by platform to see how many Reddit or Twitter accounts are ready.
Everything you expect from a modern SDK, plus features specific to reply publishing.
Full TypeScript definitions for Node.js. Python SDK includes type hints and Pydantic models for request/response validation.
Automatic retry with exponential backoff on transient errors (429, 500, 502, 503). Configurable max retries and timeout.
Both SDKs support async/await natively. Node.js uses promises, Python supports asyncio with an async client variant.
Built-in reply polling method that waits for a reply to reach published/failed status. No need to write your own retry loop.
Set base URL, timeout, max retries, and custom headers. Use test API keys for sandbox mode during development.
Node.js SDK uses only undici for HTTP. Python SDK has zero dependencies beyond the standard library and httpx.