Threads API Guide: Text Threads, Scopes, and Metrics
Threads is one of the few major platforms that still supports text-only publishing through an API, which makes it a favorite for teams that want to post without producing media for every update. The trade-off is that Threads has its own set of rules: a dedicated publish scope, per-post character limits, a daily rate limit, and sequence mechanics that work differently from a normal post. This guide covers what you need to know to build a Threads publishing workflow, using the Wahdx Connection API as the concrete implementation.
Scopes and authentication
Threads publishing requires the threads_content_publish scope, granted through a Meta OAuth flow when the account is connected. The scope is visible when the user approves the connection, and the connected account appears in the account listing endpoint afterward. From there, publishing requests use the same X-API-Key header as the rest of the API, kept server-side. If you want analytics to return, the account also needs the insights permission; without it, metric fields come back as null. Because the connection is consent-based, a user can disconnect the account at any time, and your integration should surface expired accounts so they get reconnected before publishing.
Text posts and character limits
A Threads text post is a standard content request without media. The content field is required and cannot be empty or whitespace-only, and the maximum length is 500 characters. TikTok and Instagram do not accept media-less requests at all, so text-only publishing targets Threads and Facebook Pages only. If you schedule a text post and one of the selected accounts is on a media-only platform, the request is rejected before anything is queued. A caption that is only whitespace is treated as empty, so validate content server-side before submitting.
Thread sequences
A thread sequence posts up to 10 items in a chain. Each item can be text-only or include an image or video, and items are posted sequentially and linked automatically: the publish result of item N becomes the reply target for item N+1. Reply settings, such as who can reply, apply to the whole sequence rather than a single item. The API response returns per-item publish IDs so you can track each item through the batch status endpoint. Media validation runs per item, so one item with a video and another with images is allowed inside the same sequence.
Rate limits and scheduling
Threads enforces a per-user daily publishing cap that your integration needs to respect when batching.
| Limit | Value |
|---|---|
| Text post length | 500 characters |
| Thread sequence items | 10 per sequence |
| Daily publishing cap | 250 posts per user per 24 hours |
| Scheduling window | Up to 7 days ahead |
| Required scope | threads_content_publish |
Metrics you can read back
Threads analytics cover views, likes, replies, reposts, and quotes. These come back tied to the connected account, so the publishing workflow is also the reporting layer. Where Threads does not expose a value, the field returns null rather than a partial or estimated number. Combined with the publishing analytics endpoint, you can see both the volume you sent and the audience response per platform, and keep the two reports separate instead of blending them.
Scheduling Threads content
Threads follows the same 7-day scheduling window as every other platform in the workflow. A scheduled text post uses the scheduled posts endpoint with the media type set to text and the platform set to Threads, and media URLs can be omitted. Scheduled thread sequences are supported too: include the thread items in the scheduled payload and the sequence posts in order when the queue fires. If any selected account is on a platform that cannot accept the media type, the request is rejected at scheduling time, so the queue never holds a job that is guaranteed to fail.
A minimal publish sequence
A complete Threads integration is four calls. First, list connected accounts to find the Threads account and its accountId. Second, build the payload: a text post omits mediaItems, a sequence posts through the dedicated thread endpoint with up to 10 items. Third, submit the request and read the per-item publish IDs from the response. Fourth, poll the batch status endpoint with those IDs until every item reaches published or failed. That sequence covers both ad-hoc posts and scheduled batches, and the same shape extends to the other four platforms. Keep the account listing call cached for a few minutes where possible, since it also returns profile metrics that some dashboards show next to the account picker.
Combining Threads with the rest of your calendar
Threads earns its place in a multi-platform workflow not because it replaces the other platforms but because it handles what they cannot. When a campaign launches, the same preparation step produces a video for TikTok or Instagram and a text announcement for Threads, and the workflow applies platform-specific settings per account. Thread sequences are the natural format for launch announcements, product changelogs, or multi-part explanations, since each item can carry its own text and media while the chain stays linked. Because publishing runs through the same endpoints and the same account set, a Threads quote or repost shows up in the same reporting surface as an Instagram reach number. That makes the weekly report simpler: one place to see that the video reached a wide audience on Instagram while the thread pulled replies on Threads. The 250-post daily cap matters mostly for high-volume batches, and planning a sequence of 10 items is well inside it. For teams that post the same campaign to every platform, the text-only path means Threads and Facebook get a real text post instead of a screenshot of a caption.
Coordinating timing across platforms
Scheduling keeps the timeline coordinated. A campaign can put the video in the evening slot and the text thread in the morning announcement, both within the same 7-day scheduling window and both processed by the same server-side queue. Status tracking then confirms each piece landed, and failed items surface in the queue rather than silently disappearing from the calendar. The reply settings on a thread apply to the whole sequence, so a customer announcement that invites public replies and an internal changelog that restricts them are both expressed in the payload instead of handled outside the workflow.
Questions
Can I post text-only to Threads through an API?
Yes. Threads accepts text-only posts up to 500 characters through the standard content publishing endpoint when no mediaItems are sent.
How many items can a thread sequence contain?
Up to 10 items per sequence. Items are posted sequentially and linked automatically, and each item counts toward the 250 posts per user per day limit.
What does Threads analytics include?
Views, likes, replies, reposts, and quotes. The values come from the platform for the connected account, and unavailable metrics return as null.