NetworksMastodon

Mastodon APIthrough Siar.

Statuses on any Mastodon server, with visibility, content warnings and media. Siar registers its app on each server the first time someone connects from it.

At a glance

Account needed: An account on any Mastodon server. Pass the server URL when connecting.

ConnectionOAuth 2.0 in the browser
ChannelNot needed
Post typespost
Text length500 characters
Comment length500 characters
Media per postUp to 4

Media rules

KindFormatsMax sizeDurationOther
Imagejpeg, png, gif, webp, avif, heic16 MBn/aNone
Videomp4, webm, mov99 MBUp to 2 hNone

What Siar can do on Mastodon

Comments and repliesYes
First commentYes
Edit a published postYes
Delete a published postYes
Edit a commentYes
Delete a commentYes
Import commentsYes
Post analyticsYes
Account analyticsYes
Post history importYes
Direct messagesNo

Siar can create comments and replies up to 500 characters, and import the comments people leave on your posts.

Publish a post

Put Mastodon's payload under data.MASTODON and list MASTODON in socialAccountTypes. Add other networks to the same request to post to all of them at once.

curl -X POST "https://api.siaran.my/api/v1/post" \
  -H "x-api-key: $SIAR_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "teamId": "TEAM_ID",
    "title": "Mastodon post",
    "postDate": "2026-11-02T09:00:00.000Z",
    "status": "SCHEDULED",
    "socialAccountTypes": [
      "MASTODON"
    ],
    "data": {
      "MASTODON": {
        "text": "Hello from Siar",
        "uploadIds": [
          "UPLOAD_ID"
        ],
        "thumbnail": "string"
      }
    }
  }'

Mastodon fields

  • text string nullable
  • uploadIds string[] nullable
  • thumbnail string nullable
  • privacy string nullable
    One of: PUBLIC UNLISTED PRIVATE DIRECT
  • spoiler string nullable

Daily caps

Per connected account, per UTC dayFreeProBusiness
Posts1050100
Comments350100

See pricing for monthly quotas. Enterprise uses the Business caps unless agreed otherwise.

Connecting a Mastodon account

Siar sends the user to the network's consent page and stores the tokens it gets back, refreshing them before they expire. Use POST /social-account/connect from your own UI, or send your customer a hosted link from POST /social-account/create-portal-link; see connecting accounts.

Permissions requested

Siar requests only these scopes at connect time:

  • read
  • write

Mastodon-specific operations

These exist for Mastodon only and live under /misc/mastodon.

OperationEndpoint
Edit an existing Mastodon statusPATCH /misc/mastodon/status
Delete a Mastodon statusDELETE /misc/mastodon/status
Edit a Mastodon commentPATCH /misc/mastodon/comment
Delete a Mastodon commentDELETE /misc/mastodon/comment

When Mastodon says no

Siar relays Mastodon's error code and message verbatim on the post, next to a status you can act on. Open the Mastodon error reference.

Mastodon API questions

What can I post to Mastodon through the API?

post. Statuses on any Mastodon server, with visibility, content warnings and media. Siar registers its app on each server the first time someone connects from it.

How many Mastodon posts can I publish per day?

Per connected account and UTC day: 10 on Free, 50 on Pro, 100 on Business. The caps keep the account within what Mastodon tolerates.

Can I schedule Mastodon posts?

Yes. Set postDate in the future and a status of SCHEDULED. Siar publishes at that time and sends a post.published webhook when the post reaches a final state.

How do I connect a Mastodon account?

An account on any Mastodon server. Pass the server URL when connecting. Siar sends the user to the network's consent page and stores the tokens it gets back, refreshing them before they expire.

What do I do when Mastodon rejects a post?

The post carries Mastodon's own code and message. The Mastodon error reference explains how errors are reported and how to fix them.

Your first post isone request away.

The Free plan includes 20 posts and 200 uploads a month across 3 teams. No card needed.