Open beta Instagram + X live

The social media API for /postingposting/

One API to post and schedule on Instagram and X, plus an MCP server your agent can drive. Type the feature you need, we'll write the build prompt.

Built by EmbedSocial15+ years of social infrastructureInstagram + X liveMCP server live
app.invisibleapi.ai

Scheduled jobs

5 scheduled
JobPublish atTargetsStatus
job_8KZx2qLmR3 May 16 · 10:00 InstagramX scheduled
job_8KZx2qLmR4 May 16 · 14:30 Instagram published
job_8KZx2qLmR5 May 17 · 09:00 X scheduled
job_8KZx2qLmR6 May 17 · 11:15 Instagram polling
job_8KZx2qLmR7 May 18 · 08:00 Instagram scheduled
Why you need it

Every team that wires Instagram or X by hand hits the same five walls.

In-house tool, embedded in your SaaS, or shipped to your clients.

// oauth maze

Platform OAuth is a project of its own.

Professional accounts, linked pages, scopes, token exchange. You budget a sprint for the integration and spend all of it on auth.

// token decay

Tokens expire silently and take your posts with them.

A grant lapses on a Friday. Nothing publishes all weekend. Nobody notices until the client does.

// container quirks

Publishing is never just one API call upstream.

Create a media container, poll it, handle timeouts, then publish. Every media type has its own rules and failure modes.

// retry roulette

Retries without idempotency mean duplicate posts.

The call times out, you retry, and the post goes out twice. Building safe retries takes longer than the happy path.

// account sprawl

Ten accounts means ten times the plumbing.

Every client account multiplies tokens, quirks and failure states. Your integration code grows faster than your product.

What you get

Publishing and insights. The API does the work. The dashboard shows it.

Scheduled jobs.

One job per post, to the minute.

job_8KZx2qLmR3 scheduled
job_8KZx2qLmR4 published
job_8KZx2qLmR6 polling

Live limits.

Check allowance before you publish.

used 62 / 100 resets in 9d

GET /limits → remaining: 38

Scoped API keys.

Shown once, revocable any time.

production iak_live_····

scopes: publishing:read · publishing:publish

Templates

8 starter recipes. Copy, paste, ship.

Each one wires real endpoints, with a Claude-ready build prompt baked in.

See all templates → No signup. Copy the prompt, paste into Claude or Cursor.
How it works

Anatomy of a publish job. One POST creates it. We take it from there.

Validation, media containers, polling, publishing, status. The failure path is built in.

01 · Create

POST /publishing/jobs

Targets, media URLs, caption, optional schedule. A client request ID makes retries safe.

{
  "targets": ["ig_acme", "x_acme"],
  "mediaItems": ["https://cdn.acme.co/launch.png"],
  "caption": "Launch day.",
  "clientRequestId": "post-001"
}

02 · Validate

CHECK validation

Payload and targets validated on create. Bad requests fail fast with a clear code.

job_8f2a preflight

✓ caption: 24 / 2,200

✓ targets: 2 connected

✕ mediaItems[0] is not a public URL

failureCategory: invalid_publish_data

03 · Orchestrate

RUN durable workflow

A durable workflow picks the job up at publish time. Restarts don't lose it.

pending10:00:00

processing10:00:02

submitted10:00:14

published10:00:21

04 · Fan out

PUB per target

Each target account gets its own delivery: container created, polled, published.

1 job · 2 targets

Instagram @acme.official published
X @acme_hq submitted

05 · Track

GET /publishing/jobs/{id}

A full status trail from pending to published, per target, while it runs.

pending→ processing→ submitted→ published

reach · first 24hdeliveries: 2 / 2

06 · Recover

POST /publishing/jobs/{id}/retry

Failures come back classified. Retryable ones re-run safely, never duplicating a post.

job_9Ftq2wPnX6 failed

failureCategory: retryable_provider_failure

retries: 1 / 5

POST /retry
MCP · Live today

API. MCP. Your agent publishes on its own.

Connect Claude or any MCP-compatible client with a scoped key or OAuth consent. It can create, schedule and manage posts.

Claude
Cursor
MCP clients
n8n soon
Zapier soon
CLI soon
claude · mcp config connected
{
  "mcpServers": {
    "invisibleapi": {
      "url": "https://api.invisibleapi.ai/mcp",
      "auth": "scoped API key · OAuth 2.1 + consent"
    }
  }
}

> schedule this week's posts for @acme
✓ 5 jobs created · publishing Mon to Fri at 10:00
Why us

Built by EmbedSocial. We run social platform APIs in production every day, and absorb platform changes so your code doesn't move.

Doing the thing
InvisibleAPI
DIY on the raw APIs
Onboard an account
●OAuth flow handled, tokens refreshed, reconnect in one click.
○Build the OAuth dance, store tokens, refresh them, handle expiry.
Publish a carousel
●One POST with a list of media URLs.
○Create child containers, poll each, create the parent, poll, publish.
Retry a failed post
●One retry call. Classified failure, capped at 5, never a duplicate.
○Guess whether it's safe to retry. Deduplicate by hand.
Publish to many accounts
●One job, many targets. Per-target status.
○Loop, throttle, and track each account's state yourself.
When a platform changes its API
●We absorb the change. Your code doesn't move.
○Your integration breaks. You drop everything.
Let an agent post
●MCP server with scoped keys and a consent screen.
○Roll your own tool layer and hope the auth is tight.

Big SaaS gives you their dashboard. Raw platform APIs give you a moving target. We hand you one unified social media API, so you can ship social features.

“We ran social platform APIs for 15 years. This is the API we wished we had.”

THE EMBEDSOCIAL TEAM · BUILDERS OF INVISIBLEAPI
Pricing

One plan. Pay per source.

Every feature is included. $9 a month covers your first 2 connected sources, and each additional source adds $5 a month. Drag the slider to see your price.

// Connected sources

2

2255075100

A source is one connected social account, an Instagram professional account or an X account.

$9 a month covers 2 sources. Each additional source adds $5 a month.

Each connected account can publish up to 100 posts per billing period.

Monthly billing through Stripe. Start with a 7-day free trial.

// API Pro

$9/mo

Every feature included. Your price only changes with the number of sources you connect.

Sources included
2
Published posts
100 per account / mo
MCP server
Included
Free trial
7 days
Get API key →
Honest answers

Things you're about to ask.

Which platforms does the social media API support?

Instagram and X are live today. On Instagram you publish images, carousels and videos (videos publish as Reels) with professional accounts. On X you publish text posts up to 280 characters, up to 4 images, or a single video. TikTok, Facebook, LinkedIn and YouTube are coming soon.

What do I need on the Instagram side?

An Instagram professional account (Business or Creator). You connect it through Meta's OAuth flow in our dashboard, and we keep the long-lived token refreshed. If a grant expires, the account shows as needing reauthorization and you reconnect in one click.

How does media upload work?

You host the file and pass its public URL in the publish job. One media item makes a single post, several images make a carousel. We fetch the media, create the provider container, poll it and publish.

Can I schedule posts?

Yes. Set requestedPublishAt on the job and it publishes at that time. You can list scheduled jobs at any time and cancel any job before it is dispatched.

What happens when a publish fails?

Every failure is classified: a category, a code, and an instruction that tells you whether it is retryable. Retryable jobs can be retried up to 5 times, and a retry never produces a duplicate post. We also email you when a job fails.

How does the MCP server work?

Connect Claude or any MCP-compatible client to our MCP endpoint. Auth is an organization API key with MCP scopes, or OAuth with a consent screen where you pick the organization your agent may act in. The agent can then create, schedule and manage publish jobs. n8n and Zapier integrations and a CLI are coming soon.

What are the limits?

Each connected account can publish 100 posts per billing period. The limits endpoint shows the configured limit, current usage and remaining allowance live, so your code can check before it publishes.

How do the trial and billing work?

Start with a 7-day free trial through Stripe checkout. After that it is $9 a month for 2 connected sources plus $5 a month for each additional source. Monthly billing, managed in the Stripe customer portal.

Ship your first publish job today.

7-day free trial. Instagram and X, one API, MCP included.

Or talk to a human. support@invisibleapi.ai