This document shows you how to retrieve:
Use the GET /{threads-user-id}/threads endpoint to return a paginated list of all threads created by a user.
The Threads Retrieval API requires an appropriate access token and permissions based on the node you are targeting. While you are testing, you can easily generate tokens and grant your app permissions by using the Graph API Explorer.
threads_basic — Required for making any calls to all Threads API endpoints.Here's a list of fields that can be returned for each Thread.
| Name | Description |
|---|---|
| The media's ID. |
| Surface where the media is published. In the case of Threads, the value is |
| The media type for a Threads post will be one of these values: Note: |
| The post’s media URL. |
| Permanent link to the post. Will be omitted if the media contains copyrighted material or has been flagged for a copyright violation. |
| Threads user ID who created the post. Note: This is only available on top-level posts that you own. |
| Threads username who created the post. |
| Represents text for a Threads post. |
| Post time. The publish date in ISO 8601 format. |
| Shortcode of the media. |
| URL of thumbnail. This only shows up for Threads media with video. |
| List of child posts. This only shows up for carousel posts. |
| Indicates if the media is a quoted post made by another user. |
| Media ID of the post that was quoted. Note: This only appears on quote posts. |
| Media ID of the post that was reposted. Note: This only appears on reposts. |
| The accessibility text label or description for an image or video in a Threads post. |
| The URL attached to a Threads post. |
| The URL of the GIF attached to the post (if any). Note: This will only show up on posts that have a GIF attachment. |
| The poll attachment for the post. Note: This will only show up on posts that have a poll. |
| The topic tag in the post's header (if any). Note: This will only show up on posts that have a topic tag. |
| Indicates if media objects were posted as spoilers. |
| Indicates if spoilers are present in the text field of the posts. |
| The text attachment for the post. |
curl -s -X GET \ "https://graph.threads.net/v1.0/me/threads?fields=id,media_product_type,media_type,media_url,permalink,owner,username,text,topic_tag,timestamp,shortcode,thumbnail_url,children,is_quote_post&since=2023-10-15&until=2023-11-18&limit=1&access_token=<ACCESS_TOKEN>"
{
"data": [
{
"id": "1234567",
"media_product_type": "THREADS",
"media_type": "TEXT_POST",
"permalink": "https://www.threads.net/@threadsapitestuser/post/abcdefg",
"owner": {
"id": "1234567"
},
"username": "threadsapitestuser",
"text": "Today Is Monday",
"topic_tag": "Mondays",
"timestamp": "2023-10-17T05:42:03+0000",
"shortcode": "abcdefg",
"is_quote_post": false
},
],
"paging": {
"cursors": {
"before": "BEFORE_CURSOR",
"after": "AFTER_CURSOR"
}
}
}
Use the GET /profile_posts?username=... endpoint to look up a public profile and retrieve a paginated list of their posts on Threads.
The Threads Profile Discovery API requires an appropriate access token and permissions based on the node you are targeting. While you are testing, you can easily generate tokens and grant your app permissions by using the Graph API Explorer.
threads_basic — Required for making any calls to all Threads API endpoints.threads_profile_discovery — Required for making any calls to all Threads Profile Discovery API endpoints.With standard access, only posts from some of the official Meta accounts can be retrieved. These include @meta, @threads, @instagram, and @facebook.
| Name | Description |
|---|---|
string | Required. |
string | Required. |
The same fields as those for an app-scoped user's posts can be retrieved except for the owner field.
curl -i -X GET \ "https://graph.threads.net/v1.0/profile_posts?access_token=<THREADS_TESTER_ACCESS_TOKEN>&username=<THREADS_USERNAME>&fields=id,media_product_type,media_type,media_url,permalink,username,text,topic_tag,timestamp,shortcode,thumbnail_url,children,is_quote_post&since=2023-10-15&until=2023-11-18&limit=1"
{
"data": [
{
"id": "1234567",
"media_product_type": "THREADS",
"media_type": "TEXT_POST",
"permalink": "https://www.threads.net/@meta/post/abcdefg",
"username": "meta",
"text": "Today Is Monday",
"topic_tag": "Mondays",
"timestamp": "2023-10-17T05:42:03+0000",
"shortcode": "abcdefg",
"is_quote_post": true
},
],
"paging": {
"cursors": {
"before": "BEFORE_CURSOR",
"after": "AFTER_CURSOR"
}
}
}
You can also use the GET /{threads-media-id} endpoint to return an single Threads media object.
The Threads Retrieval API requires an appropriate access token and permissions based on the node you are targeting. While you are testing, you can easily generate tokens and grant your app permissions by using the Graph API Explorer.
threads_basic — Required for making any calls to all Threads API endpoints.If your app has not been approved for advanced access for the threads_basic permission, only posts created by a Threads tester are retrievable. After approval, public posts created by other users will be retrievable.
The same fields as those for an app-scoped user's posts can be retrieved.
curl -s -X GET \ "https://graph.threads.net/v1.0/<THREADS_MEDIA_ID>?fields=id,media_product_type,media_type,media_url,permalink,owner,username,text,topic_tag,timestamp,shortcode,thumbnail_url,children,is_quote_post&access_token=<ACCESS_TOKEN>"
{
"id": "1234567",
"media_product_type": "THREADS",
"media_type": "TEXT_POST",
"permalink": "https://www.threads.net/@threadsapitestuser/post/abcdefg",
"owner": {
"id": "1234567"
},
"username": "meta",
"text": "Today Is Monday",
"topic_tag": "Mondays",
"timestamp": "2023-10-09T23:18:27+0000",
"shortcode": "abcdefg",
"is_quote_post": false
}