Social Media Posting API for Developers

Add social posting to your app without building 10 separate integrations. Send one request to post now or schedule for later. Mallary handles auth, queues, retries, and platform rules.

Try For Free
Outcome

Build less. Publish more.

Give your users a strong social posting tool without making your team own every platform API.

Build one integration

Send one request to Mallary instead of building and fixing a different posting flow for every social network.

Ship social posting faster

Use one clear payload for text, media, schedules, and platform options. Your team can focus on your product.

See every result

Get one job for each platform. Check its status, warnings, platform post ID, and public post URL.

One clean request

10 Platforms. One Call.

Start with a text-only post to Facebook and LinkedIn. This example sets scheduled_at for 24 hours after you run it. Add your own uploaded media when a post needs an image or video.

  • Use one main message or change the text for each platform.
  • Add platform options for Reels, Shorts, stories, carousels, and more.
  • Get job IDs right away while Mallary posts in the background.

Run this on your server with your API key and connected Facebook and LinkedIn accounts. Publishing needs a paid plan. See plans and account limits. Every plan starts with a 14-day free trial; a card is required.

For the full request, response, and delivery checks, follow the API posting and scheduling walkthrough.

Create a scheduled postPOST
const publishAt = new Date(Date.now() + 24 * 60 * 60 * 1000);
const response = await fetch('https://mallary.ai/api/v1/post', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    platforms: ['facebook', 'linkedin'],
    message: 'Meet the product we built for small teams.',
    scheduled_at: publishAt.toISOString()
  })
});
const result = await response.json();
if (!response.ok) throw new Error(JSON.stringify(result));
console.log(result.jobs);

Save each jobs[].jobId. A queued job is not a live post. After the scheduled time, check GET /api/v1/jobs/{id} with the job status reference, or use status webhooks to confirm delivery.

Auth managed Async jobs Safe retries
Ten social networks

A unified social media API for 10 platforms

Connect accounts once. Send one request to publish to your chosen platforms. Use platform options when a network needs different text or settings, then track a separate job for each result.

Need to post later? See how Mallary's social media scheduling API works.

A simple posting flow

From file to live post in three steps

The API stays small, even when the platform work is hard. Mallary does the slow work after your request returns.

  1. 1

    Upload your media

    Ask Mallary for an upload URL, send the file, and get a public Mallary media URL. Skip this step for text-only posts.

  2. 2

    Create the post

    Send your message, platforms, media, and optional publish time to POST /api/v1/post.

  3. 3

    Track each platform job

    Poll a job, list grouped posts, or use webhooks. You can see what published and what needs attention.

Made for real apps

Save unfinished drafts

Save text, media, and platforms without a date on any plan. Publish or schedule the saved draft when you are ready.

Post now or schedule

Publish at once or set a future time and time zone on paid plans.

Change text by platform

Start with one message, then add a custom caption or title for any platform that needs one.

Send images and video

Upload media once. Mallary checks each platform rule before it adds the post to the queue.

Use safe retries and queues

Long uploads run in the background. Mallary retries safe failures without making your app wait.

Work with many profiles

Use profile_id when a user has more than one set of connected social accounts.

React with webhooks

Start your next step when a post is published, scheduled, partly published, or failed.

Conversational workflow

Let Claude handle your social media posts

with a little help from the official Mallary Claude connector.

Prompt / Schedule / Confirm
Social media posting API FAQ

Questions developers ask

Short answers about posting, media, schedules, and job status.

Can I save a post without publishing it or choosing a date?

Yes, on any plan. Use POST /api/v1/drafts to save an unfinished post. Read, edit, or delete the draft by its ID. Only POST /api/v1/drafts/{id}/submit publishes or schedules it. Draft saves do not use your posting allowance. Normal plan and platform rules apply when you submit.

What is a social media posting API?

A social media posting API lets your app publish content with code. Your app sends the text, media, and target platforms. The API sends the post to each connected social account.

Which social platforms can Mallary post to?

Mallary can post to Facebook, Instagram, LinkedIn, YouTube, TikTok, Pinterest, Reddit, Threads, Bluesky, and X. Each platform has its own media and post rules.

What makes Mallary a unified social media API?

Your app sends one post request with the chosen platforms. Mallary makes a separate job for each platform, so you can track each result. You can also change text and options for a platform when its rules differ.

Can I manage multiple social media accounts with the API?

Yes. Connection profiles let one Mallary user connect more than one account on the same platform. Send profile_id to post from a non-default profile. The number of accounts you can connect depends on your plan.

Can I schedule posts with the API?

Yes. Paid plans can send scheduled_at with an exact time. You can also send scheduled_timezone when you want Mallary to use a local time zone.

Can each platform use different text?

Yes. Send one main message for every platform, then use platform_options to set a different message, title, post type, or other supported option for one platform.

How do I know when a post is live?

The create request returns one job ID for each platform. Check GET /api/v1/jobs/{id}, list your grouped posts, or use a webhook. Finished jobs include the platform post ID and public URL when the platform provides them.

Does my app need to handle social network tokens?

No. Users connect their accounts in Mallary. Mallary handles the saved connection, token refresh, API changes, queues, and platform calls.

Start publishing

Ship social posting without the API busywork

Connect your accounts, copy your API key, and send your first multi-platform post in minutes.

Try For Free View API Reference

One API / Ten destinations / Clear status