For agencies · many clients, one API

A social media API for agencies

Publish and schedule for every client across Instagram, TikTok, YouTube, LinkedIn, X, Threads, Bluesky, Facebook and Telegram from one integration. There is no PostPulse UI in your portal — provisioning, scheduling and publishing all run through the API, under your agency's brand. Resell publishing as your own product. One REST API across all clients and platforms. No per-platform audits, no token juggling.

One credential covers every client Only accounts that post that month are billable No PostPulse UI — all API, under your brand
Partner Portal dashboard: social publishing across 9 platforms, managed for your users through one API under your brand
The agency multiplier problem

Every client multiplies the integration work

A single client already means nine platform integrations. Twenty clients means the same OAuth, token and media plumbing repeated across dozens of accounts — plus reconnect fire-drills whenever a platform expires a token mid-campaign. Buying tooling per seat or per client erodes your margin; building it in-house ties up engineers you would rather bill out.

Branded as you

See it branded as you — 60-sec demo

Watch a reseller app run the full Connect flow end to end: a user connects their own social account from a step inside the app, then publishes — with no PostPulse UI in the product, just the API underneath. The only PostPulse touchpoint is the platform's own permission screen, exactly like every social API.

Build in-house · the actual cost

What managing it yourself actually costs an agency

These are the recurring, unbillable costs of owning social plumbing across a growing client roster.

01

9 platforms × every client

Each client brings the full matrix — Instagram, TikTok, YouTube, LinkedIn, X, Threads, Bluesky, Facebook, Telegram — and every one is a distinct API with its own rules. The work does not amortise; it repeats per account.

One REST API covers all 9 platforms for every client you onboard.
02

App audits block new platforms

Want to add TikTok or Reels publishing for a client this week? Native access means Meta App Review and TikTok approval first — weeks of waiting while the campaign window closes.

PostPulse owns the verified apps, so every client is publish-ready on day one.
03

Token expiry = reconnect fire-drills

Multiply OAuth refresh and re-consent across dozens of client accounts and a token expiry becomes a recurring "please reconnect your Instagram" scramble — usually discovered when a post silently fails.

Tokens are refreshed and rotated server-side; 14 webhooks tell you the instant something needs attention.
04

Per-seat tools crush margin

Most agency schedulers charge per seat or per connected profile, so your software cost scales linearly with your client base and eats directly into retainer margin.

Usage-based pricing: you only pay for accounts that actually publish in a given month.
05

No clean way to resell or report

Off-the-shelf tools put someone else's brand in front of your clients and lock reporting inside a dashboard you can't embed in your own client portal.

White-label OAuth and a clean REST API let you resell publishing — and surface status — as your own product.
06

Platform changes hit mid-campaign

A deprecated endpoint or a tightened scope can break posting across every client at once, turning an external platform change into your emergency.

We absorb API churn so a platform change never becomes your client-facing outage.
How PostPulse works for agencies

One integration, every client, your brand

Authenticate once with a single partner credential, then represent each client with their own identity header. Each client connects their own social accounts from a step inside your product — you publish, schedule and track on their behalf through the API, under your agency's brand, and the work never multiplies per platform.

One credential, every client

A single machine-to-machine credential authenticates your backend for all clients. You isolate each client with their own user id — no separate login or app per client.

Resell under your agency brand

There is no PostPulse UI in your client portal — provisioning, scheduling and publishing all run through the API, under your agency's brand. Clients connect their accounts from a step inside your product; only the platform's own permission screen names the app, as with any social API. Bill them on your terms.

Pay for what posts

A flat platform fee plus a small fee per active account — and an account is only billable in a month where it actually publishes. Dormant client accounts cost nothing.

Partner Portal: your users' connected social accounts across all 9 platforms, managed through the API
Your users' connected accounts, managed through the Connect API — no PostPulse UI in your product.
Four calls to live

Onboard a client and publish on their behalf

One partner credential covers every client. Provision a client, send a branded Connect URL, then publish and schedule across all 9 platforms with the same request — per client, no new integration.

# 1. One machine-to-machine token covers ALL of your users
curl -X POST https://auth.post-pulse.com/oauth/token \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "YOUR_CLIENT_ID",
    "client_secret": "YOUR_CLIENT_SECRET",
    "grant_type": "client_credentials",
    "audience": "https://api.post-pulse.com"
  }'

# 2. Provision the end-user once. Idempotent on (client, externalUserId) —
#    safe to re-send. Persist the returned uuid. (No user-id header yet: the
#    user doesn't exist until this call returns.)
curl -X POST https://api.post-pulse.com/v1/connect/users \
  -H "Authorization: Bearer <m2m_token>" \
  -H "x-api-key: YOUR_CLIENT_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "externalUserId": "your_user_42",
    "name": "Jane Doe",
    "email": "[email protected]"
  }'
# → { "uuid": "..." }

# 3. Generate a Connect URL for that user — branded as you.
#    They authorise their own Instagram/TikTok/… on the standard connect step.
curl -X POST https://api.post-pulse.com/v1/connect/authorize-url \
  -H "Authorization: Bearer <m2m_token>" \
  -H "x-api-key: YOUR_CLIENT_ID" \
  -H "X-Connect-External-User-Id: your_user_42" \
  -H "Content-Type: application/json" \
  -d '{ "platform": "INSTAGRAM", "redirectUri": "https://yourapp.com/connected" }'

# 4. Publish on that user's behalf — same API, 9 platforms, one request.
curl -X POST https://api.post-pulse.com/v1/posts \
  -H "Authorization: Bearer <m2m_token>" \
  -H "x-api-key: YOUR_CLIENT_ID" \
  -H "X-Connect-External-User-Id: your_user_42" \
  -H "Content-Type: application/json" \
  -d '{
    "scheduledTime": "2026-06-10T15:00:00Z",
    "publications": [{
      "socialMediaAccountId": 123,
      "platformSettings": { "type": "INSTAGRAM", "publicationType": "REEL" },
      "posts": [{ "content": "Shipped from your product 🚀", "attachmentPaths": ["uuid/reel.mp4"] }]
    }]
  }'
DIY vs PostPulse

Per-client plumbing, or one integration

Both serve the same roster. Only one re-does OAuth, tokens and reconnect drills for every client you sign.

DIY · per-client plumbing
  1. Register and audit a developer app on 9 platforms — before client one
  2. Re-run OAuth, scopes and media handling for every new client account
  3. Track and refresh tokens across dozens of accounts, per platform
  4. Build scheduling, retries and status reporting for your portal
  5. Field "please reconnect" scrambles whenever a token expires
  6. Patch every client integration each time a platform changes its API
PostPulse for agencies
  1. Day 0 · One partner credential for your whole agency
  2. Day 1 · Onboard a client and send a branded Connect URL
  3. Day 1 · The client authorises their accounts — no audit, no wait
  4. Day 2 · Publish and schedule for that client across 9 platforms
  5. Ongoing · Add clients and platforms without new integration work
Security & multi-tenancy

Every client is an isolated tenant

One partner credential represents your whole agency, but each client is a separate identity with their own tokens — so client data never crosses wires.

Per-client token isolation

Each client's OAuth tokens live against their own PostPulse identity and are only used on calls carrying that client's id header. One client can never publish to or read another client's accounts.

Secrets stay in your backend

Your client secret authenticates your agency's backend only and never reaches a browser or a client's device. The signed Connect state is HMAC-sealed, so redirect URIs can't be tampered with mid-flow.

GDPR & data processing

For the tokens and content you send on a client's behalf, PostPulse acts as a processor. Clients are excluded from PostPulse emails and marketing, so you remain the only brand they deal with.

Tenant isolation by default

A client id header scopes every read and write, and provisioning is idempotent on (your client id, your external id) — so re-syncing a client can never collide with another client's data.

Partner Portal: each of your users is an isolated tenant with their own connected accounts and tokens
Every one of your users is a separate, isolated tenant — provisioned and managed through the API, never a PostPulse login.

Why agencies and operators choose PostPulse

Reviewed on Product Hunt
James Mccarthy
James Mccarthy

I use PostPulse with an AI agent via their MCP server. My agent literally posts to social media on its own now. Didn’t expect that to work as smoothly as it did.

Antonio Widera
Antonio Widera

$5/month for what would otherwise require a full backend engineer to maintain? Easy yes. The REST API is clean and well-documented too, which is rare.

Shawn Padilla
Shawn Padilla

Tried to get TikTok API access myself. Three weeks, two rejections. Switched to PostPulse and was posting to TikTok the same day. Wish I hadn’t wasted that time.

Karen Rivers
Karen Rivers

I’m a Make.com power user and needed to post to 5 platforms from one scenario. The native PostPulse app for Make connected everything in one afternoon. Would’ve taken me weeks to do manually.

Douglas Finch
Douglas Finch

I built an n8n automation for a client and needed to add social publishing. The official PostPulse n8n node was literally drag and drop. No headache.

Andrea Scott
Andrea Scott

Saved me months of dev work. I was about to start integrating Instagram and TikTok APIs separately — then I found out Meta’s app review alone can take months. PostPulse just handled all of that. Shipped social posting in under a week.

William Dirks
William Dirks

The most flexible pricing model on the market!

I'm building an AI content factory as a side hustle. I'm still in the experimentation phase, so I don't have the budget for expensive tools — but I also needed to get everything up and running quickly, so I integrated with a ready-to-go API instead. PostPulse offers a flexible pay-as-you-go model that let me experiment first without commitment — and now that we have stable traffic, I’ve switched to their $5/month subscription.

Best support on the market — the founder personally emailed me when I hit a client error and walked me through the fix.

solo serg
solo serg

We optimized the posting to 20 twitter accounts. It was a problem to manage such a number, but through the platform everything works out perfectly. Very convenient dashboard for tracking errors. Great product.

Publishing to 9 platforms, in production today · see live stats →
Build vs. buy

Billable hours, not platform plumbing

For an agency the comparison is engineers you could bill out versus a flat fee that protects the retainer.

Engineer-months you don't bill

Nine OAuth flows, three to four platform audits (weeks to months each) and a scheduler are multiple engineer-months — and that capacity is unbillable overhead, not client work.

Per-seat tools erode margin

Off-the-shelf schedulers charge per seat or per connected profile, so your software cost climbs with every client and eats directly into retainer margin.

Buy: $200/mo, margin intact

PostPulse Connect is $200/month plus $1 per active account, idle accounts free. Your cost tracks publishing volume, not headcount, and your engineers stay on billable work.

What PostPulse handles vs. building it per client

Where your retainer margin leaks when you own the plumbing yourself.

CapabilityPostPulse white-labelBuild in-house
Onboarding client number twenty✓ Same call as client one — one credential, a new idRe-run OAuth and media handling for every account
Software cost as you grow✓ Pay only for accounts that publish that monthPer-seat / per-profile fees scale with the roster
A token expires mid-campaign✓ A webhook tells you the instant a reconnect is neededA silent failure and a "please reconnect" scramble
Platform audits / app review✓ Not required — we own the verified apps✗ Meta / TikTok / Google review, per platform
OAuth, token refresh & rotation✓ Handled server-side, per userBuild and maintain per platform, forever
Platforms covered✓ 9, one request shape9 separate APIs to integrate
Post status & delivery✓ 14 webhook events across the post lifecycleBuild a queue and poll each platform yourself
Partner Portal: 14 webhook events delivering post status, retries and failures back to your product
Fourteen webhook events deliver post status, retries and failures straight to your product — reflect them in your own UI, no polling.
Pricing

Pricing that protects your margin

A flat platform fee plus a small fee per active account — you pay for accounts that publish, not for every seat or dormant profile on your roster.

White-Label · one pricing model
$200/ mo+$1per active account
Talk to the founder

How it works

An active account is one that publishes at least one post that month. Connected-but-idle accounts are not billed — connect as many as you like and pay only for the ones that actually post. Your cost tracks usage, not seats or profiles.

Worked example
  • 1,000 connected accountsconnect freely
  • 300 active this month300 × $1 = $300
  • $200 + $300$500/mo
Startup support. Still pre-launch or in beta? We waive fees until you launch — discussed individually, so you can build the integration risk-free.
Want the full integration spec first? Read the white-label developer guide →

Frequently asked questions

9 platforms across every client, none to maintain

Each client connects any of these from one connect step in your product — and your agency maintains none of them.

Run every client's social from one API

Talk to the founder about white-label access for your agency, or open the app and try publishing first. No per-platform audits, pay only for accounts that post.