Threads API
Unofficial, Reverse-Engineered Node.js/TypeScript client for Meta's Threads.
🚀 Usage (Read)
import { ThreadsAPI } from "apithreads";
const main = async () => {
const threadsAPI = new ThreadsAPI();
const username = "heyxviraj";
const userID = await threadsAPI.getUserIDfromUsername(username);
if (!userID) {
return;
}
const user = await threadsAPI.getUserProfile(username, userID);
console.log(JSON.stringify(user));
const posts = await threadsAPI.getUserProfileThreads(username, userID);
console.log(JSON.stringify(posts));
const replies = await threadsAPI.getUserProfileReplies(username, userID);
console.log(JSON.stringify(replies));
const postID = await threadsAPI.getPostIDfromURL(
"https://www.threads.net/t/CuX_UYABrr7/?igshid=MzRlODBiNWFlZA=="
);
if (!postID) {
return;
}
const post = await threadsAPI.getThreads(postID);
console.log(JSON.stringify(post.containing_thread));
console.log(JSON.stringify(post.reply_threads));
const likers = await threadsAPI.getThreadLikers(postID);
console.log(JSON.stringify(likers));
};
main();
🚀 Usage (Write)
✨ Text Threads
import { ThreadsAPI } from "apithreads";
const main = async () => {
const threadsAPI = new ThreadsAPI({
username: "heyxviraj",
password: "PASSWORD",
});
await threadsAPI.publish({
text: "🤖 Hello World",
});
};
main();
✨ Threads with Image
await threadsAPI.publish({
text: "🤖 Threads with Image",
image: "[LINK_TO_IMAGE].jpg",
});
✨ Threads with Link Attachment
await threadsAPI.publish({
text: "🤖 Threads with Link Attachment",
url: "https://github.com/virajbhartiya/apithreads",
});
✨ Reply to Other Threads
const parentURL = "https://www.threads.net/t/[THREAD_ID]";
const parentPostID = await threadsAPI.getPostIDfromURL(parentURL);
await threadsAPI.publish({
text: "🤖 Beep",
link: "https://github.com/virajbhartiya/apithreads",
parentPostID: parentPostID,
});
✨ Like/Unlike a Thread
const threadURL = "https://www.threads.net/t/[THREAD_ID]";
const postIDToLike = await threadsAPI.getPostIDfromURL(threadURL);
await threadsAPI.like(postIDToLike);
await threadsAPI.unlike(postIDToLike);
✨ Follow/Unfollow a User
const userIDToFollow = await threadsAPI.getUserIDfromUsername("heyxviraj");
await threadsAPI.follow(userIDToFollow);
await threadsAPI.unfollow(userIDToFollow);
Installation
yarn add apithreads
npm install apithreads
pnpm install apithreads
import ThreadsAPI from "npm:apithreads";
const threadsAPI = new ThreadsAPI.ThreadsAPI({});