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:readAvailable on any SOLARI plan, including the trial. One credit per successful call.Available on any SOLARI plan, including the trial. One credit per successful call.
- Plans
- Any paid plan or trial
- 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. Threads is fetch-only in SOLARI, so this call is the post reader: there is no catalog step. 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.≥ 0
- 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=2Response · 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.
Related tools
- solari_fetch_threads_post_searchThreads' top posts for a keyword, live.
- solari_fetch_threads_accountOne Threads account's profile, read live.
- solari_fetch_threads_postsOne Threads account's recent posts, read live.
Machine-readable: /docs/tools/fetch-threads-post.md