PostRite

Schedule and publish to 12+ social media platforms from one dashboard.

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeCan modify data

What it can do

  • List Posts: List the organization's posts, newest first. Use this to find a post's ID before getting, updating, rescheduling, cancelling, or retrying it. Filter by status or a scheduled-time window. R
  • Get Post: Fetch a single post by ID, including its per-platform targets and status, platform options (metadata), and media (referenced by ID).
  • Validate Post: Run every validation create_post would run — platform rules, media checks, scheduling, connections, metadata shape — without saving anything. Takes the exact same input as create_post a

What data it sees

Do you need an account

No: the server works without sign-in

Schedule and publish to 12+ social media platforms from one dashboard.

Server tool list (27)

Raw names from tools/list. Only developers need these.

list_postsList the organization's posts, newest first. Use this to find a post's ID before getting, updating, rescheduling, cancelling, or retrying it. Filter by status or a scheduled-time window. Returns compact post summaries (draft posts have scheduledAt: null; use get_post for full detail).
get_postFetch a single post by ID, including its per-platform targets and status, platform options (metadata), and media (referenced by ID).
validate_postRun every validation create_post would run — platform rules, media checks, scheduling, connections, metadata shape — without saving anything. Takes the exact same input as create_post and returns { valid, submissionIntent, errors, warnings }; each entry has field/message/errorKey/platform. Call this first when unsure a payload is publishable: you get the full problem list in one call instead of leaving broken drafts behind. Platform rules (enforced by the API — validate_post checks all of them): - Facebook: ≤63206 chars, ≤10 images, ≤1 videos, video 1–14400s, supports first comment - Instagram: ≤2200 chars, media REQUIRED, ≤10 images, ≤1 videos, video 3–90s, supports first comment - Threads: ≤500 chars, ≤10 images, ≤1 videos, video 0–300s, supports first comment - X (Twitter): ≤280 chars (25000 premium), ≤4 images, ≤1 videos, supports first comment - LinkedIn: ≤3000 chars, ≤9 images, ≤1 videos, video 3–1800s - TikTok: ≤2200 chars, media REQUIRED, ≤35 images, ≤1 videos, video 3–600s - YouTube: ≤5000 chars, VIDEO REQUIRED, ≤1 images, ≤1 videos - Telegram: ≤4096 chars, ≤10 images, ≤1 videos - WhatsApp: ≤65536 chars, ≤1 images, ≤1 videos - Pinterest: ≤500 chars, media REQUIRED, ≤5 images, ≤1 videos, video 4–900s - Google Business: ≤1500 chars, ≤10 images, ≤1 videos - Discord: ≤2000 chars, ≤10 images, ≤1 videos - Bluesky: ≤300 chars, ≤4 images, ≤1 videos, video 0–180s - Mastodon: ≤500 chars, ≤4 images, ≤1 videos - Pinterest: requires metadata.pinterest.boardId - Discord bot connections: require metadata.discord.channels (map of platformConnectionId -> channelId) - WhatsApp: requires metadata.whatsappRecipient (phone number) - TikTok photo carousels: metadata.tiktokOptions.photoTitle is an optional headline of ≤90 chars (derived from the caption's first line when omitted); the caption itself is sent as the description (≤4000) - Instagram contentType REEL: exactly 1 video, 3–900s - Instagram contentType STORY: exactly 1 media, video 1–60s, no caption
create_postCreate a post targeting one or more connected platform accounts. Control what happens with submissionIntent: 'draft' (save only — the response then carries advisory validationWarnings listing anything that must be fixed before scheduling), 'publish-now', or 'schedule' with a future ISO-8601 scheduledAt. platformConnectionIds come from list_platform_connections; the API assigns each connection its platform's canonical posting destination. Attach media with mediaIds (stable library IDs from list_media / import_media_from_url — preferred over URLs). Set platform-specific options via metadata (first comment, YouTube/TikTok/Instagram settings), override text per platform with platformContents, and set requiresApproval + approvalEmail to route the post through external approval. When unsure the payload is valid, call validate_post first with the same input. Platform rules (enforced by the API — validate_post checks all of them): - Facebook: ≤63206 chars, ≤10 images, ≤1 videos, video 1–14400s, supports first comment - Instagram: ≤2200 chars, media REQUIRED, ≤10 images, ≤1 videos, video 3–90s, supports first comment - Threads: ≤500 chars, ≤10 images, ≤1 videos, video 0–300s, supports first comment - X (Twitter): ≤280 chars (25000 premium), ≤4 images, ≤1 videos, supports first comment - LinkedIn: ≤3000 chars, ≤9 images, ≤1 videos, video 3–1800s - TikTok: ≤2200 chars, media REQUIRED, ≤35 images, ≤1 videos, video 3–600s - YouTube: ≤5000 chars, VIDEO REQUIRED, ≤1 images, ≤1 videos - Telegram: ≤4096 chars, ≤10 images, ≤1 videos - WhatsApp: ≤65536 chars, ≤1 images, ≤1 videos - Pinterest: ≤500 chars, media REQUIRED, ≤5 images, ≤1 videos, video 4–900s - Google Business: ≤1500 chars, ≤10 images, ≤1 videos - Discord: ≤2000 chars, ≤10 images, ≤1 videos - Bluesky: ≤300 chars, ≤4 images, ≤1 videos, video 0–180s - Mastodon: ≤500 chars, ≤4 images, ≤1 videos - Pinterest: requires metadata.pinterest.boardId - Discord bot connections: require metadata.discord.channels (map of platformConnectionId -> channelId) - WhatsApp: requires metadata.whatsappRecipient (phone number) - TikTok photo carousels: metadata.tiktokOptions.photoTitle is an optional headline of ≤90 chars (derived from the caption's first line when omitted); the caption itself is sent as the description (≤4000) - Instagram contentType REEL: exactly 1 video, 3–900s - Instagram contentType STORY: exactly 1 media, video 1–60s, no caption
update_postUpdate a draft or scheduled post's content, targets, media (prefer mediaIds), schedule/intent (submissionIntent), platform-specific options (metadata), per-platform text/media overrides, or approval settings. Draft saves return advisory validationWarnings instead of blocking. Use validate_post to pre-check a payload. Platform rules (enforced by the API — validate_post checks all of them): - Facebook: ≤63206 chars, ≤10 images, ≤1 videos, video 1–14400s, supports first comment - Instagram: ≤2200 chars, media REQUIRED, ≤10 images, ≤1 videos, video 3–90s, supports first comment - Threads: ≤500 chars, ≤10 images, ≤1 videos, video 0–300s, supports first comment - X (Twitter): ≤280 chars (25000 premium), ≤4 images, ≤1 videos, supports first comment - LinkedIn: ≤3000 chars, ≤9 images, ≤1 videos, video 3–1800s - TikTok: ≤2200 chars, media REQUIRED, ≤35 images, ≤1 videos, video 3–600s - YouTube: ≤5000 chars, VIDEO REQUIRED, ≤1 images, ≤1 videos - Telegram: ≤4096 chars, ≤10 images, ≤1 videos - WhatsApp: ≤65536 chars, ≤1 images, ≤1 videos - Pinterest: ≤500 chars, media REQUIRED, ≤5 images, ≤1 videos, video 4–900s - Google Business: ≤1500 chars, ≤10 images, ≤1 videos - Discord: ≤2000 chars, ≤10 images, ≤1 videos - Bluesky: ≤300 chars, ≤4 images, ≤1 videos, video 0–180s - Mastodon: ≤500 chars, ≤4 images, ≤1 videos - Pinterest: requires metadata.pinterest.boardId - Discord bot connections: require metadata.discord.channels (map of platformConnectionId -> channelId) - WhatsApp: requires metadata.whatsappRecipient (phone number) - TikTok photo carousels: metadata.tiktokOptions.photoTitle is an optional headline of ≤90 chars (derived from the caption's first line when omitted); the caption itself is sent as the description (≤4000) - Instagram contentType REEL: exactly 1 video, 3–900s - Instagram contentType STORY: exactly 1 media, video 1–60s, no caption
delete_postArchive a post. This is reversible from the app but removes it from the active list.
cancel_postCancel a scheduled post so it will not publish. Only works on SCHEDULED posts.
reschedule_postMove a scheduled post to a new time. Only works on SCHEDULED posts.
retry_postRetry publishing a FAILED or PARTIALLY_PUBLISHED post to the platforms that did not succeed.
resend_approvalRe-send the external approval email for a post to its approver(s) — works while it is PENDING_APPROVAL, or after the link expired (mints a fresh link). To list posts awaiting approval, use list_posts with status PENDING_APPROVAL.
get_approval_eventsReturn the approval timeline of a post (requested / resent / reminded / approved / rejected / changes-requested / expired), each with the actor email, optional note, and timestamp.
list_templatesList the organization's reusable content templates. Use this to find a template ID.
get_templateFetch a single template by ID, including its per-network text and media overrides and its network options.
create_templateCreate a reusable content blueprint. Beyond the shared text and media, a template can target specific networks (platforms) and carry a different body or different media per network (platformContent), plus the portable network options (metadata) such as a YouTube title or Instagram collaborators. Attach media with mediaIds from list_media / import_media_from_url. Account-bound settings — Pinterest board, Discord channel, WhatsApp recipient, TikTok privacy — are NOT part of a template; set those on the post or automation that publishes it. Platform rules (enforced by the API — validate_post checks all of them): - Facebook: ≤63206 chars, ≤10 images, ≤1 videos, video 1–14400s, supports first comment - Instagram: ≤2200 chars, media REQUIRED, ≤10 images, ≤1 videos, video 3–90s, supports first comment - Threads: ≤500 chars, ≤10 images, ≤1 videos, video 0–300s, supports first comment - X (Twitter): ≤280 chars (25000 premium), ≤4 images, ≤1 videos, supports first comment - LinkedIn: ≤3000 chars, ≤9 images, ≤1 videos, video 3–1800s - TikTok: ≤2200 chars, media REQUIRED, ≤35 images, ≤1 videos, video 3–600s - YouTube: ≤5000 chars, VIDEO REQUIRED, ≤1 images, ≤1 videos - Telegram: ≤4096 chars, ≤10 images, ≤1 videos - WhatsApp: ≤65536 chars, ≤1 images, ≤1 videos - Pinterest: ≤500 chars, media REQUIRED, ≤5 images, ≤1 videos, video 4–900s - Google Business: ≤1500 chars, ≤10 images, ≤1 videos - Discord: ≤2000 chars, ≤10 images, ≤1 videos - Bluesky: ≤300 chars, ≤4 images, ≤1 videos, video 0–180s - Mastodon: ≤500 chars, ≤4 images, ≤1 videos - Pinterest: requires metadata.pinterest.boardId - Discord bot connections: require metadata.discord.channels (map of platformConnectionId -> channelId) - WhatsApp: requires metadata.whatsappRecipient (phone number) - TikTok photo carousels: metadata.tiktokOptions.photoTitle is an optional headline of ≤90 chars (derived from the caption's first line when omitted); the caption itself is sent as the description (≤4000) - Instagram contentType REEL: exactly 1 video, 3–900s - Instagram contentType STORY: exactly 1 media, video 1–60s, no caption
update_templateUpdate a template's name, description, shared content or media, targeted networks, per-network overrides (platformContent), network options (metadata), or Instagram contentType. Only the fields you pass change. Pass platformContent as null to clear every per-network override, or metadata as null to clear the network options. Platform rules (enforced by the API — validate_post checks all of them): - Facebook: ≤63206 chars, ≤10 images, ≤1 videos, video 1–14400s, supports first comment - Instagram: ≤2200 chars, media REQUIRED, ≤10 images, ≤1 videos, video 3–90s, supports first comment - Threads: ≤500 chars, ≤10 images, ≤1 videos, video 0–300s, supports first comment - X (Twitter): ≤280 chars (25000 premium), ≤4 images, ≤1 videos, supports first comment - LinkedIn: ≤3000 chars, ≤9 images, ≤1 videos, video 3–1800s - TikTok: ≤2200 chars, media REQUIRED, ≤35 images, ≤1 videos, video 3–600s - YouTube: ≤5000 chars, VIDEO REQUIRED, ≤1 images, ≤1 videos - Telegram: ≤4096 chars, ≤10 images, ≤1 videos - WhatsApp: ≤65536 chars, ≤1 images, ≤1 videos - Pinterest: ≤500 chars, media REQUIRED, ≤5 images, ≤1 videos, video 4–900s - Google Business: ≤1500 chars, ≤10 images, ≤1 videos - Discord: ≤2000 chars, ≤10 images, ≤1 videos - Bluesky: ≤300 chars, ≤4 images, ≤1 videos, video 0–180s - Mastodon: ≤500 chars, ≤4 images, ≤1 videos - Pinterest: requires metadata.pinterest.boardId - Discord bot connections: require metadata.discord.channels (map of platformConnectionId -> channelId) - WhatsApp: requires metadata.whatsappRecipient (phone number) - TikTok photo carousels: metadata.tiktokOptions.photoTitle is an optional headline of ≤90 chars (derived from the caption's first line when omitted); the caption itself is sent as the description (≤4000) - Instagram contentType REEL: exactly 1 video, 3–900s - Instagram contentType STORY: exactly 1 media, video 1–60s, no caption
delete_templatePermanently delete a template.
list_platform_connectionsList the organization's connected social accounts. Use the returned connection IDs as platformConnectionIds when creating or updating a post.
get_platform_availabilityReport which platforms are currently disabled or under maintenance. Check this if publishing to a platform is failing unexpectedly.
get_billing_statusFetch the organization's plan, subscription status, post usage, and limits. Requires the organization owner role.
get_media_usageFetch the organization's media storage usage and quota.
list_mediaList the organization's media library (images/videos), newest first. Use the returned `id` values as mediaIds when creating or updating a post.
import_media_from_urlDownload an image or video from a public http(s) URL into the media library. The API validates the file type and size and blocks internal/private addresses. Returns the new media record (use its `id` as a mediaId on a post).
delete_mediaPermanently delete a media file from the library. Fails if the media is still attached to a post that has not published yet.
get_post_analyticsFetch per-platform engagement metrics for a post (views, likes, comments, shares, saves, clicks, impressions — whatever each platform exposes), including the daily snapshot series. Find post IDs with list_posts.
get_analytics_summaryFetch aggregated engagement for the organization's published posts in a period: metric totals, per-platform breakdown, and an engagement-gained-per-day series.
get_analytics_insightsInsights computed from the organization's own posting history over the last 12 months, in the organization's timezone: best day/time slots to post (by average lifetime engagement per publication), engagement by content type (text/image/video), weekly posting cadence vs engagement, and org averages. Sample counts are included — treat thin buckets as hints. Optionally restrict every block to one platform.
get_top_postsRank the organization's posts by an engagement metric over a period. Defaults to overall engagement (sum of all metrics).
PostRite: connect to Claude, ChatGPT, Cursor · Connectors.fun