Post from your own code, not just our app
A clean REST API for everything PostRocket does: create and schedule posts, write captions, plan campaigns and run workflows, all with one key.
7-day free trial on every plan. Cancel anytime.
$ curl -X POST https://api.postrocket.co/v1/posts \
-H "X-API-Key: $POSTROCKET_API_KEY" \
-d @post.json
HTTP/1.1 201 Created
{
"id": "pst_4Qm9",
"status": "queued",
"channels": ["instagram", "linkedin"],
"scheduled_at": "2026-11-12T17:00:00Z"
}A small, predictable API surface
Resources are grouped the way you think about them. Pick a group and an endpoint to see what it returns.
/v1/postsCreate a post and publish now, schedule it or save a draft.
{ "id": "pst_4Qm9", "status": "queued" }Authenticate in three lines
- One header, no OAuth dance for server-to-server calls
- Separate keys per app or environment
- Revoke or rotate a key at any time
curl https://api.postrocket.co/v1/me \
-H "X-API-Key: pr_live_••••••••••••3f9a"
# → { "workspace": "Juniper Plant Co.", "plan": "team" }Schedule a post in the language you already use
The same request in cURL, JavaScript, Python and PHP. Copy it, swap in your key and brand ID, run it.
curl -X POST https://api.postrocket.co/v1/posts \
-H "X-API-Key: $POSTROCKET_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"brand_id": "brd_8f2k",
"channels": [
"instagram",
"linkedin"
],
"text": "Spring workshop seats are open 🌿 Learn to repot without the mess.",
"media_urls": [
"https://example.com/workshop.jpg"
],
"scheduled_at": "2026-11-12T17:00:00Z"
}'Requests return fast; publishing happens in the background
Creating a post returns 201 with an ID immediately. Check GET /v1/posts/{id} to follow it through each status.
- Queued
Accepted and waiting for its time slot. You get the post ID straight away.
- Publishing
Being sent to each channel. Networks can take a few seconds to confirm.
- Published
Live. The post includes a link to the published version on every channel.
- Failed
A channel refused it. The reason is attached so you can fix and retry.
Treat your own app like another channel
- Schedule to it like any other channel
- Text, media URLs and timing in one payload
- Mix it with social channels in the same post
POST https://your-app.example.com/hooks/postrocket
Content-Type: application/json
{
"event": "post.publish",
"post_id": "pst_4Qm9",
"brand": "Juniper Plant Co.",
"text": "Spring workshop seats are open 🌿",
"media": ["https://cdn.postrocket.co/m/workshop.jpg"],
"scheduled_at": "2026-11-12T17:00:00Z"
}Ideas to get you building
Share every new blog post
Schedule from a spreadsheet
Captions inside your product
Kick off a workflow
Plan a campaign from your CRM
Report on what went out
Questions
Something else? Ask us
How do I get an API key?
Do API calls use credits?
Which networks can I post to through the API?
Is publishing instant?
Should I use the API or MCP?
How do I keep my key safe?
Get your API key and ship your first post
7-day free trial on every plan. Cancel anytime.
