Public API

One API.
Every network.

Schedule posts, upload media, and read analytics for every network PublishBuddy supports, from your own code. It is the same engine that runs the app, so what works in the composer works over HTTP.

Base URL: https://api.publishbuddy.com/v1

POST /v1/workspaces/{workspace}/posts

curl -X POST "https://api.publishbuddy.com/v1/workspaces/$WORKSPACE_ID/posts"   -H "Authorization: Bearer $PUBLISHBUDDY_TOKEN"   -H "Content-Type: application/json"   -d '{
    "posts": [{
      "profile_id": "3a4b5c6d-7e8f-9a0b-1c2d-3e4f5a6b7c8d",
      "content": "Launching today. Meet our new feature.",
      "media_ids": ["9b1f2c3d-5a6e-7f8a-9b0c-1d2e3f4a5b6c"],
      "status": "waiting",
      "publish_type": "schedule_using_fixed_datetime",
      "scheduled_for": "2026-10-01T09:00:00Z"
    }]
  }'

Response

HTTP/1.1 201 Created
{
  "data": [{
    "id": "9b1f2c3d-5a6e-7f8a-9b0c-1d2e3f4a5b6c",
    "group_id": "2f39921e-4c1a-4f3e-8f2a-6b7c8d9e0f1a",
    "profile_id": "3a4b5c6d-7e8f-9a0b-1c2d-3e4f5a6b7c8d",
    "status": "waiting",
    "publish_type": "schedule_using_fixed_datetime"
  }],
  "message": "Post(s) created successfully."
}

What you can build

Wire social into the tools
you already run.

Publish from your CMS

Pipe posts from your CMS, a spreadsheet, or an internal tool straight into a profile's queue. Write it once, let the API handle the rest.

Bulk media uploads

Move thousands of images and videos into the media library, sorted into folders, without dragging a single file.

Analytics in your warehouse

Pull profile, post, and best-time metrics into your own BI dashboards. Every number the app shows is available as JSON.

Client portals and internal tools

Build approval flows, content dashboards, and agency client portals on the same data the app uses.

Automations and AI agents

Anything that can make an HTTP request can post: workflow tools, cron jobs, or an agent you built yourself.

Multi-brand agencies

One token sees every workspace you have access to. Build the integration once and reuse it for every client.

Endpoints

Posts, media, analytics.
All of it.

Everything the app can do with a post, a file, or a metric is an endpoint. Timestamps are ISO 8601 in UTC, IDs are UUIDs, and list endpoints paginate the same way everywhere.

  • Workspaces

    List the workspaces your token can see. Every other call is scoped to one of them.

    • GET /workspaces
  • Profiles

    Every connected social account in a workspace, with its network, connection status, and whether it has a posting queue.

    • GET /workspaces/{workspace}/profiles
  • Posts

    Create up to 10 posts in one request, one per profile, linked by a shared group id. Publish now, schedule a date and time, or drop into the queue. Update, cancel, or retry a failed post. Per-network settings cover Reels, Stories, TikTok privacy, YouTube titles, Pinterest boards, and Facebook calls to action.

    • POST /workspaces/{workspace}/posts
    • GET /posts/{post}
    • PUT /posts/{post}
    • PUT /posts/{post}/retry
    • DELETE /posts/{post}
  • Media library

    Upload straight to storage with pre-signed URLs, up to 10 files per request, then organize them into folders.

    • POST /workspaces/{workspace}/media_contents/presign
    • POST /workspaces/{workspace}/media_contents/confirm
    • GET /workspaces/{workspace}/media_library/folders
  • Analytics and hashtags

    Workspace and profile summaries, per-profile metrics over time, best times to post, and which hashtags actually earn engagement.

    • GET /analytics/workspaces/{workspace}
    • GET /analytics/profiles/{profile}
    • GET /analytics/best_times
    • GET /profiles/{profile}/hashtags

# Create a token, then ask for your workspaces

curl https://api.publishbuddy.com/v1/workspaces \

-H "Authorization: Bearer 12|aBcDeF..."

# Response headers

X-RateLimit-Limit: 60

X-RateLimit-Remaining: 59

{ "data": [ { "id": "9b1f2c3d-...", "name": "Acme Marketing" } ] }

Built for developers

The boring parts,
done right.

No OAuth dance to get started, no SDK to install, no surprises in the response shape. Get a token, make a request, ship.

  • Scoped personal access tokens. Create a token in User Settings, tick only the abilities it needs (workspaces, profiles, posts, media, analytics), and revoke it any time.
  • JSON in, JSON out. Every response wraps its payload in a data field. Errors come back with a readable message and, for validation, the exact field that failed.
  • Rate limits you can plan around. 60 requests a minute on standard endpoints, 1,000 a minute on posts and media. Every response tells you how much budget is left.
  • OpenAPI spec and a live playground. The reference is generated from our OpenAPI 3.1 spec. Paste your token into any endpoint page and run the request from the docs.
  • Versioned in the URL. The current version is v1. Breaking changes get a new prefix and the old one keeps working for at least 12 months.

Included on Pro and Business

No developer tier. No per-call fees.

API access comes with Pro at $29 a month and Business at $49 a month, alongside everything else in the plan. The Free plan does not include it. Try either paid plan free for 14 days, no credit card required.

Rather talk to it?

If you would rather have Claude or Cursor drive PublishBuddy than write the HTTP calls yourself, connect our MCP server. Same data, same actions, in plain language.

Full documentation, guides, and the OpenAPI spec live at docs.publishbuddy.com.

FAQs

Quick answers to the questions we get asked most. Can't find what you're looking for? Reach out to our support team and we'll get back to you promptly.

Pro and Business. The Free plan does not include API access. If you start a 14-day trial of Pro or Business you can use the API during the trial, no credit card required.

Your social media.
One platform.
See what's working. Do more of it.

Join creators, agencies, and businesses who manage their social media smarter. Start for Free, no credit card, no commitment.