← All tools
threads · fetchsolari:read

solari fetch threads post

One Threads post with its first replies, read live.

MCP tool
solari_fetch_threads_post
CLI
solari fetch threads post
Access
solari:read
Plans
  • Free Trial
  • Plus
  • Pro
  • Enterprise
Credit
1

Overview

Read one Threads post by its public URL or permalink code, with its author and the first batch of direct replies, most liked first. A post SOLARI has never seen is collected live, which takes 5 to 30 seconds; within an hour the stored copy is reused unless refresh=true.

When to use it — When you were given a Threads post link or code and want the post, its author, or what people replied.

What comes back — The post, up to replies_limit direct replies most liked first, and the fetch command to read the author's profile.

Parameters

urlstringoptional
Public post URL on threads.com or threads.net. Provide this or code.≤ 512 chars
codestringoptional
Permalink code, the segment after /post/ in the URL. Provide this or url.pattern ^[A-Za-z0-9_-]{5,40}$
replies_limitintegeroptional
How many direct replies, most liked first. 0 skips them.default 200–50
refreshbooleanoptional
Collect again even if a copy from the last hour exists.

Response

Response

itemobject
The post, with its author's handle.
repliesobject[]
Direct replies, most liked first. The first batch only.
collected_attimestamp | null
When this copy was collected.
fetched_on_demandboolean
true if this call collected it live.
staleboolean
true if live collection failed and an older copy is returned. collected_at says how old.
notestring | null
Caveat, when there is one.
nextstring
Fetch command to read the author's profile.

item · replies[]

post_iduuid
Threads post id. Not interchangeable with Instagram or TikTok.
codestring | null
Permalink code, the segment after /post/ in the URL.
urlstring | null
Public permalink.
account_iduuid | null
Author account_id.
usernamestring | null
Author handle.
textstring | null
Post text.
posted_attimestamp | null
Published at (UTC).
like_countinteger | null
Likes.
reply_countinteger | null
Replies on Threads. Can exceed the replies returned.
repost_countinteger | null
Reposts.
quote_countinteger | null
Quotes.
reshare_countinteger | null
Shares.
counts_hiddenboolean | null
true if the author hides engagement counts.
hashtagsstring[]
Hashtags without the #.
mentionsstring[]
Handles mentioned, without the @.
link_urlsstring[]
Links attached to the post.
is_replyboolean | null
true for a reply to another post.
reply_to_usernamestring | null
Handle this post replies to. Null for top-level posts.
is_paid_partnershipboolean | null
Paid partnership label.
topicstring | null
Topic tag, when Threads sets one.
languagestring | null
Language code of the text.
quoted_postobject | null
The quoted post: username, text, like_count, posted_at, url. Null unless this is a quote.
assetsobject[]
Media files in order. Each has asset_url, media_type, and video_duration.
assets[].asset_urlstring | null
Direct download link to the full-size image or video. Null when no file is stored.

Example

Request

$ solari fetch threads post url=https://www.threads.com/@zuck/post/Ddt7cL5EfUG replies_limit=2

Response · Long strings and repeated array entries are trimmed for readability.

{
  "item": {
    "post_id": "019f3a5c-2b7e-7c41-9d0e-5a1f2c3b4d66",
    "code": "DdU1-6okapE",
    "url": "https://www.threads.com/@zuck/post/DdU1-6okapE",
    "account_id": "019f3a5c-2b7e-7c41-9d0e-5a1f2c3b4d5e",
    "username": "zuck",
    "text": "Last month I wrote about how we can build a positive and safe future for everyone: meta.com/thefutureisforeveryone \n\nEvery lab has the responsibility and incentive to move at the pace required to train its models safely,…",
    "posted_at": "2026-09-15T23:01:39.000Z",
    "like_count": 1639,
    "reply_count": 412,
    "repost_count": 136,
    "quote_count": 30,
    "reshare_count": 112,
    "counts_hidden": false,
    "hashtags": [],
    "mentions": [],
    "link_urls": [],
    "is_reply": false,
    "reply_to_username": null,
    "is_paid_partnership": false,
    "topic": null,
    "language": null,
    "quoted_post": null,
    "assets": []
  },
  "replies": [
    {
      "post_id": "019f3a5c-2b7e-7c41-9d0e-5a1f2c3b4d62",
      "code": "DdU1-7_kb4B",
      "url": "https://www.threads.com/@zuck/post/DdU1-7_kb4B",
      "account_id": "019f3a5c-2b7e-7c41-9d0e-5a1f2c3b4d5e",
      "username": "zuck",
      "text": "The reality is:\n\n- People won't want to use agents that are misaligned with them and that don't do what they ask, so labs have a strong natural incentive to make their models more aligned.\n\nThere is a lot of debate about…",
      "posted_at": "2026-09-15T23:01:39.000Z",
      "like_count": 663,
      "reply_count": 77,
      "repost_count": 27,
      "quote_count": 4,
      "reshare_count": 10,
      "counts_hidden": false,
      "hashtags": [],
      "mentions": [],
      "link_urls": [],
      "is_reply": true,
      "reply_to_username": "zuck",
      "is_paid_partnership": false,
      "topic": null,
      "language": null,
      "quoted_post": null,
      "assets": []
    },
    {
      "post_id": "019f3a5c-2b7e-7c41-9d0e-5a1f2c3b4d63",
      "code": "DdU1-7tEf-q",
      "url": "https://www.threads.com/@zuck/post/DdU1-7tEf-q",
      "account_id": "019f3a5c-2b7e-7c41-9d0e-5a1f2c3b4d5e",
      "username": "zuck",
      "text": "- Labs face significant liability if their models cause harm, so they have a strong incentive to prevent this as well. \n\nMeta delayed shipping Muse for several months to focus on safety and security. We didn't call for e…",
      "posted_at": "2026-09-15T23:01:39.000Z",
      "like_count": 230,
      "reply_count": 11,
      "repost_count": 3,
      "quote_count": 0,
      "reshare_count": 2,
      "counts_hidden": false,
      "hashtags": [],
      "mentions": [],
      "link_urls": [],
      "is_reply": true,
      "reply_to_username": "zuck",
      "is_paid_partnership": false,
      "topic": null,
      "language": null,
      "quoted_post": null,
      "assets": []
    }
  ],
  "collected_at": "2026-09-28T09:13:55Z",
  "fetched_on_demand": true,
  "stale": false,
  "note": null,
  "next": "solari fetch threads account username=zuck"
}

As an MCP call

{
  "name": "solari_fetch_threads_post",
  "arguments": {
    "url": "https://www.threads.com/@zuck/post/Ddt7cL5EfUG",
    "replies_limit": 2
  }
}

Notes

  • Pass url or code, not both. threads.com and threads.net URLs both work.
  • Replies are the first batch only, so reply_count on the post can exceed the replies returned. replies_limit=0 skips them.
  • A first collection takes 5 to 30 seconds (fetched_on_demand=true). Repeat calls within an hour return the stored copy unless refresh=true.
  • stale=true means the live collection failed and an older copy came back. collected_at says how old it is.
  • Media URLs right after a collection may be temporary. Read them promptly.
  • A reference with no public post is an error, not an empty result. Failed calls cost nothing.

Machine-readable: /docs/tools/fetch-threads-post.md