GET/posts
List and filter posts with the PostEverywhere API
Post status is derived live from per-destination statuses (the raw `posts.post_status` column is frozen at creation). Multi-value filters (`status`, `platform`) accept comma-separated lists. Invalid filter values are silently dropped, not rejected.
Guides: Quick start: create your first post · Bulk operations guide
Parameters
| status | string | optional | Comma-separated list of: draft, scheduled, publishing, published, partially_failed, failed |
| platform | string | optional | Comma-separated list of: instagram, facebook, x, twitter, linkedin, youtube, tiktok, threads, pinterest, bluesky, telegram, discord, wordpress, google_business |
| account_id | integer | optional | Filter to posts targeting this social account (integer ID) |
| campaign_id | integer | optional | Filter to posts in this campaign (integer ID) |
| created_after | string | optional | |
| created_before | string | optional | |
| scheduled_after | string | optional | |
| scheduled_before | string | optional | |
| published_after | string | optional | |
| published_before | string | optional | |
| updated_after | string | optional | |
| search | string | optional | Case-insensitive substring match on post content |
| sort | string | optional | |
| order | string | optional | |
| limit | integer | optional | |
| offset | integer | optional | |
| approval | string | optional | Filter by approval workflow state. Separate axis from status: a pending post is also a draft. |
Responses
- 200Paginated posts
- 401
- 402
- 403
- 429
- 500