Mastodon API

Mastodon API for posting and scheduling without managing instance-by-instance auth

Add Mastodon publishing to open-source communities, developer tools, and federated social products with one API for scheduling, media, status, and reporting workflows.

Last updated: May 2026

API key authScheduled publishing14 platforms
Quick start
API request
1await fetch("https://api.bundle.social/api/v1/post", {2  method: "POST",3  headers: {4    "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY,5    "Content-Type": "application/json"6  },7  body: JSON.stringify({8    teamId: "team_123",9    title: "Mastodon update",10    postDate: "2026-05-14T10:00:00.000Z",11    status: "SCHEDULED",12    socialAccountTypes: ["MASTODON"],13    data: {14      MASTODON: {15        status: "Just shipped our API update. Here is what changed: bundle.social/changelog",16        visibility: "public"17      }18    }19  })20});

Building directly on Mastodon REST API

Mastodon instances each have their own rules, rate limits, and account trust requirements.
Federated publishing requires instance-aware auth and account mapping that differs from centralized networks.
Teams need Mastodon in the same scheduling workflow as Bluesky, LinkedIn, and other text-first channels.

What bundle.social handles

Schedule Mastodon posts with visibility levels, media, and alt text through one API workflow.
Publish Mastodon beside Bluesky, LinkedIn, X, and other text-first channels without a separate integration.
Keep Mastodon analytics and post history close to the rest of your social reporting.

Mastodon scheduling without instance-by-instance busywork

Federated publishing means instance rules, visibility settings, media handling, and account mapping can vary. bundle.social keeps Mastodon usable inside a broader text-first calendar.

Workflow

How it works

Connect accounts once, then create and schedule posts with channel-specific fields from one API.

01

Create an API key

Generate an organization API key in the dashboard and use it with the x-api-key header.

02

Connect accounts

Connect each social account once. bundle.social keeps the account mapping ready for future posts.

03

Create or schedule posts

Send one request with the publish date, selected channels, and the fields each platform needs.

Capabilities

Mastodon API workflows for federated publishing

Instance-aware account connection, visibility fields, media, scheduling, status, and reporting context for Mastodon posts.

Mastodon-specific payload fields

Control the fields that matter on Mastodon: captions, media types, privacy settings, and more, using the same post endpoint as every other channel.

API key authentication

Use one bundle.social API key for server-to-server requests. Your users still connect social accounts once through the hosted OAuth flow; bundle.social handles token storage and refresh.

Scheduling built in

Set a postDate to schedule Mastodon content in advance, or create drafts and queue posts through the dashboard.

Media library integration

Upload Mastodon-compatible media once and reference the same upload ID across multiple posts or campaigns.

Post status and retry tracking

Track Mastodon posts through scheduled, processing, posted, retrying, and error states from the API or the shared dashboard.

Cross-platform publishing

Add other channels to the same post payload when Mastodon is part of a multi-platform campaign. No separate API calls needed.

Developer example

Schedule a Mastodon post

Examples use bundle.social's public API shape: API key authentication, a post date, selected social account types, and platform-specific data.

TypeScript
API request
1await fetch("https://api.bundle.social/api/v1/post", {2  method: "POST",3  headers: {4    "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY,5    "Content-Type": "application/json"6  },7  body: JSON.stringify({8    teamId: "team_123",9    title: "Mastodon update",10    postDate: "2026-05-14T10:00:00.000Z",11    status: "SCHEDULED",12    socialAccountTypes: ["MASTODON"],13    data: {14      MASTODON: {15        status: "Just shipped our API update. Here is what changed: bundle.social/changelog",16        visibility: "public"17      }18    }19  })20});

Supported content

Text postsImagesVideosLinksAlt textPoll creationVisibility levels

Honest limitations

  • Mastodon instance rules, rate limits, and account eligibility still apply.
  • Federated features like cross-instance boosts and server-specific policies are outside the standard posting workflow.
  • Analytics availability depends on the connected instance and account permissions.

Guarantees

Developer-first infrastructure

2% error rate

We handle the platform edge cases, media processing, and rate limits so your requests succeed.

Verbose errors

When native APIs fail, we return human-readable error messages and actionable recovery steps.

Flat pricing

No per-post counting. Predictable pricing for teams managing many users, workspaces, and connected accounts.

Same-day support

Direct access to the engineers building the API. We respond to technical issues the same day. Sometimes the same hour. Test us c;

Resources

Technical guides & documentation

FAQ

Questions developers ask before building

Can I publish to Mastodon through bundle.social?

Yes, for supported Mastodon account types and permissions. bundle.social exposes the Mastodon fields you need inside a broader scheduled post workflow.

Does this replace Mastodon REST API?

No. bundle.social runs on top of native platform APIs and reduces the work around publishing, scheduling, status, media, and reporting.

Can I schedule Mastodon posts?

Yes. Send a future postDate, set status to SCHEDULED, and include the MASTODON payload.

Can I use Mastodon with other platforms?

Yes. Mastodon can run in the same workflow as your other supported social channels.

Are Mastodon analytics supported?

Mastodon analytics are available when the connected account and native API expose the data.