Mellow HubPricing

BLOG

Publishing Threads reply chains through the API: how we built it and what went live

A post and its own replies, published by code: how reply_to_id chains work, why our provider could not do it, and two native 4-part threads on 23 October 2026.

← All updates

A Threads chain Mellow Hub published on @wlad_kowalski on 24 October 2026, in Russian: the first post with two pictures of Hub’s overview screen, and under it the author’s own continuation, marked Author

Key facts

  • On 23 October 2026 we published two four-part Threads chains through Meta’s Threads API, one at 11:01:30 UTC and one at 17:01:30 UTC, and both showed on threads.com as one native thread numbered 1/4 to 4/4.
  • A Threads chain is published by posting the first post, then each next post as a reply to the one before it, with reply_to_id set to the previous post’s id.
  • As of 12 October 2026, our publishing provider’s Threads API had only caption, media and placement fields and no reply field, so Mellow Hub publishes chains itself through its own Meta app.
  • Of five popular AI posts we read on threads.com on 12 October 2026, the four biggest, with 43,000 to 118,000 views, were two-post chains, and the one four-post chain had 9,300 views.
  • Meta’s Threads limits, read on 13 October 2026, are 250 posts and 1,000 replies per profile in 24 hours, so a five-part chain uses one post and four replies.

Listen to the key facts1:26AI voice

On Threads, the posts that travel often come as a chain: a first post with the hook, then the author’s own reply with the rest. In October 2026 our founder called chains a very important tool for his personal-brand series and asked for them in Mellow Hub, our publishing product. Our provider could not publish them, so we built it ourselves. This is how, and what happened on the first live runs.

The situation and the goal

On 12 October 2026 we read five popular AI posts on threads.com to see what a chain does. Four of them, with 43,000 to 118,000 views, were two-post chains: a complete first post with the hook or the result, then the author’s own reply holding what did not fit, the link, the prompt, the second half of a list or the follow ask. That reply collected its own likes and shares, 48 to 56 likes and 18 to 20 shares. The one four-post chain, three steps and a punchline from a smaller account, was the weakest at 9,300 views. Five-to-seven-post chains had no evidence behind them in what we read. Claims elsewhere that a first reply within 90 seconds doubles thread depth come from vendor blogs, and we treat them as hypotheses.

Mellow Hub publishes most networks through a provider, Post for Me. Its Threads settings, read on 12 October, were caption, media and placement, with no reply field; its pull request for chains on X, Threads and Bluesky was closed on 5 August 2026 with the note that the feature would come as part of comments, with no date. Ayrshare, Outstand, Repping and Eden offered reply chains through Meta’s Threads API at the time. The goal: a person or an AI agent writes a post and the posts that follow it, picks a time, and the whole chain goes out on its own.

What we built, step by step

  1. A Threads sign-in of our own. Chains go through our own Meta app with the Threads use case and four permissions: threads_basic, threads_content_publish, threads_manage_replies and threads_read_replies. A person signs in once, in Accounts, beside the provider’s connection, never instead of it. The token lasts 60 days and is refreshed automatically.
  2. One field for the chain. The post’s caption and media are the first post; options.threads.thread holds what follows: up to 24 posts, each up to 500 characters, with at most one picture or video each. The first post can be a carousel of up to 20 files. Threads counts an emoji by its size in UTF-8, and so does our character counter.
  3. Publishing in order. A part with words alone is one request that creates and publishes it. A part with a picture or video is a container, polled until it is FINISHED, then published. Every part after the first carries reply_to_id, the id the part before it was published as. Progress is saved after every part.
  4. Each part asked for once. Threads has no idempotency key. Before a publishing request the job marks it as being sent. A plain refusal clears the mark; a request that got no answer leaves it, and the next run looks for that part among the profile’s latest posts, by its text. If it is there, it counts as out; if not, the chain stops and asks a person to look.
  5. Failure stops the rest. The post says which part failed and how many are already on Threads, and “Send again” continues from that part: the first post never goes out twice. Meta’s retryable errors (codes 1, 2, 4, 17, 32 and 613, or HTTP 5xx and 429) are retried with back-off up to six times.
  6. Files that outlive the wait. The provider’s upload storage drops a file within about a day when no provider post uses it, and a chain is not a provider post. A chain that waits more than six hours has its files copied to our own storage while it waits.
  7. No edits once it starts. A chain with a part out cannot be edited, moved or cancelled; before that it can.

Results

  • Deployed by 23 October 2026, with 47 tests against a fake Threads API.
  • First live chain, 23 October, 11:01:30 UTC on @wlad_kowalski, in Russian: 4 parts, 4 published, no error. On threads.com the three continuations sit under the first post as one native thread numbered 1/4 to 4/4, with the picture on the first post. The continuations carry no picture, by design.
  • Second live chain, the same day at 17:01:30 UTC, in English, on our founder’s English profile: 4 of 4, the same native thread, 9 views on the first post when we read it.
  • The open question answered. Before launch nobody on the team knew whether replies posted through the API would render as a native thread or as loose replies. They render as a thread.
  • Eleven more chains per profile were scheduled after these. The proofs in this article are the two four-part chains of 23 October.
  • The chains that followed. On 8 November 2026 we opened six of the later Russian chains on threads.com, from 24 October to 3 November, five-part ones among them: in each, every continuation sits under the first post, marked Author.
A five-part Threads chain on @wlad_kowalski from 1 November 2026, in Russian: the first post with a picture of Hub’s schedule for 5 September, and four continuations under it, each marked Author
One of the chains that followed, published on 1 November 2026 between 11:00:57 and 11:01:50 UTC: five parts, which Threads shows as one thread (read on threads.com on 8 November 2026).

What did not work, and what we changed

  • The provider route. No field, no date: building our own route was the only way. It mirrors how Hub already publishes Instagram through our own Meta app and Telegram through our own bot.
  • A file almost lost. The English chain, scheduled on 22 October for 17:00 UTC the next day, had its first picture on the provider’s storage, which keeps an unused file for about a day. We caught it before it ran; that is where step 6 came from.
  • One sign-in per account, by a person. Threads’ consent signs whichever Threads account the browser has open. Our AI agent could not switch accounts without a password, so each profile was signed in by a person signed in as that account. The app secret, too, was set by our founder.
  • Not for every customer yet. As of 27 October 2026, Meta’s App Review for the Threads permissions had not been filed, so chains work only on Threads profiles added as testers to our Meta app. Opening them to everyone needs Meta’s access verification, the Threads use case on the app in our verified business portfolio, and the review.
  • Not built: chains on X and Bluesky, reading and answering the replies under a chain, separate statistics for each part (the figures are the first post’s), and attaching a file to a continuation in the cabinet’s composer (the API can).

How to do it yourself

  1. Create a Meta app with the Threads use case and request threads_basic, threads_content_publish and threads_manage_replies; Meta’s page on creating replies lists all three.
  2. Publish the first post and keep its id.
  3. For each next part, create a container with reply_to_id set to the previous part’s id, wait for it to be ready if it has media, and publish it.
  4. Save progress after every part, and never resend a part blindly: look for it on the profile first.
  5. Write two or three parts that each stand alone, under 500 characters, with the hook and the payoff in the first.
  6. Mind Meta’s limits: 250 posts and 1,000 replies per profile in 24 hours, so a five-part chain uses one post and four replies.
  7. Or use Mellow Hub: switch on Chain in the Threads card of the composer, or send options.threads.thread from an agent, once the Threads account is enabled for chains.

Numbers at a glance

WhatFigure
Live chains on 23 Oct 20262, each 4 of 4 parts, both native threads
Parts after the first post in Mellow Hubup to 24
Characters per part500, emoji counted in UTF-8 bytes
Threads limits per profile, 24 hours250 posts, 1,000 replies
Retries on Meta’s retryable errorsup to 6
Wait after which files are copied to our storage6 hours
Popular AI posts read on 12 Oct 20264 of 5 biggest were 2-post chains

Questions

Can you post a Threads thread (a chain) through the API?

Yes. Publish the first post, then create each next post with reply_to_id set to the id of the post before it, and publish it. Each part is a separate post that counts against Meta’s limits: 250 posts and 1,000 replies per profile in 24 hours.

Do replies posted through the API show as one thread on Threads?

In our tests they did. Both chains we published on 23 October 2026 appeared on threads.com as one native thread numbered 1/4 to 4/4, with the picture on the first post.

How long can each post in a Threads chain be?

Up to 500 characters each, and Threads counts an emoji by its size in UTF-8, so emoji take more than one. In our chains each part also carries at most one picture or video; the first post can be a carousel.

What happens if a chain fails halfway through?

Stop at the failed part and continue from it later, never from the start, or the first post goes out twice. Threads has no idempotency key, so a request that got no answer should be checked against the profile’s latest posts before it is sent again.

Where to go next

More updates

All updates · Published October 23, 2026

Write to Hub's founder

Every message is read by the founder himself, so you are talking to him directly. Questions, bugs, a feature you miss: write about anything. We are glad to keep making Hub better.

What is it about?

We attach this page's address so we can see what you saw.