PostAtom docs

Platforms

What each platform accepts, generated from the declarations PostAtom enforces when it validates a post. A platform appears here when its adapter exists, not when it is planned — an empty row would be a promise.

PlatformPost kindsCharactersImagesVideoPlatform-side schedulingCommentsMetrics
Blueskytext, image, video, thread300 4 × 1 MB100 MB · 180sNoYesYes
Mastodontext, image, video, thread500 set per account4 × 10 MB40 MB · 300sYesYesYes
Facebook Pagestext, image, video, carousel63206 10 × 10 MB10000 MB · 14400sYesYesYes
Xtext, image, video, thread280 set per account4 × 5 MB512 MB · 140sNoYesYes
Instagramimage, video, carousel, story2200 10 × 8 MB1000 MB · 90sNoYesYes
Threadstext, image, video, carousel, thread500 20 × 8 MB1000 MB · 300sNoYesYes
TikTokvideo2200 —4000 MB · 60sNoNoYes
LinkedIntext, image, video, carousel3000 20 × 10 MB5000 MB · 1800sNoNoYes
Reddittext40000 ——NoYesYes
Pinterestimage, video, carousel500 5 × 20 MB2000 MB · 900sNoNoYes
YouTubevideo5000 —128000 MB · 43200sYesYesYes
Google Business Profiletext, image1500 1 × 5 MB—NoNoYes
Sandboxtext, image, video, thread500 4 × 5 MB100 MB · 180sNoYesYes

What each one asks of you

Bluesky

Access Nothing to apply for.

  • The limit is 300 graphemes, so an emoji or an accented character counts once, not once per byte.
  • Images are re-encoded to fit a one megabyte ceiling before upload.
  • Bluesky publishes no impression or reach figure, so those are reported as unknown rather than zero.
  • There is no platform-side scheduling; PostNode holds a scheduled post until its moment.

Mastodon

Access Your account’s own server, named when you connect.

  • Limits are set by the server your account is on, so the numbers here are the stock defaults and the real ones are read from your server when you connect.
  • Scheduled posts are handed to your server to hold, which means they still publish if PostNode is down.
  • A thread is not handed over, because each post has to reference the one before it.
  • Mastodon publishes no impression or reach figure.

Facebook Pages

Access A Facebook Page you administer, through Meta app review.

  • Posts go to a Page rather than to a personal profile; Meta offers no way to post to a profile.
  • Scheduling is genuinely the platform’s: the post is created unpublished with an instant and Facebook publishes it itself.
  • Comments arrive by push rather than by polling, so a reply can be answered in seconds.
  • A Page connection ends when the person who made it loses their role on the Page or changes their password, which is why reconnecting is offered rather than a retry.
  • A post’s likes, comments and shares are read with the posting permissions. Its views, reach and clicks need Meta’s read_insights permission, which a deployment asks for only once Meta has granted it; until then they are not reported.

X

Access An X developer account on a paid API plan.

  • X charges its API by the post, so posting here costs money per post rather than being covered by a subscription.
  • The limit is 280 characters unless the account has a subscription, in which case it is far higher; the real figure is read from the account when it connects.
  • A post too close to something the account posted recently is rejected by X as a duplicate, and rewording it is the only fix.
  • There is no platform-side scheduling, so a scheduled post is held by PostNode until its moment.
  • X publishes impressions, and nothing that means reach, so reach is reported as unknown rather than zero.

Instagram

Access An Instagram Business or Creator account linked to a Facebook Page, through Meta app review.

  • A personal Instagram account cannot publish through the API at all; converting it to a Business or Creator account and linking it to a Page is what makes it possible.
  • Every post needs media: there is no text-only Instagram post.
  • Images have to be JPEG, and Instagram fetches them from a link PostNode mints rather than taking an upload.
  • A video is not posted by the call that sends it: Instagram processes it first, which can take minutes, and the post appears when it finishes.
  • A hundred posts per account per rolling 24 hours, and the remaining allowance is read from Instagram rather than assumed.
  • Instagram’s figures for a post can be two days behind, so a post is first measured two days after it goes out.

Threads

Access A Threads profile, through Meta tech provider verification.

  • The limit is 500 characters.
  • Threads publishes in two steps like Instagram, so a video appears when Threads has finished processing it.
  • Replies are polled rather than pushed, because Threads publishes no comment webhook that has been confirmed to exist.
  • The daily allowance is read from Threads per profile rather than assumed.

TikTok

Access A TikTok developer account whose content posting has passed TikTok’s audit.

  • Video only.
  • Until TikTok has audited the application, every post it makes is private — visible only to the account that posted it — whatever was asked for, and PostNode says so on the post rather than reporting an ordinary success.
  • Six requests a minute per account, which is the tightest limit of any platform here, so a burst of posts is spread rather than sent at once.
  • The longest video an account may post is read from TikTok, because it differs by account.
  • TikTok publishes no comment API here, so comments are not read.
  • A video’s figures need TikTok’s video.list scope, which a deployment asks for only once TikTok has approved it; until then they are not reported.

LinkedIn

Access A LinkedIn account; posting as an organization needs LinkedIn’s partner agreement.

  • A LinkedIn connection lasts 60 days. Without LinkedIn’s partner agreement it cannot be renewed automatically, so the account has to be authorized again — PostNode warns before it lapses.
  • Posting as an organization page needs that partner agreement; posting as a person does not.
  • Comments belong to LinkedIn’s partner-gated API, so they are not read.
  • A post’s figures need LinkedIn’s Community Management API, which a deployment uses only once LinkedIn has granted it; until then they are not reported.
  • There is no platform-side scheduling, so a scheduled post is held by PostNode until its moment.

Reddit

Access A commercial agreement with Reddit, which has to be negotiated before anybody may post through it.

  • Text and link posts only; an image post goes through an upload flow this integration does not offer.
  • Every post names a subreddit, and a title, which Reddit requires and a post body does not supply.
  • Each subreddit sets its own rules — required flair, banned domains, title formats — and they are read and checked before a post is sent, because a removal is charged to the account that posted.
  • Reddit has no follower count, and karma is not one, so an account reports none.
  • There is no platform-side scheduling, so a scheduled post is held by PostNode until its moment.

Pinterest

Access A Pinterest business account, and a PostNode application with standard access.

  • A Pin is an image or a video; there is no text-only post, so every Pin needs media.
  • Every Pin belongs to a board, and the board is named per post rather than assumed.
  • Images are fetched by Pinterest from a short-lived link PostNode mints for each attempt, rather than uploaded.
  • Pinterest reports impressions, saves, clicks, reactions and comments for the last ninety days at most, and nothing that means reach or shares.
  • While a PostNode application is on trial access, Pins it creates are visible only to their creator.

YouTube

Access A Google account with a YouTube channel.

  • Video only. A post’s text becomes the description, and its first line the title unless one is given.
  • Scheduling is genuinely the platform’s: the video is uploaded private with a publish instant and YouTube makes it public itself.
  • YouTube meters its allowances per application rather than per channel, so every PostNode customer shares them. Uploads have a daily allowance of their own, which YouTube enforces; a refusal waits for the daily reset rather than failing the post.
  • Moving or stopping a scheduled video, and posting its first comment, each cost 50 of the 10,000 units YouTube allows a day for everything but uploads. A move is refused once the day’s units are spent; a stop is still asked for.
  • YouTube publishes view, like and comment counts, and no impression or reach figure.

Google Business Profile

Access A Google Business Profile location, through Google’s Business Profile API access request.

  • A local post is text and at most one image; there is no video and no platform-side scheduling.
  • One consent can reach several locations at once, each connected as its own account, because a local post always belongs to one location.
  • The upload allowance is shared by every PostNode customer at once, because Google meters it per Cloud project rather than per location. A refusal waits for the next minute rather than failing the post.
  • Google retired per-post metrics in 2023 with no replacement, so what is reported is the location’s own aggregate views, website clicks and call clicks — not this one post’s.

Sandbox

Access Available to every workspace with a test key.

  • Nothing is published anywhere. A sandbox post exercises the whole pipeline and stops short of a timeline.

Why some platforms are not here yet

Several large platforms gate third-party publishing behind a review that cannot be filed until a working integration exists, and two of them restrict what an unreviewed application may do in ways that would be invisible to you and useless in practice — posts created but visible only to their author. PostAtom does not list a platform until an account connected through it can genuinely publish.

Every page here is generated from the code that runs. If a number on this site disagrees with the API, the build fails before it ships.