AI & Automation7 min read

How to Schedule Posts to 9 Platforms with One API Call (Full Workflow)

Every social media API is different: Meta wants a container then a publish call, LinkedIn has its own URN format, X has paid tiers. Autoadify's REST API wraps Instagram, Facebook, LinkedIn, X, TikTok, YouTube, Reddit, Bluesky and Threads behind one endpoint. Here is the full workflow, from key to tracking the live post.

AT
Autoadify Team
Product
Share:

Quick Answer

Create an Autoadify API key, call GET /v1/channels to get your connected accounts and their posting rules, then POST /v1/posts with your text, the channel ids and an optional publishAt time. One request publishes to any mix of 9 networks, with different text per platform through contentByPlatform, and GET /v1/posts/{id} tells you what happened on each one.

If you have ever tried to post to social media from your own code, you know: nine platforms, nine developer apps, nine auth flows, nine app reviews, nine ways to upload an image — and tokens that expire at 3am on a Saturday.

We already built all of that for Autoadify. Now it is one REST API:

  • One endpoint for Instagram, Facebook, LinkedIn, X, TikTok, YouTube, Reddit, Bluesky and Threads
  • Per-platform text in the same request
  • Platform rules checked before you post, not after it fails
  • Every post shows up in your Autoadify calendar, so your team can see and edit what your code scheduled

1. Get a key

In Autoadify, go to Settings → API & MCP → Create key and give it Read and Publish.

export AUTOADIFY_API_KEY="aak_live_..."

Check it works:

curl https://api.autoadify.com/v1/me \
  -H "Authorization: Bearer $AUTOADIFY_API_KEY"

You get your organization, the key's permissions and your remaining quota.

2. Find your channels and their rules

curl https://api.autoadify.com/v1/channels \
  -H "Authorization: Bearer $AUTOADIFY_API_KEY"

Every channel comes back with an id and its rules:

{ "requiresMedia": false, "maxChars": 3000, "requiredFields": [] }

Instagram and TikTok need an image or video. YouTube needs a video. Reddit needs a subreddit. You find out now, not when the post fails at 9am.

3. Schedule your first post

curl https://api.autoadify.com/v1/posts \
  -H "Authorization: Bearer $AUTOADIFY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "We just shipped our API 🚀",
    "channelIds": ["CHANNEL_ID"],
    "publishAt": "2026-10-20T09:00:00+05:30"
  }'

Want it out now? Leave out publishAt and it goes live within about a minute. You can schedule up to a year ahead. Always include the UTC offset, so nobody's 9am turns into someone else's 3am.

4. One post, different text per platform

LinkedIn wants the long version; X wants the punchy one. Don't make two posts — use contentByPlatform:

{
  "content": "Our spring collection is live: 40 new pieces, free shipping this week, and a few surprises.",
  "channelIds": ["ch_linkedin", "ch_x"],
  "contentByPlatform": { "X": "Spring collection is live 🌸 Free shipping this week." }
}

One request, one item in the calendar, and each platform gets the right text.

5. Add images and video

If the file is already online, import it in one call:

curl https://api.autoadify.com/v1/media/import \
  -H "Authorization: Bearer $AUTOADIFY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://example.com/launch.jpg", "altText": "Our team at the launch" }'

It comes back ready; pass its id in mediaIds.

For files on your machine there is a three-step upload: get an upload URL, PUT the file, then complete it. The bytes go straight to storage, so they don't count against your rate limit. Images can be up to 50 MB, video up to 200 MB, and PDFs are supported for LinkedIn document posts.

6. Track what actually happened

curl https://api.autoadify.com/v1/posts/POST_ID \
  -H "Authorization: Bearer $AUTOADIFY_API_KEY"

Each channel succeeds or fails on its own. For every one you get:

  • status
  • the live url once it is posted
  • the error if it failed, such as a connection that needs reconnecting or a platform refusal

No more "it said 200 but nothing's on Instagram".

7. The details that save you at 2am

  • Retries won't double-post. Send the identical post twice within 5 minutes and the second is refused with 409 duplicate_post, pointing to the first. Retry as much as you want.
  • Rate limits are in the headers. RateLimit-Remaining and X-Quota-Remaining come back on every response. Pro gets 60 requests a minute and 10,000 a month; Team gets 300 a minute and 100,000 a month.
  • Tokens refresh themselves. Your users connect their accounts once in Autoadify, and we handle the refresh.

What you can build with it

  • A Shopify store that posts every new product automatically
  • A CMS that schedules a LinkedIn and X post every time an article is published
  • A weekly script that turns a spreadsheet into a month of scheduled posts

Frequently Asked Questions

Which platforms does the API publish to?

Instagram, Facebook, LinkedIn, X, TikTok, YouTube, Reddit, Bluesky and Threads, through each platform's official API.

Do I need my own developer app on each platform?

No. Accounts are connected once in Autoadify, which holds the platform approvals and refreshes the tokens.

Is the API available on the free plan?

No. API keys are available on paid plans, starting with Pro at $29/mo with 60 requests a minute and 10,000 a month.

The Bottom Line

One key, one endpoint, nine platforms. Full docs and the API reference are at docs.autoadify.com, and the social media API overview covers plans and limits.

Don't want to write code at all? Plug the same key into Claude, Codex or Cursor with our MCP server and just ask it to post: see the full MCP setup.

Tags:Developer APISchedulingCross-PostingMCPSocial Media Tools
Early Access

Ready to automate your social media?

Autoadify gives you access to 70+ AI models, auto-scheduling across 10+ platforms, Shopify sync, and AI agents — all in one platform.

Start free