Get Posting Help Center

Search the help center for answers about accounts, scheduling, publishing, media, analytics, and more.

Getting started

Get Posting publishes one post to all your social accounts at once. Here's the quick version.

1

Connect accounts

Add your social profiles in Settings → Accounts. Each one becomes a place you can post to.

2

Write once

Compose a single post and pick every account that should receive it.

3

Tailor per platform

Only adjust copy, media, or settings for the platforms that need something different.

4

Publish or schedule

Clear any flagged issues, then post now or schedule it. Track delivery from your calendar.

Delete a workspace

Workspace owners can delete a workspace in Settings → Organization & Billing. Cancel the subscription first. If you have already cancelled and access still runs until the period ends, deletion finishes the cancellation immediately so nothing renews.

Deletion removes Get Posting copies of posts, drafts, media, inbox, automations, API keys, and MCP connections, and disconnects social accounts. Posts already published on Instagram, X, or other platforms stay there. Payment records are kept for accounting. If this was your last workspace, your login is closed too.

Account groups

Bundle accounts into a group for a client, brand, or project. Select the whole group to publish to it in one go, and filter your analytics down to just those accounts.

Media library

A shared space across your whole organization. Use it to plan posts ahead and share assets with your team — it's not meant for long-term storage.

Files are automatically deleted 90 days after they're published or become stale. Keep your original files in permanent storage.

Analytics

See what's working across your accounts so you know what to post more of. We pull as much history as each platform shares, then keep collecting from the moment an account is connected — so the picture gets richer the longer you post with Get Posting.

Limits at a glance

These checks run before a post can be published or scheduled. Platform rules can still change outside the app.

Posting limits for every supported social platform
PlatformTextImagesVideoMedia required
X2804 files · 5 MB each1 file · 512 MBNo
Instagram2,20010 files · 8 MB each10 files · 300 MB eachYes
Threads50010 files · 8 MB each1 file · 1 GBNo
Facebook63,20610 files · 4 MB each1 file · 4 GBNo
LinkedIn3,00020 files · 8 MB each1 file · 5 GBNo
TikTok2,20035 files · 20 MB each1 file · 4 GBYes
YouTube5,000Not supported1 file · 256 GBYes

X

Settings

No platform-specific settings — this platform publishes the shared post as-is.

Limits

Text

Limit
Up to 280 characters
Post
Text, media, or both

Images

Count
Up to 4
File size
Up to 5 MB
Exceptions
GIF: 15 MB
Formats
JPEG, PNG, WEBP, GIF
Width
4px to 8,192px
Height
4px to 8,192px

Video

Count
Up to 1
File size
Up to 512 MB
Formats
MP4, MOV
Minimum
1 sec
Maximum
2 min 20 sec
Width
32px to 1,920px
Height
32px to 1,200px
  • Native thread sequences are supported.
  • Posts can use text, media, or both.
  • Images and video can't be mixed in one post.
  • Links count as 23 characters and emoji can use two characters.
  • A GIF must be posted alone and is limited to 1280 x 1080 px.

Instagram

Settings

Choose the post format plus the common Reel, audio, and AI-label options.

Options you can set

  • Post type: Feed, Story, or Reel
  • Share Reel to feed
  • AI-generated media
  • Custom audio name: Reels only

Defaults

  • Post type: Feed
  • Share Reel to feed: On
  • AI-generated media: Off
  • Custom audio name: None

Not yet exposed by Get Posting: firstComment, collaborators, userTags, trialParams, thumbOffset, instagramThumbnail.

Limits

Text

Limit
Up to 2,200 characters
Post
Text plus required media

Images

Count
Up to 10
File size
Up to 8 MB (auto-compressed if larger)
Formats
JPEG, PNG

Video

Count
Up to 10
File size
Up to 300 MB (auto-compressed if larger)
Formats
MP4, MOV
Minimum
3 sec
Maximum
1 hr
  • Images and video can be mixed in one post.
  • Media is required for this platform.
  • Threads aren't supported — use a custom single post when the shared post is a thread.
  • Feed carousels support 10 total media items. Stories and Reels require one item.

Threads

Settings

Optionally set a topic tag for discovery instead of relying on automatic hashtag extraction.

Options you can set

  • Topic tag: Up to 50 characters; no periods or ampersands

Defaults

  • Topic tag: Automatic

Limits

Text

Limit
Up to 500 characters
Post
Text, media, or both

Images

Count
Up to 10
File size
Up to 8 MB (auto-compressed if larger)
Formats
JPEG, PNG, WEBP, GIF

Video

Count
Up to 1
File size
Up to 1 GB
Formats
MP4, MOV
Maximum
5 min
Aspect ratio
9:16, 16:9, 1:1
  • Native thread sequences are supported.
  • Posts can use text, media, or both.
  • Images and video can't be mixed in one post.
  • Thread sequences are supported; each post is validated independently.

Facebook

Settings

Choose the post format and whether feed posts or Reels publish as drafts with optional titles.

Options you can set

  • Post type: Feed, Story, or Reel
  • Create as draft: Feed posts and Reels only
  • Reel title

Defaults

  • Post type: Feed
  • Create as draft: Off
  • Reel title: None

Not yet exposed by Get Posting: firstComment, carouselCards, carouselLink, geoRestriction.

Limits

Text

Limit
Up to 63,206 characters
Post
Text, media, or both

Images

Count
Up to 10
File size
Up to 4 MB
Formats
JPEG, PNG, GIF, WEBP

Video

Count
Up to 1
File size
Up to 4 GB
Formats
MP4, MOV
Minimum
1 sec
Maximum
4 hr
  • Posts can use text, media, or both.
  • Images and video can't be mixed in one post.
  • Threads aren't supported — use a custom single post when the shared post is a thread.
  • Stories require one media item; Reels require one 3-60 second video.

LinkedIn

Settings

Control whether links generate a preview card.

Options you can set

  • Disable link preview

Defaults

  • Disable link preview: Off

Not yet exposed by Get Posting: firstComment, documentTitle, organizationUrn, reshareUrl, geoRestriction.

Limits

Text

Limit
Up to 3,000 characters
Post
Text, media, or both

Images

Count
Up to 20
File size
Up to 8 MB
Formats
JPEG, PNG, GIF
Width
552px to 8,192px
Height
276px to 8,192px

Video

Count
Up to 1
File size
Up to 5 GB
Formats
MP4, MOV, AVI
Minimum
3 sec
Maximum
10 min
Aspect ratio
1:2.4 to 2.4:1
Width
256px to 4,096px
Height
144px to 2,304px
  • Posts can use text, media, or both.
  • Images and video can't be mixed in one post.
  • Threads aren't supported — use a custom single post when the shared post is a thread.
  • The 10-minute video limit uses the personal-profile limit; company pages allow 30 minutes.
  • Get Posting currently supports image and video media only; documents aren't supported yet.

TikTok

Settings

Choose whether new TikToks publish directly or go to TikTok drafts, plus their starting privacy and audience settings.

Options you can set

  • Send to TikTok drafts: Uploads to the creator's TikTok inbox for final editing
  • Privacy level: Public, Friends, Followers, or Only me
  • Allow comments
  • Allow duets
  • Allow stitches

Defaults

  • Send to TikTok drafts: Off
  • Privacy level: Public
  • Allow comments: Allowed
  • Allow duets: Allowed
  • Allow stitches: Allowed

Not yet exposed by Get Posting: video_cover_timestamp_ms, video_cover_image_url, photo_cover_index, description, auto_add_music, commercialContentType.

Limits

Text

Limit
Up to 2,200 characters
Post
Text plus required media

Images

Count
Up to 35
File size
Up to 20 MB
Formats
JPEG, PNG, WEBP
Aspect ratio
9:16

Video

Count
Up to 1
File size
Up to 4 GB
Formats
MP4, MOV, WEBM
Minimum
3 sec
Maximum
10 min
Aspect ratio
9:16
  • Media is required for this platform.
  • Images and video can't be mixed in one post.
  • Threads aren't supported — use a custom single post when the shared post is a thread.
  • Photo titles are limited to 90 characters; video captions allow 2,200.
  • Allowed privacy levels and posting limits are creator-specific and are not yet synced into Get Posting.

YouTube

Settings

A lightweight subset of YouTube's upload options.

Options you can set

  • Title & description
  • Visibility: Public, Unlisted, or Private — set Private to test without publishing
  • Made for kids (COPPA): Enabling it permanently disables comments, end screens, and personalized ads
  • Synthetic media disclosure (AI): Flags AI-generated or altered realistic content for viewers
  • Category: YouTube video category for the upload
  • Custom thumbnail: JPEG, PNG, or GIF up to 2 MB; regular videos only
  • Short vs. long-form: Channel assumed verified, so videos up to 12 hours are allowed

Defaults

  • Title & description: Title required; description from the shared post
  • Visibility: Public
  • Made for kids (COPPA): Off
  • Synthetic media disclosure (AI): Off
  • Category: People & Blogs
  • Custom thumbnail: None
  • Short vs. long-form: Auto-detected from duration and aspect ratio

Not yet exposed by Get Posting: firstComment, playlistId.

Limits

Text

Limit
Up to 5,000 characters
Post
Text plus required media

Images

Not supported.

Video

Count
Up to 1
File size
Up to 256 GB
Formats
MP4, MOV, AVI, X-MS-WMV, X-FLV, 3GPP, WEBM
Minimum
1 sec
Maximum
12 hr
Aspect ratio
9:16, 16:9
  • Media is required for this platform.
  • Images and video can't be mixed in one post.
  • Threads aren't supported — use a custom single post when the shared post is a thread.
  • Uploads assume a verified channel, so videos up to 12 hours are allowed. Unverified channels are capped at 15 minutes by YouTube.

Connect an AI assistant

Connect ChatGPT, Claude, Hermes, OpenClaw, OpenCode, or another compatible MCP client to one Get Posting workspace.

1

Add Get Posting

Add https://getposting.com/mcp as a connector in your assistant. There's no API key to generate or paste.

2

Choose a workspace

Sign in to Get Posting, pick the workspace to share, and approve posting access.

3

Ask before it acts

Tell the assistant what to draft or schedule, then check what it wants to post before you approve.

What it can do

Look at your accounts and posts, add an image or video to your library or reuse one already there, write and edit drafts, check them against each platform's rules, schedule them, and report on how the last month performed. It can also pull a scheduled post back to a draft to change it. Ask for something to go out now and it schedules a minute ahead.

Not connected to it yet

Replying to comments and DMs, automations, and account groups stay in the dashboard for now. It can't delete anything, by design. If one of those is what you want your assistant doing, tell us and it helps us pick what to build next.

Members can look but not act. Owners and admins can write, schedule, and reschedule. Either way, the assistant only ever reaches the one workspace you picked when you signed in.

You can review or disconnect your own connections under Settings → MCP Apps. Removing a member from the workspace also removes that member's MCP access.

ChatGPT apps are set up and used on the web. Claude connectors are added on web or desktop, then work on mobile too. Command-line clients need remote Streamable HTTP with OAuth, using MCP 2026-07-28. SSE, local stdio, and API-key authentication aren't supported.

Open the AI connector guide

Get Posting API

Automate publishing with the same safe flow as the dashboard: create a draft, check its validation, then publish or schedule it.

Get started

1

Create a key

Open Settings → API and store the secret in your server's secret manager.

2

Authenticate

Send it as a Bearer token from server-side code only.

3

Draft, validate, publish

Create a composition, fix any validation errors, then publish or schedule it.

Authentication

Every request uses the same base URL and a workspace API key.

Base URL

https://getposting.com/api/v1

Header

Authorization: Bearer gp_live_...
Authenticated request
curl https://getposting.com/api/v1/accounts \
  --header "Authorization: Bearer $GET_POSTING_API_KEY"

Keys are server-side secrets. Never put one in browser code, public repositories, logs, or URLs.

Accounts

Discover connected social accounts before building composition targets.

GET/accounts

List visible accounts. Supports limit and cursor pagination.

List accounts
curl "https://getposting.com/api/v1/accounts?limit=100" \
  --header "Authorization: Bearer $GET_POSTING_API_KEY"

Use the returned acct_... ID as a target's accountId, and check canPost before publishing.

Media

Media is reusable across compositions. Images and videos are both supported.

GET/media

List or search media with limit, cursor, and an optional query.

POST/media

Upload one file using multipart/form-data with file and an optional name.

Upload media
curl https://getposting.com/api/v1/media \
  --request POST \
  --header "Authorization: Bearer $GET_POSTING_API_KEY" \
  --form "file=@launch.mp4"

Attach the returned media_... ID to content, not its URL. Retrying an upload can create a duplicate.

Compositions

A composition is one shared post with one or more account targets. Create and edit it as a draft before publishing.

GET/compositions

List compact summaries. Supports status, text search, schedule filters, limit, and cursor.

POST/compositions

Create a draft and receive full composition detail with validation.

GET/compositions/{compositionId}

Read resolved content, targets, validation, delivery state, and the dashboard URL.

PATCH/compositions/{compositionId}

Update a draft's content or replace its complete target array.

DELETE/compositions/{compositionId}

Delete a composition when its delivery state still allows removal.

Create a draft
curl https://getposting.com/api/v1/compositions \
  --request POST \
  --header "Authorization: Bearer $GET_POSTING_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{"content":{"kind":"single","text":"Launch day","mediaIds":[]},"targets":[{"accountId":"acct_123"}]}'

Creating a composition never publishes it. Store the returned comp_... ID and check its validation first.

Publish and schedule

Publishing is explicit. The same endpoint publishes immediately or schedules a future local time.

POST/compositions/{compositionId}/publish

Publish now with at: now, or schedule with a local time and optional IANA time zone.

POST/compositions/{compositionId}/reschedule

Move a scheduled composition without changing its content or targets.

POST/compositions/{compositionId}/cancel

Unschedule a composition and return it to an editable draft.

POST/compositions/{compositionId}/retry

Retry all retryable failed targets on a partial or failed composition.

Schedule a composition
curl https://getposting.com/api/v1/compositions/comp_123/publish \
  --request POST \
  --header "Authorization: Bearer $GET_POSTING_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{"at":"2026-08-20T09:30:00","timeZone":"Australia/Perth"}'

Scheduled at values are local wall-clock times (no Z or offset). Poll composition detail for outcomes; there are no webhooks yet.

Validation and errors

Compositions include structured validation, and every HTTP failure uses one predictable error envelope.

Error response
{
  "error": {
    "code": "validation_failed",
    "message": "Composition is not ready to publish.",
    "requestId": "req_123"
  }
}
  • Fix validation errors before publishing. Warnings do not block the request.
  • Writes use strict JSON. Unknown fields, read-only fields, and null values are rejected.
  • List endpoints are paginated. Follow nextCursor until it is null.
  • The limit is 60 requests per workspace per minute. Honor Retry-After after a 429.
  • Do not blindly retry uncertain draft or media creation. Inspect existing resources first.
  • Keep the X-Request-Id header or requestId field when asking for support.
Revoke an exposed or unused key in Settings → API, then create a replacement.
Morgan Hvidt, founder of Get Posting

Hey, can't find what you're looking for?

Talk to me — Morgan

Founder of Get Posting

Send me a message through live chat, or write on the contact page. If I'm not around, a human from the team can help.

Send a message