Threads · Conversational

The Threads API, create, publish, done

Post to Threads with the official API. We create the media container and publish it — you send the text (and an image URL if you have one).

Text postsImages500 charsFan-out
Official OAuth APIup to 500 charsThreads API
curl https://postmyish.com/api/v1/posts \
  -H "Authorization: Bearer $POSTMYISH_KEY" \
  -H "Content-Type: application/json" \
  -d '{"caption":"hot take: ship on fridays 🧵","platforms":["threads"]}'
201 · { id: "9f2c8b1e…", status: "published" }JSON
Why not raw?

Threads API is powerful — and painful

The official API can do this. It just makes you do a lot first. Here's what raw Threads publishing costs you, and what PostMyIsh absorbs.

Raw Threads API
With PostMyIsh
Publishing
Create a container, then a second threads_publish call
One POST /v1/posts; we run both
Auth
OAuth through the Threads/Meta developer app
One OAuth screen, one encrypted token
Account
Needs a Threads profile tied to your Meta app
Connect once; we store the Threads user id
Media
Images are pulled from a URL you host
Pass a URL; we attach it to the container
Capabilities

Everything Threads supports, one endpoint

Post types, limits, and scheduling — all through the same POST /v1/posts call, formatted the way Threads expects.

Text posts

media_type TEXT with your caption — the common case.

Images

Pass an image URL and we post it as an IMAGE thread.

500 characters

Threads' real per-post limit, respected on send.

Fan-out

The same take also hits X, Bluesky, and Instagram.

Copy, paste, ship

Real calls, not pseudocode

Every snippet hits the live API — same base URL, Bearer auth, plain JSON. Add your key and it runs.

Publish to Threads now

One POST fans out to Threads. The response carries the id and status the moment it ships.

curl https://postmyish.com/api/v1/posts \
  -H "Authorization: Bearer $POSTMYISH_KEY" \
  -H "Content-Type: application/json" \
  -d '{"caption":"hot take: ship on fridays 🧵","platforms":["threads"]}'
How it works

Live in three steps, not three weeks

Connect Threads, call one endpoint, and we run the Threads API plumbing behind it.

Step 01

Connect the account

Link it once from the Accounts page through its official login. The credential is stored encrypted.

Step 02

POST /v1/posts

Send one caption and the platform id. Add schedule_at to queue it, or media for a URL.

Step 03

We handle the rest

Container flows, token refresh, rate limits, and the real post id — all on our side.

Straight talk: Threads posting runs through a Meta developer app and its review. With the access token and Threads user id stored, the two-step publish is complete and posts for real.

One API, eleven more

Threads is one entry in the same array

Add another id to platforms and the identical call posts there too. One request already covers Threads, X, Bluesky, and Instagram — no second integration.

See all twelve networks
Threads API FAQ

The honest answers

What's real, what needs review, and what Threads itself requires — no hand-waving.

Is this the official Threads API?

Yes — the Threads API's create-container then publish flow, the same two-step Meta uses across its networks.

Can I post images?

Yes — pass an image URL as media and we post it as an IMAGE thread; otherwise it's a TEXT post.

How long can a post be?

Up to 500 characters, matching the Threads app.

Can I cross-post from X?

Yes — include both in the platforms array and the same caption posts to each natively.

Ready to post your ish everywhere?

Connect your accounts, write one caption, and be live on every feed in minutes. The free plan is genuinely free.