Threads
Using hosted SimplePost? See connection requirements. The credential setup below is for your own SDK, local CLI, or self-hosted integration.
Threads posting uses Meta's Threads API. Users authorize a Threads account and SimplePost posts with the resulting access token and user ID.
Content support
Current hosted app and core source
| Capability | SimplePost support |
|---|---|
| Text / caption (characters) | 500 text |
| Media | 20 items max; 20 images max; 20 videos max; Mixed media supported |
| Image size | 8 MiB maximum |
| Video size | 1 GiB maximum |
These validation limits also match published SDK 1.5.0.
Provider permissions and quotas still apply. SimplePost storage can impose a lower upload limit. MB/GB use decimal bytes; MiB/GiB use binary bytes.
Set up credentials
- Create a Meta developer app.
- Add the Threads API product.
- Configure OAuth redirect URIs for your app or Scheduler deployment.
- Request the scopes required for creating Threads posts.
- Authorize the Threads account.
- Store the access token and Threads user ID.
Provider review requirements vary depending on whether you only post for yourself or support external users.
The CLI does not bundle a Threads OAuth app. To use it from the CLI, supply your own client secret through SIMPLE_POST_THREADS_CLIENT_SECRET before running simplepost account add threads.
Environment variables
THREADS_ACCESS_TOKEN=
THREADS_USER_ID=
Both variables must be set together.
SDK example
await post({
content: {
text: "Hello Threads",
media: [{ type: "image", path: "./photo.jpg" }],
},
platforms: ["threads"],
});
Reply to a Threads post:
await post({
content: { text: "A reply" },
platforms: ["threads"],
options: {
threads: { replyToId: "1234567890" },
},
});
REST server account
Add this entry under accounts in the self-hosted REST server's accounts.json:
{
"id": "threads-main",
"platform": "threads",
"username": "yourbrand",
"credentials": {
"accessToken": "...",
"userId": "1234567890"
}
}