NetworksThreads
Threads APIthrough Siar.
Text, image, video and carousel posts on Threads, with reply controls, topic tags, link attachments and polls.
At a glance
Account needed: A Threads profile.
| Connection | OAuth 2.0 in the browser |
|---|---|
| Channel | Not needed |
| Post types | post |
| Text length | 500 characters |
| Comment length | 500 characters |
| Media per post | Up to 20 |
Media rules
| Kind | Formats | Max size | Duration | Other |
|---|---|---|---|---|
| Image | jpeg, png | 8 MB | n/a | None |
| Video | mp4, mov | 1 GB | Up to 5 min | None |
What Siar can do on Threads
| Comments and replies | Yes |
|---|---|
| First comment | Yes |
| Edit a published post | No |
| Delete a published post | Yes |
| Edit a comment | No |
| Delete a comment | Yes |
| Import comments | Yes |
| Post analytics | Yes |
| Account analytics | Yes |
| Post history import | Yes |
| Direct messages | No |
Siar can create comments and replies up to 500 characters, and import the comments people leave on your posts.
Publish a post
Put Threads's payload under data.THREADS and list THREADS in socialAccountTypes. Add other networks to the same request to post to all of them at once.
curl -X POST "https://api.siaran.my/api/v1/post" \
-H "x-api-key: $SIAR_API_KEY" \
-H "content-type: application/json" \
-d '{
"teamId": "TEAM_ID",
"title": "Threads post",
"postDate": "2026-11-02T09:00:00.000Z",
"status": "SCHEDULED",
"socialAccountTypes": [
"THREADS"
],
"data": {
"THREADS": {
"text": "Hello from Siar",
"uploadIds": [
"UPLOAD_ID"
],
"mediaItems": [
{
"uploadId": "UPLOAD_ID"
}
]
}
}
}' Threads fields
-
textstring nullable -
uploadIdsstring[] nullable -
mediaItemsobject[] nullable2 fields
-
uploadIdstring required -
altTextstring nullable
-
-
topicTagstring nullable -
replyControlstring nullableOne of:everyoneaccounts_you_followmentioned_onlyparent_post_author_onlyfollowers_only -
linkAttachmentstring nullable -
pollobject nullable4 fields
-
optionAstring required -
optionBstring required -
optionCstring nullable -
optionDstring nullable
-
-
gifobject nullable2 fields
-
gifIdstring required -
providerstring default "GIPHY"One of:GIPHY
-
-
allowlistedCountryCodesstring[] nullable -
crosspostToInstagramStoryboolean nullable -
crosspostToInstagramStoryDarkModeboolean nullable
Daily caps
| Per connected account, per UTC day | Free | Pro | Business |
|---|---|---|---|
| Posts | 10 | 200 | 250 |
| Comments | 3 | 200 | 250 |
See pricing for monthly quotas. Enterprise uses the Business caps unless agreed otherwise.
Connecting a Threads account
Siar sends the user to the network's consent page and stores the tokens it gets back, refreshing them before they expire. Use POST /social-account/connect from your own UI, or send your customer a hosted link from POST /social-account/create-portal-link; see connecting accounts.
Permissions requested
Siar requests only these scopes at connect time:
threads_basicthreads_content_publishthreads_manage_repliesthreads_read_repliesthreads_manage_insightsthreads_delete
When Threads says no
Siar relays Threads's error code and message verbatim on the post, next to a status you can act on. The Threads error reference covers 8 common cases with what each one means and the fix. Open the Threads error reference.
Threads API questions
What can I post to Threads through the API?
post. Text, image, video and carousel posts on Threads, with reply controls, topic tags, link attachments and polls.
How many Threads posts can I publish per day?
Per connected account and UTC day: 10 on Free, 200 on Pro, 250 on Business. The caps keep the account within what Threads tolerates.
Can I schedule Threads posts?
Yes. Set postDate in the future and a status of SCHEDULED. Siar publishes at that time and sends a post.published webhook when the post reaches a final state.
How do I connect a Threads account?
A Threads profile. Siar sends the user to the network's consent page and stores the tokens it gets back, refreshing them before they expire.
What do I do when Threads rejects a post?
The post carries Threads's own code and message. The Threads error reference explains 8 common rejections and how to fix them.
Your first post isone request away.
The Free plan includes 20 posts and 200 uploads a month across 3 teams. No card needed.