Skip to main content

Threads

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

CapabilitySupport
TextUp to 500 characters.
MediaOne image or one video.
Empty postsNot allowed; provide text or media.
Threads (reply chains)Pass replyToId to chain a reply onto an existing Threads post.

Set up credentials

  1. Create a Meta developer app.
  2. Add the Threads API product.
  3. Configure OAuth redirect URIs for your app or Scheduler deployment.
  4. Request the scopes required for creating Threads posts.
  5. Authorize the Threads account.
  6. 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"
}
}