curl --request GET \
--url https://api.scraperize.com/v1/threads/user/posts \
--header 'x-api-key: <api-key>'import requests
url = "https://api.scraperize.com/v1/threads/user/posts"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.scraperize.com/v1/threads/user/posts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.scraperize.com/v1/threads/user/posts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.scraperize.com/v1/threads/user/posts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.scraperize.com/v1/threads/user/posts")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.scraperize.com/v1/threads/user/posts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"user": {
"id": "63055343223",
"handle": "zuck",
"fullName": "Mark Zuckerberg",
"url": "https://www.threads.com/@zuck",
"profilePicUrl": "https://scontent-los4-1.cdninstagram.com/v/t51.82787-19/825322135_17989325280103224_1252773933700107438_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=scontent-los4-1.cdninstagram.com&_nc_cat=100&_nc_oc=Q6cZ2gEboLW4DKSrHcbpie-oRsUc60RTmYQWBM0pj9ZWDp1dEZiiZqWFM-K_Cc5F0BkdqAo&_nc_ohc=Mt_GHrIBPnQQ7kNvwG-U6x1&_nc_gid=z3S0kptOVvPuvMskG4Z6fg&edm=APs17CUBAAAA&ccb=7-5&oh=00_AQP9O5zQCaVXPzqj-f24bfnlW0f2Aab1XHCMv2ssIK4XNg&oe=6ADBC72B&_nc_sid=10d13b",
"isVerified": true,
"isPrivate": false,
"followerCount": 5754774
},
"posts": [
{
"id": "4006434140014576097",
"code": "DeZtp-TkQHh",
"url": "https://www.threads.com/@zuck/post/DeZtp-TkQHh",
"text": "Introducing Muse Wonder, our new family of frontier models with state of the art performance for personal and professional agentic work.",
"createdAt": "2026-10-12T16:56:29.000Z",
"isEdited": false,
"language": null,
"author": {
"id": "63055343223",
"handle": "zuck",
"url": "https://www.threads.com/@zuck",
"fullName": "Mark Zuckerberg",
"profilePicUrl": "https://scontent-los4-1.cdninstagram.com/v/t51.82787-19/825322135_17989325280103224_1252773933700107438_n.jpg?stp=dst-jpg_s206x206_tt6&_nc_cat=107&ccb=7-5&_nc_sid=30ff31&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLnd3dy4xMDgwLkMzIn0%3D&_nc_ohc=dyzJhQmgZIYQ7kNvwEbGzZs&_nc_oc=AdrmmK8SKqPWnJP2BIHndf5olhoKhAY_ScJ5Yc96s4qGIi_j3tY7ArgaLpO70P6zLC0&_nc_zt=24&_nc_ht=scontent-los4-1.cdninstagram.com&_nc_gid=i16onB2g271e7SdKdtt4bw&_nc_ss=7c289&oh=00_AQNU_p4HyYLwezfau8UT8GinYAcnIY3tR7o8Mo_NJkfL6g&oe=6ADBC72B",
"isVerified": true
},
"mediaType": "image",
"media": [
{
"type": "image",
"url": "https://scontent-los4-1.cdninstagram.com/v/t51.82787-15/844965867_17991705567103224_8296143909108287920_n.webp?_nc_cat=109&ig_cache_key=NDAwNjQzNDE0MDAxNDU3NjA5Nw%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkZFRUQueHBpZHMuMjE2MC5zZHIucmVndWxhcl9waG90by5DMyJ9&_nc_ohc=AlVTUhTGdD8Q7kNvwE73Qa-&_nc_oc=Adp-ix74SF9PaysrJvJ6rwYVbcEvzFCK6fruNSGSjYylq1CGKlsBjU5CQ5iCc0gdmMw&_nc_zt=23&_nc_ht=scontent-los4-1.cdninstagram.com&_nc_gid=i16onB2g271e7SdKdtt4bw&_nc_ss=7c289&oh=00_AQNxcYkhEAjRexZ6IgacF_g3Nb2LCm587Gom-9FliAirjg&oe=6ADBCEF0",
"thumbnailUrl": null,
"width": 2160,
"height": 3260,
"altText": null,
"hasAudio": null
}
],
"likeCount": 2075,
"replyCount": 457,
"repostCount": 163,
"quoteCount": 59,
"shareCount": 142,
"countsHidden": false,
"mentions": [],
"links": [],
"topic": null,
"linkPreview": null,
"textAttachment": null,
"gif": null,
"stickers": [],
"music": null,
"podcast": null,
"podcastEpisode": null,
"instagramPost": null,
"quotedPost": null,
"isQuotedPostUnavailable": false,
"isReply": false,
"replyToAuthor": null,
"rootPostAuthor": null,
"isPinned": false,
"isPinnedReply": false,
"isSpoiler": false,
"replyControl": "everyone",
"aiDetectionMethod": null
},
{
"id": "4006376160339141718",
"code": "DeZgeQhm6RW",
"url": "https://www.threads.com/@zuck/post/DeZgeQhm6RW",
"text": "Muse ordered me š how thoughtful!",
"createdAt": "2026-10-12T15:01:17.000Z",
"isEdited": false,
"language": null,
"author": {
"id": "63055343223",
"handle": "zuck",
"url": "https://www.threads.com/@zuck",
"fullName": "Mark Zuckerberg",
"profilePicUrl": "https://scontent-los4-1.cdninstagram.com/v/t51.82787-19/825322135_17989325280103224_1252773933700107438_n.jpg?stp=dst-jpg_s206x206_tt6&_nc_cat=107&ccb=7-5&_nc_sid=30ff31&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLnd3dy4xMDgwLkMzIn0%3D&_nc_ohc=dyzJhQmgZIYQ7kNvwEbGzZs&_nc_oc=AdrmmK8SKqPWnJP2BIHndf5olhoKhAY_ScJ5Yc96s4qGIi_j3tY7ArgaLpO70P6zLC0&_nc_zt=24&_nc_ht=scontent-los4-1.cdninstagram.com&_nc_gid=i16onB2g271e7SdKdtt4bw&_nc_ss=7c289&oh=00_AQNU_p4HyYLwezfau8UT8GinYAcnIY3tR7o8Mo_NJkfL6g&oe=6ADBC72B",
"isVerified": true
},
"mediaType": "image",
"media": [
{
"type": "image",
"url": "https://scontent-los4-1.cdninstagram.com/v/t51.82787-15/843592055_17991691623103224_8086321653765802754_n.webp?_nc_cat=102&ig_cache_key=NDAwNjM3NjE2MDMzOTE0MTcxOA%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkZFRUQueHBpZHMuMTUwMC5zZHIucmVndWxhcl9waG90by5DMyJ9&_nc_ohc=CmgthCChTzwQ7kNvwFkGqD9&_nc_oc=Ado6tYo6WPbYedKNyu1tazFLtjYP2A0Y6qr0Wf0YOr5pGj--DGEN5I06K_sC-3eoBRA&_nc_zt=23&_nc_ht=scontent-los4-1.cdninstagram.com&_nc_gid=i16onB2g271e7SdKdtt4bw&_nc_ss=7c289&oh=00_AQNPqd3evL5LgIOtxv80YYcMrhaMgXwiGx0fPduwuuFm-A&oe=6ADBCDE8",
"thumbnailUrl": null,
"width": 1500,
"height": 2000,
"altText": null,
"hasAudio": null
}
],
"likeCount": 1576,
"replyCount": 469,
"repostCount": 108,
"quoteCount": 37,
"shareCount": 72,
"countsHidden": false,
"mentions": [],
"links": [],
"topic": null,
"linkPreview": null,
"textAttachment": null,
"gif": null,
"stickers": [],
"music": null,
"podcast": null,
"podcastEpisode": null,
"instagramPost": null,
"quotedPost": null,
"isQuotedPostUnavailable": false,
"isReply": false,
"replyToAuthor": null,
"rootPostAuthor": null,
"isPinned": false,
"isPinnedReply": false,
"isSpoiler": false,
"replyControl": "everyone",
"aiDetectionMethod": null
},
{
"id": "3996155940894885511",
"code": "Dd1MqfcG0aH",
"url": "https://www.threads.com/@zuck/post/Dd1MqfcG0aH",
"text": "We believe superintelligence will create significant new opportunities for all people and businesses. Meta already serves billions of people at scale and helps hundreds of millions of businesses reach customers. Today we are starting the next major pillar of our business, Meta Enterprise Platform, to help businesses use AI to grow and transform in new ways as well.",
"createdAt": "2026-09-28T12:35:32.000Z",
"isEdited": false,
"language": null,
"author": {
"id": "63055343223",
"handle": "zuck",
"url": "https://www.threads.com/@zuck",
"fullName": "Mark Zuckerberg",
"profilePicUrl": "https://scontent-los4-1.cdninstagram.com/v/t51.82787-19/825322135_17989325280103224_1252773933700107438_n.jpg?stp=dst-jpg_s206x206_tt6&_nc_cat=107&ccb=7-5&_nc_sid=30ff31&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLnd3dy4xMDgwLkMzIn0%3D&_nc_ohc=dyzJhQmgZIYQ7kNvwEbGzZs&_nc_oc=AdrmmK8SKqPWnJP2BIHndf5olhoKhAY_ScJ5Yc96s4qGIi_j3tY7ArgaLpO70P6zLC0&_nc_zt=24&_nc_ht=scontent-los4-1.cdninstagram.com&_nc_gid=i16onB2g271e7SdKdtt4bw&_nc_ss=7c289&oh=00_AQNU_p4HyYLwezfau8UT8GinYAcnIY3tR7o8Mo_NJkfL6g&oe=6ADBC72B",
"isVerified": true
},
"mediaType": "text",
"media": [],
"likeCount": 2744,
"replyCount": 2658,
"repostCount": 173,
"quoteCount": 160,
"shareCount": 180,
"countsHidden": false,
"mentions": [],
"links": [],
"topic": null,
"linkPreview": null,
"textAttachment": null,
"gif": null,
"stickers": [],
"music": null,
"podcast": null,
"podcastEpisode": null,
"instagramPost": null,
"quotedPost": null,
"isQuotedPostUnavailable": false,
"isReply": false,
"replyToAuthor": null,
"rootPostAuthor": null,
"isPinned": false,
"isPinnedReply": false,
"isSpoiler": false,
"replyControl": "everyone",
"aiDetectionMethod": null
}
],
"count": 15,
"cursor": "AQHT4MAGHbQVkD07zuZQoX_OblA2Yn8tt43VFAZK_FW-npgofrOrHHvHCvV9Zao7uhTwkfV568eoBlo7nSQ7DkFPRw",
"hasMore": true,
"fetchedAt": "2026-10-19T09:39:17.188Z"
},
"meta": {
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
"creditsCharged": 1,
"creditsRemaining": 4999,
"cached": false
}
}{
"error": {
"code": "BAD_REQUEST",
"message": "The request was invalid.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "API key required ā pass it in the `x-api-key` header.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "This request costs 1 credit, but your balance is 0. Top up to continue.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "The requested content was not found (it may not exist, be deleted, or be private).",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Request validation failed",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
"details": [
{
"path": "url",
"message": "url is required"
}
]
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded ā max 100 requests per 60s. Retry in ~30s.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "UPSTREAM_BLOCKED",
"message": "The source is temporarily unavailable. Please try again shortly.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}User posts
Fetches a public Threads accountās posts by username ā the threads on its Threads tab, newest first (a pinned post comes first on page 1), 15 per page with a cursor for the next. Replies are not included (see /v1/threads/post). Each post has its id, link, text, date, author, like, reply, repost, quote and share counts, images, videos and carousels (with alt text), mentions and links, its topic, link preview, text attachment, GIFs and stickers, music, podcast or episode, an embedded Instagram post, the quoted post, and pinned, spoiler and AI-label flags. Also returns the account (id, name, picture, verified, private, follower count). A private account returns no posts. Only publicly available data is returned.
curl --request GET \
--url https://api.scraperize.com/v1/threads/user/posts \
--header 'x-api-key: <api-key>'import requests
url = "https://api.scraperize.com/v1/threads/user/posts"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.scraperize.com/v1/threads/user/posts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.scraperize.com/v1/threads/user/posts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.scraperize.com/v1/threads/user/posts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.scraperize.com/v1/threads/user/posts")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.scraperize.com/v1/threads/user/posts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"user": {
"id": "63055343223",
"handle": "zuck",
"fullName": "Mark Zuckerberg",
"url": "https://www.threads.com/@zuck",
"profilePicUrl": "https://scontent-los4-1.cdninstagram.com/v/t51.82787-19/825322135_17989325280103224_1252773933700107438_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=scontent-los4-1.cdninstagram.com&_nc_cat=100&_nc_oc=Q6cZ2gEboLW4DKSrHcbpie-oRsUc60RTmYQWBM0pj9ZWDp1dEZiiZqWFM-K_Cc5F0BkdqAo&_nc_ohc=Mt_GHrIBPnQQ7kNvwG-U6x1&_nc_gid=z3S0kptOVvPuvMskG4Z6fg&edm=APs17CUBAAAA&ccb=7-5&oh=00_AQP9O5zQCaVXPzqj-f24bfnlW0f2Aab1XHCMv2ssIK4XNg&oe=6ADBC72B&_nc_sid=10d13b",
"isVerified": true,
"isPrivate": false,
"followerCount": 5754774
},
"posts": [
{
"id": "4006434140014576097",
"code": "DeZtp-TkQHh",
"url": "https://www.threads.com/@zuck/post/DeZtp-TkQHh",
"text": "Introducing Muse Wonder, our new family of frontier models with state of the art performance for personal and professional agentic work.",
"createdAt": "2026-10-12T16:56:29.000Z",
"isEdited": false,
"language": null,
"author": {
"id": "63055343223",
"handle": "zuck",
"url": "https://www.threads.com/@zuck",
"fullName": "Mark Zuckerberg",
"profilePicUrl": "https://scontent-los4-1.cdninstagram.com/v/t51.82787-19/825322135_17989325280103224_1252773933700107438_n.jpg?stp=dst-jpg_s206x206_tt6&_nc_cat=107&ccb=7-5&_nc_sid=30ff31&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLnd3dy4xMDgwLkMzIn0%3D&_nc_ohc=dyzJhQmgZIYQ7kNvwEbGzZs&_nc_oc=AdrmmK8SKqPWnJP2BIHndf5olhoKhAY_ScJ5Yc96s4qGIi_j3tY7ArgaLpO70P6zLC0&_nc_zt=24&_nc_ht=scontent-los4-1.cdninstagram.com&_nc_gid=i16onB2g271e7SdKdtt4bw&_nc_ss=7c289&oh=00_AQNU_p4HyYLwezfau8UT8GinYAcnIY3tR7o8Mo_NJkfL6g&oe=6ADBC72B",
"isVerified": true
},
"mediaType": "image",
"media": [
{
"type": "image",
"url": "https://scontent-los4-1.cdninstagram.com/v/t51.82787-15/844965867_17991705567103224_8296143909108287920_n.webp?_nc_cat=109&ig_cache_key=NDAwNjQzNDE0MDAxNDU3NjA5Nw%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkZFRUQueHBpZHMuMjE2MC5zZHIucmVndWxhcl9waG90by5DMyJ9&_nc_ohc=AlVTUhTGdD8Q7kNvwE73Qa-&_nc_oc=Adp-ix74SF9PaysrJvJ6rwYVbcEvzFCK6fruNSGSjYylq1CGKlsBjU5CQ5iCc0gdmMw&_nc_zt=23&_nc_ht=scontent-los4-1.cdninstagram.com&_nc_gid=i16onB2g271e7SdKdtt4bw&_nc_ss=7c289&oh=00_AQNxcYkhEAjRexZ6IgacF_g3Nb2LCm587Gom-9FliAirjg&oe=6ADBCEF0",
"thumbnailUrl": null,
"width": 2160,
"height": 3260,
"altText": null,
"hasAudio": null
}
],
"likeCount": 2075,
"replyCount": 457,
"repostCount": 163,
"quoteCount": 59,
"shareCount": 142,
"countsHidden": false,
"mentions": [],
"links": [],
"topic": null,
"linkPreview": null,
"textAttachment": null,
"gif": null,
"stickers": [],
"music": null,
"podcast": null,
"podcastEpisode": null,
"instagramPost": null,
"quotedPost": null,
"isQuotedPostUnavailable": false,
"isReply": false,
"replyToAuthor": null,
"rootPostAuthor": null,
"isPinned": false,
"isPinnedReply": false,
"isSpoiler": false,
"replyControl": "everyone",
"aiDetectionMethod": null
},
{
"id": "4006376160339141718",
"code": "DeZgeQhm6RW",
"url": "https://www.threads.com/@zuck/post/DeZgeQhm6RW",
"text": "Muse ordered me š how thoughtful!",
"createdAt": "2026-10-12T15:01:17.000Z",
"isEdited": false,
"language": null,
"author": {
"id": "63055343223",
"handle": "zuck",
"url": "https://www.threads.com/@zuck",
"fullName": "Mark Zuckerberg",
"profilePicUrl": "https://scontent-los4-1.cdninstagram.com/v/t51.82787-19/825322135_17989325280103224_1252773933700107438_n.jpg?stp=dst-jpg_s206x206_tt6&_nc_cat=107&ccb=7-5&_nc_sid=30ff31&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLnd3dy4xMDgwLkMzIn0%3D&_nc_ohc=dyzJhQmgZIYQ7kNvwEbGzZs&_nc_oc=AdrmmK8SKqPWnJP2BIHndf5olhoKhAY_ScJ5Yc96s4qGIi_j3tY7ArgaLpO70P6zLC0&_nc_zt=24&_nc_ht=scontent-los4-1.cdninstagram.com&_nc_gid=i16onB2g271e7SdKdtt4bw&_nc_ss=7c289&oh=00_AQNU_p4HyYLwezfau8UT8GinYAcnIY3tR7o8Mo_NJkfL6g&oe=6ADBC72B",
"isVerified": true
},
"mediaType": "image",
"media": [
{
"type": "image",
"url": "https://scontent-los4-1.cdninstagram.com/v/t51.82787-15/843592055_17991691623103224_8086321653765802754_n.webp?_nc_cat=102&ig_cache_key=NDAwNjM3NjE2MDMzOTE0MTcxOA%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkZFRUQueHBpZHMuMTUwMC5zZHIucmVndWxhcl9waG90by5DMyJ9&_nc_ohc=CmgthCChTzwQ7kNvwFkGqD9&_nc_oc=Ado6tYo6WPbYedKNyu1tazFLtjYP2A0Y6qr0Wf0YOr5pGj--DGEN5I06K_sC-3eoBRA&_nc_zt=23&_nc_ht=scontent-los4-1.cdninstagram.com&_nc_gid=i16onB2g271e7SdKdtt4bw&_nc_ss=7c289&oh=00_AQNPqd3evL5LgIOtxv80YYcMrhaMgXwiGx0fPduwuuFm-A&oe=6ADBCDE8",
"thumbnailUrl": null,
"width": 1500,
"height": 2000,
"altText": null,
"hasAudio": null
}
],
"likeCount": 1576,
"replyCount": 469,
"repostCount": 108,
"quoteCount": 37,
"shareCount": 72,
"countsHidden": false,
"mentions": [],
"links": [],
"topic": null,
"linkPreview": null,
"textAttachment": null,
"gif": null,
"stickers": [],
"music": null,
"podcast": null,
"podcastEpisode": null,
"instagramPost": null,
"quotedPost": null,
"isQuotedPostUnavailable": false,
"isReply": false,
"replyToAuthor": null,
"rootPostAuthor": null,
"isPinned": false,
"isPinnedReply": false,
"isSpoiler": false,
"replyControl": "everyone",
"aiDetectionMethod": null
},
{
"id": "3996155940894885511",
"code": "Dd1MqfcG0aH",
"url": "https://www.threads.com/@zuck/post/Dd1MqfcG0aH",
"text": "We believe superintelligence will create significant new opportunities for all people and businesses. Meta already serves billions of people at scale and helps hundreds of millions of businesses reach customers. Today we are starting the next major pillar of our business, Meta Enterprise Platform, to help businesses use AI to grow and transform in new ways as well.",
"createdAt": "2026-09-28T12:35:32.000Z",
"isEdited": false,
"language": null,
"author": {
"id": "63055343223",
"handle": "zuck",
"url": "https://www.threads.com/@zuck",
"fullName": "Mark Zuckerberg",
"profilePicUrl": "https://scontent-los4-1.cdninstagram.com/v/t51.82787-19/825322135_17989325280103224_1252773933700107438_n.jpg?stp=dst-jpg_s206x206_tt6&_nc_cat=107&ccb=7-5&_nc_sid=30ff31&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLnd3dy4xMDgwLkMzIn0%3D&_nc_ohc=dyzJhQmgZIYQ7kNvwEbGzZs&_nc_oc=AdrmmK8SKqPWnJP2BIHndf5olhoKhAY_ScJ5Yc96s4qGIi_j3tY7ArgaLpO70P6zLC0&_nc_zt=24&_nc_ht=scontent-los4-1.cdninstagram.com&_nc_gid=i16onB2g271e7SdKdtt4bw&_nc_ss=7c289&oh=00_AQNU_p4HyYLwezfau8UT8GinYAcnIY3tR7o8Mo_NJkfL6g&oe=6ADBC72B",
"isVerified": true
},
"mediaType": "text",
"media": [],
"likeCount": 2744,
"replyCount": 2658,
"repostCount": 173,
"quoteCount": 160,
"shareCount": 180,
"countsHidden": false,
"mentions": [],
"links": [],
"topic": null,
"linkPreview": null,
"textAttachment": null,
"gif": null,
"stickers": [],
"music": null,
"podcast": null,
"podcastEpisode": null,
"instagramPost": null,
"quotedPost": null,
"isQuotedPostUnavailable": false,
"isReply": false,
"replyToAuthor": null,
"rootPostAuthor": null,
"isPinned": false,
"isPinnedReply": false,
"isSpoiler": false,
"replyControl": "everyone",
"aiDetectionMethod": null
}
],
"count": 15,
"cursor": "AQHT4MAGHbQVkD07zuZQoX_OblA2Yn8tt43VFAZK_FW-npgofrOrHHvHCvV9Zao7uhTwkfV568eoBlo7nSQ7DkFPRw",
"hasMore": true,
"fetchedAt": "2026-10-19T09:39:17.188Z"
},
"meta": {
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
"creditsCharged": 1,
"creditsRemaining": 4999,
"cached": false
}
}{
"error": {
"code": "BAD_REQUEST",
"message": "The request was invalid.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "API key required ā pass it in the `x-api-key` header.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "This request costs 1 credit, but your balance is 0. Top up to continue.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "The requested content was not found (it may not exist, be deleted, or be private).",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Request validation failed",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
"details": [
{
"path": "url",
"message": "url is required"
}
]
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded ā max 100 requests per 60s. Retry in ~30s.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "UPSTREAM_BLOCKED",
"message": "The source is temporarily unavailable. Please try again shortly.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}cache_max_age) are free.Copy for AI assistant
Copy for AI assistant
I want to make an API call to /v1/threads/user/posts. Here are the details:
Endpoint: GET https://api.scraperize.com/v1/threads/user/posts
Description: Fetches a public Threads account's posts by username ā the threads on its Threads tab, newest first (a pinned post comes first on page 1), 15 per page with a `cursor` for the next. Replies are not included (see `/v1/threads/post`). Each post has its id, link, text, date, author, like, reply, repost, quote and share counts, images, videos and carousels (with alt text), mentions and links, its topic, link preview, text attachment, GIFs and stickers, music, podcast or episode, an embedded Instagram post, the quoted post, and pinned, spoiler and AI-label flags. Also returns the account (id, name, picture, verified, private, follower count). A private account returns no posts. Only publicly available data is returned.
Required Headers:
- x-api-key: Your API key
Parameters:
- handle (string) [required]: The Threads username, e.g. `zuck` (an `@handle` or `threads.com/@...` URL also works).
- cursor (string): The `cursor` from the previous page, to get the next one.
- cache_max_age (select): Optional. Return a cached result if one this age or newer exists ā served for **0 credits** with `meta.cached=true` and `meta.cachedAt`. Otherwise a fresh scrape runs (**1 credit**) and refreshes the cache. Omit to always scrape fresh.
Example Response:
{
"data": {
"user": {
"id": "63055343223",
"handle": "zuck",
"fullName": "Mark Zuckerberg",
"url": "https://www.threads.com/@zuck",
"profilePicUrl": "https://scontent-los4-1.cdninstagram.com/v/t51.82787-19/825322135_17989325280103224_1252773933700107438_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6Iā¦",
"isVerified": true,
"isPrivate": false,
"followerCount": 5754774
},
"posts": [
{
"id": "4006434140014576097",
"code": "DeZtp-TkQHh",
"url": "https://www.threads.com/@zuck/post/DeZtp-TkQHh",
"text": "Introducing Muse Wonder, our new family of frontier models with state of the art performance for personal and professional agentic work.",
"createdAt": "2026-10-12T16:56:29.000Z",
"isEdited": false,
"language": null,
"author": {
"id": "63055343223",
"handle": "zuck",
"url": "https://www.threads.com/@zuck",
"fullName": "Mark Zuckerberg",
"profilePicUrl": "https://scontent-los4-1.cdninstagram.com/v/t51.82787-19/825322135_17989325280103224_1252773933700107438_n.jpg?stp=dst-jpg_s206x206_tt6&_nc_cat=107&ccb=7-5&_nc_sā¦",
"isVerified": true
},
"mediaType": "image",
"media": [
{
"type": "image",
"url": "https://scontent-los4-1.cdninstagram.com/v/t51.82787-15/844965867_17991705567103224_8296143909108287920_n.webp?_nc_cat=109&ig_cache_key=NDAwNjQzNDE0MDAxNDU3NjA5ā¦",
"thumbnailUrl": null,
"width": 2160,
"height": 3260,
"altText": null,
"hasAudio": null
}
],
"likeCount": 2075,
"replyCount": 457,
"repostCount": 163,
"quoteCount": 59,
"shareCount": 142,
"countsHidden": false,
"mentions": [],
"links": [],
"topic": null,
"linkPreview": null,
"textAttachment": null,
"gif": null,
"stickers": [],
"music": null,
"podcast": null,
"podcastEpisode": null,
"instagramPost": null,
"quotedPost": null,
"isQuotedPostUnavailable": false,
"isReply": false,
"replyToAuthor": null,
"rootPostAuthor": null,
"isPinned": false,
"isPinnedReply": false,
"isSpoiler": false,
"replyControl": "everyone",
"aiDetectionMethod": null
}
],
"count": 15,
"cursor": "AQHT4MAGHbQVkD07zuZQoX_OblA2Yn8tt43VFAZK_FW-npgofrOrHHvHCvV9Zao7uhTwkfV568eoBlo7nSQ7DkFPRw",
"hasMore": true,
"fetchedAt": "2026-10-19T09:39:17.188Z"
},
"meta": {
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
"creditsCharged": 1,
"creditsRemaining": 4999,
"cached": false
}
}
Please help me write code in my preferred programming language to make this API call and handle the response appropriately. Include error handling and best practices.
Authorizations
Your API key. Send it in the x-api-key header (or Authorization: Bearer <key>). Create and manage keys from your dashboard.
Query Parameters
The Threads username, e.g. zuck (an @handle or threads.com/@... URL also works).
The cursor from the previous page, to get the next one.
Optional. Return a cached result if one this age or newer exists ā served for 0 credits with meta.cached=true and meta.cachedAt. Otherwise a fresh scrape runs (1 credit) and refreshes the cache. Omit to always scrape fresh.
1d, 3d, 7d, 14d, 30d