Platforms
The rules each network enforces, as postpeg checks them before publishing. This page is generated from the same definitions the API validates against.
Limits and media
Text is counted in characters as people see them: an emoji or an accented letter is one. A post that breaks a rule is refused with 400 before anything is sent; see Validation.
| Network | Max text | Media | Images | Videos | Required options |
|---|---|---|---|---|---|
| X | 280 | Optional | 4 | 1 | None |
| 2,200 | Required | 10 | 10 | None | |
| 63,206 | Optional | 10 | 1 | None | |
| 3,000 | Optional | 20 | 1 | None | |
| TikTok | 2,200 | Required | 35 | 1 | None |
| YouTube | 5,000 | Video required | None | 1 | youtube.title |
| Threads | 500 | Optional | 20 | 20 | None |
| 500 | Required | 1 | 1 | pinterest.board_id | |
| Bluesky | 300 | Optional | 4 | None | None |
| Google Business | 1,500 | Optional | 1 | None | None |
Images and video can be mixed in one post only on Instagram and Threads. Required options go in platform_options; see Platform options.
TikTok takes one video, or images for a photo post. TikTok fetches a photo post’s images itself, and only from postpeg’s verified media address, so they must be hosted by postpeg: the slides of a carousel, or files uploaded with POST /v1/media. They must be JPEG or WebP; other images fail when the post is sent. The first line of the text becomes the photo post’s title.
Features
| Network | Publish | Schedule | Analytics | Comments | Messages | Connect with |
|---|---|---|---|---|---|---|
| X | Yes | Yes | Yes | Not available | Not available | OAuth |
| Yes | Yes | Yes | Yes | Yes | OAuth | |
| Yes | Yes | Yes | Yes | Not available | OAuth | |
| Yes | Yes | Yes | Yes | Not available | OAuth | |
| TikTok | Yes | Yes | Yes | Not available | Not available | OAuth |
| YouTube | Yes | Yes | Yes | Not available | Not available | OAuth |
| Threads | Yes | Yes | Not available | Yes | Not available | OAuth |
| Yes | Yes | Yes | Not available | Not available | OAuth | |
| Bluesky | Yes | Yes | Not available | Not available | Not available | App password |
| Google Business | Yes | Yes | Not available | Not available | Not available | OAuth |
Every network also supports cancelling a scheduled post. Calling a feature a network doesn’t have returns a 400 naming it.
The platforms endpoint
GET/v1/platforms
The same data as JSON, with no key needed: name, capabilities, max_text, media_required and how accounts connect (oauth or app_password).
curl https://api.postpeg.com/v1/platforms