List Social Posts

List the social posts in your workspace, newest first

Published


Overview#

Returns the social posts in your workspace — drafts waiting for review, scheduled posts, and everything already published or failed. This is the same history the Posts Log shows in your dashboard.

Use it to find a post's id before reading, editing, publishing or discarding it.

https://api.orshot.com/v1/social/posts

Request#

await fetch("https://api.orshot.com/v1/social/posts?status=draft&limit=10", {
  method: "GET",
  headers: {
    Authorization: "Bearer <ORSHOT_API_KEY>",
  },
});

Query Parameters#

ParameterTypeRequiredDescription
statusStringNoOnly posts in this state: draft, scheduled, published, processing, partial, failed
platformStringNoOnly posts targeting this platform, e.g. linkedin
account_idIntegerNoOnly posts targeting this connected account
limitIntegerNoPosts per page, 1–50 (default 25)
cursorIntegerNonext_cursor from a previous response, to fetch the next older page

Pass status=draft to list exactly the posts that are being held and have not reached any platform.

Post Object#

Every endpoint that returns a post returns this shape.

FieldTypeDescription
idIntegerPost ID. Use it with the other post endpoints
statusStringdraft, scheduled, published, processing, partial or failed
contentStringThe caption
media_urlsArrayMedia attached to the post
platformsArrayPlatform names this post targets
accountsArrayPer-account results — the detailed view of platforms
accounts[].account_idIntegerThe exact connected account. null on posts created before per-account results existed
accounts[].statusStringThis account's own outcome
accounts[].urlStringLink to the live post, once published
accounts[].errorStringWhy this account failed, when it did
is_editableBooleanWhether Orshot is still holding this post, i.e. whether it can be edited or published
is_discardableBooleanWhether it can be deleted — true unless at least one account already went live
scheduled_forStringWhen it will publish, if scheduled
published_atStringWhen it published
created_atStringWhen it was created
render_idIntegerThe render this post came from, when it was created by rendering a template

Branch on the two capability flags rather than on status — they are not the same test:

  • is_editable is true only while the post is held (draft or scheduled). Editing and publishing require it.
  • is_discardable is true unless at least one account already published. A failed post is discardable but not editable; a partial post is neither.

Error Responses#

Invalid cursor (400)#

{
  "error": "Invalid cursor",
  "message": "cursor must be a post id"
}

Unauthorized (403)#

{
  "error": "Access Forbidden"
}

Rate Limits#

  • 20 requests per minute per workspace, shared across all social endpoints

Ready to automate?

Start rendering images, PDFs and videos from your templates in under 2 minutes. Free plan, no credit card.

Get your API key
  • Image, PDF and video generation via API
  • Visual editor with AI and smart layouts
  • Zapier, Make, MCP and 50+ integrations
  • White-label embed for your own app
  • 30 free credits — no credit card required