Support needed? Reach out! 📧

How to Scrape Threads User Posts

This tutorial shows how to use Threads User Posts API to scrape and crawl structured Threads data in real-time.
Collect complete post histories from any Threads account through our API and extract post text, like counts, reply totals, and timestamps for content benchmarking and trend research.

Access Threads Data in 3 Steps

Start crawling Threads user posts data. Follow these steps to extract social media data in minutes.

1

Create Your Account

Go to our registration page and make an account. It's free, no credit card, and you get credits right away to play around with.

2

Verify Your Email Address

You'll get a verification email, click the link in it. Once that's done, you can grab your API token from the dashboard.

3

Make Your First API Call

Copy the code snippet below, swap in your API key, and run it. You'll get Threads data back as JSON within a few seconds.

Code Sample

Here's a JavaScript example to get you going. Swap out the token and you're good, works the same way in any language that can make HTTP requests. Start collecting user posts data via our REST API!

javascript-logo JavaScript
Threads User Posts
1 const root = 'https://ensembledata.com/apis'
2 const endpoint = '/threads/user/posts'
3 const params = {
4   "id"195178788,
5   "chunk_size"10,
6   "token""YOUR-TOKEN-HERE"
7 }
8  
9 const queryString = new URLSearchParams(params).toString();
10 const url = `${root}${endpoint}?${queryString}`;
11  
12 await fetch(url)
13   .then(response => response.json())
14   .then(data => console.log(data))
15   .catch(error => console.error(error));
16  

Parameters

id (integer) User ID. REQUIRED
chunk_size (integer) How many posts to fetch with the request.
token (string) Private token assigned to each client to access the APIs. REQUIRED

Example Response

Explore the fields returned by this endpoint. Click a row to expand nested objects and arrays, hover a value to copy it, or use "Expand all" to see everything at once.

JSON
Threads User Posts
dataarray1 item · schema from #0 1 item
nodeobject5 fields
thread_header_contextnullnull
thread_itemsarray1 item · schema from #0 1 item
postobject31 fields
pkstring"3407843880258348330"
userobject11 fields
friendship_statusnullnull
idstring"195178788"
eligible_for_text_app_activation_badgebooleanfalse
hide_text_app_activation_badge_on_text_appbooleanfalse
pkstring"195178788"
transparency_labelnullnull
transparency_productnullnull
transparency_product_enabledbooleanfalse
is_verifiedbooleantrue
usernamestring"orlandomagic"
profile_pic_urlstring"https://instagram.fhan3-4.fna.fbcdn.net/v/t51.2885-19/438868684_384914…"
text_post_app_infoobject21 fields
is_post_unavailablebooleanfalse
pinned_post_infoobject2 fields
is_pinned_to_profilebooleanfalse
is_pinned_to_parent_postbooleanfalse
share_infoobject9 fields
reposted_postnullnull
quoted_postobject29 fields
is_paid_partnershipnullnull
carousel_mediaarray2 items · schema from #0 2 items
accessibility_captionstring"Photo by Orlando Magic on July 08, 2024. May be an image of 2 people, …"
has_audionullnull
image_versions2object1 field
candidatesarray12 items · schema from #0 12 items
urlstring"https://instagram.fhan3-4.fna.fbcdn.net/v/t51.29350-15/450516860_41084…"
heightnumber899
widthnumber720
original_heightnumber899
original_widthnumber720
pkstring"3407837883964056310"
video_versionsnullnull
idstring"3407837883964056310_195178788"
codenullnull
codestring"C9LEoFkymbO"
image_versions2object1 field
candidatesarray10 items · schema from #0 10 items
heightnumber799
urlstring"https://instagram.fhan3-4.fna.fbcdn.net/v/t51.29350-15/450516860_41084…"
widthnumber640
original_heightnumber612
original_widthnumber612
video_versionsnullnull
captionobject3 fields
pkstring"18446587198021810"
textstring"admin face reveal..."
has_translationnullnull
pkstring"3407837889986979534"
userobject8 fields
pkstring"195178788"
idstring"195178788"
usernamestring"orlandomagic"
friendship_statusnullnull
eligible_for_text_app_activation_badgebooleanfalse
hide_text_app_activation_badge_on_text_appbooleanfalse
profile_pic_urlstring"https://instagram.fhan3-4.fna.fbcdn.net/v/t51.2885-19/438868684_384914…"
is_verifiedbooleantrue
is_fb_onlynullnull
is_internal_onlynullnull
media_overlay_infonullnull
sharing_friction_infoobject2 fields
should_have_sharing_frictionbooleanfalse
sharing_friction_payloadnullnull
text_post_app_infoobject14 fields
__typenamestring"XDTTextPostAppMediaInfo"
delete_timestampnullnull
share_infoobject8 fields
can_quote_postbooleanfalse
can_repostbooleanfalse
is_reposted_by_viewerbooleanfalse
repost_restricted_reasonstring"private"
quoted_attachment_author_attribution_allowedbooleantrue
quoted_attachment_post_unavailablebooleanfalse
quoted_attachment_postnullnull
quoted_post_captionnullnull
can_replybooleanfalse
reshare_countnullnull
special_effects_enabled_strstring""
text_fragmentsobject1 field
fragmentsarray1 item · schema from #0 1 item
fragment_typestring"plaintext"
link_fragmentnullnull
mention_fragmentnullnull
plaintextstring"admin face reveal..."
tag_fragmentnullnull
direct_reply_countnumber0
repost_countnumber0
quote_countnumber1
link_preview_attachmentnullnull
linked_inline_medianullnull
reply_controlstring"everyone"
is_post_unavailablebooleanfalse
audionullnull
caption_is_editedbooleanfalse
transcription_datanullnull
accessibility_captionnullnull
has_audionullnull
media_typenumber8
idstring"3407837889986979534_195178788"
like_countnumber73
logging_info_tokennullnull
caption_add_onnullnull
taken_atnumber1720465955
has_likedbooleanfalse
giphy_media_infonullnull
like_and_view_counts_disabledbooleanfalse
can_quote_postbooleanfalse
can_repostbooleanfalse
is_reposted_by_viewerbooleanfalse
repost_restricted_reasonstring"private"
quoted_attachment_author_attribution_allowedbooleantrue
quoted_attachment_post_unavailablebooleanfalse
quoted_attachment_postnullnull
reply_to_authornullnull
direct_reply_countnumber2
repost_countnumber1
hush_infonullnull
can_replybooleanfalse
reshare_countnullnull
__typenamestring"XDTTextPostAppMediaInfo"
delete_timestampnullnull
special_effects_enabled_strstring""
quote_countnumber0
text_fragmentsobject1 field
fragmentsarray1 item · schema from #0 1 item
fragment_typestring"plaintext"
link_fragmentnullnull
mention_fragmentnullnull
plaintextstring"secrets out"
tag_fragmentnullnull
reply_controlstring"everyone"
is_replybooleanfalse
link_preview_attachmentnullnull
linked_inline_medianullnull
private_reply_partnernullnull
fediverse_infonullnull
post_unavailable_reasonnullnull
idstring"3407843880258348330_195178788"
is_paid_partnershipnullnull
carousel_medianullnull
codestring"C9LF_QcyaUq"
image_versions2object1 field
candidatesarray10 items · schema from #0 10 items
heightnumber1136
urlstring"https://instagram.fhan4-3.fna.fbcdn.net/v/t51.2885-15/450313493_123251…"
widthnumber640
original_heightnumber1136
original_widthnumber640
video_versionsarray3 items · schema from #0 3 items
typenumber101
urlstring"https://instagram.fhan4-5.fna.fbcdn.net/o1/v/t16/f2/m69/An9TtCA42GRPL5…"
captionobject3 fields
pkstring"18045711181868779"
has_translationnullnull
textstring"secrets out"
like_countnumber29
logging_info_tokennullnull
is_fb_onlynullnull
is_internal_onlynullnull
media_overlay_infonullnull
sharing_friction_infoobject2 fields
should_have_sharing_frictionbooleanfalse
sharing_friction_payloadnullnull
audionullnull
caption_is_editedbooleanfalse
transcription_datanullnull
accessibility_captionnullnull
has_audiobooleantrue
media_typenumber2
has_likedbooleanfalse
caption_add_onnullnull
taken_atnumber1720466704
giphy_media_infonullnull
meta_placenullnull
organic_tracking_tokenstring"eyJ2ZXJzaW9uIjo1LCJwYXlsb2FkIjp7ImlzX2FuYWx5dGljc190cmFja2VkIjp0cnVlLC…"
like_and_view_counts_disabledbooleanfalse
line_typestring"line"
should_show_ephemeral_post_timerbooleanfalse
__typenamestring"XDTThreadItem"
thread_typestring"thread"
idstring"3407843880258348330"
__typenamestring"XDTThread"
__typenamestring"XDTUserTextPostsResponseEdge"
cursorstring""

Response Codes

Status codes this endpoint can return, so you can handle errors before they surprise you in production.

200SuccessSuccessful Response
422Client ErrorValidation Error
491Client ErrorToken not found
492Client ErrorEmail not verified
493Client ErrorSubscription expired
495Client ErrorAll daily units used
500Server ErrorSomething went wrong

API Pricing

#returned_posts units Cost per successful call to this endpoint.

Fetch Threads Data at Scale

Retrieve complete Threads post feeds for research, competitive analysis, or feeding your content intelligence and social media tools.

deco-icon

Full Post History

Paginate through a user's entire public Threads post history.

deco-icon

Text & Timestamps

Get post text and publish timestamps for every post returned.

deco-icon

Engagement Stats

Pull like and reply counts for each post automatically.