[](https://stand-with-ukraine.pp.ua)
Unofficial and reverse-engineered Threads ([threads.net](https://www.threads.net/@zuck)) Python API wrapper.
**Created for academic purposes and is not intended to be used in real software. Usage of it might violate `Instagram`
and `Threads` terms. In addition to breaching the terms of service and interfering with Meta’s business expectations
and interests, your activities may violate other federal and state laws. See Computer Fraud and Abuse Act, 18 U.S.C.
§ 1030; and the California Comprehensive Computer Data Access and Fraud Act, Cal. Penal Code § 502(c).**
[](https://github.com/dmytrostriletskyi/threads-net/actions/workflows/main.yaml)
[](https://github.com/dmytrostriletskyi/threads-net/releases)
[](https://pypi.python.org/pypi/threads-net)
[](https://pepy.tech/project/threads-net)
[](https://pypi.python.org/pypi/threads-net/)
[](https://pypi.python.org/pypi/threads-net/)
Table of content:
* [Disclaimer](#disclaimer)
* [Roadmap](#roadmap)
* [Getting started](#getting-started)
* [How to install](#how-to-install)
* [Examples](#examples)
* [API](#api)
* [Disclaimer](#disclaimer-1)
* [Troubleshooting](#troubleshooting)
* [Two-Factor Authentication (2FA)](#two-factor-authentication-2fa)
* [Terminology](#terminology)
* [Initialization](#initialization)
* [Settings](#settings)
* [Pagination](#pagination)
* [Public](#api)
* [User](#user)
* [Get Identifier](#get-identifier)
* [Get By Identifier](#get-by-identifier)
* [Get Threads](#get-threads)
* [Get Replies](#get-replies)
* [Thread](#thread)
* [Get Identifier](#get-identifier-1)
* [Get By Identifier](#get-by-identifier-1)
* [Get Likers](#get-likers)
* [Private](#private)
* [User](#user-1)
* [Get Identifier](#get-identifier-2)
* [Get By Identifier](#get-by-identifier-2)
* [Get Threads](#get-threads-1)
* [Get Replies](#get-replies-1)
* [Get Followers](#get-followers)
* [Get Following](#get-following)
* [Get Friendship Status](#get-friendship-status)
* [Search](#search)
* [Follow](#follow)
* [Unfollow](#unfollow)
* [Mute](#mute)
* [Unmute](#unmute)
* [Restrict](#restrict)
* [Unrestrict](#unrestrict)
* [Block](#block)
* [Unblock](#unblock)
* [Thread](#thread-1)
* [Get Identifier](#get-identifier-3)
* [Get By Identifier](#get-by-identifier-3)
* [Get Likers](#get-likers-1)
* [Create](#create)
* [Delete](#delete)
* [Like](#like)
* [Unlike](#unlike)
* [Repost](#repost)
* [Unrepost](#unrepost)
* [Quote](#quote)
* [Feed](#feed)
* [Recommended users](#get-recommended-users)
## Disclaimer
**Created for academic purposes and is not intended to be used in real software. Usage of it might violate `Instagram`
and `Threads` terms. In addition to breaching the terms of service and interfering with Meta’s business expectations
and interests, your activities may violate other federal and state laws. See Computer Fraud and Abuse Act, 18 U.S.C.
§ 1030; and the California Comprehensive Computer Data Access and Fraud Act, Cal. Penal Code § 502(c).**
## Roadmap
Check what is already done in the table of content above, below the only things to be done are placed:
- [ ] Pagination for all methods responding with a list of records
- [ ] Get notifications about new threads
- [ ] Manage auth for accounts with the enabled 2FA
- [ ] Manage auth for accounts required a challenge
## Getting started
### How to install
Install the library with the following command using `pip3`:
```bash
$ pip3 install threads-net
```
### Examples
Find examples of how to use the library in the `examples` folder:
```bash
ls examples
├── private
│ ├── create_thread.py
│ ├── follow_user.py
│ ├── get_user.py
│ ├── get_user_followers.py
│ ├── get_user_following.py
│ └── search_user.py
│ ...
└── public
├── get_thread.py
├── get_thread_likers.py
├── get_user.py
├── get_user_replies.py
└── get_user_threads.py
...
```
## API
### Disclaimer
To interact with `Threads API`, there is no need for any authorization, so in the library it is called `public API`.
On the other hand, to interact with `Instagram API`, you have to specify `Instagram` username and password (as like
you do when you log in to `Threads` mobile application), so in the library it is called `private API`.
* `Public API` has only read-only endpoints. In the same time, `private API` has both read and write endpoints.
`Public API` much less stable than `private API` (because `private API` is used for `Instagram API` and `Instagram`
is stable product in general already).
* `Public API` less risky to get `rate limits` or to have an account in `Threads` and/or `Instagram` be suspended.
So, it is a trade-off between stability, bugs and `rate limits` and/or `suspension`. But with the library you can
combine two approaches: for instance, prefer `public API` for read-only endpoints and `private API` for write-only
endpoints or even build a retry mechanism (try public one, if failed, try private one).
### Troubleshooting
#### Two-Factor Authentication (2FA)
Currently, it is not possible to use `private API` with two-factor authentication enabled on the account. If you do not
disable it, you might face issues like [#37](https://github.com/dmytrostriletskyi/threads-net/issues/37). So, in order
to use `private API`, you have to disable it first. By the way, there are plans in the roadmap to manage authentication
for such accounts so you don't have to disable it.
### Terminology
There might be a confusion among many `Threads API` clients as well as in both `Threads` an `Instagram` `APIs` according
to the naming of entities. For instance, in `Threads` a publication is called a `thread`, but under the hood in the `API`
of fetching or creating a `thread` it is called a `post`.
It is done because `Threads` are backed by `Instagram` and `threads` creation is done on `Instagram API` where a
publication called a post. Library maintainers decided to stick into `Threads` terminology and use the word `thread` for
the post-related things.
### Initialization
Import the class responsible for `Threads API` communication and initialize the object.
If you are going to use only `public API`, use the following commands:
```python3
>>> from threads import Threads
>>> threads = Threads()
```
If you are going to use only `private API` or both `private` and `public` `APIs`, use the following commands:
```python3
>>> from threads import Threads
>>> threads = Threads(username='instagram_username', password='instagram_password')
```
### Settings
Currently, to perform `private API` requests, there is a need to specify a mobile device metadata, timezone offset and
an authorization token. The device metadata and timezone offset are randomly generated once you initialize `Threads`,
in order the authorization token is requested from `Instagram API` and saved for further usage.
If you initialize `Threads` frequently with different data, `Instagram API` might threat it as a non-human and machine
behavior and mark your `IP` as suspicious and even suspend your account `Threads` and/or `Instagram` account. Also,
the authorization token has long live period and once the authorization token is fetched, it can be reused at least for
next 24 hours (maybe more, but at least) and there is no need to fetch it at each initialization over and over again.
For this, there are settings. Those are either a `JSON` file or a dictionary you can provide to reuse device metadata,
timezone offset and the authorization token instead of generating random data each initialization.
To provide settings as a dictionary, use the following commands:
```python
>>> settings = {
'authentication': {
'token': 'eyJkc191c2VyX2lkIjYnNjA0MzgxNTQ1N1NjYiLCJzZXNzaW9uaWQiOi1FxSUQ1TXcifQ==',
},
'timezone': {
'offset': -14400,
},
'device': {
'id': 'android-cb0d81d0e326cb42',
'manufacturer': 'OnePlus',
'model': 'ONEPLUS+A3010',
'android_version': 25,
'android_release': '7.1.1',
}
}
>>> threads = Threads(settings=settings, username=INSTAGRAM_USERNAME, password=INSTAGRAM_PASSWORD)
```
To provide settings as a path to a `JSON` file, use the following commands:
```python
>>> threads = Threads(
settings='/Users/dmytrostriletskyi/projects/threads/settings.json',
username='instagram_username',
password='instagram_password',
)
```
The `JSON` file content looks like:
```bash
$ cat settings.json
{
"authentication": {
"token": "eyJkc191c2VyX2lkIjYnNjA0MzgxNTQ1N1NjYiLCJzZXNzaW9uaWQiOi1FxSUQ1TXcifQ=="
},
"timezone": {
"offset": -14400
},
"device": {
"id": "android-2d53671ef3d1ac79",
"manufacturer": "OnePlus",
"model": "ONEPLUS+A3010",
"android_version": 25,
"android_release": "7.1.1"
}
}
```
Instead of manually create a `JSON` file, you can ask `Threads` to generate it, specifying a path to where to save it,
with the following command:
```python
>>> threads = Threads(username='instagram_username', password='instagram_password')
>>> threads.download_settings(path='/Users/dmytrostriletskyi/projects/threads/settings.json')
```
### Pagination
There are two things that are involved into the pagination for requests that respond with lists of records (e.g. threads,
replies, followers, following and so on): `limit` and `max id`. Basically, `limit` is responsible for a number of records
to request (where `15` is a default number) and `max id` is kinda offset thingy, but a bit tricky.
Let consider the method for getting a list of a user's threads if there are only `10` in total:
```python
>>> user_threads = threads.private_api.get_user_threads(id=314216)
>>> user_threads
{
"threads": [
{"id": 3146710118003098789, ...},
{"id": 3146710118003098788, ...},
{"id": 3146710118003098787, ...},
{"id": 3146710118003098786, ...},
{"id": 3146710118003098785, ...},
{"id": 3146710118003098784, ...},
{"id": 3146710118003098783, ...},
{"id": 3146710118003098782, ...},
{"id": 3146710118003098781, ...},
{"id": 3146710118003098780, ...},
],
"status": "ok"
}
```
If we want to fetch them iteratively by chunks (for instance, by `2` threads), we just specify a `limit` argument:
```python
>>> user_threads = threads.private_api.get_user_threads(id=314216, limit=2)
>>> user_threads
{
"threads": [
{"id": 3146710118003098789, ...}, # 1st thread from 10.
{"id": 3146710118003098788, ...}, # 2nd thread from 10.
],
"next_max_id": "QVFCWnJRSFdwMW5ITjRhcDlqR2hfY19JM21eQ==",
"status": "ok"
}
```
But it is not enough, because on this stage we do not know how to iterate and fetch the next `2` threads. Here `max id`
helps, if you see, there is `next_max_id` in the response. Which is encoded identifier of the `3rd` thread to start
offsetting (chunking) from:
```python
>>> user_threads = threads.private_api.get_user_threads(
id=314216,
limit=2,
from_max_id='QVFCWnJRSFdwMW5ITjRhcDlqR2hfY19JM21eQ==',
)
>>> user_threads
{
"threads": [
{"id": 3146710118003098787, ...}, # 3rd thread from 10.
{"id": 3146710118003098786, ...}, # 4th thread from 10.
],
"next_max_id": "ZrWDBSMm9DTU90Yy1mSXQ4WTNWb0V3ZmI4Um5==",
"status": "ok"
}
```
So, basically, you should iterate over all threads until `next_max_id` is presented. The code to fetch all existing
threads would look like:
```python
from_max_id = None
while True:
user_threads = threads.private_api.get_user_threads(id=314216, limit=2, from_max_id=from_max_id)
for thread in user_threads.get('threads'):
items = thread.get('thread_items')
for item in items:
thread_id = item.get('post').get('pk')
print(thread_id)
from_max_id = user_threads.get('next_max_id')
if from_max_id is None:
break
3146710118003098789
3146710118003098788
3146710118003098787
3146710118003098786
3146710118003098785
3146710118003098784
3146710118003098783
3146710118003098782
3146710118003098781
3146710118003098780
```
Use the pagination if there are a lot of records (e.g. threads, replies, followers, following and so on) to be returned
as well as if you are somehow limited by computer resources (`RAM`, `bandwidth` and so on).
### Public
#### User
##### Get Identifier
`threads.public_api.get_user_id` — getting a user's identifier by their username.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|----------------------------------------------------------|
| `username` | String | Yes | - | A user's username which goes along with `@` like `zuck`. |
<details>
<summary>Open code example</summary>
```python3
>>> user_id = threads.public_api.get_user_id(username='zuck')
>>> user_id
314216
```
</details>
##### Get By Identifier
`threads.public_api.get_user` — getting a user by their identifier.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|----------------------|
| `id` | Integer | Yes | `>0` | A user's identifier. |
<details>
<summary>Open code example</summary>
```python3
>>> user = threads.public_api.get_user(id=314216)
>>> user
{
"data": {
"userData": {
"user": {
"is_private": false,
"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=euIj8dtTGIkAX-mW2_l&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfAUZzobOIH6imLnb2Z3iXoWY5H1Fv_kNnyG8T4UGgJegQ&oe=64AED800&_nc_sid=10d13b",
"username": "zuck",
"hd_profile_pic_versions": [
{
"height": 320,
"url": "https://scontent.cdninstagram.com/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s320x320&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=euIj8dtTGIkAX-mW2_l&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfD5z6UgnQH54dihPnMrXgH2L-mLCMGlFsIF9Ug7U4RWdA&oe=64AED800&_nc_sid=10d13b",
"width": 320
},
{
"height": 640,
"url": "https://scontent.cdninstagram.com/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s640x640&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=euIj8dtTGIkAX-mW2_l&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfD4BaVu4cDcX53xPocD-3o_ZbKIESxUZhlU08FBpycCsA&oe=64AED800&_nc_sid=10d13b",
"width": 640
}
],
"is_verified": true,
"biography": "",
"biography_with_entities": null,
"follower_count": 2663947,
"profile_context_facepile_users": null,
"bio_links": [
{
"url": ""
}
],
"pk": "314216",
"full_name": "Mark Zuckerberg",
"id": null
}
}
},
"extensions": {
"is_final": true
}
}
```
</details>
##### Get Threads
`threads.public_api.get_user_threads` — getting a user's threads by the user's identifier.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|----------------------|
| `id` | Integer | Yes | `>0` | A user's identifier. |
<details>
<summary>Open code example</summary>
```python3
>>> user_threads = threads.public_api.get_user_threads(id=314216)
>>> user_threads
{
"instagram": {
"pk": "314216",
"username": "zuck",
"full_name": "Mark Zuckerberg",
"is_private": false,
"profile_pic_url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/352224138_1028122805231303_1175896139426286760_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=hbekpcjRfioAX8iYGJv&edm=AKEQFekBAAAA&ccb=7-5&oh=00_AfDf2r6qwujUc84tkzUlYJMfJt66xoWScQ-nsB5bmtYDnw&oe=64B0066A&_nc_sid=29ddf3",
"profile_pic_url_hd": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/352224138_1028122805231303_1175896139426286760_n.jpg?stp=dst-jpg_s320x320&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=hbekpcjRfioAX8iYGJv&edm=AKEQFekBAAAA&ccb=7-5&oh=00_AfCoPcYmzHdc2evDvduZjZK-IxDS07wGf0x9czecY_TgVQ&oe=64B0066A&_nc_sid=29ddf3",
"is_verified": true,
"media_count": 283,
"follower_count": 11924434,
"following_count": 523,
"biography": "",
"external_url": null,
"account_type": null,
"is_business": false,
"public_email": null,
"contact_phone_number": null,
"public_phone_country_code": null,
"public_phone_number": null,
"business_contact_method": "UNKNOWN",
"business_category_name": null,
"category_name": "Entrepreneur",
"category": null,
"address_street": null,
"city_id": null,
"city_name": null,
"latitude": null,
"longitude": null,
"zip": null,
"instagram_location_id": null,
"interop_messaging_user_fbid": null
},
"threads": {
"data": {
"userData": {
"user": {
"is_private": false,
"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=euIj8dtTGIkAX9JAAZI&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfCdAMkmk0XL_r0GQi2MRD1Aq1kPZKBLfXLby47e_hsZrg&oe=64AED800&_nc_sid=10d13b",
"username": "zuck",
"hd_profile_pic_versions": [
{
"height": 320,
"url": "https://scontent.cdninstagram.com/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s320x320&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=euIj8dtTGIkAX9JAAZI&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfDJeE127_ZFA-eD3qRMM0Fh2NM-jRR4tUFsTywCrMctNA&oe=64AED800&_nc_sid=10d13b",
"width": 320
},
{
"height": 640,
"url": "https://scontent.cdninstagram.com/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s640x640&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=euIj8dtTGIkAX9JAAZI&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfAY-75SdPDasc0ophRu3lgeeHmnb3qPZIE-mCPh8PRRBw&oe=64AED800&_nc_sid=10d13b",
"width": 640
}
],
"is_verified": true,
"biography": "",
"biography_with_entities": null,
"follower_count": 2663588,
"profile_context_facepile_users": null,
"bio_links": [
{
"url": ""
}
],
"pk": "314216",
"full_name": "Mark Zuckerberg",
"id": null
}
}
},
"extensions": {
"is_final": true
}
}
}
```
</details>
##### Get Replies
`threads.public_api.get_user_replies` — getting a user's replies by the user's identifier.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|----------------------|
| `id` | Integer | Yes | `>0` | A user's identifier. |
<details>
<summary>Open code example</summary>
```python3
>>> user_replies = threads.public_api.get_user_replies(id=314216)
>>> user_replies
{
"data": {
"mediaData": {
"threads": [
{
"thread_items": [
{
"post": {
"user": {
"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/358196917_1319101762021874_6840458701147612733_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=RYUCB0OzBK8AX-fwWgu&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfAyNgzr1QLbjIdorzFD01h-NpApHx7-0XKdGWOKjS4Xlw&oe=64ABF5FF&_nc_sid=10d13b",
"username": "intense0ne",
"id": null,
"is_verified": true,
"pk": "13455834"
},
"image_versions2": {
"candidates": [
{
"height": 1431,
"url": "https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=dst-jpg_e35&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfCUsy68lK2H5iyEGnWnPrQMnd18Dpvl0ZOhGh-iWQpxZA&oe=64ACB5E4&_nc_sid=10d13b",
"width": 1170,
"__typename": "XDTImageCandidate"
},
{
"height": 881,
"url": "https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=dst-jpg_e35_p720x720&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfBUyEmnvY6wewYd2xR5RcBUdpwYDQ3-tPOJroowQwDDZA&oe=64ACB5E4&_nc_sid=10d13b",
"width": 720,
"__typename": "XDTImageCandidate"
},
{
"height": 783,
"url": "https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=dst-jpg_e35_p640x640_sh0.08&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfCngfqkXR6lMDsTO_3W3ub2wXo6gy8hs9IflxKgVSZ29Q&oe=64ACB5E4&_nc_sid=10d13b",
"width": 640,
"__typename": "XDTImageCandidate"
},
{
"height": 587,
"url": "https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=dst-jpg_e35_p480x480&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfDEcZTEK5c-C1M5RO0NLJZ1afo7GGqHClM6SFBH6nVJqQ&oe=64ACB5E4&_nc_sid=10d13b",
"width": 480,
"__typename": "XDTImageCandidate"
},
{
"height": 391,
"url": "https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=dst-jpg_e35_p320x320&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfDme7hPMR0v7Uc_Rq5Vl-HA3eUAosNOuznntJ3rwkPVgA&oe=64ACB5E4&_nc_sid=10d13b",
"width": 320,
"__typename": "XDTImageCandidate"
},
{
"height": 294,
"url": "https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=dst-jpg_e35_p240x240&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfDKjwryrv-cxfybvuPaa9TbcBqxozsTeOU6I7fRgDaZVw&oe=64ACB5E4&_nc_sid=10d13b",
"width": 240,
"__typename": "XDTImageCandidate"
},
{
"height": 1080,
"url": "https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=c0.130.1170.1170a_dst-jpg_e35_s1080x1080&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfAfUg9I6LBwwruVJxP0y7tsa1eILSH3lnERy-GhLvY5tQ&oe=64ACB5E4&_nc_sid=10d13b",
"width": 1080,
"__typename": "XDTImageCandidate"
},
{
"height": 750,
"url": "https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=c0.130.1170.1170a_dst-jpg_e35_s750x750_sh0.08&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfC4eDvJfpOFQXP9iDiQccDFa8mH-c-4eHjtoJa1guTIFA&oe=64ACB5E4&_nc_sid=10d13b",
"width": 750,
"__typename": "XDTImageCandidate"
},
{
"height": 640,
"url": "https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=c0.130.1170.1170a_dst-jpg_e35_s640x640_sh0.08&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfCz0RbvKHBOKMTsmaHFJTa2NUymRFh9abONGDVhps-3BQ&oe=64ACB5E4&_nc_sid=10d13b",
"width": 640,
"__typename": "XDTImageCandidate"
},
{
"height": 480,
"url": "https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=c0.130.1170.1170a_dst-jpg_e35_s480x480&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfCp9r6Se5hjBo-rMHJvLhfDFRJkzbOo7QZu-BkiW-kCew&oe=64ACB5E4&_nc_sid=10d13b",
"width": 480,
"__typename": "XDTImageCandidate"
},
{
"height": 320,
"url": "https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=c0.130.1170.1170a_dst-jpg_e35_s320x320&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfCizo3gIxHuMKtgDmK1XNlxXr2NyEwfRbsN8ZLNb6y8GA&oe=64ACB5E4&_nc_sid=10d13b",
"width": 320,
"__typename": "XDTImageCandidate"
},
{
"height": 240,
"url": "https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=c0.130.1170.1170a_dst-jpg_e35_s240x240&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfDvAFSgCbR982_ZAUAFSfdyXLWG_7WbXnv-_UZnorY7EA&oe=64ACB5E4&_nc_sid=10d13b",
"width": 240,
"__typename": "XDTImageCandidate"
},
{
"height": 150,
"url": "https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=c0.130.1170.1170a_dst-jpg_e35_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfAy_iWsQikPBVk0haExvRIaDHqtPRkh2t-A9DHE4G2HWg&oe=64ACB5E4&_nc_sid=10d13b",
"width": 150,
"__typename": "XDTImageCandidate"
}
]
},
"original_width": 1170,
"original_height": 1431,
"video_versions": [],
"carousel_media": null,
"carousel_media_count": null,
"pk": "3141307328358556088",
"has_audio": null,
"text_post_app_info": {
"link_preview_attachment": null,
"share_info": {
"quoted_post": null,
"reposted_post": null
},
"reply_to_author": null,
"is_post_unavailable": false
},
"caption": {
"text": "Volk or Yair?? #UFC290\n\nI got Volk!! \ud83d\udc4f\ud83d\udc4f\ud83d\udc4f"
},
"taken_at": 1688693036,
"like_count": 4144,
"code": "CuYKl8tJKG4",
"media_overlay_info": null,
"id": "3141307328358556088_13455834"
},
"line_type": "squiggle",
"view_replies_cta_string": "386 replies",
"reply_facepile_users": [
{
"__typename": "XDTUserDict",
"id": null,
"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/358513246_834402004938078_3745574617102161833_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=106&_nc_ohc=LtUMjbsa1lgAX83w0Sh&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfDGvGlfVhbbAHunncfE-Gzmbf0rshNG8tlfg4eb5V77iQ&oe=64AD69D4&_nc_sid=10d13b"
},
{
"__typename": "XDTUserDict",
"id": null,
"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/358028941_1385051345389996_8437393621281150341_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=104&_nc_ohc=XcGqYzbKhDYAX87Clm7&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfCKDgkhOitXrGIkYQs1V607cQ9rw0cSB9KuZoJTyCIPWQ&oe=64ABFFDC&_nc_sid=10d13b"
},
{
"__typename": "XDTUserDict",
"id": null,
"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/358164004_986964552348931_381538637050666409_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=ML6ZsvS6xFsAX_GLu5T&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfBjZQ0RElFZ0DQxOpHmDIw-p2WRX9_NvhArpVy8Fqz0lA&oe=64AC0D96&_nc_sid=10d13b"
}
],
"should_show_replies_cta": true,
"__typename": "XDTThreadItem"
},
{
"post": {
"user": {
"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=9PG1NK-L8OkAX_mdst3&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfAo5WPQy4q_RbWq8Hox7lQS09zUmk8PHdJWXYjU8Tu2yw&oe=64ACDDC0&_nc_sid=10d13b",
"username": "zuck",
"id": null,
"is_verified": true,
"pk": "314216"
},
"image_versions2": {
"candidates": []
},
"original_width": 612,
"original_height": 612,
"video_versions": [],
"carousel_media": null,
"carousel_media_count": null,
"pk": "3141314003249945904",
"has_audio": null,
"text_post_app_info": {
"link_preview_attachment": null,
"share_info": {
"quoted_post": null,
"reposted_post": null
},
"reply_to_author": {
"username": "intense0ne",
"id": null
},
"is_post_unavailable": false
},
"caption": {
"text": "Definitely Volk"
},
"taken_at": 1688693832,
"like_count": 10843,
"code": "CuYMHFLrF0w",
"media_overlay_info": null,
"id": "3141314003249945904_314216"
},
"line_type": "line",
"view_replies_cta_string": "1,114 replies",
"reply_facepile_users": [
{
"__typename": "XDTUserDict",
"id": null,
"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/357993149_654182843249841_2984126770891448042_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=109&_nc_ohc=-HCIQXYHQlcAX8qkTXo&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfAwsxFT9ZYe71DKt7Wm3tmH4-3SwpA_6ifb74G-bMn8Bg&oe=64AC46A1&_nc_sid=10d13b"
},
{
"__typename": "XDTUserDict",
"id": null,
"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/358036814_264065539563777_3872673087942117120_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=109&_nc_ohc=T3x8fyZcDQIAX_FXQ-6&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfDtWBscXjH85fml9eI9IERX2wibGkWU-EQcuSH-b3MvCA&oe=64AD33EE&_nc_sid=10d13b"
},
{
"__typename": "XDTUserDict",
"id": null,
"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/358000233_1044681130274316_6742390706661437266_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=100&_nc_ohc=PvpO-62JaD0AX_XMP5_&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfC4ma-opT9ieAnypxLSXNtVUOQkSq5_hbtca5ADqOSHRA&oe=64ACA63A&_nc_sid=10d13b"
}
],
"should_show_replies_cta": true,
"__typename": "XDTThreadItem"
}
],
"id": "3141314003249945904"
},
...
]
}
},
"extensions": {
"is_final": true
}
}
```
</details>
#### Thread
##### Get Identifier
`threads.public_api.get_thread_id` — getting a thread's identifier by its `URL` identifier. `URL` identifier is a last
part of a thread's website `URL`. If the thread's `URL` is `https://threads.net/t/CuXFPIeLLod`, then it would be `CuXFPIeLLod`.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:------:|:--------:|:------------:|------------------------------|
| `url_id` | String | Yes | - | A thread's `URL` identifier. |
<details>
<summary>Open code example</summary>
```python3
>>> thread_id = threads.public_api.get_thread_id(url_id='CuXFPIeLLod')
>>> thread_id
3141002295235099165
```
</details>
##### Get By Identifier
`threads.public_api.get_thread` — getting a thread by its identifier.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|------------------------|
| `id` | Integer | Yes | `>0` | A thread's identifier. |
<details>
<summary>Open code example</summary>
```python3
>>> thread = threads.public_api.get_thread(id=3141002295235099165)
>>> thread
{
"data": {
"data": {
"containing_thread": {
"thread_items": [
{
"post": {
"user": {
"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/343392897_618515990300243_8088199406170073086_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=1xtR491RY6cAX8Okf3Z&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfDqsZTCRQlz7EaDpgEzBkmXqtqKtTH80Q0r1rIDMJCcpg&oe=64AC2D8D&_nc_sid=10d13b",
"username": "mosseri",
"id": null,
"is_verified": true,
"pk": "95561"
},
"image_versions2": {
"candidates": []
},
"original_width": 612,
"original_height": 612,
"video_versions": [],
"carousel_media": null,
"carousel_media_count": null,
"pk": "3141055616164096839",
"has_audio": null,
"text_post_app_info": {
"link_preview_attachment": null,
"share_info": {
"quoted_post": null,
"reposted_post": null
},
"reply_to_author": null,
"is_post_unavailable": false,
"direct_reply_count": 2839
},
"caption": {
"text": "I've been getting some questions about deleting your account. To clarify, you can deactivate your Threads account, which hides your Threads profile and content, you can set your profile to private, and you can delete individual threads posts \u2013 all without deleting your Instagram account. Threads is powered by Instagram, so right now it's just one account, but we're looking into a way to delete your Threads account separately."
},
"taken_at": 1688663030,
"like_count": 29984,
"code": "CuXRXDdNOtH",
"media_overlay_info": null,
"id": "3141055616164096839_95561"
},
"line_type": "none",
"view_replies_cta_string": "2,839 replies",
"reply_facepile_users": [],
"should_show_replies_cta": true
}
],
"thread_type": "thread",
"header": null,
"id": "3141055616164096839"
},
"reply_threads": [
{
"thread_items": [
{
"post": {
"user": {
"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/355424589_948742193018772_4617955233166333765_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=100&_nc_ohc=heQWdfsKG5MAX9mLim0&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfA6TUpLjjegnP6KuducRm8n6uU9iBCXg4O1P33WYSh3mg&oe=64ACDDBA&_nc_sid=10d13b",
"username": "jimmywhotalks",
"id": null,
"is_verified": true,
"pk": "51094265817"
},
"image_versions2": {
"candidates": []
},
"original_width": 612,
"original_height": 612,
"video_versions": [],
"carousel_media": null,
"carousel_media_count": null,
"pk": "3141082664316809193",
"has_audio": null,
"text_post_app_info": {
"link_preview_attachment": null,
"share_info": {
"quoted_post": null,
"reposted_post": null
},
"reply_to_author": {
"username": "mosseri",
"id": null
},
"is_post_unavailable": false
},
"caption": {
"text": "Glad to know, Everyone is worrying for that."
},
"taken_at": 1688666254,
"like_count": 59,
"code": "CuXXgqAva_p",
"media_overlay_info": null,
"id": "3141082664316809193_51094265817"
},
"line_type": "none",
"view_replies_cta_string": null,
"reply_facepile_users": [],
"should_show_replies_cta": false
}
],
"thread_type": "thread",
"header": null,
"id": "3141082664316809193"
},
...
]
}
},
"extensions": {
"is_final": true
}
}
```
</details>
##### Get Likers
`threads.public_api.get_thread_likers` — getting a thread's likers by the thread's identifier.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|------------------------|
| `id` | Integer | Yes | `>0` | A thread's identifier. |
<details>
<summary>Open code example</summary>
```python3
>>> thread_likers = threads.public_api.get_thread_likers(id=3141002295235099165)
>>> thread_likers
{
"data": {
"likers": {
"users": [
{
"pk": "32729880576",
"full_name": "K 🦋I🦋K🦋I",
"profile_pic_url": "https://scontent.cdninstagram.com/19/6007.jpg
"follower_count": 51,
"is_verified": false,
"username": "niyod_couture",
"profile_context_facepile_users": null,
"id": null
},
...
]
}
},
"extensions": {
"is_final": true
}
}
```
</details>
### Private
#### User
##### Get Identifier
`threads.private_api.get_user_id` — getting a user's identifier by their username.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|----------------------------------------------------------|
| `username` | String | Yes | - | A user's username which goes along with `@` like `zuck`. |
<details>
<summary>Open code example</summary>
```python3
>>> user_id = threads.private_api.get_user_id(username='zuck')
>>> user_id
314216
```
</details>
##### Get By Identifier
`threads.private_api.get_user` — getting a user by their identifier.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|----------------------|
| `id` | Integer | Yes | `>0` | A user's identifier. |
<details>
<summary>Open code example</summary>
```python3
>>> user = threads.private_api.get_user(id=314216)
>>> user
{
"user": {
"has_anonymous_profile_picture": false,
"is_supervision_features_enabled": false,
"follower_count": 2782815,
"media_count": 283,
"following_count": 313,
"following_tag_count": 3,
"can_use_affiliate_partnership_messaging_as_creator": false,
"can_use_affiliate_partnership_messaging_as_brand": false,
"has_collab_collections": false,
"has_private_collections": true,
"has_music_on_profile": false,
"is_potential_business": false,
"can_use_branded_content_discovery_as_creator": false,
"can_use_branded_content_discovery_as_brand": false,
"fan_club_info": {
"fan_club_id": null,
"fan_club_name": null,
"is_fan_club_referral_eligible": null,
"fan_consideration_page_revamp_eligiblity": null,
"is_fan_club_gifting_eligible": null,
"subscriber_count": null,
"connected_member_count": null,
"autosave_to_exclusive_highlight": null,
"has_enough_subscribers_for_ssc": null
},
"fbid_v2": "17841401746480004",
"pronouns": [],
"is_whatsapp_linked": false,
"transparency_product_enabled": false,
"account_category": "",
"interop_messaging_user_fbid": 119171612803872,
"bio_links": [
{
"link_id": 17979756671109835,
"url": "",
"lynx_url": "",
"link_type": "external",
"title": "",
"open_external_url_with_in_app_browser": true
}
],
"can_add_fb_group_link_on_profile": false,
"external_url": "",
"show_shoppable_feed": false,
"merchant_checkout_style": "none",
"seller_shoppable_feed_type": "none",
"creator_shopping_info": {
"linked_merchant_accounts": []
},
"has_guides": false,
"has_highlight_reels": false,
"hd_profile_pic_url_info": {
"url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=euIj8dtTGIkAX_8Gm2Q&edm=AEF8tYYBAAAA&ccb=7-5&oh=00_AfBs65PPEgj6s58aEAVAZWAUJu9JqhMcsWV8VLubRyzQwQ&oe=64B0D240&_nc_sid=1e20d2",
"width": 805,
"height": 805
},
"hd_profile_pic_versions": [
{
"width": 320,
"height": 320,
"url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s320x320&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=euIj8dtTGIkAX_8Gm2Q&edm=AEF8tYYBAAAA&ccb=7-5&oh=00_AfB7HZGMI4QLDwO-wKkntDBbGavE_-oKHus264KgonCVqg&oe=64B0D240&_nc_sid=1e20d2"
},
{
"width": 640,
"height": 640,
"url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s640x640&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=euIj8dtTGIkAX_8Gm2Q&edm=AEF8tYYBAAAA&ccb=7-5&oh=00_AfBxpkJK3xNM4BLNfbMzrcTyKkza60pitJvggFKtuX4uIA&oe=64B0D240&_nc_sid=1e20d2"
}
],
"is_interest_account": true,
"is_favorite": false,
"is_favorite_for_stories": false,
"is_favorite_for_igtv": false,
"is_favorite_for_clips": false,
"is_favorite_for_highlights": false,
"broadcast_chat_preference_status": {
"json_response": "{\"status\":\"ok\",\"status_code\":\"200\",\"is_broadcast_chat_creator\":true,\"notification_setting_type\":2}"
},
"live_subscription_status": "default",
"usertags_count": 43060,
"total_ar_effects": 1,
"total_clips_count": 1,
"has_videos": true,
"total_igtv_videos": 12,
"has_igtv_series": false,
"biography": "",
"include_direct_blacklist_status": true,
"biography_with_entities": {
"raw_text": "",
"entities": []
},
"show_fb_link_on_profile": false,
"primary_profile_link_type": 0,
"can_hide_category": true,
"can_hide_public_contacts": true,
"should_show_category": false,
"category_id": 1617,
"is_category_tappable": false,
"should_show_public_contacts": false,
"is_eligible_for_smb_support_flow": true,
"is_eligible_for_lead_center": false,
"is_experienced_advertiser": false,
"lead_details_app_id": "com.bloks.www.ig.smb.lead_gen.subpage",
"is_business": false,
"professional_conversion_suggested_account_type": 3,
"account_type": 3,
"direct_messaging": "",
"instagram_location_id": "",
"address_street": "",
"business_contact_method": "UNKNOWN",
"city_id": 0,
"city_name": "",
"contact_phone_number": "",
"is_profile_audio_call_enabled": false,
"latitude": 0.0,
"longitude": 0.0,
"public_email": "",
"public_phone_country_code": "",
"public_phone_number": "",
"zip": "",
"mutual_followers_count": 0,
"has_onboarded_to_text_post_app": true,
"show_text_post_app_badge": true,
"text_post_app_joiner_number": 1,
"show_ig_app_switcher_badge": true,
"show_text_post_app_switcher_badge": true,
"profile_context": "",
"profile_context_links_with_user_ids": [],
"profile_context_facepile_users": [],
"has_chaining": true,
"pk": 314216,
"pk_id": "314216",
"username": "zuck",
"full_name": "Mark Zuckerberg",
"is_private": false,
"follow_friction_type": 0,
"is_verified": true,
"profile_pic_id": "3138909791791822006_314216",
"profile_pic_url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=euIj8dtTGIkAX_8Gm2Q&edm=AEF8tYYBAAAA&ccb=7-5&oh=00_AfD5zX6BkQpgR-H-iTsZ2PlwDEOXnf7PCbohypiV8Aj10g&oe=64B0D240&_nc_sid=1e20d2",
"current_catalog_id": null,
"mini_shop_seller_onboarding_status": null,
"shopping_post_onboard_nux_type": null,
"ads_incentive_expiration_date": null,
"displayed_action_button_partner": null,
"smb_delivery_partner": null,
"smb_support_delivery_partner": null,
"displayed_action_button_type": "",
"smb_support_partner": null,
"is_call_to_action_enabled": false,
"num_of_admined_pages": null,
"category": "Entrepreneur",
"account_badges": [],
"show_account_transparency_details": true,
"existing_user_age_collection_enabled": true,
"show_post_insights_entry_point": true,
"has_public_tab_threads": true,
"third_party_downloads_enabled": 1,
"is_regulated_c18": false,
"is_in_canada": false,
"profile_type": 0,
"is_profile_broadcast_sharing_enabled": true,
"has_exclusive_feed_content": false,
"has_fan_club_subscriptions": false,
"is_memorialized": false,
"open_external_url_with_in_app_browser": true,
"pinned_channels_info": {
"pinned_channels_list": [],
"has_public_channels": false
},
"request_contact_enabled": false,
"robi_feedback_source": null,
"chaining_results": null,
"is_bestie": false,
"remove_message_entrypoint": false,
"auto_expand_chaining": false,
"is_new_to_instagram": false,
"highlight_reshare_disabled": false
},
"status": "ok"
}
```
</details>
##### Get Threads
`threads.private_api.get_user_thread` — getting a user's threads by the user's identifier. Supports
[pagination](#pagination).
| Parameters | Type | Required | Restrictions | Description |
|:-------------:|:-------:|:--------:|:------------:|----------------------------------------------------------|
| `id` | Integer | Yes | `>0` | A user's identifier. |
| `limit` | Integer | No | `>0` | A number of threads to get. Default value is `15`. |
| `from_max_id` | String | No | - | An encoded thread's identifier to start offsetting from. |
<details>
<summary>Open code example</summary>
```python3
>>> user_threads = threads.private_api.get_user_threads(id=314216)
>>> user_threads
{
"medias": [],
"threads": [
{
"thread_items": [
{
"post": {
"pk": 3143857175171939857,
"id": "3143857175171939857_314216",
"taken_at": 1688997002,
"device_timestamp": 154381465597879,
"client_cache_key": "MzE0Mzg1NzE3NTE3MTkzOTg1Nw==.2",
"filter_type": 0,
"like_and_view_counts_disabled": false,
"integrity_review_decision": "pending",
"text_post_app_info": {
"is_post_unavailable": false,
"is_reply": false,
"reply_to_author": null,
"direct_reply_count": 24278,
"self_thread_count": 0,
"reply_facepile_users": [],
"link_preview_attachment": null,
"can_reply": true,
"reply_control": "everyone",
"hush_info": null,
"share_info": {
"can_repost": true,
"is_reposted_by_viewer": false,
"can_quote_post": true
}
},
"caption": {
"pk": "17971080284299711",
"user_id": 314216,
"text": "Threads reached 100 million sign ups over the weekend. That's mostly organic demand and we haven't even turned on many promotions yet. Can't believe it's only been 5 days!",
"type": 1,
"created_at": 1688997002,
"created_at_utc": 1688997002,
"content_type": "comment",
"status": "Active",
"bit_flags": 0,
"did_report_as_spam": false,
"share_enabled": false,
"user": {
"pk": 314216,
"pk_id": "314216",
"username": "zuck",
"full_name": "Mark Zuckerberg",
"is_private": false,
"is_verified": true,
"profile_pic_id": "3138909791791822006_314216",
"profile_pic_url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=XKEMOZTrwUAAX-1hCyT&edm=AKIuHiwBAAAA&ccb=7-5&oh=00_AfCXFLPZTQxrVDWADA_aPG8o4_lRhKbEQsAs6Jh5TF3auQ&oe=64B6C100&_nc_sid=3b7ee3",
"fbid_v2": "17841401746480004",
"has_onboarded_to_text_post_app": true
},
"is_covered": false,
"is_ranked_comment": false,
"media_id": 3143857175171939857,
"private_reply_status": 0
},
"media_type": 19,
"code": "CuhOXGmr74R",
"product_type": "text_post",
"organic_tracking_token": "eyJ2ZXJzaW9uIjo1LCJwYXlsb2FkIjp7ImlzX2FuYWx5dGljc190cmFja2VkIjp0cnVlLCJ1dWlkIjoiYzY0NzE2ZDZmYmJhNDE2MDlhODEwMWU3ZTkzYmM3NWYzMTQzODU3MTc1MTcxOTM5ODU3Iiwic2VydmVyX3Rva2VuIjoiMTY4OTQxOTI0NDgxMHwzMTQzODU3MTc1MTcxOTM5ODU3fDYwNDM4MTU0NTY2fGFiYzJhZWFjNGZkZTBlZTFlN2I4ZTZhNTA4MDcxMzQxNGZjM2U0NTdmN2ZjZmYyZDE4ODlkYmQyODViOTBiZjYifSwic2lnbmF0dXJlIjoiIn0=",
"image_versions2": {
"candidates": []
},
"original_width": 612,
"original_height": 612,
"video_versions": [],
"like_count": 127327,
"has_liked": false,
"can_viewer_reshare": true,
"top_likers": [],
"user": {
"pk": 314216,
"pk_id": "314216",
"username": "zuck",
"full_name": "Mark Zuckerberg",
"is_private": false,
"is_verified": true,
"profile_pic_id": "3138909791791822006_314216",
"profile_pic_url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=XKEMOZTrwUAAX-1hCyT&edm=AKIuHiwBAAAA&ccb=7-5&oh=00_AfCXFLPZTQxrVDWADA_aPG8o4_lRhKbEQsAs6Jh5TF3auQ&oe=64B6C100&_nc_sid=3b7ee3",
"friendship_status": {
"following": false,
"followed_by": false,
"blocking": false,
"muting": false,
"is_private": false,
"incoming_request": false,
"outgoing_request": false,
"text_post_app_pre_following": false,
"is_bestie": false,
"is_restricted": false,
"is_feed_favorite": false,
"is_eligible_to_subscribe": false
},
"has_anonymous_profile_picture": false,
"has_onboarded_to_text_post_app": true,
"account_badges": []
}
},
"line_type": "line",
"view_replies_cta_string": "24,278 replies",
"should_show_replies_cta": true,
"reply_facepile_users": [
{
"pk": 57325599231,
"pk_id": "57325599231",
"profile_pic_url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/359520387_1561960634615463_4231364575815896983_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=103&_nc_ohc=L0Vg4L6V5_AAX_Hbcgj&edm=AKIuHiwBAAAA&ccb=7-5&oh=00_AfD130-XjZ1RrsD_TVSbyH1SgizO5hGb5W5IJhVTOK3_Gg&oe=64B6B3CC&_nc_sid=3b7ee3"
},
{
"pk": 53041190925,
"pk_id": "53041190925",
"profile_pic_url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/359187805_177094641886545_7812186447575399344_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=109&_nc_ohc=0CBUtKwuehgAX9EK7C3&edm=AKIuHiwBAAAA&ccb=7-5&oh=00_AfDT8r2ogdVP6qGgBbsjZEoB9tL3V5Zyjwe-rWgUqjRDfw&oe=64B6AA34&_nc_sid=3b7ee3"
},
{
"pk": 60184849158,
"pk_id": "60184849158",
"profile_pic_url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/358782577_620441826734229_2771436956212880281_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=109&_nc_ohc=UwO4_ipDCRgAX-LM3Qn&edm=AKIuHiwBAAAA&ccb=7-5&oh=00_AfAie1X0UbKUYRbBtRI8fn_8_sbyZAy9sLKQjdTBiWhhNQ&oe=64B6B8B8&_nc_sid=3b7ee3"
}
],
"can_inline_expand_below": false
}
],
"thread_type": "thread",
"show_create_reply_cta": false,
"id": 3143857175171939857,
...
},
...
],
"status": "ok"
}
```
</details>
##### Get Replies
`threads.private_api.get_user_replies — getting a user's replies by the user's identifier. Supports
[pagination](#pagination).
| Parameters | Type | Required | Restrictions | Description |
|:-------------:|:-------:|:--------:|:------------:|---------------------------------------------------------|
| `id` | Integer | Yes | `>0` | A user's identifier. |
| `limit` | Integer | No | `>0` | A number of replies to get. Default value is `15`. |
| `from_max_id` | String | No | - | An encoded reply's identifier to start offsetting from. |
<details>
<summary>Open code example</summary>
```python3
>>> user_replies = threads.private_api.get_user_replies(id=314216)
>>> user_replies
{
"medias": [],
"threads": [
{
"thread_items": [
{
"post": {
"pk": 3146315493980433758,
"id": "3146315493980433758_9155181033",
"taken_at": 1689290074,
"device_timestamp": 1689290056390615,
"client_cache_key": "MzE0NjMxNTQ5Mzk4MDQzMzc1OA==.2",
"filter_type": 0,
"like_and_view_counts_disabled": false,
"integrity_review_decision": "pending",
"text_post_app_info": {
"is_post_unavailable": false,
"is_reply": false,
"reply_to_author": null,
"direct_reply_count": 348,
"self_thread_count": 0,
"reply_facepile_users": [],
"link_preview_attachment": null,
"can_reply": true,
"reply_control": "everyone",
"hush_info": null,
"share_info": {
"can_repost": true,
"is_reposted_by_viewer": false,
"can_quote_post": true
}
},
"caption": {
"pk": "17869797770898727",
"user_id": 9155181033,
"text": "Squad goals \ud83d\ude0e\n\n(via @stylebender)",
"type": 1,
"created_at": 1689290074,
"created_at_utc": 1689290074,
"content_type": "comment",
"status": "Active",
"bit_flags": 0,
"did_report_as_spam": false,
"share_enabled": false,
"user": {
"pk": 9155181033,
"pk_id": "9155181033",
"username": "espnmma",
"full_name": "ESPN MMA",
"is_private": false,
"is_verified": true,
"profile_pic_id": "3141004987567665802_9155181033",
"profile_pic_url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/358383703_848206763406082_8252942189546556167_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=110&_nc_ohc=WOV8wy4ScRoAX_C1CaW&edm=AClQE0sBAAAA&ccb=7-5&oh=00_AfDDl35PMIh3bUJ2WuzOkIIAgIEZqwFqdSh8tuPDTyfgTg&oe=64B7C4EE&_nc_sid=2bf346",
"fbid_v2": "17841409270994397",
"has_onboarded_to_text_post_app": true
},
"is_covered": false,
"is_ranked_comment": false,
"media_id": 3146315493980433758,
"private_reply_status": 0
},
"media_type": 2,
"code": "Cup9UWaAu1e",
"product_type": "feed",
"original_width": 640,
"original_height": 1136,
"is_dash_eligible": 1,
"video_codec": "avc1.64001e",
"has_audio": true,
"video_duration": 18.784,
"video_versions": [
{
"type": 101,
"width": 720,
"height": 1280,
"url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t50.2886-16/360404858_562471725885766_7209197166491385251_n.mp4?efg=eyJ2ZW5jb2RlX3RhZyI6InZ0c192b2RfdXJsZ2VuLjcyMC5mZWVkLmJhc2VsaW5lIn0&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=110&_nc_ohc=m3bTlD7JhCoAX9eODcJ&edm=AClQE0sBAAAA&vs=2611672838971644_3296775565&_nc_vs=HBksFQAYJEdIcFhleFZHNldxbmtQOEJBS085ZUlDZ05neGtia1lMQUFBRhUAAsgBABUAGCRHTm1ZaFJXano5Rk1UM2dBQU0wN3I2d1lrVng2YmtZTEFBQUYVAgLIAQAoABgAGwGIB3VzZV9vaWwBMBUAACa6u7r%2BmOjoPxUCKAJDMywXQDKzMzMzMzMYEmRhc2hfYmFzZWxpbmVfMV92MREAdeoHAA%3D%3D&_nc_rid=e91b3f00fc&ccb=7-5&oh=00_AfB17yCrQdXrNLAZlgUqwZSSjgrwF9H8oNjJF6eVpHx9Ug&oe=64B477DB&_nc_sid=2bf346",
"id": "2611672838971644v"
},
{
"type": 102,
"width": 480,
"height": 854,
"url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t50.2886-16/361062149_663346358581709_8844241500491019989_n.mp4?efg=eyJ2ZW5jb2RlX3RhZyI6InZ0c192b2RfdXJsZ2VuLjQ4MC5mZWVkLmJhc2VsaW5lIn0&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=105&_nc_ohc=V4Gn1XoC7usAX8ESNnG&edm=AClQE0sBAAAA&vs=1023383492024442_1730708493&_nc_vs=HBksFQAYJEdBVmZoUlhOX1JCY1Qxc0NBTlgyaURESkRyMTZia1lMQUFBRhUAAsgBABUAGCRHTm1ZaFJXano5Rk1UM2dBQU0wN3I2d1lrVng2YmtZTEFBQUYVAgLIAQAoABgAGwGIB3VzZV9vaWwBMBUAACa6u7r%2BmOjoPxUCKAJDMywXQDKzMzMzMzMYEmRhc2hfYmFzZWxpbmVfMl92MREAdeoHAA%3D%3D&_nc_rid=e91b3f00fc&ccb=7-5&oh=00_AfD4G2wv4eJTNJjnGXOF04FdWuUUtelx_tvm5iq5dYx1pw&oe=64B49F3C&_nc_sid=2bf346",
"id": "1023383492024442v"
},
{
"type": 103,
"width": 480,
"height": 854,
"url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t50.2886-16/361062149_663346358581709_8844241500491019989_n.mp4?efg=eyJ2ZW5jb2RlX3RhZyI6InZ0c192b2RfdXJsZ2VuLjQ4MC5mZWVkLmJhc2VsaW5lIn0&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=105&_nc_ohc=V4Gn1XoC7usAX8ESNnG&edm=AClQE0sBAAAA&vs=1023383492024442_1730708493&_nc_vs=HBksFQAYJEdBVmZoUlhOX1JCY1Qxc0NBTlgyaURESkRyMTZia1lMQUFBRhUAAsgBABUAGCRHTm1ZaFJXano5Rk1UM2dBQU0wN3I2d1lrVng2YmtZTEFBQUYVAgLIAQAoABgAGwGIB3VzZV9vaWwBMBUAACa6u7r%2BmOjoPxUCKAJDMywXQDKzMzMzMzMYEmRhc2hfYmFzZWxpbmVfMl92MREAdeoHAA%3D%3D&_nc_rid=e91b3f00fc&ccb=7-5&oh=00_AfD4G2wv4eJTNJjnGXOF04FdWuUUtelx_tvm5iq5dYx1pw&oe=64B49F3C&_nc_sid=2bf346",
"id": "1023383492024442v"
}
],
"like_count": 9188,
"has_liked": false,
"can_viewer_reshare": true,
"top_likers": [],
"user": {
"pk": 9155181033,
"pk_id": "9155181033",
"username": "espnmma",
"full_name": "ESPN MMA",
"is_private": false,
"is_verified": true,
"profile_pic_id": "3141004987567665802_9155181033",
"profile_pic_url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/358383703_848206763406082_8252942189546556167_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=110&_nc_ohc=WOV8wy4ScRoAX_C1CaW&edm=AClQE0sBAAAA&ccb=7-5&oh=00_AfDDl35PMIh3bUJ2WuzOkIIAgIEZqwFqdSh8tuPDTyfgTg&oe=64B7C4EE&_nc_sid=2bf346",
"friendship_status": {
"following": false,
"followed_by": false,
"blocking": false,
"muting": false,
"is_private": false,
"incoming_request": false,
"outgoing_request": false,
"text_post_app_pre_following": false,
"is_bestie": false,
"is_restricted": false,
"is_feed_favorite": false,
"is_eligible_to_subscribe": false
},
"has_anonymous_profile_picture": false,
"has_onboarded_to_text_post_app": true,
"account_badges": []
}
},
"line_type": "squiggle",
"view_replies_cta_string": "348 replies",
"should_show_replies_cta": true,
"reply_facepile_users": [
{
"pk": 60781132585,
"pk_id": "60781132585",
"profile_pic_url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/359641162_959966898669598_6990253892519958381_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=110&_nc_ohc=uLBckw2TPWQAX_yvvWz&edm=AClQE0sBAAAA&ccb=7-5&oh=00_AfDZeeb69FVIALEYjbqFBzIbIXMlhKhyCPMge1K-ni0hZQ&oe=64B7FC4E&_nc_sid=2bf346"
},
{
"pk": 57175390182,
"pk_id": "57175390182",
"profile_pic_url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/358544206_674380928039672_4729519352683894077_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=108&_nc_ohc=0qWbftDXewwAX8KUtSO&edm=AClQE0sBAAAA&ccb=7-5&oh=00_AfDj4Z6wYUVslOtd4Mp7oRhbxKJZDIsZLxjX861MFn4CfQ&oe=64B74C23&_nc_sid=2bf346"
},
{
"pk": 46363005289,
"pk_id": "46363005289",
"profile_pic_url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/358356136_267621489287701_6184904086615879877_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=101&_nc_ohc=_kbmWIEqHuYAX9in-BH&edm=AClQE0sBAAAA&ccb=7-5&oh=00_AfBMSnbvraqk2tIrN5MwKAT49ey9QoeppiTEiMzeggaEYw&oe=64B86906&_nc_sid=2bf346"
}
],
"can_inline_expand_below": false
},
...
],
"thread_type": "thread",
"show_create_reply_cta": false,
"id": 3146509421211016700
},
],
"next_max_id": "QVFBZU1fRWxkXzh4UUhGOV84VUZGLS1BdHlVWVVzQmpNbmUzZ0hkRVJURXgyVDBSb2pSdnhacnRGX1JrNUxMRDgxbFZ4ZW5tSUc5TTRraEgwRV91eWR3Nw==",
"status": "ok"
}
```
</details>
##### Get Followers
`threads.private_api.get_user_followers` — getting a user's followers by the user's identifier.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|----------------------|
| `id` | Integer | Yes | `>0` | A user's identifier. |
<details>
<summary>Open code example</summary>
```python3
>>> user_followers = threads.private_api.get_user_followers(id=314216)
>>> user_followers
{
"users": [
{
"has_anonymous_profile_picture": false,
"fbid_v2": "17841407032091362",
"has_onboarded_to_text_post_app": true,
"text_post_app_joiner_number": 100165200,
"pk": 6970898403,
"pk_id": "6970898403",
"username": "ali_moslemi_",
"full_name": "",
"is_private": true,
"is_verified": false,
"profile_pic_id": "3143675402396969798_6970898403",
"profile_pic_url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/358504236_795240265474093_1873793041193487951_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=101&_nc_ohc=NDKSnch-bEoAX9bRFSg&edm=APQMUHMBAAAA&ccb=7-5&oh=00_AfBAOL--evGSmg6slpcKO-Bmo1I8rXokvlMygal0yEep5A&oe=64AFB4B0&_nc_sid=6ff7c8",
"account_badges": [],
"is_possible_scammer": false,
"third_party_downloads_enabled": 0,
"is_possible_bad_actor": {
"is_possible_scammer": false,
"is_possible_impersonator": {
"is_unconnected_impersonator": false
}
},
"latest_reel_media": 0
},
...
],
"big_list": false,
"page_size": 200,
"has_more": false,
"should_limit_list_of_followers": false,
"status": "ok"
}
```
</details>
##### Get Following
`threads.private_api.get_user_following` — getting a user's following by the user's identifier.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|----------------------|
| `id` | Integer | Yes | `>0` | A user's identifier. |
<details>
<summary>Open code example</summary>
```python3
>>> user_following = threads.private_api.get_user_following(id=314216)
>>> user_following
{
"users": [
{
"has_anonymous_profile_picture": false,
"fbid_v2": "17841400595560228",
"has_onboarded_to_text_post_app": true,
"text_post_app_joiner_number": 37063252,
"pk": 14611852,
"pk_id": "14611852",
"username": "mikesego",
"full_name": "Mike Sego",
"is_private": false,
"is_verified": false,
"profile_pic_id": "3141060757056532902_14611852",
"profile_pic_url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/358004364_2046926358984696_1656910531495082901_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=100&_nc_ohc=6Hb0M2drxbIAX9eVeGw&edm=ALB854YBAAAA&ccb=7-5&oh=00_AfAeVVBHAjmjJtmatY9YTDLovtOXJwzM-netZTUN_ghOLw&oe=64B028E3&_nc_sid=ce9561",
"account_badges": [],
"is_possible_scammer": false,
"third_party_downloads_enabled": 1,
"is_possible_bad_actor": {
"is_possible_scammer": false,
"is_possible_impersonator": {
"is_unconnected_impersonator": false
}
},
"latest_reel_media": 0,
"is_favorite": false
},
...
],
"big_list": true,
"page_size": 200,
"next_max_id": "100",
"has_more": false,
"should_limit_list_of_followers": false,
"status": "ok"
}
```
</details>
##### Get Friendship Status
`threads.private_api.get_friendship_status` — get a friendship status with a user.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|--------------------------------------------------------|
| `id` | Integer | Yes | `>0` | An identifier of a user to get friendship status with. |
<details>
<summary>Open code example</summary>
```python3
>>> friendship_status = threads.private_api.get_friendship_status(id=314216)
>>> friendship_status
{
"blocking": false,
"followed_by": false,
"following": false,
"incoming_request": false,
"is_bestie": false,
"is_blocking_reel": false,
"is_muting_reel": false,
"is_private": false,
"is_restricted": false,
"muting": false,
"outgoing_request": false,
"text_post_app_pre_following": false,
"is_feed_favorite": false,
"is_eligible_to_subscribe": false,
"is_supervised_by_viewer": false,
"is_guardian_of_viewer": false,
"is_muting_notes": false,
"status": "ok"
}
```
</details>
##### Search
`threads.private_api.search_user` — search for a user by a query.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:------:|:--------:|:------------:|-----------------|
| `query` | String | Yes | - | A search query. |
<details>
<summary>Open code example</summary>
```python3
>>> found_users = threads.private_api.search_user(query='zuck')
>>> found_users
{
"num_results": 55,
"users": [
{
"has_anonymous_profile_picture": false,
"follower_count": 2779681,
"media_count": 283,
"following_count": 313,
"following_tag_count": 3,
"fbid_v2": "17841401746480004",
"has_onboarded_to_text_post_app": true,
"show_text_post_app_badge": true,
"text_post_app_joiner_number": 1,
"show_ig_app_switcher_badge": true,
"pk": 314216,
"pk_id": "314216",
"username": "zuck",
"full_name": "Mark Zuckerberg",
"is_private": false,
"is_verified": true,
"profile_pic_id": "3138909791791822006_314216",
"profile_pic_url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=euIj8dtTGIkAX_8Gm2Q&edm=AM7KJZYBAAAA&ccb=7-5&oh=00_AfBozKxHv4GtcQ5ZwnPSS_eL9ONAYNekI1hhOWPGgNPaxA&oe=64B0D240&_nc_sid=8ec269",
"has_opt_eligible_shop": false,
"account_badges": [],
"third_party_downloads_enabled": 1,
"unseen_count": 0,
"friendship_status": {
"following": false,
"is_private": false,
"incoming_request": false,
"outgoing_request": false,
"text_post_app_pre_following": false,
"is_bestie": false,
"is_restricted": false,
"is_feed_favorite": false
},
"latest_reel_media": 0,
"should_show_category": false
},
...
],
"has_more": false,
"rank_token": "21af3266-ddec-4166-b00c-091a580a54a8",
"status": "ok"
}
```
</details>
##### Follow
`threads.private_api.follow_user` — follow a user.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|------------------------------------|
| `id` | Integer | Yes | `>0` | An identifier of a user to follow. |
<details>
<summary>Open code example</summary>
```python3
>>> following = threads.private_api.follow_user(id=314216)
>>> following
{
"friendship_status": {
"following": true,
"followed_by": false,
"blocking": false,
"muting": false,
"is_private": false,
"incoming_request": false,
"outgoing_request": false,
"text_post_app_pre_following": false,
"is_bestie": false,
"is_restricted": false,
"is_feed_favorite": false,
"is_eligible_to_subscribe": false
},
"previous_following": false,
"status": "ok"
}
```
</details>
##### Unfollow
`threads.private_api.unfollow_user` — unfollow a user.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|--------------------------------------|
| `id` | Integer | Yes | `>0` | An identifier of a user to unfollow. |
<details>
<summary>Open code example</summary>
```python3
>>> following = threads.private_api.unfollow_user(id=314216)
>>> following
{
"friendship_status": {
"following": false,
"followed_by": false,
"blocking": false,
"muting": false,
"is_private": false,
"incoming_request": false,
"outgoing_request": false,
"text_post_app_pre_following": false,
"is_bestie": false,
"is_restricted": false,
"is_feed_favorite": false,
"is_eligible_to_subscribe": false
},
"status": "ok"
}
```
</details>
##### Mute
`threads.private_api.mute_user` — mute a user.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|----------------------------------|
| `id` | Integer | Yes | `>0` | An identifier of a user to mute. |
<details>
<summary>Open code example</summary>
```python3
>>> muting = threads.private_api.mute_user(id=314216)
>>> muting
{
"friendship_status": {
"muting": true,
...
},
"status": "ok"
}
```
</details>
##### Unmute
`threads.private_api.unmute_user` — unmute a user.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|------------------------------------|
| `id` | Integer | Yes | `>0` | An identifier of a user to unmute. |
<details>
<summary>Open code example</summary>
```python3
>>> unmuting = threads.private_api.unmute_user(id=314216)
>>> unmuting
{
"friendship_status": {
"muting": false,
...
},
"status": "ok"
}
```
</details>
##### Restrict
`threads.private_api.restrict_user` — restrict a user.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|--------------------------------------|
| `id` | Integer | Yes | `>0` | An identifier of a user to restrict. |
<details>
<summary>Open code example</summary>
```python3
>>> restricting = threads.private_api.restrict_user(id=314216)
>>> restricting
{
"users": [
{
"pk": 314216,
"pk_id": "314216",
"username": "zuck",
"full_name": "Mark Zuckerberg",
"is_private": false,
"is_verified": true,
"friendship_status": {
"following": false,
"followed_by": false,
"blocking": false,
"muting": false,
"is_private": false,
"incoming_request": false,
"outgoing_request": false,
"text_post_app_pre_following": false,
"is_bestie": false,
"is_restricted": true,
"is_feed_favorite": false,
"is_eligible_to_subscribe": false
},
"profile_pic_id": "3138909791791822006_314216",
"profile_pic_url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=XKEMOZTrwUAAX-1hCyT&edm=AIbK1RIBAAAA&ccb=7-5&oh=00_AfDM-zL-HYX9qBBi9zM3AaHFAFzGu5ASanTF60ahGOYh7Q&oe=64B4C6C0&_nc_sid=0e3124",
"has_onboarded_to_text_post_app": true
}
],
"status": "ok"
}
```
</details>
##### Unrestrict
`threads.private_api.unrestrict_user` — unrestrict a user.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|----------------------------------------|
| `id` | Integer | Yes | `>0` | An identifier of a user to unrestrict. |
<details>
<summary>Open code example</summary>
```python3
>>> unrestricting = threads.private_api.unrestrict_user(id=314216)
>>> unrestricting
{
"users": [
{
"pk": 314216,
"pk_id": "314216",
"username": "zuck",
"full_name": "Mark Zuckerberg",
"is_private": false,
"is_verified": true,
"friendship_status": {
"following": false,
"followed_by": false,
"blocking": false,
"muting": false,
"is_private": false,
"incoming_request": false,
"outgoing_request": false,
"text_post_app_pre_following": false,
"is_bestie": false,
"is_restricted": false,
"is_feed_favorite": false,
"is_eligible_to_subscribe": false
},
"profile_pic_id": "3138909791791822006_314216",
"profile_pic_url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=XKEMOZTrwUAAX-1hCyT&edm=AMkHgcoBAAAA&ccb=7-5&oh=00_AfAMSrQmoJc3wyGdpGegznMp-f00XjYVyHNgr26As8rRHQ&oe=64B4C6C0&_nc_sid=88bf82",
"has_onboarded_to_text_post_app": true
}
],
"status": "ok"
}
```
</details>
##### Block
`threads.private_api.block_user` — block a user.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|-----------------------------------|
| `id` | Integer | Yes | `>0` | An identifier of a user to block. |
<details>
<summary>Open code example</summary>
```python3
>>> blocking = threads.private_api.block_user(id=314216)
>>> blocking
{
"friendship_status": {
"blocking": true,
...
},
"status": "ok"
}
```
</details>
##### Unblock
`threads.private_api.unblock_user` — unblock a user.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|-------------------------------------|
| `id` | Integer | Yes | `>0` | An identifier of a user to unblock. |
<details>
<summary>Open code example</summary>
```python3
>>> unblocking = threads.private_api.unblock_user(id=314216)
>>> unblocking
{
"friendship_status": {
"blocking": false,
...
},
"status": "ok"
}
```
</details>
#### Thread
##### Get Identifier
`threads.private_api.get_thread_id` — getting a thread's identifier by its `URL` identifier. `URL` identifier is a last
part of a thread's website `URL`. If the thread's `URL` is `https://threads.net/t/CuXFPIeLLod`, then it would be `CuXFPIeLLod`.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:------:|:--------:|:------------:|------------------------------|
| `url_id` | String | Yes | - | A thread's `URL` identifier. |
<details>
<summary>Open code example</summary>
```python3
>>> thread_id = threads.private_api.get_thread_id(url_id='CuXFPIeLLod')
>>> thread_id
3141002295235099165
```
</details>
##### Get By Identifier
`threads.private_api.get_thread` — getting a thread by its identifier.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|------------------------|
| `id` | Integer | Yes | `>0` | A thread's identifier. |
<details>
<summary>Open code example</summary>
```python3
>>> thread = threads.private_api.get_thread(id=3141002295235099165)
>>> thread
{
"data": {
"data": {
"containing_thread": {
"thread_items": [
{
"post": {
"user": {
"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/343392897_618515990300243_8088199406170073086_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=1xtR491RY6cAX8Okf3Z&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfDqsZTCRQlz7EaDpgEzBkmXqtqKtTH80Q0r1rIDMJCcpg&oe=64AC2D8D&_nc_sid=10d13b",
"username": "mosseri",
"id": null,
"is_verified": true,
"pk": "95561"
},
"image_versions2": {
"candidates": []
},
"original_width": 612,
"original_height": 612,
"video_versions": [],
"carousel_media": null,
"carousel_media_count": null,
"pk": "3141055616164096839",
"has_audio": null,
"text_post_app_info": {
"link_preview_attachment": null,
"share_info": {
"quoted_post": null,
"reposted_post": null
},
"reply_to_author": null,
"is_post_unavailable": false,
"direct_reply_count": 2839
},
"caption": {
"text": "I've been getting some questions about deleting your account. To clarify, you can deactivate your Threads account, which hides your Threads profile and content, you can set your profile to private, and you can delete individual threads posts \u2013 all without deleting your Instagram account. Threads is powered by Instagram, so right now it's just one account, but we're looking into a way to delete your Threads account separately."
},
"taken_at": 1688663030,
"like_count": 29984,
"code": "CuXRXDdNOtH",
"media_overlay_info": null,
"id": "3141055616164096839_95561"
},
"line_type": "none",
"view_replies_cta_string": "2,839 replies",
"reply_facepile_users": [],
"should_show_replies_cta": true
}
],
"thread_type": "thread",
"header": null,
"id": "3141055616164096839"
},
"reply_threads": [
{
"thread_items": [
{
"post": {
"user": {
"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/355424589_948742193018772_4617955233166333765_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=100&_nc_ohc=heQWdfsKG5MAX9mLim0&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfA6TUpLjjegnP6KuducRm8n6uU9iBCXg4O1P33WYSh3mg&oe=64ACDDBA&_nc_sid=10d13b",
"username": "jimmywhotalks",
"id": null,
"is_verified": true,
"pk": "51094265817"
},
"image_versions2": {
"candidates": []
},
"original_width": 612,
"original_height": 612,
"video_versions": [],
"carousel_media": null,
"carousel_media_count": null,
"pk": "3141082664316809193",
"has_audio": null,
"text_post_app_info": {
"link_preview_attachment": null,
"share_info": {
"quoted_post": null,
"reposted_post": null
},
"reply_to_author": {
"username": "mosseri",
"id": null
},
"is_post_unavailable": false
},
"caption": {
"text": "Glad to know, Everyone is worrying for that."
},
"taken_at": 1688666254,
"like_count": 59,
"code": "CuXXgqAva_p",
"media_overlay_info": null,
"id": "3141082664316809193_51094265817"
},
"line_type": "none",
"view_replies_cta_string": null,
"reply_facepile_users": [],
"should_show_replies_cta": false
}
],
"thread_type": "thread",
"header": null,
"id": "3141082664316809193"
},
...
]
}
},
"extensions": {
"is_final": true
}
}
```
</details>
##### Get Likers
`threads.private_api.get_thread_likers` — getting a thread's likers by the thread's identifier.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|------------------------|
| `id` | Integer | Yes | `>0` | A thread's identifier. |
<details>
<summary>Open code example</summary>
```python3
>>> thread_likers = threads.private_api.get_thread_likers(id=3141055616164096839)
>>> thread_likers
{
"users": [
{
"pk": 54831820289,
"pk_id": "54831820289",
"username": "hazrel_syfddn26",
"full_name": "HAZLER",
"is_private": false,
"account_badges": [],
"is_verified": false,
"profile_pic_id": "3140964514487728732_54831820289",
"profile_pic_url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/358165944_6109031802541294_1514688336008099084_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=110&_nc_ohc=V1UF-ylegwMAX_HbWIV&edm=APwHDrQBAAAA&ccb=7-5&oh=00_AfC4W3z1EZ61XFQk6Im82OpgoEvQp_r-JNPd2NmN9cdhUQ&oe=64B23019&_nc_sid=8809c9",
"has_onboarded_to_text_post_app": true,
"latest_reel_media": 0
},
...
],
"user_count": 38283,
"status": "ok"
}
```
</details>
##### Create
`threads.private_api.create_thread` — create a thread. You can create a thread with an attachment link or image
(specifying either `HTTP(S)` `URL` or path to a file). Also, you are able to create a thread as a reply to another
thread. Basically, each thread is either a root or linked to another thread like a graph. You can check
`https://www.threads.net/@threadstester1` for all the illustration of possible threads that can be created.
| Parameters | Type | Required | Restrictions | Description |
|:-----------:|:------:|:--------:|:------------:|-----------------------------------------------|
| `caption` | String | Yes | - | A thread's caption. |
| `url` | String | No | - | A thread's attachment `URL`. |
| `image_url` | String | No | - | An image's `HTTP(S)` `URL` or path to a file. |
| `reply_to` | String | No | - | An identifier of a thread to reply to. |
<details>
<summary>Open code example</summary>
```python3
>>> created_thread = threads.private_api.create_thread(
caption='Hello, world!',
)
>>> created_thread = threads.private_api.create_thread(
caption='Hello, world!',
url='https://www.youtube.com/watch?v=lc4qU6BakvE'
)
>>> created_thread = threads.private_api.create_thread(
caption='Hello, world!',
image_url='/Users/dmytrostriletskyi/projects/threads/assets/picture.png',
)
>>> created_thread = threads.private_api.create_thread(
caption='Hello, world!',
image_url='https://raw.githubusercontent.com/dmytrostriletskyi/threads-net/main/assets/picture.png',
reply_to=3141055616164096839,
)
>>> created_thread
{
"media": {
"taken_at": 1689087793,
"pk": 3144618785809596584,
"id": "3144618785809596584_32545771157",
"device_timestamp": 1689087791,
"media_type": 1,
"code": "Cuj7h_yM4Co",
"client_cache_key": "MzE0NDYxODc4NTgwOTU5NjU4NA==.2",
"filter_type": 0,
"can_viewer_reshare": true,
"caption": {
"pk": "17986860047032912",
"user_id": 32545771157,
"text": "Hello, world!",
"type": 1,
"created_at": 1689087793,
"created_at_utc": 1689087793,
"content_type": "comment",
"status": "Active",
"bit_flags": 0,
"did_report_as_spam": false,
"share_enabled": false,
"user": {
"has_anonymous_profile_picture": true,
"liked_clips_count": 0,
"fan_club_info": {
"fan_club_id": null,
"fan_club_name": null,
"is_fan_club_referral_eligible": null,
"fan_consideration_page_revamp_eligiblity": null,
"is_fan_club_gifting_eligible": null,
"subscriber_count": null,
"connected_member_count": null,
"autosave_to_exclusive_highlight": null,
"has_enough_subscribers_for_ssc": null
},
"fbid_v2": 17841432494728221,
"transparency_product_enabled": false,
"text_post_app_take_a_break_setting": 0,
"interop_messaging_user_fbid": 17842937552083158,
"show_insights_terms": false,
"allowed_commenter_type": "any",
"is_unpublished": false,
"reel_auto_archive": "unset",
"can_boost_post": false,
"can_see_organic_insights": false,
"has_onboarded_to_text_post_app": true,
"text_post_app_joiner_number": 68427510,
"pk": 32545771157,
"pk_id": "32545771157",
"username": "dmytro.striletskyi",
"full_name": "Dmytro Striletskyi",
"is_private": false,
"profile_pic_url": "https://scontent-cdg4-1.cdninstagram.com/v/t51.2885-19/44884218_345707102882519_2446069589734326272_n.jpg?_nc_ht=scontent-cdg4-1.cdninstagram.com&_nc_cat=1&_nc_ohc=s7XO4bcYceYAX9jyeT8&edm=AAAAAAABAAAA&ccb=7-5&ig_cache_key=YW5vbnltb3VzX3Byb2ZpbGVfcGlj.2-ccb7-5&oh=00_AfBhetyTgz8h53kRlSorYqET2tbmZOmYt2jiucME8qI7AQ&oe=64B3528F",
"account_badges": [],
"feed_post_reshare_disabled": false,
"show_account_transparency_details": true,
"third_party_downloads_enabled": 0
},
"is_covered": false,
"is_ranked_comment": false,
"media_id": 3144618785809596584,
"private_reply_status": 0
},
"clips_tab_pinned_user_ids": [],
"comment_inform_treatment": {
"should_have_inform_treatment": false,
"text": "",
"url": null,
"action_type": null
},
"fundraiser_tag": {
"has_standalone_fundraiser": false
},
"sharing_friction_info": {
"should_have_sharing_friction": false,
"bloks_app_url": null,
"sharing_friction_payload": null
},
"xpost_deny_reason": "This post cannot be shared to Facebook.",
"caption_is_edited": false,
"original_media_has_visual_reply_media": false,
"like_and_view_counts_disabled": false,
"fb_user_tags": {
"in": []
},
"mashup_info": {
"mashups_allowed": true,
"can_toggle_mashups_allowed": true,
"has_been_mashed_up": false,
"formatted_mashups_count": null,
"original_media": null,
"privacy_filtered_mashups_media_count": null,
"non_privacy_filtered_mashups_media_count": null,
"mashup_type": null,
"is_creator_requesting_mashup": false,
"has_nonmimicable_additional_audio": false,
"is_pivot_page_available": false
},
"can_viewer_save": true,
"is_in_profile_grid": false,
"profile_grid_control_enabled": false,
"featured_products": [],
"is_comments_gif_composer_enabled": true,
"product_suggestions": [],
"user": {
"has_anonymous_profile_picture": true,
"liked_clips_count": 0,
"fan_club_info": {
"fan_club_id": null,
"fan_club_name": null,
"is_fan_club_referral_eligible": null,
"fan_consideration_page_revamp_eligiblity": null,
"is_fan_club_gifting_eligible": null,
"subscriber_count": null,
"connected_member_count": null,
"autosave_to_exclusive_highlight": null,
"has_enough_subscribers_for_ssc": null
},
"fbid_v2": 17841432494728221,
"transparency_product_enabled": false,
"text_post_app_take_a_break_setting": 0,
"interop_messaging_user_fbid": 17842937552083158,
"show_insights_terms": false,
"allowed_commenter_type": "any",
"is_unpublished": false,
"reel_auto_archive": "unset",
"can_boost_post": false,
"can_see_organic_insights": false,
"has_onboarded_to_text_post_app": true,
"text_post_app_joiner_number": 68427510,
"pk": 32545771157,
"pk_id": "32545771157",
"username": "dmytro.striletskyi",
"full_name": "Dmytro Striletskyi",
"is_private": false,
"profile_pic_url": "https://scontent-cdg4-1.cdninstagram.com/v/t51.2885-19/44884218_345707102882519_2446069589734326272_n.jpg?_nc_ht=scontent-cdg4-1.cdninstagram.com&_nc_cat=1&_nc_ohc=s7XO4bcYceYAX9jyeT8&edm=AAAAAAABAAAA&ccb=7-5&ig_cache_key=YW5vbnltb3VzX3Byb2ZpbGVfcGlj.2-ccb7-5&oh=00_AfBhetyTgz8h53kRlSorYqET2tbmZOmYt2jiucME8qI7AQ&oe=64B3528F",
"account_badges": [],
"feed_post_reshare_disabled": false,
"show_account_transparency_details": true,
"third_party_downloads_enabled": 0
},
"image_versions2": {
"candidates": [
{
"width": 980,
"height": 652,
"url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=dst-jpg_e35&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfB5avonpo72-x_5Te_cXCKf2aM6jJO9dGmmejvdV821zg&oe=64B3067E&_nc_sid=e50d24",
"scans_profile": "e35"
},
{
"width": 720,
"height": 479,
"url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=dst-jpg_e35_s720x720&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfBJhcGMT6yd6pECPVoeFAIoTIcgOzTw6zDKxs8ZdZK1CA&oe=64B3067E&_nc_sid=e50d24",
"scans_profile": "e35"
},
{
"width": 640,
"height": 426,
"url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=dst-jpg_e35_s640x640_sh0.08&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfBPn-IvLSL4PYxQQoFyFyHFuimEtfKoDq7EoCys3xaMWg&oe=64B3067E&_nc_sid=e50d24",
"scans_profile": "e35"
},
{
"width": 480,
"height": 319,
"url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=dst-jpg_e35_s480x480&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfDiPNhb5u_FX3VKC8KZ1rmN7yvmmTMiunWJBK25yuly4A&oe=64B3067E&_nc_sid=e50d24",
"scans_profile": "e35"
},
{
"width": 320,
"height": 213,
"url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=dst-jpg_e35_s320x320&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfAy8wZuJneP3N_g6PyDKk-2kiAGLvPO4XPfK1MBwVSSPw&oe=64B3067E&_nc_sid=e50d24",
"scans_profile": "e35"
},
{
"width": 240,
"height": 160,
"url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=dst-jpg_e35_s240x240&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfDnUnB202rqbhfPupeNKKd-NRM9e4-FvsnnGD2FsEY_bQ&oe=64B3067E&_nc_sid=e50d24",
"scans_profile": "e35"
},
{
"width": 1080,
"height": 1080,
"url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=c164.0.652.652a_dst-jpg_e35&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfDGwvzJe8hIAfBBrRerzo8PCdQAey0_Q9uJSF5eGz1f-w&oe=64B3067E&_nc_sid=e50d24",
"scans_profile": "e35"
},
{
"width": 750,
"height": 750,
"url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=c164.0.652.652a_dst-jpg_e35_s750x750_sh0.08&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfD2nnAd_T-Zj3cX0-TUEjajO9jn3EMfKwaUHwLmagBhiA&oe=64B3067E&_nc_sid=e50d24",
"scans_profile": "e35"
},
{
"width": 640,
"height": 640,
"url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=c164.0.652.652a_dst-jpg_e35_s640x640_sh0.08&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfB0kVjlsVkk26Rqad6KRlMWTOxs88NzLS1iuHpHYLU1tA&oe=64B3067E&_nc_sid=e50d24",
"scans_profile": "e35"
},
{
"width": 480,
"height": 480,
"url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=c164.0.652.652a_dst-jpg_e35_s480x480&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfCo8QoGPw8tlIavEsSbZkMoZOFdey8XM0--RAIABYqxZQ&oe=64B3067E&_nc_sid=e50d24",
"scans_profile": "e35"
},
{
"width": 320,
"height": 320,
"url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=c164.0.652.652a_dst-jpg_e35_s320x320&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfAfleZMSb3Ae50Fj1dhDUYc6slUO5zxUKwcKYL0PmHNkA&oe=64B3067E&_nc_sid=e50d24",
"scans_profile": "e35"
},
{
"width": 240,
"height": 240,
"url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=c164.0.652.652a_dst-jpg_e35_s240x240&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfAR1f9S-NF_DwhyaSq0qzme6k4rDsGb6RfWkgnw07Tt1A&oe=64B3067E&_nc_sid=e50d24",
"scans_profile": "e35"
},
{
"width": 150,
"height": 150,
"url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=c164.0.652.652a_dst-jpg_e35_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfAYtetjgt4tQah5PnX8LXRlrUGS0A1uH4kkUrUPNwcr_g&oe=64B3067E&_nc_sid=e50d24",
"scans_profile": "e35"
}
]
},
"original_width": 980,
"original_height": 652,
"is_reshare_of_text_post_app_media_in_ig": false,
"comment_threading_enabled": false,
"max_num_visible_preview_comments": 2,
"has_more_comments": false,
"preview_comments": [],
"comment_count": 0,
"can_view_more_preview_comments": false,
"hide_view_all_comment_entrypoint": false,
"likers": [],
"shop_routing_user_id": null,
"can_see_insights_as_brand": false,
"is_organic_product_tagging_eligible": false,
"product_type": "feed",
"is_paid_partnership": false,
"music_metadata": {
"music_canonical_id": "0",
"audio_type": null,
"music_info": null,
"original_sound_info": null,
"pinned_media_ids": null
},
"deleted_reason": 0,
"organic_tracking_token": "eyJ2ZXJzaW9uIjo1LCJwYXlsb2FkIjp7ImlzX2FuYWx5dGljc190cmFja2VkIjpmYWxzZSwidXVpZCI6IjQxNjBkY2E0ODY1YzQyODY5NThhOWE3M2I2N2UyZWI0MzE0NDYxODc4NTgwOTU5NjU4NCIsInNlcnZlcl90b2tlbiI6IjE2ODkwODc3OTYwOTZ8MzE0NDYxODc4NTgwOTU5NjU4NHwzMjU0NTc3MTE1N3xiY2RkZjliZGNlZjFiMzNlZDIzZTJiZDg4M2E0MjAzZmNlMjQ1ZjI2MjdmYWZiNDgwNTlhNjBiMzgwYjM1MjA3In0sInNpZ25hdHVyZSI6IiJ9",
"text_post_app_info": {
"is_post_unavailable": false,
"is_reply": true,
"reply_to_author": {
"pk": 95561,
"pk_id": "95561",
"username": "mosseri",
"full_name": "Adam Mosseri",
"is_private": false,
"is_verified": true,
"profile_pic_id": "3090458139926225297_95561",
"profile_pic_url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/343392897_618515990300243_8088199406170073086_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=H93HRKonYSQAX9OmlMQ&edm=AL_hgCEBAAAA&ccb=7-5&oh=00_AfC8sdQl6N1YwEs5Xva8HSfc98_zv7l4beWBQVuVBkHxJA&oe=64B21C4D&_nc_sid=e50d24",
"has_onboarded_to_text_post_app": true
},
"direct_reply_count": 0,
"self_thread_count": 0,
"reply_facepile_users": [],
"link_preview_attachment": null,
"can_reply": true,
"reply_control": "everyone",
"hush_info": null,
"share_info": {
"can_repost": true,
"is_reposted_by_viewer": false,
"can_quote_post": true
}
},
"integrity_review_decision": "pending",
"ig_media_sharing_disabled": false,
"has_shared_to_fb": 0,
"is_unified_video": false,
"should_request_ads": false,
"is_visual_reply_commenter_notice_enabled": true,
"commerciality_status": "not_commercial",
"explore_hide_comments": false,
"has_delayed_metadata": false
},
"upload_id": "1689087791",
"status": "ok"
}
```
</details>
<details>
<summary>Open UI example</summary>



</details>
##### Delete
`threads.private_api.delete_thread` — delete a thread.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|--------------------------------------|
| `id` | Integer | Yes | `>0` | An identifier of a thread to delete. |
<details>
<summary>Open code example</summary>
```python3
>>> deletion = threads.private_api.delete_thread(id=3141055616164096839)
>>> deletion
{
"did_delete": true,
"cxp_deep_deletion_global_response": {},
"status": "ok"
}
```
</details>
##### Like
`threads.private_api.like_thread` — like a thread.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|------------------------------------|
| `id` | Integer | Yes | `>0` | An identifier of a thread to like. |
<details>
<summary>Open code example</summary>
```python3
>>> liking = threads.private_api.like_thread(id=3141055616164096839)
>>> liking
{
"status": "ok"
}
```
</details>
##### Unlike
`threads.private_api.unlike_thread` — unlike a thread.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|--------------------------------------|
| `id` | Integer | Yes | `>0` | An identifier of a thread to unlike. |
<details>
<summary>Open code example</summary>
```python3
>>> unliking = threads.private_api.unlike_thread(id=3141055616164096839)
>>> unliking
{
"status": "ok"
}
```
</details>
##### Repost
`threads.private_api.repost_thread` — repost a thread.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|--------------------------------------|
| `id` | Integer | Yes | `>0` | An identifier of a thread to repost. |
<details>
<summary>Open code example</summary>
```python3
>>> reposting = threads.private_api.repost_thread(id=3141055616164096839)
>>> reposting
{
"repost_id": 3145900181542784653,
"repost_fbid": 18008518438811136,
"reposted_at": 1689240547,
"status": "ok"
}
```
</details>
<details>
<summary>Open UI example</summary>

</details>
##### Unrepost
`threads.private_api.unrepost_thread` — undo a thread's repost. An identifier of a thread to unrepost is basically the
identifier of the thread from `repost` method.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|----------------------------------------|
| `id` | Integer | Yes | `>0` | An identifier of a thread to unrepost. |
<details>
<summary>Open code example</summary>
```python3
>>> unreposting = threads.private_api.unrepost_thread(id=3141055616164096839)
>>> unreposting
{
"status": "ok"
}
```
</details>
##### Quote
`threads.private_api.quote_thread` — quote a thread.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|-------------------------------------|
| `id` | Integer | Yes | `>0` | An identifier of a thread to quote. |
| `caption` | String | Yes | - | A quote's caption. |
<details>
<summary>Open code example</summary>
```python3
>>> quoting = threads.private_api.quote_thread(id=3141055616164096839, caption='Hello, world!')
>>> quoting
{
"media": {
"taken_at": 1689241970,
"pk": 3145912119832282782,
"id": "3145912119832282782_60438154566",
"device_timestamp": 1689241970,
"media_type": 19,
"code": "Cuohme9Mwae",
"client_cache_key": "MzE0NTkxMjExOTgzMjI4Mjc4Mg==.2",
"filter_type": 0,
"can_viewer_reshare": true,
"caption": {
"pk": "18086087680362532",
"user_id": 60438154566,
"text": "Hello, world!",
"type": 1,
"created_at": 1689241971,
"created_at_utc": 1689241971,
"content_type": "comment",
"status": "Active",
"bit_flags": 0,
"did_report_as_spam": false,
"share_enabled": false,
"user": {
"has_anonymous_profile_picture": true,
"all_media_count": 33,
"liked_clips_count": 0,
"fan_club_info": {
"fan_club_id": null,
"fan_club_name": null,
"is_fan_club_referral_eligible": null,
"fan_consideration_page_revamp_eligiblity": null,
"is_fan_club_gifting_eligible": null,
"subscriber_count": null,
"connected_member_count": null,
"autosave_to_exclusive_highlight": null,
"has_enough_subscribers_for_ssc": null
},
"fbid_v2": 17841460317004769,
"transparency_product_enabled": false,
"text_post_app_take_a_break_setting": 0,
"interop_messaging_user_fbid": 17848558452010567,
"show_insights_terms": false,
"allowed_commenter_type": "any",
"is_unpublished": false,
"reel_auto_archive": "unset",
"can_boost_post": false,
"can_see_organic_insights": false,
"has_onboarded_to_text_post_app": true,
"text_post_app_joiner_number": 95787975,
"pk": 60438154566,
"pk_id": "60438154566",
"username": "threadstester1",
"full_name": "threads tester",
"is_private": false,
"profile_pic_url": "https://scontent-lhr8-1.cdninstagram.com/v/t51.2885-19/44884218_345707102882519_2446069589734326272_n.jpg?_nc_ht=scontent-lhr8-1.cdninstagram.com&_nc_cat=1&_nc_ohc=d9GMadcVaNMAX8OxeS1&edm=AAAAAAABAAAA&ccb=7-5&ig_cache_key=YW5vbnltb3VzX3Byb2ZpbGVfcGlj.2-ccb7-5&oh=00_AfCgI100IU2KFElc0Xo-ngiCYBS2chBfBxpchDkHna42Lw&oe=64B54CCF",
"account_badges": [],
"feed_post_reshare_disabled": false,
"show_account_transparency_details": true,
"third_party_downloads_enabled": 0
},
"is_covered": false,
"is_ranked_comment": false,
"media_id": 3145912119832282782,
"private_reply_status": 0
},
"clips_tab_pinned_user_ids": [],
"comment_inform_treatment": {
"should_have_inform_treatment": false,
"text": "",
"url": null,
"action_type": null
},
"fundraiser_tag": {
"has_standalone_fundraiser": false
},
"sharing_friction_info": {
"should_have_sharing_friction": false,
"bloks_app_url": null,
"sharing_friction_payload": null
},
"xpost_deny_reason": "This post cannot be shared to Facebook.",
"caption_is_edited": false,
"original_media_has_visual_reply_media": false,
"like_and_view_counts_disabled": false,
"fb_user_tags": {
"in": []
},
"can_viewer_save": true,
"is_in_profile_grid": false,
"profile_grid_control_enabled": false,
"featured_products": [],
"is_comments_gif_composer_enabled": true,
"product_suggestions": [],
"user": {
"has_anonymous_profile_picture": true,
"all_media_count": 33,
"liked_clips_count": 0,
"fan_club_info": {
"fan_club_id": null,
"fan_club_name": null,
"is_fan_club_referral_eligible": null,
"fan_consideration_page_revamp_eligiblity": null,
"is_fan_club_gifting_eligible": null,
"subscriber_count": null,
"connected_member_count": null,
"autosave_to_exclusive_highlight": null,
"has_enough_subscribers_for_ssc": null
},
"fbid_v2": 17841460317004769,
"transparency_product_enabled": false,
"text_post_app_take_a_break_setting": 0,
"interop_messaging_user_fbid": 17848558452010567,
"show_insights_terms": false,
"allowed_commenter_type": "any",
"is_unpublished": false,
"reel_auto_archive": "unset",
"can_boost_post": false,
"can_see_organic_insights": false,
"has_onboarded_to_text_post_app": true,
"text_post_app_joiner_number": 95787975,
"pk": 60438154566,
"pk_id": "60438154566",
"username": "threadstester1",
"full_name": "threads tester",
"is_private": false,
"profile_pic_url": "https://scontent-lhr8-1.cdninstagram.com/v/t51.2885-19/44884218_345707102882519_2446069589734326272_n.jpg?_nc_ht=scontent-lhr8-1.cdninstagram.com&_nc_cat=1&_nc_ohc=d9GMadcVaNMAX8OxeS1&edm=AAAAAAABAAAA&ccb=7-5&ig_cache_key=YW5vbnltb3VzX3Byb2ZpbGVfcGlj.2-ccb7-5&oh=00_AfCgI100IU2KFElc0Xo-ngiCYBS2chBfBxpchDkHna42Lw&oe=64B54CCF",
"account_badges": [],
"feed_post_reshare_disabled": false,
"show_account_transparency_details": true,
"third_party_downloads_enabled": 0
},
"image_versions2": {
"candidates": []
},
"original_width": 612,
"original_height": 612,
"is_reshare_of_text_post_app_media_in_ig": false,
"comment_threading_enabled": false,
"max_num_visible_preview_comments": 2,
"has_more_comments": false,
"preview_comments": [],
"comment_count": 0,
"can_view_more_preview_comments": false,
"hide_view_all_comment_entrypoint": false,
"likers": [],
"shop_routing_user_id": null,
"can_see_insights_as_brand": false,
"is_organic_product_tagging_eligible": false,
"product_type": "text_post",
"is_paid_partnership": false,
"music_metadata": null,
"deleted_reason": 0,
"organic_tracking_token": "eyJ2ZXJzaW9uIjo1LCJwYXlsb2FkIjp7ImlzX2FuYWx5dGljc190cmFja2VkIjpmYWxzZSwidXVpZCI6ImY4MWVhNDFlYmY2NjRmNWNiOGUxMDM1ZWVlOTBmMjY3MzE0NTkxMjExOTgzMjI4Mjc4MiIsInNlcnZlcl90b2tlbiI6IjE2ODkyNDE5NzI5Nzd8MzE0NTkxMjExOTgzMjI4Mjc4Mnw2MDQzODE1NDU2Nnw2NzczNzc1YjJmODljNDhiNGI4ZTBlYTlmODYxYzA5NWRiMTc2ODYwOWRmYWIzMmI1OGUyYmY4OWM5MmFkZTlmIn0sInNpZ25hdHVyZSI6IiJ9",
"text_post_app_info": {
"is_post_unavailable": false,
"is_reply": false,
"reply_to_author": null,
"direct_reply_count": 0,
"self_thread_count": 0,
"reply_facepile_users": [],
"link_preview_attachment": null,
"can_reply": true,
"reply_control": "everyone",
"hush_info": null,
"share_info": {
"can_repost": true,
"is_reposted_by_viewer": false,
"can_quote_post": true,
"quoted_post": {
"pk": 3141055616164096839,
"id": "3141055616164096839_95561",
"text_post_app_info": {
"is_post_unavailable": false,
"is_reply": false,
"reply_to_author": null,
"direct_reply_count": 3513,
"self_thread_count": 0,
"reply_facepile_users": [],
"link_preview_attachment": null,
"can_reply": true,
"reply_control": "everyone",
"hush_info": null,
"share_info": {
"can_repost": true,
"is_reposted_by_viewer": false,
"can_quote_post": true
}
},
"caption": {
"pk": "17990855999107063",
"user_id": 95561,
"text": "I've been getting some questions about deleting your account. To clarify, you can deactivate your Threads account, which hides your Threads profile and content, you can set your profile to private, and you can delete individual threads posts \u2013 all without deleting your Instagram account. Threads is powered by Instagram, so right now it's just one account, but we're looking into a way to delete your Threads account separately.",
"type": 1,
"created_at": 1688663030,
"created_at_utc": 1688663030,
"content_type": "comment",
"status": "Active",
"bit_flags": 0,
"did_report_as_spam": false,
"share_enabled": false,
"user": {
"pk": 95561,
"pk_id": "95561",
"username": "mosseri",
"full_name": "Adam Mosseri",
"is_private": false,
"is_verified": true,
"profile_pic_id": "3090458139926225297_95561",
"profile_pic_url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/343392897_618515990300243_8088199406170073086_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=HX3vm4L7D44AX_09srG&edm=AMl8KrABAAAA&ccb=7-5&oh=00_AfBQ5qRqYCwxeopGHTpXx0LsYGnxpWEapsnHJpdkFruvEA&oe=64B4168D&_nc_sid=cd9b4f",
"fbid_v2": "17841400946830001",
"has_onboarded_to_text_post_app": true
},
"is_covered": false,
"is_ranked_comment": false,
"media_id": 3141055616164096839,
"private_reply_status": 0
},
"taken_at": 1688663030,
"device_timestamp": 28775508833101,
"media_type": 19,
"code": "CuXRXDdNOtH",
"client_cache_key": "MzE0MTA1NTYxNjE2NDA5NjgzOQ==.2",
"filter_type": 0,
"product_type": "text_post",
"organic_tracking_token": "eyJ2ZXJzaW9uIjo1LCJwYXlsb2FkIjp7ImlzX2FuYWx5dGljc190cmFja2VkIjp0cnVlLCJ1dWlkIjoiZjgxZWE0MWViZjY2NGY1Y2I4ZTEwMzVlZWU5MGYyNjczMTQxMDU1NjE2MTY0MDk2ODM5Iiwic2VydmVyX3Rva2VuIjoiMTY4OTI0MTk3MjYzNHwzMTQxMDU1NjE2MTY0MDk2ODM5fDYwNDM4MTU0NTY2fDUxZTliM2JkZjQ3ZDdkMDAyZTZlOGJmZjA0NDY2YjM3NWM4ZjQ1Yzc4YzYzMmNlYThlYmYwNDcyNDlkMDI1NzUifSwic2lnbmF0dXJlIjoiIn0=",
"image_versions2": {
"candidates": []
},
"original_width": 612,
"original_height": 612,
"video_versions": [],
"like_count": 38544,
"has_liked": false,
"like_and_view_counts_disabled": false,
"can_viewer_reshare": true,
"integrity_review_decision": "pending",
"top_likers": [],
"user": {
"pk": 95561,
"pk_id": "95561",
"username": "mosseri",
"full_name": "Adam Mosseri",
"is_private": false,
"is_verified": true,
"profile_pic_id": "3090458139926225297_95561",
"profile_pic_url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/343392897_618515990300243_8088199406170073086_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=HX3vm4L7D44AX_09srG&edm=AMl8KrABAAAA&ccb=7-5&oh=00_AfBQ5qRqYCwxeopGHTpXx0LsYGnxpWEapsnHJpdkFruvEA&oe=64B4168D&_nc_sid=cd9b4f",
"friendship_status": {
"following": false,
"followed_by": false,
"blocking": false,
"muting": false,
"is_private": false,
"incoming_request": false,
"outgoing_request": false,
"text_post_app_pre_following": false,
"is_bestie": false,
"is_restricted": false,
"is_feed_favorite": false,
"is_eligible_to_subscribe": false
},
"has_anonymous_profile_picture": false,
"has_onboarded_to_text_post_app": true,
"account_badges": []
}
}
}
},
"integrity_review_decision": "pending",
"ig_media_sharing_disabled": false,
"has_shared_to_fb": 0,
"is_unified_video": false,
"should_request_ads": false,
"is_visual_reply_commenter_notice_enabled": true,
"commerciality_status": "not_commercial",
"explore_hide_comments": false,
"has_delayed_metadata": false
},
"upload_id": "1689241970",
"status": "ok"
}
```
</details>
<details>
<summary>Open UI example</summary>

</details>
#### Feed
##### Get recommended users
`threads.private_api.get_recommended_users` — get recommended users. Supports [pagination](#pagination), but has
different response keys: `paging_token` instead of `next_max_id` as an `offset` and `has_more` as a value to detect
whether to stop iterations or not.
| Parameters | Type | Required | Restrictions | Description |
|:----------:|:-------:|:--------:|:------------:|--------------------------------------------------------------|
| `limit` | Integer | No | `>0` | A number of recommended users to get. Default value is `15`. |
| `offset` | Integer | No | - | A number of recommended users skip before fetching. |
<details>
<summary>Open code example</summary>
```python3
>>> recommended_users = threads.private_api.get_recommended_users()
>>> recommended_users
{
"users": [
{
"pk": 285464169,
"pk_id": "285464169",
"username": "sashachistova",
"full_name": "Sasha Chistova",
"account_badges": [],
"profile_pic_url": "https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/358049976_793858308785598_4202050856705005217_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=106&_nc_ohc=sieozLj6SiAAX-AN0KH&edm=AHWpSgsBAAAA&ccb=7-5&oh=00_AfCMzBux6Y1Hzi0ZmBkD26hzer4ETDiRY8v6mfeGEbR6lw&oe=64B8BE6D&_nc_sid=ae9eda",
"has_anonymous_profile_picture": false,
"has_onboarded_to_text_post_app": true,
"is_verified": true,
"friendship_status": {
"following": false,
"followed_by": false,
"blocking": false,
"muting": false,
"is_private": false,
"incoming_request": false,
"outgoing_request": false,
"text_post_app_pre_following": false,
"is_bestie": false,
"is_restricted": false,
"is_feed_favorite": false,
"is_eligible_to_subscribe": false
},
"profile_context_facepile_users": [],
"follower_count": 26459
},
...
],
"paging_token": "15",
"has_more": true,
"status": "ok"
}
```
</details>
Raw data
{
"_id": null,
"home_page": "https://github.com/dmytrostriletskyi/threads-net",
"name": "threads-net",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "Dmytro Striletskyi",
"author_email": "dmytro.striletskyi@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/ff/74/8fc3b70cbe8e75109a944eb5b609d84fcab1065a10eba699ef18d34bae9d/threads-net-0.0.50.tar.gz",
"platform": null,
"description": "[](https://stand-with-ukraine.pp.ua)\n\nUnofficial and reverse-engineered Threads ([threads.net](https://www.threads.net/@zuck)) Python API wrapper. \n\n**Created for academic purposes and is not intended to be used in real software. Usage of it might violate `Instagram` \nand `Threads` terms. In addition to breaching the terms of service and interfering with Meta\u2019s business expectations\nand interests, your activities may violate other federal and state laws. See Computer Fraud and Abuse Act, 18 U.S.C. \n\u00a7 1030; and the California Comprehensive Computer Data Access and Fraud Act, Cal. Penal Code \u00a7 502(c).**\n\n[](https://github.com/dmytrostriletskyi/threads-net/actions/workflows/main.yaml)\n[](https://github.com/dmytrostriletskyi/threads-net/releases)\n[](https://pypi.python.org/pypi/threads-net)\n\n[](https://pepy.tech/project/threads-net)\n[](https://pypi.python.org/pypi/threads-net/)\n[](https://pypi.python.org/pypi/threads-net/)\n\nTable of content:\n\n* [Disclaimer](#disclaimer)\n* [Roadmap](#roadmap)\n* [Getting started](#getting-started)\n * [How to install](#how-to-install)\n * [Examples](#examples)\n* [API](#api)\n * [Disclaimer](#disclaimer-1)\n * [Troubleshooting](#troubleshooting)\n * [Two-Factor Authentication (2FA)](#two-factor-authentication-2fa)\n * [Terminology](#terminology)\n * [Initialization](#initialization)\n * [Settings](#settings)\n * [Pagination](#pagination)\n * [Public](#api)\n * [User](#user)\n * [Get Identifier](#get-identifier)\n * [Get By Identifier](#get-by-identifier)\n * [Get Threads](#get-threads)\n * [Get Replies](#get-replies)\n * [Thread](#thread)\n * [Get Identifier](#get-identifier-1)\n * [Get By Identifier](#get-by-identifier-1)\n * [Get Likers](#get-likers)\n * [Private](#private)\n * [User](#user-1)\n * [Get Identifier](#get-identifier-2)\n * [Get By Identifier](#get-by-identifier-2)\n * [Get Threads](#get-threads-1)\n * [Get Replies](#get-replies-1)\n * [Get Followers](#get-followers)\n * [Get Following](#get-following)\n * [Get Friendship Status](#get-friendship-status)\n * [Search](#search)\n * [Follow](#follow)\n * [Unfollow](#unfollow)\n * [Mute](#mute)\n * [Unmute](#unmute)\n * [Restrict](#restrict)\n * [Unrestrict](#unrestrict)\n * [Block](#block)\n * [Unblock](#unblock)\n * [Thread](#thread-1)\n * [Get Identifier](#get-identifier-3)\n * [Get By Identifier](#get-by-identifier-3)\n * [Get Likers](#get-likers-1)\n * [Create](#create)\n * [Delete](#delete)\n * [Like](#like)\n * [Unlike](#unlike)\n * [Repost](#repost)\n * [Unrepost](#unrepost)\n * [Quote](#quote)\n * [Feed](#feed)\n * [Recommended users](#get-recommended-users)\n\n## Disclaimer\n\n**Created for academic purposes and is not intended to be used in real software. Usage of it might violate `Instagram` \nand `Threads` terms. In addition to breaching the terms of service and interfering with Meta\u2019s business expectations\nand interests, your activities may violate other federal and state laws. See Computer Fraud and Abuse Act, 18 U.S.C. \n\u00a7 1030; and the California Comprehensive Computer Data Access and Fraud Act, Cal. Penal Code \u00a7 502(c).**\n\n## Roadmap\n\nCheck what is already done in the table of content above, below the only things to be done are placed: \n\n- [ ] Pagination for all methods responding with a list of records\n- [ ] Get notifications about new threads\n- [ ] Manage auth for accounts with the enabled 2FA\n- [ ] Manage auth for accounts required a challenge\n\n## Getting started\n\n### How to install\n\nInstall the library with the following command using `pip3`:\n\n```bash\n$ pip3 install threads-net\n```\n\n### Examples\n\nFind examples of how to use the library in the `examples` folder:\n\n```bash\nls examples\n\u251c\u2500\u2500 private\n\u2502 \u251c\u2500\u2500 create_thread.py\n\u2502 \u251c\u2500\u2500 follow_user.py\n\u2502 \u251c\u2500\u2500 get_user.py\n\u2502 \u251c\u2500\u2500 get_user_followers.py\n\u2502 \u251c\u2500\u2500 get_user_following.py\n\u2502 \u2514\u2500\u2500 search_user.py\n\u2502 ...\n\u2514\u2500\u2500 public\n \u251c\u2500\u2500 get_thread.py\n \u251c\u2500\u2500 get_thread_likers.py\n \u251c\u2500\u2500 get_user.py\n \u251c\u2500\u2500 get_user_replies.py\n \u2514\u2500\u2500 get_user_threads.py\n ...\n```\n\n## API\n\n### Disclaimer\n\nTo interact with `Threads API`, there is no need for any authorization, so in the library it is called `public API`.\nOn the other hand, to interact with `Instagram API`, you have to specify `Instagram` username and password (as like\nyou do when you log in to `Threads` mobile application), so in the library it is called `private API`.\n\n* `Public API` has only read-only endpoints. In the same time, `private API` has both read and write endpoints. \n `Public API` much less stable than `private API` (because `private API` is used for `Instagram API` and `Instagram` \n is stable product in general already).\n* `Public API` less risky to get `rate limits` or to have an account in `Threads` and/or `Instagram` be suspended.\n\nSo, it is a trade-off between stability, bugs and `rate limits` and/or `suspension`. But with the library you can\ncombine two approaches: for instance, prefer `public API` for read-only endpoints and `private API` for write-only\nendpoints or even build a retry mechanism (try public one, if failed, try private one).\n\n### Troubleshooting\n\n#### Two-Factor Authentication (2FA)\n\nCurrently, it is not possible to use `private API` with two-factor authentication enabled on the account. If you do not\ndisable it, you might face issues like [#37](https://github.com/dmytrostriletskyi/threads-net/issues/37). So, in order\nto use `private API`, you have to disable it first. By the way, there are plans in the roadmap to manage authentication\nfor such accounts so you don't have to disable it.\n\n### Terminology\n\nThere might be a confusion among many `Threads API` clients as well as in both `Threads` an `Instagram` `APIs` according\nto the naming of entities. For instance, in `Threads` a publication is called a `thread`, but under the hood in the `API`\nof fetching or creating a `thread` it is called a `post`. \n\nIt is done because `Threads` are backed by `Instagram` and `threads` creation is done on `Instagram API` where a \npublication called a post. Library maintainers decided to stick into `Threads` terminology and use the word `thread` for\nthe post-related things.\n\n### Initialization\n\nImport the class responsible for `Threads API` communication and initialize the object.\n\nIf you are going to use only `public API`, use the following commands:\n\n```python3\n>>> from threads import Threads\n>>> threads = Threads()\n```\n\nIf you are going to use only `private API` or both `private` and `public` `APIs`, use the following commands:\n\n```python3\n>>> from threads import Threads\n>>> threads = Threads(username='instagram_username', password='instagram_password')\n```\n\n### Settings\n\nCurrently, to perform `private API` requests, there is a need to specify a mobile device metadata, timezone offset and\nan authorization token. The device metadata and timezone offset are randomly generated once you initialize `Threads`, \nin order the authorization token is requested from `Instagram API` and saved for further usage.\n\nIf you initialize `Threads` frequently with different data, `Instagram API` might threat it as a non-human and machine\nbehavior and mark your `IP` as suspicious and even suspend your account `Threads` and/or `Instagram` account. Also,\nthe authorization token has long live period and once the authorization token is fetched, it can be reused at least for \nnext 24 hours (maybe more, but at least) and there is no need to fetch it at each initialization over and over again.\n\nFor this, there are settings. Those are either a `JSON` file or a dictionary you can provide to reuse device metadata, \ntimezone offset and the authorization token instead of generating random data each initialization.\n\nTo provide settings as a dictionary, use the following commands:\n\n```python\n>>> settings = {\n 'authentication': {\n 'token': 'eyJkc191c2VyX2lkIjYnNjA0MzgxNTQ1N1NjYiLCJzZXNzaW9uaWQiOi1FxSUQ1TXcifQ==',\n },\n 'timezone': {\n 'offset': -14400,\n },\n 'device': {\n 'id': 'android-cb0d81d0e326cb42',\n 'manufacturer': 'OnePlus',\n 'model': 'ONEPLUS+A3010',\n 'android_version': 25,\n 'android_release': '7.1.1',\n }\n }\n>>> threads = Threads(settings=settings, username=INSTAGRAM_USERNAME, password=INSTAGRAM_PASSWORD)\n```\n\nTo provide settings as a path to a `JSON` file, use the following commands:\n\n```python\n>>> threads = Threads(\n settings='/Users/dmytrostriletskyi/projects/threads/settings.json',\n username='instagram_username',\n password='instagram_password',\n )\n```\n\nThe `JSON` file content looks like:\n\n```bash\n$ cat settings.json\n{\n \"authentication\": {\n \"token\": \"eyJkc191c2VyX2lkIjYnNjA0MzgxNTQ1N1NjYiLCJzZXNzaW9uaWQiOi1FxSUQ1TXcifQ==\"\n },\n \"timezone\": {\n \"offset\": -14400\n },\n \"device\": {\n \"id\": \"android-2d53671ef3d1ac79\",\n \"manufacturer\": \"OnePlus\",\n \"model\": \"ONEPLUS+A3010\",\n \"android_version\": 25,\n \"android_release\": \"7.1.1\"\n }\n}\n```\n\nInstead of manually create a `JSON` file, you can ask `Threads` to generate it, specifying a path to where to save it, \nwith the following command:\n\n```python\n>>> threads = Threads(username='instagram_username', password='instagram_password')\n>>> threads.download_settings(path='/Users/dmytrostriletskyi/projects/threads/settings.json')\n```\n\n### Pagination\n\nThere are two things that are involved into the pagination for requests that respond with lists of records (e.g. threads, \nreplies, followers, following and so on): `limit` and `max id`. Basically, `limit` is responsible for a number of records\nto request (where `15` is a default number) and `max id` is kinda offset thingy, but a bit tricky.\n\nLet consider the method for getting a list of a user's threads if there are only `10` in total:\n\n```python\n>>> user_threads = threads.private_api.get_user_threads(id=314216)\n>>> user_threads\n{\n \"threads\": [\n {\"id\": 3146710118003098789, ...},\n {\"id\": 3146710118003098788, ...},\n {\"id\": 3146710118003098787, ...},\n {\"id\": 3146710118003098786, ...},\n {\"id\": 3146710118003098785, ...},\n {\"id\": 3146710118003098784, ...},\n {\"id\": 3146710118003098783, ...},\n {\"id\": 3146710118003098782, ...},\n {\"id\": 3146710118003098781, ...},\n {\"id\": 3146710118003098780, ...},\n ],\n \"status\": \"ok\"\n}\n```\n\nIf we want to fetch them iteratively by chunks (for instance, by `2` threads), we just specify a `limit` argument:\n\n```python\n>>> user_threads = threads.private_api.get_user_threads(id=314216, limit=2)\n>>> user_threads\n{\n \"threads\": [\n {\"id\": 3146710118003098789, ...}, # 1st thread from 10.\n {\"id\": 3146710118003098788, ...}, # 2nd thread from 10.\n ],\n \"next_max_id\": \"QVFCWnJRSFdwMW5ITjRhcDlqR2hfY19JM21eQ==\",\n \"status\": \"ok\"\n}\n```\n\nBut it is not enough, because on this stage we do not know how to iterate and fetch the next `2` threads. Here `max id` \nhelps, if you see, there is `next_max_id` in the response. Which is encoded identifier of the `3rd` thread to start \noffsetting (chunking) from:\n\n```python\n>>> user_threads = threads.private_api.get_user_threads(\n id=314216, \n limit=2, \n from_max_id='QVFCWnJRSFdwMW5ITjRhcDlqR2hfY19JM21eQ==',\n )\n>>> user_threads\n{\n \"threads\": [\n {\"id\": 3146710118003098787, ...}, # 3rd thread from 10.\n {\"id\": 3146710118003098786, ...}, # 4th thread from 10.\n ],\n \"next_max_id\": \"ZrWDBSMm9DTU90Yy1mSXQ4WTNWb0V3ZmI4Um5==\",\n \"status\": \"ok\"\n}\n```\n\nSo, basically, you should iterate over all threads until `next_max_id` is presented. The code to fetch all existing \nthreads would look like:\n\n```python\nfrom_max_id = None\n\nwhile True:\n user_threads = threads.private_api.get_user_threads(id=314216, limit=2, from_max_id=from_max_id)\n\n for thread in user_threads.get('threads'):\n items = thread.get('thread_items')\n\n for item in items:\n thread_id = item.get('post').get('pk')\n print(thread_id)\n\n from_max_id = user_threads.get('next_max_id')\n\n if from_max_id is None:\n break\n\n3146710118003098789\n3146710118003098788\n3146710118003098787\n3146710118003098786\n3146710118003098785\n3146710118003098784\n3146710118003098783\n3146710118003098782\n3146710118003098781\n3146710118003098780\n```\n\nUse the pagination if there are a lot of records (e.g. threads, replies, followers, following and so on) to be returned \nas well as if you are somehow limited by computer resources (`RAM`, `bandwidth` and so on).\n\n### Public\n\n#### User\n\n##### Get Identifier\n\n`threads.public_api.get_user_id` \u2014 getting a user's identifier by their username.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|----------------------------------------------------------|\n| `username` | String | Yes | - | A user's username which goes along with `@` like `zuck`. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> user_id = threads.public_api.get_user_id(username='zuck')\n >>> user_id\n 314216\n ```\n</details>\n\n##### Get By Identifier\n\n`threads.public_api.get_user` \u2014 getting a user by their identifier.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|----------------------|\n| `id` | Integer | Yes | `>0` | A user's identifier. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> user = threads.public_api.get_user(id=314216)\n >>> user\n {\n \"data\": {\n \"userData\": {\n \"user\": {\n \"is_private\": false,\n \"profile_pic_url\": \"https://scontent.cdninstagram.com/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=euIj8dtTGIkAX-mW2_l&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfAUZzobOIH6imLnb2Z3iXoWY5H1Fv_kNnyG8T4UGgJegQ&oe=64AED800&_nc_sid=10d13b\",\n \"username\": \"zuck\",\n \"hd_profile_pic_versions\": [\n {\n \"height\": 320,\n \"url\": \"https://scontent.cdninstagram.com/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s320x320&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=euIj8dtTGIkAX-mW2_l&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfD5z6UgnQH54dihPnMrXgH2L-mLCMGlFsIF9Ug7U4RWdA&oe=64AED800&_nc_sid=10d13b\",\n \"width\": 320\n },\n {\n \"height\": 640,\n \"url\": \"https://scontent.cdninstagram.com/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s640x640&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=euIj8dtTGIkAX-mW2_l&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfD4BaVu4cDcX53xPocD-3o_ZbKIESxUZhlU08FBpycCsA&oe=64AED800&_nc_sid=10d13b\",\n \"width\": 640\n }\n ],\n \"is_verified\": true,\n \"biography\": \"\",\n \"biography_with_entities\": null,\n \"follower_count\": 2663947,\n \"profile_context_facepile_users\": null,\n \"bio_links\": [\n {\n \"url\": \"\"\n }\n ],\n \"pk\": \"314216\",\n \"full_name\": \"Mark Zuckerberg\",\n \"id\": null\n }\n }\n },\n \"extensions\": {\n \"is_final\": true\n }\n }\n ```\n</details>\n\n##### Get Threads\n\n`threads.public_api.get_user_threads` \u2014 getting a user's threads by the user's identifier.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|----------------------|\n| `id` | Integer | Yes | `>0` | A user's identifier. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> user_threads = threads.public_api.get_user_threads(id=314216)\n >>> user_threads\n {\n \"instagram\": {\n \"pk\": \"314216\",\n \"username\": \"zuck\",\n \"full_name\": \"Mark Zuckerberg\",\n \"is_private\": false,\n \"profile_pic_url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/352224138_1028122805231303_1175896139426286760_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=hbekpcjRfioAX8iYGJv&edm=AKEQFekBAAAA&ccb=7-5&oh=00_AfDf2r6qwujUc84tkzUlYJMfJt66xoWScQ-nsB5bmtYDnw&oe=64B0066A&_nc_sid=29ddf3\",\n \"profile_pic_url_hd\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/352224138_1028122805231303_1175896139426286760_n.jpg?stp=dst-jpg_s320x320&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=hbekpcjRfioAX8iYGJv&edm=AKEQFekBAAAA&ccb=7-5&oh=00_AfCoPcYmzHdc2evDvduZjZK-IxDS07wGf0x9czecY_TgVQ&oe=64B0066A&_nc_sid=29ddf3\",\n \"is_verified\": true,\n \"media_count\": 283,\n \"follower_count\": 11924434,\n \"following_count\": 523,\n \"biography\": \"\",\n \"external_url\": null,\n \"account_type\": null,\n \"is_business\": false,\n \"public_email\": null,\n \"contact_phone_number\": null,\n \"public_phone_country_code\": null,\n \"public_phone_number\": null,\n \"business_contact_method\": \"UNKNOWN\",\n \"business_category_name\": null,\n \"category_name\": \"Entrepreneur\",\n \"category\": null,\n \"address_street\": null,\n \"city_id\": null,\n \"city_name\": null,\n \"latitude\": null,\n \"longitude\": null,\n \"zip\": null,\n \"instagram_location_id\": null,\n \"interop_messaging_user_fbid\": null\n },\n \"threads\": {\n \"data\": {\n \"userData\": {\n \"user\": {\n \"is_private\": false,\n \"profile_pic_url\": \"https://scontent.cdninstagram.com/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=euIj8dtTGIkAX9JAAZI&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfCdAMkmk0XL_r0GQi2MRD1Aq1kPZKBLfXLby47e_hsZrg&oe=64AED800&_nc_sid=10d13b\",\n \"username\": \"zuck\",\n \"hd_profile_pic_versions\": [\n {\n \"height\": 320,\n \"url\": \"https://scontent.cdninstagram.com/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s320x320&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=euIj8dtTGIkAX9JAAZI&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfDJeE127_ZFA-eD3qRMM0Fh2NM-jRR4tUFsTywCrMctNA&oe=64AED800&_nc_sid=10d13b\",\n \"width\": 320\n },\n {\n \"height\": 640,\n \"url\": \"https://scontent.cdninstagram.com/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s640x640&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=euIj8dtTGIkAX9JAAZI&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfAY-75SdPDasc0ophRu3lgeeHmnb3qPZIE-mCPh8PRRBw&oe=64AED800&_nc_sid=10d13b\",\n \"width\": 640\n }\n ],\n \"is_verified\": true,\n \"biography\": \"\",\n \"biography_with_entities\": null,\n \"follower_count\": 2663588,\n \"profile_context_facepile_users\": null,\n \"bio_links\": [\n {\n \"url\": \"\"\n }\n ],\n \"pk\": \"314216\",\n \"full_name\": \"Mark Zuckerberg\",\n \"id\": null\n }\n }\n },\n \"extensions\": {\n \"is_final\": true\n }\n }\n }\n ```\n</details>\n\n##### Get Replies\n\n`threads.public_api.get_user_replies` \u2014 getting a user's replies by the user's identifier.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|----------------------|\n| `id` | Integer | Yes | `>0` | A user's identifier. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> user_replies = threads.public_api.get_user_replies(id=314216)\n >>> user_replies\n {\n \"data\": {\n \"mediaData\": {\n \"threads\": [\n {\n \"thread_items\": [\n {\n \"post\": {\n \"user\": {\n \"profile_pic_url\": \"https://scontent.cdninstagram.com/v/t51.2885-19/358196917_1319101762021874_6840458701147612733_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=RYUCB0OzBK8AX-fwWgu&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfAyNgzr1QLbjIdorzFD01h-NpApHx7-0XKdGWOKjS4Xlw&oe=64ABF5FF&_nc_sid=10d13b\",\n \"username\": \"intense0ne\",\n \"id\": null,\n \"is_verified\": true,\n \"pk\": \"13455834\"\n },\n \"image_versions2\": {\n \"candidates\": [\n {\n \"height\": 1431,\n \"url\": \"https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=dst-jpg_e35&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfCUsy68lK2H5iyEGnWnPrQMnd18Dpvl0ZOhGh-iWQpxZA&oe=64ACB5E4&_nc_sid=10d13b\",\n \"width\": 1170,\n \"__typename\": \"XDTImageCandidate\"\n },\n {\n \"height\": 881,\n \"url\": \"https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=dst-jpg_e35_p720x720&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfBUyEmnvY6wewYd2xR5RcBUdpwYDQ3-tPOJroowQwDDZA&oe=64ACB5E4&_nc_sid=10d13b\",\n \"width\": 720,\n \"__typename\": \"XDTImageCandidate\"\n },\n {\n \"height\": 783,\n \"url\": \"https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=dst-jpg_e35_p640x640_sh0.08&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfCngfqkXR6lMDsTO_3W3ub2wXo6gy8hs9IflxKgVSZ29Q&oe=64ACB5E4&_nc_sid=10d13b\",\n \"width\": 640,\n \"__typename\": \"XDTImageCandidate\"\n },\n {\n \"height\": 587,\n \"url\": \"https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=dst-jpg_e35_p480x480&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfDEcZTEK5c-C1M5RO0NLJZ1afo7GGqHClM6SFBH6nVJqQ&oe=64ACB5E4&_nc_sid=10d13b\",\n \"width\": 480,\n \"__typename\": \"XDTImageCandidate\"\n },\n {\n \"height\": 391,\n \"url\": \"https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=dst-jpg_e35_p320x320&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfDme7hPMR0v7Uc_Rq5Vl-HA3eUAosNOuznntJ3rwkPVgA&oe=64ACB5E4&_nc_sid=10d13b\",\n \"width\": 320,\n \"__typename\": \"XDTImageCandidate\"\n },\n {\n \"height\": 294,\n \"url\": \"https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=dst-jpg_e35_p240x240&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfDKjwryrv-cxfybvuPaa9TbcBqxozsTeOU6I7fRgDaZVw&oe=64ACB5E4&_nc_sid=10d13b\",\n \"width\": 240,\n \"__typename\": \"XDTImageCandidate\"\n },\n {\n \"height\": 1080,\n \"url\": \"https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=c0.130.1170.1170a_dst-jpg_e35_s1080x1080&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfAfUg9I6LBwwruVJxP0y7tsa1eILSH3lnERy-GhLvY5tQ&oe=64ACB5E4&_nc_sid=10d13b\",\n \"width\": 1080,\n \"__typename\": \"XDTImageCandidate\"\n },\n {\n \"height\": 750,\n \"url\": \"https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=c0.130.1170.1170a_dst-jpg_e35_s750x750_sh0.08&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfC4eDvJfpOFQXP9iDiQccDFa8mH-c-4eHjtoJa1guTIFA&oe=64ACB5E4&_nc_sid=10d13b\",\n \"width\": 750,\n \"__typename\": \"XDTImageCandidate\"\n },\n {\n \"height\": 640,\n \"url\": \"https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=c0.130.1170.1170a_dst-jpg_e35_s640x640_sh0.08&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfCz0RbvKHBOKMTsmaHFJTa2NUymRFh9abONGDVhps-3BQ&oe=64ACB5E4&_nc_sid=10d13b\",\n \"width\": 640,\n \"__typename\": \"XDTImageCandidate\"\n },\n {\n \"height\": 480,\n \"url\": \"https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=c0.130.1170.1170a_dst-jpg_e35_s480x480&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfCp9r6Se5hjBo-rMHJvLhfDFRJkzbOo7QZu-BkiW-kCew&oe=64ACB5E4&_nc_sid=10d13b\",\n \"width\": 480,\n \"__typename\": \"XDTImageCandidate\"\n },\n {\n \"height\": 320,\n \"url\": \"https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=c0.130.1170.1170a_dst-jpg_e35_s320x320&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfCizo3gIxHuMKtgDmK1XNlxXr2NyEwfRbsN8ZLNb6y8GA&oe=64ACB5E4&_nc_sid=10d13b\",\n \"width\": 320,\n \"__typename\": \"XDTImageCandidate\"\n },\n {\n \"height\": 240,\n \"url\": \"https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=c0.130.1170.1170a_dst-jpg_e35_s240x240&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfDvAFSgCbR982_ZAUAFSfdyXLWG_7WbXnv-_UZnorY7EA&oe=64ACB5E4&_nc_sid=10d13b\",\n \"width\": 240,\n \"__typename\": \"XDTImageCandidate\"\n },\n {\n \"height\": 150,\n \"url\": \"https://scontent.cdninstagram.com/v/t51.2885-15/358024814_953839475848219_4275939482568010016_n.jpg?stp=c0.130.1170.1170a_dst-jpg_e35_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=XBVzqlYSSPMAX-rTJuQ&edm=APs17CUBAAAA&ccb=7-5&ig_cache_key=MzE0MTMwNzMyODM1ODU1NjA4OA%3D%3D.2-ccb7-5&oh=00_AfAy_iWsQikPBVk0haExvRIaDHqtPRkh2t-A9DHE4G2HWg&oe=64ACB5E4&_nc_sid=10d13b\",\n \"width\": 150,\n \"__typename\": \"XDTImageCandidate\"\n }\n ]\n },\n \"original_width\": 1170,\n \"original_height\": 1431,\n \"video_versions\": [],\n \"carousel_media\": null,\n \"carousel_media_count\": null,\n \"pk\": \"3141307328358556088\",\n \"has_audio\": null,\n \"text_post_app_info\": {\n \"link_preview_attachment\": null,\n \"share_info\": {\n \"quoted_post\": null,\n \"reposted_post\": null\n },\n \"reply_to_author\": null,\n \"is_post_unavailable\": false\n },\n \"caption\": {\n \"text\": \"Volk or Yair?? #UFC290\\n\\nI got Volk!! \\ud83d\\udc4f\\ud83d\\udc4f\\ud83d\\udc4f\"\n },\n \"taken_at\": 1688693036,\n \"like_count\": 4144,\n \"code\": \"CuYKl8tJKG4\",\n \"media_overlay_info\": null,\n \"id\": \"3141307328358556088_13455834\"\n },\n \"line_type\": \"squiggle\",\n \"view_replies_cta_string\": \"386 replies\",\n \"reply_facepile_users\": [\n {\n \"__typename\": \"XDTUserDict\",\n \"id\": null,\n \"profile_pic_url\": \"https://scontent.cdninstagram.com/v/t51.2885-19/358513246_834402004938078_3745574617102161833_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=106&_nc_ohc=LtUMjbsa1lgAX83w0Sh&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfDGvGlfVhbbAHunncfE-Gzmbf0rshNG8tlfg4eb5V77iQ&oe=64AD69D4&_nc_sid=10d13b\"\n },\n {\n \"__typename\": \"XDTUserDict\",\n \"id\": null,\n \"profile_pic_url\": \"https://scontent.cdninstagram.com/v/t51.2885-19/358028941_1385051345389996_8437393621281150341_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=104&_nc_ohc=XcGqYzbKhDYAX87Clm7&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfCKDgkhOitXrGIkYQs1V607cQ9rw0cSB9KuZoJTyCIPWQ&oe=64ABFFDC&_nc_sid=10d13b\"\n },\n {\n \"__typename\": \"XDTUserDict\",\n \"id\": null,\n \"profile_pic_url\": \"https://scontent.cdninstagram.com/v/t51.2885-19/358164004_986964552348931_381538637050666409_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=ML6ZsvS6xFsAX_GLu5T&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfBjZQ0RElFZ0DQxOpHmDIw-p2WRX9_NvhArpVy8Fqz0lA&oe=64AC0D96&_nc_sid=10d13b\"\n }\n ],\n \"should_show_replies_cta\": true,\n \"__typename\": \"XDTThreadItem\"\n },\n {\n \"post\": {\n \"user\": {\n \"profile_pic_url\": \"https://scontent.cdninstagram.com/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=9PG1NK-L8OkAX_mdst3&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfAo5WPQy4q_RbWq8Hox7lQS09zUmk8PHdJWXYjU8Tu2yw&oe=64ACDDC0&_nc_sid=10d13b\",\n \"username\": \"zuck\",\n \"id\": null,\n \"is_verified\": true,\n \"pk\": \"314216\"\n },\n \"image_versions2\": {\n \"candidates\": []\n },\n \"original_width\": 612,\n \"original_height\": 612,\n \"video_versions\": [],\n \"carousel_media\": null,\n \"carousel_media_count\": null,\n \"pk\": \"3141314003249945904\",\n \"has_audio\": null,\n \"text_post_app_info\": {\n \"link_preview_attachment\": null,\n \"share_info\": {\n \"quoted_post\": null,\n \"reposted_post\": null\n },\n \"reply_to_author\": {\n \"username\": \"intense0ne\",\n \"id\": null\n },\n \"is_post_unavailable\": false\n },\n \"caption\": {\n \"text\": \"Definitely Volk\"\n },\n \"taken_at\": 1688693832,\n \"like_count\": 10843,\n \"code\": \"CuYMHFLrF0w\",\n \"media_overlay_info\": null,\n \"id\": \"3141314003249945904_314216\"\n },\n \"line_type\": \"line\",\n \"view_replies_cta_string\": \"1,114 replies\",\n \"reply_facepile_users\": [\n {\n \"__typename\": \"XDTUserDict\",\n \"id\": null,\n \"profile_pic_url\": \"https://scontent.cdninstagram.com/v/t51.2885-19/357993149_654182843249841_2984126770891448042_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=109&_nc_ohc=-HCIQXYHQlcAX8qkTXo&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfAwsxFT9ZYe71DKt7Wm3tmH4-3SwpA_6ifb74G-bMn8Bg&oe=64AC46A1&_nc_sid=10d13b\"\n },\n {\n \"__typename\": \"XDTUserDict\",\n \"id\": null,\n \"profile_pic_url\": \"https://scontent.cdninstagram.com/v/t51.2885-19/358036814_264065539563777_3872673087942117120_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=109&_nc_ohc=T3x8fyZcDQIAX_FXQ-6&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfDtWBscXjH85fml9eI9IERX2wibGkWU-EQcuSH-b3MvCA&oe=64AD33EE&_nc_sid=10d13b\"\n },\n {\n \"__typename\": \"XDTUserDict\",\n \"id\": null,\n \"profile_pic_url\": \"https://scontent.cdninstagram.com/v/t51.2885-19/358000233_1044681130274316_6742390706661437266_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=100&_nc_ohc=PvpO-62JaD0AX_XMP5_&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfC4ma-opT9ieAnypxLSXNtVUOQkSq5_hbtca5ADqOSHRA&oe=64ACA63A&_nc_sid=10d13b\"\n }\n ],\n \"should_show_replies_cta\": true,\n \"__typename\": \"XDTThreadItem\"\n }\n ],\n \"id\": \"3141314003249945904\"\n },\n ...\n ]\n }\n },\n \"extensions\": {\n \"is_final\": true\n }\n }\n ```\n</details>\n\n#### Thread\n\n##### Get Identifier\n\n`threads.public_api.get_thread_id` \u2014 getting a thread's identifier by its `URL` identifier. `URL` identifier is a last \npart of a thread's website `URL`. If the thread's `URL` is `https://threads.net/t/CuXFPIeLLod`, then it would be `CuXFPIeLLod`.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:------:|:--------:|:------------:|------------------------------|\n| `url_id` | String | Yes | - | A thread's `URL` identifier. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> thread_id = threads.public_api.get_thread_id(url_id='CuXFPIeLLod')\n >>> thread_id\n 3141002295235099165\n ```\n</details>\n\n##### Get By Identifier\n\n`threads.public_api.get_thread` \u2014 getting a thread by its identifier.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|------------------------|\n| `id` | Integer | Yes | `>0` | A thread's identifier. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> thread = threads.public_api.get_thread(id=3141002295235099165)\n >>> thread\n {\n \"data\": {\n \"data\": {\n \"containing_thread\": {\n \"thread_items\": [\n {\n \"post\": {\n \"user\": {\n \"profile_pic_url\": \"https://scontent.cdninstagram.com/v/t51.2885-19/343392897_618515990300243_8088199406170073086_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=1xtR491RY6cAX8Okf3Z&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfDqsZTCRQlz7EaDpgEzBkmXqtqKtTH80Q0r1rIDMJCcpg&oe=64AC2D8D&_nc_sid=10d13b\",\n \"username\": \"mosseri\",\n \"id\": null,\n \"is_verified\": true,\n \"pk\": \"95561\"\n },\n \"image_versions2\": {\n \"candidates\": []\n },\n \"original_width\": 612,\n \"original_height\": 612,\n \"video_versions\": [],\n \"carousel_media\": null,\n \"carousel_media_count\": null,\n \"pk\": \"3141055616164096839\",\n \"has_audio\": null,\n \"text_post_app_info\": {\n \"link_preview_attachment\": null,\n \"share_info\": {\n \"quoted_post\": null,\n \"reposted_post\": null\n },\n \"reply_to_author\": null,\n \"is_post_unavailable\": false,\n \"direct_reply_count\": 2839\n },\n \"caption\": {\n \"text\": \"I've been getting some questions about deleting your account. To clarify, you can deactivate your Threads account, which hides your Threads profile and content, you can set your profile to private, and you can delete individual threads posts \\u2013 all without deleting your Instagram account. Threads is powered by Instagram, so right now it's just one account, but we're looking into a way to delete your Threads account separately.\"\n },\n \"taken_at\": 1688663030,\n \"like_count\": 29984,\n \"code\": \"CuXRXDdNOtH\",\n \"media_overlay_info\": null,\n \"id\": \"3141055616164096839_95561\"\n },\n \"line_type\": \"none\",\n \"view_replies_cta_string\": \"2,839 replies\",\n \"reply_facepile_users\": [],\n \"should_show_replies_cta\": true\n }\n ],\n \"thread_type\": \"thread\",\n \"header\": null,\n \"id\": \"3141055616164096839\"\n },\n \"reply_threads\": [\n {\n \"thread_items\": [\n {\n \"post\": {\n \"user\": {\n \"profile_pic_url\": \"https://scontent.cdninstagram.com/v/t51.2885-19/355424589_948742193018772_4617955233166333765_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=100&_nc_ohc=heQWdfsKG5MAX9mLim0&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfA6TUpLjjegnP6KuducRm8n6uU9iBCXg4O1P33WYSh3mg&oe=64ACDDBA&_nc_sid=10d13b\",\n \"username\": \"jimmywhotalks\",\n \"id\": null,\n \"is_verified\": true,\n \"pk\": \"51094265817\"\n },\n \"image_versions2\": {\n \"candidates\": []\n },\n \"original_width\": 612,\n \"original_height\": 612,\n \"video_versions\": [],\n \"carousel_media\": null,\n \"carousel_media_count\": null,\n \"pk\": \"3141082664316809193\",\n \"has_audio\": null,\n \"text_post_app_info\": {\n \"link_preview_attachment\": null,\n \"share_info\": {\n \"quoted_post\": null,\n \"reposted_post\": null\n },\n \"reply_to_author\": {\n \"username\": \"mosseri\",\n \"id\": null\n },\n \"is_post_unavailable\": false\n },\n \"caption\": {\n \"text\": \"Glad to know, Everyone is worrying for that.\"\n },\n \"taken_at\": 1688666254,\n \"like_count\": 59,\n \"code\": \"CuXXgqAva_p\",\n \"media_overlay_info\": null,\n \"id\": \"3141082664316809193_51094265817\"\n },\n \"line_type\": \"none\",\n \"view_replies_cta_string\": null,\n \"reply_facepile_users\": [],\n \"should_show_replies_cta\": false\n }\n ],\n \"thread_type\": \"thread\",\n \"header\": null,\n \"id\": \"3141082664316809193\"\n },\n ...\n ]\n }\n },\n \"extensions\": {\n \"is_final\": true\n }\n }\n ```\n</details>\n\n##### Get Likers\n\n`threads.public_api.get_thread_likers` \u2014 getting a thread's likers by the thread's identifier.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|------------------------|\n| `id` | Integer | Yes | `>0` | A thread's identifier. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> thread_likers = threads.public_api.get_thread_likers(id=3141002295235099165)\n >>> thread_likers\n {\n \"data\": {\n \"likers\": {\n \"users\": [\n {\n \"pk\": \"32729880576\",\n \"full_name\": \"K \ud83e\udd8bI\ud83e\udd8bK\ud83e\udd8bI\",\n \"profile_pic_url\": \"https://scontent.cdninstagram.com/19/6007.jpg\n \"follower_count\": 51,\n \"is_verified\": false,\n \"username\": \"niyod_couture\",\n \"profile_context_facepile_users\": null,\n \"id\": null\n },\n ...\n ]\n }\n },\n \"extensions\": {\n \"is_final\": true\n }\n }\n ```\n</details>\n\n### Private\n\n#### User\n\n##### Get Identifier\n\n`threads.private_api.get_user_id` \u2014 getting a user's identifier by their username.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|----------------------------------------------------------|\n| `username` | String | Yes | - | A user's username which goes along with `@` like `zuck`. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> user_id = threads.private_api.get_user_id(username='zuck')\n >>> user_id\n 314216\n ```\n</details>\n\n##### Get By Identifier\n\n`threads.private_api.get_user` \u2014 getting a user by their identifier.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|----------------------|\n| `id` | Integer | Yes | `>0` | A user's identifier. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> user = threads.private_api.get_user(id=314216)\n >>> user\n {\n \"user\": {\n \"has_anonymous_profile_picture\": false,\n \"is_supervision_features_enabled\": false,\n \"follower_count\": 2782815,\n \"media_count\": 283,\n \"following_count\": 313,\n \"following_tag_count\": 3,\n \"can_use_affiliate_partnership_messaging_as_creator\": false,\n \"can_use_affiliate_partnership_messaging_as_brand\": false,\n \"has_collab_collections\": false,\n \"has_private_collections\": true,\n \"has_music_on_profile\": false,\n \"is_potential_business\": false,\n \"can_use_branded_content_discovery_as_creator\": false,\n \"can_use_branded_content_discovery_as_brand\": false,\n \"fan_club_info\": {\n \"fan_club_id\": null,\n \"fan_club_name\": null,\n \"is_fan_club_referral_eligible\": null,\n \"fan_consideration_page_revamp_eligiblity\": null,\n \"is_fan_club_gifting_eligible\": null,\n \"subscriber_count\": null,\n \"connected_member_count\": null,\n \"autosave_to_exclusive_highlight\": null,\n \"has_enough_subscribers_for_ssc\": null\n },\n \"fbid_v2\": \"17841401746480004\",\n \"pronouns\": [],\n \"is_whatsapp_linked\": false,\n \"transparency_product_enabled\": false,\n \"account_category\": \"\",\n \"interop_messaging_user_fbid\": 119171612803872,\n \"bio_links\": [\n {\n \"link_id\": 17979756671109835,\n \"url\": \"\",\n \"lynx_url\": \"\",\n \"link_type\": \"external\",\n \"title\": \"\",\n \"open_external_url_with_in_app_browser\": true\n }\n ],\n \"can_add_fb_group_link_on_profile\": false,\n \"external_url\": \"\",\n \"show_shoppable_feed\": false,\n \"merchant_checkout_style\": \"none\",\n \"seller_shoppable_feed_type\": \"none\",\n \"creator_shopping_info\": {\n \"linked_merchant_accounts\": []\n },\n \"has_guides\": false,\n \"has_highlight_reels\": false,\n \"hd_profile_pic_url_info\": {\n \"url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=euIj8dtTGIkAX_8Gm2Q&edm=AEF8tYYBAAAA&ccb=7-5&oh=00_AfBs65PPEgj6s58aEAVAZWAUJu9JqhMcsWV8VLubRyzQwQ&oe=64B0D240&_nc_sid=1e20d2\",\n \"width\": 805,\n \"height\": 805\n },\n \"hd_profile_pic_versions\": [\n {\n \"width\": 320,\n \"height\": 320,\n \"url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s320x320&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=euIj8dtTGIkAX_8Gm2Q&edm=AEF8tYYBAAAA&ccb=7-5&oh=00_AfB7HZGMI4QLDwO-wKkntDBbGavE_-oKHus264KgonCVqg&oe=64B0D240&_nc_sid=1e20d2\"\n },\n {\n \"width\": 640,\n \"height\": 640,\n \"url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s640x640&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=euIj8dtTGIkAX_8Gm2Q&edm=AEF8tYYBAAAA&ccb=7-5&oh=00_AfBxpkJK3xNM4BLNfbMzrcTyKkza60pitJvggFKtuX4uIA&oe=64B0D240&_nc_sid=1e20d2\"\n }\n ],\n \"is_interest_account\": true,\n \"is_favorite\": false,\n \"is_favorite_for_stories\": false,\n \"is_favorite_for_igtv\": false,\n \"is_favorite_for_clips\": false,\n \"is_favorite_for_highlights\": false,\n \"broadcast_chat_preference_status\": {\n \"json_response\": \"{\\\"status\\\":\\\"ok\\\",\\\"status_code\\\":\\\"200\\\",\\\"is_broadcast_chat_creator\\\":true,\\\"notification_setting_type\\\":2}\"\n },\n \"live_subscription_status\": \"default\",\n \"usertags_count\": 43060,\n \"total_ar_effects\": 1,\n \"total_clips_count\": 1,\n \"has_videos\": true,\n \"total_igtv_videos\": 12,\n \"has_igtv_series\": false,\n \"biography\": \"\",\n \"include_direct_blacklist_status\": true,\n \"biography_with_entities\": {\n \"raw_text\": \"\",\n \"entities\": []\n },\n \"show_fb_link_on_profile\": false,\n \"primary_profile_link_type\": 0,\n \"can_hide_category\": true,\n \"can_hide_public_contacts\": true,\n \"should_show_category\": false,\n \"category_id\": 1617,\n \"is_category_tappable\": false,\n \"should_show_public_contacts\": false,\n \"is_eligible_for_smb_support_flow\": true,\n \"is_eligible_for_lead_center\": false,\n \"is_experienced_advertiser\": false,\n \"lead_details_app_id\": \"com.bloks.www.ig.smb.lead_gen.subpage\",\n \"is_business\": false,\n \"professional_conversion_suggested_account_type\": 3,\n \"account_type\": 3,\n \"direct_messaging\": \"\",\n \"instagram_location_id\": \"\",\n \"address_street\": \"\",\n \"business_contact_method\": \"UNKNOWN\",\n \"city_id\": 0,\n \"city_name\": \"\",\n \"contact_phone_number\": \"\",\n \"is_profile_audio_call_enabled\": false,\n \"latitude\": 0.0,\n \"longitude\": 0.0,\n \"public_email\": \"\",\n \"public_phone_country_code\": \"\",\n \"public_phone_number\": \"\",\n \"zip\": \"\",\n \"mutual_followers_count\": 0,\n \"has_onboarded_to_text_post_app\": true,\n \"show_text_post_app_badge\": true,\n \"text_post_app_joiner_number\": 1,\n \"show_ig_app_switcher_badge\": true,\n \"show_text_post_app_switcher_badge\": true,\n \"profile_context\": \"\",\n \"profile_context_links_with_user_ids\": [],\n \"profile_context_facepile_users\": [],\n \"has_chaining\": true,\n \"pk\": 314216,\n \"pk_id\": \"314216\",\n \"username\": \"zuck\",\n \"full_name\": \"Mark Zuckerberg\",\n \"is_private\": false,\n \"follow_friction_type\": 0,\n \"is_verified\": true,\n \"profile_pic_id\": \"3138909791791822006_314216\",\n \"profile_pic_url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=euIj8dtTGIkAX_8Gm2Q&edm=AEF8tYYBAAAA&ccb=7-5&oh=00_AfD5zX6BkQpgR-H-iTsZ2PlwDEOXnf7PCbohypiV8Aj10g&oe=64B0D240&_nc_sid=1e20d2\",\n \"current_catalog_id\": null,\n \"mini_shop_seller_onboarding_status\": null,\n \"shopping_post_onboard_nux_type\": null,\n \"ads_incentive_expiration_date\": null,\n \"displayed_action_button_partner\": null,\n \"smb_delivery_partner\": null,\n \"smb_support_delivery_partner\": null,\n \"displayed_action_button_type\": \"\",\n \"smb_support_partner\": null,\n \"is_call_to_action_enabled\": false,\n \"num_of_admined_pages\": null,\n \"category\": \"Entrepreneur\",\n \"account_badges\": [],\n \"show_account_transparency_details\": true,\n \"existing_user_age_collection_enabled\": true,\n \"show_post_insights_entry_point\": true,\n \"has_public_tab_threads\": true,\n \"third_party_downloads_enabled\": 1,\n \"is_regulated_c18\": false,\n \"is_in_canada\": false,\n \"profile_type\": 0,\n \"is_profile_broadcast_sharing_enabled\": true,\n \"has_exclusive_feed_content\": false,\n \"has_fan_club_subscriptions\": false,\n \"is_memorialized\": false,\n \"open_external_url_with_in_app_browser\": true,\n \"pinned_channels_info\": {\n \"pinned_channels_list\": [],\n \"has_public_channels\": false\n },\n \"request_contact_enabled\": false,\n \"robi_feedback_source\": null,\n \"chaining_results\": null,\n \"is_bestie\": false,\n \"remove_message_entrypoint\": false,\n \"auto_expand_chaining\": false,\n \"is_new_to_instagram\": false,\n \"highlight_reshare_disabled\": false\n },\n \"status\": \"ok\"\n }\n ```\n</details>\n\n##### Get Threads\n\n`threads.private_api.get_user_thread` \u2014 getting a user's threads by the user's identifier. Supports \n[pagination](#pagination).\n\n| Parameters | Type | Required | Restrictions | Description |\n|:-------------:|:-------:|:--------:|:------------:|----------------------------------------------------------|\n| `id` | Integer | Yes | `>0` | A user's identifier. |\n| `limit` | Integer | No | `>0` | A number of threads to get. Default value is `15`. |\n| `from_max_id` | String | No | - | An encoded thread's identifier to start offsetting from. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> user_threads = threads.private_api.get_user_threads(id=314216)\n >>> user_threads\n {\n \"medias\": [],\n \"threads\": [\n {\n \"thread_items\": [\n {\n \"post\": {\n \"pk\": 3143857175171939857,\n \"id\": \"3143857175171939857_314216\",\n \"taken_at\": 1688997002,\n \"device_timestamp\": 154381465597879,\n \"client_cache_key\": \"MzE0Mzg1NzE3NTE3MTkzOTg1Nw==.2\",\n \"filter_type\": 0,\n \"like_and_view_counts_disabled\": false,\n \"integrity_review_decision\": \"pending\",\n \"text_post_app_info\": {\n \"is_post_unavailable\": false,\n \"is_reply\": false,\n \"reply_to_author\": null,\n \"direct_reply_count\": 24278,\n \"self_thread_count\": 0,\n \"reply_facepile_users\": [],\n \"link_preview_attachment\": null,\n \"can_reply\": true,\n \"reply_control\": \"everyone\",\n \"hush_info\": null,\n \"share_info\": {\n \"can_repost\": true,\n \"is_reposted_by_viewer\": false,\n \"can_quote_post\": true\n }\n },\n \"caption\": {\n \"pk\": \"17971080284299711\",\n \"user_id\": 314216,\n \"text\": \"Threads reached 100 million sign ups over the weekend. That's mostly organic demand and we haven't even turned on many promotions yet. Can't believe it's only been 5 days!\",\n \"type\": 1,\n \"created_at\": 1688997002,\n \"created_at_utc\": 1688997002,\n \"content_type\": \"comment\",\n \"status\": \"Active\",\n \"bit_flags\": 0,\n \"did_report_as_spam\": false,\n \"share_enabled\": false,\n \"user\": {\n \"pk\": 314216,\n \"pk_id\": \"314216\",\n \"username\": \"zuck\",\n \"full_name\": \"Mark Zuckerberg\",\n \"is_private\": false,\n \"is_verified\": true,\n \"profile_pic_id\": \"3138909791791822006_314216\",\n \"profile_pic_url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=XKEMOZTrwUAAX-1hCyT&edm=AKIuHiwBAAAA&ccb=7-5&oh=00_AfCXFLPZTQxrVDWADA_aPG8o4_lRhKbEQsAs6Jh5TF3auQ&oe=64B6C100&_nc_sid=3b7ee3\",\n \"fbid_v2\": \"17841401746480004\",\n \"has_onboarded_to_text_post_app\": true\n },\n \"is_covered\": false,\n \"is_ranked_comment\": false,\n \"media_id\": 3143857175171939857,\n \"private_reply_status\": 0\n },\n \"media_type\": 19,\n \"code\": \"CuhOXGmr74R\",\n \"product_type\": \"text_post\",\n \"organic_tracking_token\": \"eyJ2ZXJzaW9uIjo1LCJwYXlsb2FkIjp7ImlzX2FuYWx5dGljc190cmFja2VkIjp0cnVlLCJ1dWlkIjoiYzY0NzE2ZDZmYmJhNDE2MDlhODEwMWU3ZTkzYmM3NWYzMTQzODU3MTc1MTcxOTM5ODU3Iiwic2VydmVyX3Rva2VuIjoiMTY4OTQxOTI0NDgxMHwzMTQzODU3MTc1MTcxOTM5ODU3fDYwNDM4MTU0NTY2fGFiYzJhZWFjNGZkZTBlZTFlN2I4ZTZhNTA4MDcxMzQxNGZjM2U0NTdmN2ZjZmYyZDE4ODlkYmQyODViOTBiZjYifSwic2lnbmF0dXJlIjoiIn0=\",\n \"image_versions2\": {\n \"candidates\": []\n },\n \"original_width\": 612,\n \"original_height\": 612,\n \"video_versions\": [],\n \"like_count\": 127327,\n \"has_liked\": false,\n \"can_viewer_reshare\": true,\n \"top_likers\": [],\n \"user\": {\n \"pk\": 314216,\n \"pk_id\": \"314216\",\n \"username\": \"zuck\",\n \"full_name\": \"Mark Zuckerberg\",\n \"is_private\": false,\n \"is_verified\": true,\n \"profile_pic_id\": \"3138909791791822006_314216\",\n \"profile_pic_url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=XKEMOZTrwUAAX-1hCyT&edm=AKIuHiwBAAAA&ccb=7-5&oh=00_AfCXFLPZTQxrVDWADA_aPG8o4_lRhKbEQsAs6Jh5TF3auQ&oe=64B6C100&_nc_sid=3b7ee3\",\n \"friendship_status\": {\n \"following\": false,\n \"followed_by\": false,\n \"blocking\": false,\n \"muting\": false,\n \"is_private\": false,\n \"incoming_request\": false,\n \"outgoing_request\": false,\n \"text_post_app_pre_following\": false,\n \"is_bestie\": false,\n \"is_restricted\": false,\n \"is_feed_favorite\": false,\n \"is_eligible_to_subscribe\": false\n },\n \"has_anonymous_profile_picture\": false,\n \"has_onboarded_to_text_post_app\": true,\n \"account_badges\": []\n }\n },\n \"line_type\": \"line\",\n \"view_replies_cta_string\": \"24,278 replies\",\n \"should_show_replies_cta\": true,\n \"reply_facepile_users\": [\n {\n \"pk\": 57325599231,\n \"pk_id\": \"57325599231\",\n \"profile_pic_url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/359520387_1561960634615463_4231364575815896983_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=103&_nc_ohc=L0Vg4L6V5_AAX_Hbcgj&edm=AKIuHiwBAAAA&ccb=7-5&oh=00_AfD130-XjZ1RrsD_TVSbyH1SgizO5hGb5W5IJhVTOK3_Gg&oe=64B6B3CC&_nc_sid=3b7ee3\"\n },\n {\n \"pk\": 53041190925,\n \"pk_id\": \"53041190925\",\n \"profile_pic_url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/359187805_177094641886545_7812186447575399344_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=109&_nc_ohc=0CBUtKwuehgAX9EK7C3&edm=AKIuHiwBAAAA&ccb=7-5&oh=00_AfDT8r2ogdVP6qGgBbsjZEoB9tL3V5Zyjwe-rWgUqjRDfw&oe=64B6AA34&_nc_sid=3b7ee3\"\n },\n {\n \"pk\": 60184849158,\n \"pk_id\": \"60184849158\",\n \"profile_pic_url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/358782577_620441826734229_2771436956212880281_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=109&_nc_ohc=UwO4_ipDCRgAX-LM3Qn&edm=AKIuHiwBAAAA&ccb=7-5&oh=00_AfAie1X0UbKUYRbBtRI8fn_8_sbyZAy9sLKQjdTBiWhhNQ&oe=64B6B8B8&_nc_sid=3b7ee3\"\n }\n ],\n \"can_inline_expand_below\": false\n }\n ],\n \"thread_type\": \"thread\",\n \"show_create_reply_cta\": false,\n \"id\": 3143857175171939857,\n ...\n },\n ...\n ],\n \"status\": \"ok\"\n }\n ```\n</details>\n\n##### Get Replies\n\n`threads.private_api.get_user_replies \u2014 getting a user's replies by the user's identifier. Supports \n[pagination](#pagination).\n\n| Parameters | Type | Required | Restrictions | Description |\n|:-------------:|:-------:|:--------:|:------------:|---------------------------------------------------------|\n| `id` | Integer | Yes | `>0` | A user's identifier. |\n| `limit` | Integer | No | `>0` | A number of replies to get. Default value is `15`. |\n| `from_max_id` | String | No | - | An encoded reply's identifier to start offsetting from. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> user_replies = threads.private_api.get_user_replies(id=314216)\n >>> user_replies\n {\n \"medias\": [],\n \"threads\": [\n {\n \"thread_items\": [\n {\n \"post\": {\n \"pk\": 3146315493980433758,\n \"id\": \"3146315493980433758_9155181033\",\n \"taken_at\": 1689290074,\n \"device_timestamp\": 1689290056390615,\n \"client_cache_key\": \"MzE0NjMxNTQ5Mzk4MDQzMzc1OA==.2\",\n \"filter_type\": 0,\n \"like_and_view_counts_disabled\": false,\n \"integrity_review_decision\": \"pending\",\n \"text_post_app_info\": {\n \"is_post_unavailable\": false,\n \"is_reply\": false,\n \"reply_to_author\": null,\n \"direct_reply_count\": 348,\n \"self_thread_count\": 0,\n \"reply_facepile_users\": [],\n \"link_preview_attachment\": null,\n \"can_reply\": true,\n \"reply_control\": \"everyone\",\n \"hush_info\": null,\n \"share_info\": {\n \"can_repost\": true,\n \"is_reposted_by_viewer\": false,\n \"can_quote_post\": true\n }\n },\n \"caption\": {\n \"pk\": \"17869797770898727\",\n \"user_id\": 9155181033,\n \"text\": \"Squad goals \\ud83d\\ude0e\\n\\n(via @stylebender)\",\n \"type\": 1,\n \"created_at\": 1689290074,\n \"created_at_utc\": 1689290074,\n \"content_type\": \"comment\",\n \"status\": \"Active\",\n \"bit_flags\": 0,\n \"did_report_as_spam\": false,\n \"share_enabled\": false,\n \"user\": {\n \"pk\": 9155181033,\n \"pk_id\": \"9155181033\",\n \"username\": \"espnmma\",\n \"full_name\": \"ESPN MMA\",\n \"is_private\": false,\n \"is_verified\": true,\n \"profile_pic_id\": \"3141004987567665802_9155181033\",\n \"profile_pic_url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/358383703_848206763406082_8252942189546556167_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=110&_nc_ohc=WOV8wy4ScRoAX_C1CaW&edm=AClQE0sBAAAA&ccb=7-5&oh=00_AfDDl35PMIh3bUJ2WuzOkIIAgIEZqwFqdSh8tuPDTyfgTg&oe=64B7C4EE&_nc_sid=2bf346\",\n \"fbid_v2\": \"17841409270994397\",\n \"has_onboarded_to_text_post_app\": true\n },\n \"is_covered\": false,\n \"is_ranked_comment\": false,\n \"media_id\": 3146315493980433758,\n \"private_reply_status\": 0\n },\n \"media_type\": 2,\n \"code\": \"Cup9UWaAu1e\",\n \"product_type\": \"feed\",\n \"original_width\": 640,\n \"original_height\": 1136,\n \"is_dash_eligible\": 1,\n \"video_codec\": \"avc1.64001e\",\n \"has_audio\": true,\n \"video_duration\": 18.784,\n \"video_versions\": [\n {\n \"type\": 101,\n \"width\": 720,\n \"height\": 1280,\n \"url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t50.2886-16/360404858_562471725885766_7209197166491385251_n.mp4?efg=eyJ2ZW5jb2RlX3RhZyI6InZ0c192b2RfdXJsZ2VuLjcyMC5mZWVkLmJhc2VsaW5lIn0&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=110&_nc_ohc=m3bTlD7JhCoAX9eODcJ&edm=AClQE0sBAAAA&vs=2611672838971644_3296775565&_nc_vs=HBksFQAYJEdIcFhleFZHNldxbmtQOEJBS085ZUlDZ05neGtia1lMQUFBRhUAAsgBABUAGCRHTm1ZaFJXano5Rk1UM2dBQU0wN3I2d1lrVng2YmtZTEFBQUYVAgLIAQAoABgAGwGIB3VzZV9vaWwBMBUAACa6u7r%2BmOjoPxUCKAJDMywXQDKzMzMzMzMYEmRhc2hfYmFzZWxpbmVfMV92MREAdeoHAA%3D%3D&_nc_rid=e91b3f00fc&ccb=7-5&oh=00_AfB17yCrQdXrNLAZlgUqwZSSjgrwF9H8oNjJF6eVpHx9Ug&oe=64B477DB&_nc_sid=2bf346\",\n \"id\": \"2611672838971644v\"\n },\n {\n \"type\": 102,\n \"width\": 480,\n \"height\": 854,\n \"url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t50.2886-16/361062149_663346358581709_8844241500491019989_n.mp4?efg=eyJ2ZW5jb2RlX3RhZyI6InZ0c192b2RfdXJsZ2VuLjQ4MC5mZWVkLmJhc2VsaW5lIn0&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=105&_nc_ohc=V4Gn1XoC7usAX8ESNnG&edm=AClQE0sBAAAA&vs=1023383492024442_1730708493&_nc_vs=HBksFQAYJEdBVmZoUlhOX1JCY1Qxc0NBTlgyaURESkRyMTZia1lMQUFBRhUAAsgBABUAGCRHTm1ZaFJXano5Rk1UM2dBQU0wN3I2d1lrVng2YmtZTEFBQUYVAgLIAQAoABgAGwGIB3VzZV9vaWwBMBUAACa6u7r%2BmOjoPxUCKAJDMywXQDKzMzMzMzMYEmRhc2hfYmFzZWxpbmVfMl92MREAdeoHAA%3D%3D&_nc_rid=e91b3f00fc&ccb=7-5&oh=00_AfD4G2wv4eJTNJjnGXOF04FdWuUUtelx_tvm5iq5dYx1pw&oe=64B49F3C&_nc_sid=2bf346\",\n \"id\": \"1023383492024442v\"\n },\n {\n \"type\": 103,\n \"width\": 480,\n \"height\": 854,\n \"url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t50.2886-16/361062149_663346358581709_8844241500491019989_n.mp4?efg=eyJ2ZW5jb2RlX3RhZyI6InZ0c192b2RfdXJsZ2VuLjQ4MC5mZWVkLmJhc2VsaW5lIn0&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=105&_nc_ohc=V4Gn1XoC7usAX8ESNnG&edm=AClQE0sBAAAA&vs=1023383492024442_1730708493&_nc_vs=HBksFQAYJEdBVmZoUlhOX1JCY1Qxc0NBTlgyaURESkRyMTZia1lMQUFBRhUAAsgBABUAGCRHTm1ZaFJXano5Rk1UM2dBQU0wN3I2d1lrVng2YmtZTEFBQUYVAgLIAQAoABgAGwGIB3VzZV9vaWwBMBUAACa6u7r%2BmOjoPxUCKAJDMywXQDKzMzMzMzMYEmRhc2hfYmFzZWxpbmVfMl92MREAdeoHAA%3D%3D&_nc_rid=e91b3f00fc&ccb=7-5&oh=00_AfD4G2wv4eJTNJjnGXOF04FdWuUUtelx_tvm5iq5dYx1pw&oe=64B49F3C&_nc_sid=2bf346\",\n \"id\": \"1023383492024442v\"\n }\n ],\n \"like_count\": 9188,\n \"has_liked\": false,\n \"can_viewer_reshare\": true,\n \"top_likers\": [],\n \"user\": {\n \"pk\": 9155181033,\n \"pk_id\": \"9155181033\",\n \"username\": \"espnmma\",\n \"full_name\": \"ESPN MMA\",\n \"is_private\": false,\n \"is_verified\": true,\n \"profile_pic_id\": \"3141004987567665802_9155181033\",\n \"profile_pic_url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/358383703_848206763406082_8252942189546556167_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=110&_nc_ohc=WOV8wy4ScRoAX_C1CaW&edm=AClQE0sBAAAA&ccb=7-5&oh=00_AfDDl35PMIh3bUJ2WuzOkIIAgIEZqwFqdSh8tuPDTyfgTg&oe=64B7C4EE&_nc_sid=2bf346\",\n \"friendship_status\": {\n \"following\": false,\n \"followed_by\": false,\n \"blocking\": false,\n \"muting\": false,\n \"is_private\": false,\n \"incoming_request\": false,\n \"outgoing_request\": false,\n \"text_post_app_pre_following\": false,\n \"is_bestie\": false,\n \"is_restricted\": false,\n \"is_feed_favorite\": false,\n \"is_eligible_to_subscribe\": false\n },\n \"has_anonymous_profile_picture\": false,\n \"has_onboarded_to_text_post_app\": true,\n \"account_badges\": []\n }\n },\n \"line_type\": \"squiggle\",\n \"view_replies_cta_string\": \"348 replies\",\n \"should_show_replies_cta\": true,\n \"reply_facepile_users\": [\n {\n \"pk\": 60781132585,\n \"pk_id\": \"60781132585\",\n \"profile_pic_url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/359641162_959966898669598_6990253892519958381_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=110&_nc_ohc=uLBckw2TPWQAX_yvvWz&edm=AClQE0sBAAAA&ccb=7-5&oh=00_AfDZeeb69FVIALEYjbqFBzIbIXMlhKhyCPMge1K-ni0hZQ&oe=64B7FC4E&_nc_sid=2bf346\"\n },\n {\n \"pk\": 57175390182,\n \"pk_id\": \"57175390182\",\n \"profile_pic_url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/358544206_674380928039672_4729519352683894077_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=108&_nc_ohc=0qWbftDXewwAX8KUtSO&edm=AClQE0sBAAAA&ccb=7-5&oh=00_AfDj4Z6wYUVslOtd4Mp7oRhbxKJZDIsZLxjX861MFn4CfQ&oe=64B74C23&_nc_sid=2bf346\"\n },\n {\n \"pk\": 46363005289,\n \"pk_id\": \"46363005289\",\n \"profile_pic_url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/358356136_267621489287701_6184904086615879877_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=101&_nc_ohc=_kbmWIEqHuYAX9in-BH&edm=AClQE0sBAAAA&ccb=7-5&oh=00_AfBMSnbvraqk2tIrN5MwKAT49ey9QoeppiTEiMzeggaEYw&oe=64B86906&_nc_sid=2bf346\"\n }\n ],\n \"can_inline_expand_below\": false\n },\n ...\n ],\n \"thread_type\": \"thread\",\n \"show_create_reply_cta\": false,\n \"id\": 3146509421211016700\n },\n ],\n \"next_max_id\": \"QVFBZU1fRWxkXzh4UUhGOV84VUZGLS1BdHlVWVVzQmpNbmUzZ0hkRVJURXgyVDBSb2pSdnhacnRGX1JrNUxMRDgxbFZ4ZW5tSUc5TTRraEgwRV91eWR3Nw==\",\n \"status\": \"ok\"\n }\n ```\n</details>\n\n##### Get Followers\n\n`threads.private_api.get_user_followers` \u2014 getting a user's followers by the user's identifier.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|----------------------|\n| `id` | Integer | Yes | `>0` | A user's identifier. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> user_followers = threads.private_api.get_user_followers(id=314216)\n >>> user_followers\n {\n \"users\": [\n {\n \"has_anonymous_profile_picture\": false,\n \"fbid_v2\": \"17841407032091362\",\n \"has_onboarded_to_text_post_app\": true,\n \"text_post_app_joiner_number\": 100165200,\n \"pk\": 6970898403,\n \"pk_id\": \"6970898403\",\n \"username\": \"ali_moslemi_\",\n \"full_name\": \"\",\n \"is_private\": true,\n \"is_verified\": false,\n \"profile_pic_id\": \"3143675402396969798_6970898403\",\n \"profile_pic_url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/358504236_795240265474093_1873793041193487951_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=101&_nc_ohc=NDKSnch-bEoAX9bRFSg&edm=APQMUHMBAAAA&ccb=7-5&oh=00_AfBAOL--evGSmg6slpcKO-Bmo1I8rXokvlMygal0yEep5A&oe=64AFB4B0&_nc_sid=6ff7c8\",\n \"account_badges\": [],\n \"is_possible_scammer\": false,\n \"third_party_downloads_enabled\": 0,\n \"is_possible_bad_actor\": {\n \"is_possible_scammer\": false,\n \"is_possible_impersonator\": {\n \"is_unconnected_impersonator\": false\n }\n },\n \"latest_reel_media\": 0\n },\n ...\n ],\n \"big_list\": false,\n \"page_size\": 200,\n \"has_more\": false,\n \"should_limit_list_of_followers\": false,\n \"status\": \"ok\"\n }\n ```\n</details>\n\n##### Get Following\n\n`threads.private_api.get_user_following` \u2014 getting a user's following by the user's identifier.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|----------------------|\n| `id` | Integer | Yes | `>0` | A user's identifier. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> user_following = threads.private_api.get_user_following(id=314216)\n >>> user_following\n {\n \"users\": [\n {\n \"has_anonymous_profile_picture\": false,\n \"fbid_v2\": \"17841400595560228\",\n \"has_onboarded_to_text_post_app\": true,\n \"text_post_app_joiner_number\": 37063252,\n \"pk\": 14611852,\n \"pk_id\": \"14611852\",\n \"username\": \"mikesego\",\n \"full_name\": \"Mike Sego\",\n \"is_private\": false,\n \"is_verified\": false,\n \"profile_pic_id\": \"3141060757056532902_14611852\",\n \"profile_pic_url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/358004364_2046926358984696_1656910531495082901_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=100&_nc_ohc=6Hb0M2drxbIAX9eVeGw&edm=ALB854YBAAAA&ccb=7-5&oh=00_AfAeVVBHAjmjJtmatY9YTDLovtOXJwzM-netZTUN_ghOLw&oe=64B028E3&_nc_sid=ce9561\",\n \"account_badges\": [],\n \"is_possible_scammer\": false,\n \"third_party_downloads_enabled\": 1,\n \"is_possible_bad_actor\": {\n \"is_possible_scammer\": false,\n \"is_possible_impersonator\": {\n \"is_unconnected_impersonator\": false\n }\n },\n \"latest_reel_media\": 0,\n \"is_favorite\": false\n },\n ...\n ],\n \"big_list\": true,\n \"page_size\": 200,\n \"next_max_id\": \"100\",\n \"has_more\": false,\n \"should_limit_list_of_followers\": false,\n \"status\": \"ok\"\n }\n ```\n</details>\n\n##### Get Friendship Status\n\n`threads.private_api.get_friendship_status` \u2014 get a friendship status with a user.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|--------------------------------------------------------|\n| `id` | Integer | Yes | `>0` | An identifier of a user to get friendship status with. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> friendship_status = threads.private_api.get_friendship_status(id=314216)\n >>> friendship_status\n {\n \"blocking\": false,\n \"followed_by\": false,\n \"following\": false,\n \"incoming_request\": false,\n \"is_bestie\": false,\n \"is_blocking_reel\": false,\n \"is_muting_reel\": false,\n \"is_private\": false,\n \"is_restricted\": false,\n \"muting\": false,\n \"outgoing_request\": false,\n \"text_post_app_pre_following\": false,\n \"is_feed_favorite\": false,\n \"is_eligible_to_subscribe\": false,\n \"is_supervised_by_viewer\": false,\n \"is_guardian_of_viewer\": false,\n \"is_muting_notes\": false,\n \"status\": \"ok\"\n }\n ```\n</details>\n\n##### Search\n\n`threads.private_api.search_user` \u2014 search for a user by a query.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:------:|:--------:|:------------:|-----------------|\n| `query` | String | Yes | - | A search query. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> found_users = threads.private_api.search_user(query='zuck')\n >>> found_users\n {\n \"num_results\": 55,\n \"users\": [\n {\n \"has_anonymous_profile_picture\": false,\n \"follower_count\": 2779681,\n \"media_count\": 283,\n \"following_count\": 313,\n \"following_tag_count\": 3,\n \"fbid_v2\": \"17841401746480004\",\n \"has_onboarded_to_text_post_app\": true,\n \"show_text_post_app_badge\": true,\n \"text_post_app_joiner_number\": 1,\n \"show_ig_app_switcher_badge\": true,\n \"pk\": 314216,\n \"pk_id\": \"314216\",\n \"username\": \"zuck\",\n \"full_name\": \"Mark Zuckerberg\",\n \"is_private\": false,\n \"is_verified\": true,\n \"profile_pic_id\": \"3138909791791822006_314216\",\n \"profile_pic_url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=euIj8dtTGIkAX_8Gm2Q&edm=AM7KJZYBAAAA&ccb=7-5&oh=00_AfBozKxHv4GtcQ5ZwnPSS_eL9ONAYNekI1hhOWPGgNPaxA&oe=64B0D240&_nc_sid=8ec269\",\n \"has_opt_eligible_shop\": false,\n \"account_badges\": [],\n \"third_party_downloads_enabled\": 1,\n \"unseen_count\": 0,\n \"friendship_status\": {\n \"following\": false,\n \"is_private\": false,\n \"incoming_request\": false,\n \"outgoing_request\": false,\n \"text_post_app_pre_following\": false,\n \"is_bestie\": false,\n \"is_restricted\": false,\n \"is_feed_favorite\": false\n },\n \"latest_reel_media\": 0,\n \"should_show_category\": false\n },\n ...\n ],\n \"has_more\": false,\n \"rank_token\": \"21af3266-ddec-4166-b00c-091a580a54a8\",\n \"status\": \"ok\"\n }\n ```\n</details>\n\n##### Follow\n\n`threads.private_api.follow_user` \u2014 follow a user.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|------------------------------------|\n| `id` | Integer | Yes | `>0` | An identifier of a user to follow. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> following = threads.private_api.follow_user(id=314216)\n >>> following\n {\n \"friendship_status\": {\n \"following\": true,\n \"followed_by\": false,\n \"blocking\": false,\n \"muting\": false,\n \"is_private\": false,\n \"incoming_request\": false,\n \"outgoing_request\": false,\n \"text_post_app_pre_following\": false,\n \"is_bestie\": false,\n \"is_restricted\": false,\n \"is_feed_favorite\": false,\n \"is_eligible_to_subscribe\": false\n },\n \"previous_following\": false,\n \"status\": \"ok\"\n }\n ```\n</details>\n\n##### Unfollow\n\n`threads.private_api.unfollow_user` \u2014 unfollow a user.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|--------------------------------------|\n| `id` | Integer | Yes | `>0` | An identifier of a user to unfollow. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> following = threads.private_api.unfollow_user(id=314216)\n >>> following\n {\n \"friendship_status\": {\n \"following\": false,\n \"followed_by\": false,\n \"blocking\": false,\n \"muting\": false,\n \"is_private\": false,\n \"incoming_request\": false,\n \"outgoing_request\": false,\n \"text_post_app_pre_following\": false,\n \"is_bestie\": false,\n \"is_restricted\": false,\n \"is_feed_favorite\": false,\n \"is_eligible_to_subscribe\": false\n },\n \"status\": \"ok\"\n }\n ```\n</details>\n\n##### Mute\n\n`threads.private_api.mute_user` \u2014 mute a user.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|----------------------------------|\n| `id` | Integer | Yes | `>0` | An identifier of a user to mute. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> muting = threads.private_api.mute_user(id=314216)\n >>> muting\n {\n \"friendship_status\": {\n \"muting\": true,\n ...\n },\n \"status\": \"ok\"\n }\n ```\n</details>\n\n##### Unmute\n\n`threads.private_api.unmute_user` \u2014 unmute a user.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|------------------------------------|\n| `id` | Integer | Yes | `>0` | An identifier of a user to unmute. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> unmuting = threads.private_api.unmute_user(id=314216)\n >>> unmuting\n {\n \"friendship_status\": {\n \"muting\": false,\n ...\n },\n \"status\": \"ok\"\n }\n ```\n</details>\n\n##### Restrict\n\n`threads.private_api.restrict_user` \u2014 restrict a user.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|--------------------------------------|\n| `id` | Integer | Yes | `>0` | An identifier of a user to restrict. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> restricting = threads.private_api.restrict_user(id=314216)\n >>> restricting\n {\n \"users\": [\n {\n \"pk\": 314216,\n \"pk_id\": \"314216\",\n \"username\": \"zuck\",\n \"full_name\": \"Mark Zuckerberg\",\n \"is_private\": false,\n \"is_verified\": true,\n \"friendship_status\": {\n \"following\": false,\n \"followed_by\": false,\n \"blocking\": false,\n \"muting\": false,\n \"is_private\": false,\n \"incoming_request\": false,\n \"outgoing_request\": false,\n \"text_post_app_pre_following\": false,\n \"is_bestie\": false,\n \"is_restricted\": true,\n \"is_feed_favorite\": false,\n \"is_eligible_to_subscribe\": false\n },\n \"profile_pic_id\": \"3138909791791822006_314216\",\n \"profile_pic_url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=XKEMOZTrwUAAX-1hCyT&edm=AIbK1RIBAAAA&ccb=7-5&oh=00_AfDM-zL-HYX9qBBi9zM3AaHFAFzGu5ASanTF60ahGOYh7Q&oe=64B4C6C0&_nc_sid=0e3124\",\n \"has_onboarded_to_text_post_app\": true\n }\n ],\n \"status\": \"ok\"\n }\n ```\n</details>\n\n##### Unrestrict\n\n`threads.private_api.unrestrict_user` \u2014 unrestrict a user.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|----------------------------------------|\n| `id` | Integer | Yes | `>0` | An identifier of a user to unrestrict. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> unrestricting = threads.private_api.unrestrict_user(id=314216)\n >>> unrestricting\n {\n \"users\": [\n {\n \"pk\": 314216,\n \"pk_id\": \"314216\",\n \"username\": \"zuck\",\n \"full_name\": \"Mark Zuckerberg\",\n \"is_private\": false,\n \"is_verified\": true,\n \"friendship_status\": {\n \"following\": false,\n \"followed_by\": false,\n \"blocking\": false,\n \"muting\": false,\n \"is_private\": false,\n \"incoming_request\": false,\n \"outgoing_request\": false,\n \"text_post_app_pre_following\": false,\n \"is_bestie\": false,\n \"is_restricted\": false,\n \"is_feed_favorite\": false,\n \"is_eligible_to_subscribe\": false\n },\n \"profile_pic_id\": \"3138909791791822006_314216\",\n \"profile_pic_url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/357376107_1330597350674698_8884059223384672080_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=XKEMOZTrwUAAX-1hCyT&edm=AMkHgcoBAAAA&ccb=7-5&oh=00_AfAMSrQmoJc3wyGdpGegznMp-f00XjYVyHNgr26As8rRHQ&oe=64B4C6C0&_nc_sid=88bf82\",\n \"has_onboarded_to_text_post_app\": true\n }\n ],\n \"status\": \"ok\"\n }\n ```\n</details>\n\n##### Block\n\n`threads.private_api.block_user` \u2014 block a user.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|-----------------------------------|\n| `id` | Integer | Yes | `>0` | An identifier of a user to block. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> blocking = threads.private_api.block_user(id=314216)\n >>> blocking\n {\n \"friendship_status\": {\n \"blocking\": true,\n ...\n },\n \"status\": \"ok\"\n }\n ```\n</details>\n\n##### Unblock\n\n`threads.private_api.unblock_user` \u2014 unblock a user.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|-------------------------------------|\n| `id` | Integer | Yes | `>0` | An identifier of a user to unblock. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> unblocking = threads.private_api.unblock_user(id=314216)\n >>> unblocking\n {\n \"friendship_status\": {\n \"blocking\": false,\n ...\n },\n \"status\": \"ok\"\n}\n ```\n</details>\n\n#### Thread\n\n##### Get Identifier\n\n`threads.private_api.get_thread_id` \u2014 getting a thread's identifier by its `URL` identifier. `URL` identifier is a last \npart of a thread's website `URL`. If the thread's `URL` is `https://threads.net/t/CuXFPIeLLod`, then it would be `CuXFPIeLLod`.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:------:|:--------:|:------------:|------------------------------|\n| `url_id` | String | Yes | - | A thread's `URL` identifier. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> thread_id = threads.private_api.get_thread_id(url_id='CuXFPIeLLod')\n >>> thread_id\n 3141002295235099165\n ```\n</details>\n\n##### Get By Identifier\n\n`threads.private_api.get_thread` \u2014 getting a thread by its identifier.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|------------------------|\n| `id` | Integer | Yes | `>0` | A thread's identifier. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> thread = threads.private_api.get_thread(id=3141002295235099165)\n >>> thread\n {\n \"data\": {\n \"data\": {\n \"containing_thread\": {\n \"thread_items\": [\n {\n \"post\": {\n \"user\": {\n \"profile_pic_url\": \"https://scontent.cdninstagram.com/v/t51.2885-19/343392897_618515990300243_8088199406170073086_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=1&_nc_ohc=1xtR491RY6cAX8Okf3Z&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfDqsZTCRQlz7EaDpgEzBkmXqtqKtTH80Q0r1rIDMJCcpg&oe=64AC2D8D&_nc_sid=10d13b\",\n \"username\": \"mosseri\",\n \"id\": null,\n \"is_verified\": true,\n \"pk\": \"95561\"\n },\n \"image_versions2\": {\n \"candidates\": []\n },\n \"original_width\": 612,\n \"original_height\": 612,\n \"video_versions\": [],\n \"carousel_media\": null,\n \"carousel_media_count\": null,\n \"pk\": \"3141055616164096839\",\n \"has_audio\": null,\n \"text_post_app_info\": {\n \"link_preview_attachment\": null,\n \"share_info\": {\n \"quoted_post\": null,\n \"reposted_post\": null\n },\n \"reply_to_author\": null,\n \"is_post_unavailable\": false,\n \"direct_reply_count\": 2839\n },\n \"caption\": {\n \"text\": \"I've been getting some questions about deleting your account. To clarify, you can deactivate your Threads account, which hides your Threads profile and content, you can set your profile to private, and you can delete individual threads posts \\u2013 all without deleting your Instagram account. Threads is powered by Instagram, so right now it's just one account, but we're looking into a way to delete your Threads account separately.\"\n },\n \"taken_at\": 1688663030,\n \"like_count\": 29984,\n \"code\": \"CuXRXDdNOtH\",\n \"media_overlay_info\": null,\n \"id\": \"3141055616164096839_95561\"\n },\n \"line_type\": \"none\",\n \"view_replies_cta_string\": \"2,839 replies\",\n \"reply_facepile_users\": [],\n \"should_show_replies_cta\": true\n }\n ],\n \"thread_type\": \"thread\",\n \"header\": null,\n \"id\": \"3141055616164096839\"\n },\n \"reply_threads\": [\n {\n \"thread_items\": [\n {\n \"post\": {\n \"user\": {\n \"profile_pic_url\": \"https://scontent.cdninstagram.com/v/t51.2885-19/355424589_948742193018772_4617955233166333765_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent.cdninstagram.com&_nc_cat=100&_nc_ohc=heQWdfsKG5MAX9mLim0&edm=APs17CUBAAAA&ccb=7-5&oh=00_AfA6TUpLjjegnP6KuducRm8n6uU9iBCXg4O1P33WYSh3mg&oe=64ACDDBA&_nc_sid=10d13b\",\n \"username\": \"jimmywhotalks\",\n \"id\": null,\n \"is_verified\": true,\n \"pk\": \"51094265817\"\n },\n \"image_versions2\": {\n \"candidates\": []\n },\n \"original_width\": 612,\n \"original_height\": 612,\n \"video_versions\": [],\n \"carousel_media\": null,\n \"carousel_media_count\": null,\n \"pk\": \"3141082664316809193\",\n \"has_audio\": null,\n \"text_post_app_info\": {\n \"link_preview_attachment\": null,\n \"share_info\": {\n \"quoted_post\": null,\n \"reposted_post\": null\n },\n \"reply_to_author\": {\n \"username\": \"mosseri\",\n \"id\": null\n },\n \"is_post_unavailable\": false\n },\n \"caption\": {\n \"text\": \"Glad to know, Everyone is worrying for that.\"\n },\n \"taken_at\": 1688666254,\n \"like_count\": 59,\n \"code\": \"CuXXgqAva_p\",\n \"media_overlay_info\": null,\n \"id\": \"3141082664316809193_51094265817\"\n },\n \"line_type\": \"none\",\n \"view_replies_cta_string\": null,\n \"reply_facepile_users\": [],\n \"should_show_replies_cta\": false\n }\n ],\n \"thread_type\": \"thread\",\n \"header\": null,\n \"id\": \"3141082664316809193\"\n },\n ...\n ]\n }\n },\n \"extensions\": {\n \"is_final\": true\n }\n }\n ```\n</details>\n\n##### Get Likers\n\n`threads.private_api.get_thread_likers` \u2014 getting a thread's likers by the thread's identifier.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|------------------------|\n| `id` | Integer | Yes | `>0` | A thread's identifier. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> thread_likers = threads.private_api.get_thread_likers(id=3141055616164096839)\n >>> thread_likers\n {\n \"users\": [\n {\n \"pk\": 54831820289,\n \"pk_id\": \"54831820289\",\n \"username\": \"hazrel_syfddn26\",\n \"full_name\": \"HAZLER\",\n \"is_private\": false,\n \"account_badges\": [],\n \"is_verified\": false,\n \"profile_pic_id\": \"3140964514487728732_54831820289\",\n \"profile_pic_url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/358165944_6109031802541294_1514688336008099084_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=110&_nc_ohc=V1UF-ylegwMAX_HbWIV&edm=APwHDrQBAAAA&ccb=7-5&oh=00_AfC4W3z1EZ61XFQk6Im82OpgoEvQp_r-JNPd2NmN9cdhUQ&oe=64B23019&_nc_sid=8809c9\",\n \"has_onboarded_to_text_post_app\": true,\n \"latest_reel_media\": 0\n },\n ...\n ],\n \"user_count\": 38283,\n \"status\": \"ok\"\n }\n ```\n</details>\n\n##### Create\n\n`threads.private_api.create_thread` \u2014 create a thread. You can create a thread with an attachment link or image\n(specifying either `HTTP(S)` `URL` or path to a file). Also, you are able to create a thread as a reply to another\nthread. Basically, each thread is either a root or linked to another thread like a graph. You can check \n`https://www.threads.net/@threadstester1` for all the illustration of possible threads that can be created.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:-----------:|:------:|:--------:|:------------:|-----------------------------------------------|\n| `caption` | String | Yes | - | A thread's caption. |\n| `url` | String | No | - | A thread's attachment `URL`. |\n| `image_url` | String | No | - | An image's `HTTP(S)` `URL` or path to a file. |\n| `reply_to` | String | No | - | An identifier of a thread to reply to. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> created_thread = threads.private_api.create_thread(\n caption='Hello, world!',\n )\n >>> created_thread = threads.private_api.create_thread(\n caption='Hello, world!',\n url='https://www.youtube.com/watch?v=lc4qU6BakvE'\n )\n >>> created_thread = threads.private_api.create_thread(\n caption='Hello, world!',\n image_url='/Users/dmytrostriletskyi/projects/threads/assets/picture.png',\n )\n >>> created_thread = threads.private_api.create_thread(\n caption='Hello, world!',\n image_url='https://raw.githubusercontent.com/dmytrostriletskyi/threads-net/main/assets/picture.png',\n reply_to=3141055616164096839,\n )\n >>> created_thread\n {\n \"media\": {\n \"taken_at\": 1689087793,\n \"pk\": 3144618785809596584,\n \"id\": \"3144618785809596584_32545771157\",\n \"device_timestamp\": 1689087791,\n \"media_type\": 1,\n \"code\": \"Cuj7h_yM4Co\",\n \"client_cache_key\": \"MzE0NDYxODc4NTgwOTU5NjU4NA==.2\",\n \"filter_type\": 0,\n \"can_viewer_reshare\": true,\n \"caption\": {\n \"pk\": \"17986860047032912\",\n \"user_id\": 32545771157,\n \"text\": \"Hello, world!\",\n \"type\": 1,\n \"created_at\": 1689087793,\n \"created_at_utc\": 1689087793,\n \"content_type\": \"comment\",\n \"status\": \"Active\",\n \"bit_flags\": 0,\n \"did_report_as_spam\": false,\n \"share_enabled\": false,\n \"user\": {\n \"has_anonymous_profile_picture\": true,\n \"liked_clips_count\": 0,\n \"fan_club_info\": {\n \"fan_club_id\": null,\n \"fan_club_name\": null,\n \"is_fan_club_referral_eligible\": null,\n \"fan_consideration_page_revamp_eligiblity\": null,\n \"is_fan_club_gifting_eligible\": null,\n \"subscriber_count\": null,\n \"connected_member_count\": null,\n \"autosave_to_exclusive_highlight\": null,\n \"has_enough_subscribers_for_ssc\": null\n },\n \"fbid_v2\": 17841432494728221,\n \"transparency_product_enabled\": false,\n \"text_post_app_take_a_break_setting\": 0,\n \"interop_messaging_user_fbid\": 17842937552083158,\n \"show_insights_terms\": false,\n \"allowed_commenter_type\": \"any\",\n \"is_unpublished\": false,\n \"reel_auto_archive\": \"unset\",\n \"can_boost_post\": false,\n \"can_see_organic_insights\": false,\n \"has_onboarded_to_text_post_app\": true,\n \"text_post_app_joiner_number\": 68427510,\n \"pk\": 32545771157,\n \"pk_id\": \"32545771157\",\n \"username\": \"dmytro.striletskyi\",\n \"full_name\": \"Dmytro Striletskyi\",\n \"is_private\": false,\n \"profile_pic_url\": \"https://scontent-cdg4-1.cdninstagram.com/v/t51.2885-19/44884218_345707102882519_2446069589734326272_n.jpg?_nc_ht=scontent-cdg4-1.cdninstagram.com&_nc_cat=1&_nc_ohc=s7XO4bcYceYAX9jyeT8&edm=AAAAAAABAAAA&ccb=7-5&ig_cache_key=YW5vbnltb3VzX3Byb2ZpbGVfcGlj.2-ccb7-5&oh=00_AfBhetyTgz8h53kRlSorYqET2tbmZOmYt2jiucME8qI7AQ&oe=64B3528F\",\n \"account_badges\": [],\n \"feed_post_reshare_disabled\": false,\n \"show_account_transparency_details\": true,\n \"third_party_downloads_enabled\": 0\n },\n \"is_covered\": false,\n \"is_ranked_comment\": false,\n \"media_id\": 3144618785809596584,\n \"private_reply_status\": 0\n },\n \"clips_tab_pinned_user_ids\": [],\n \"comment_inform_treatment\": {\n \"should_have_inform_treatment\": false,\n \"text\": \"\",\n \"url\": null,\n \"action_type\": null\n },\n \"fundraiser_tag\": {\n \"has_standalone_fundraiser\": false\n },\n \"sharing_friction_info\": {\n \"should_have_sharing_friction\": false,\n \"bloks_app_url\": null,\n \"sharing_friction_payload\": null\n },\n \"xpost_deny_reason\": \"This post cannot be shared to Facebook.\",\n \"caption_is_edited\": false,\n \"original_media_has_visual_reply_media\": false,\n \"like_and_view_counts_disabled\": false,\n \"fb_user_tags\": {\n \"in\": []\n },\n \"mashup_info\": {\n \"mashups_allowed\": true,\n \"can_toggle_mashups_allowed\": true,\n \"has_been_mashed_up\": false,\n \"formatted_mashups_count\": null,\n \"original_media\": null,\n \"privacy_filtered_mashups_media_count\": null,\n \"non_privacy_filtered_mashups_media_count\": null,\n \"mashup_type\": null,\n \"is_creator_requesting_mashup\": false,\n \"has_nonmimicable_additional_audio\": false,\n \"is_pivot_page_available\": false\n },\n \"can_viewer_save\": true,\n \"is_in_profile_grid\": false,\n \"profile_grid_control_enabled\": false,\n \"featured_products\": [],\n \"is_comments_gif_composer_enabled\": true,\n \"product_suggestions\": [],\n \"user\": {\n \"has_anonymous_profile_picture\": true,\n \"liked_clips_count\": 0,\n \"fan_club_info\": {\n \"fan_club_id\": null,\n \"fan_club_name\": null,\n \"is_fan_club_referral_eligible\": null,\n \"fan_consideration_page_revamp_eligiblity\": null,\n \"is_fan_club_gifting_eligible\": null,\n \"subscriber_count\": null,\n \"connected_member_count\": null,\n \"autosave_to_exclusive_highlight\": null,\n \"has_enough_subscribers_for_ssc\": null\n },\n \"fbid_v2\": 17841432494728221,\n \"transparency_product_enabled\": false,\n \"text_post_app_take_a_break_setting\": 0,\n \"interop_messaging_user_fbid\": 17842937552083158,\n \"show_insights_terms\": false,\n \"allowed_commenter_type\": \"any\",\n \"is_unpublished\": false,\n \"reel_auto_archive\": \"unset\",\n \"can_boost_post\": false,\n \"can_see_organic_insights\": false,\n \"has_onboarded_to_text_post_app\": true,\n \"text_post_app_joiner_number\": 68427510,\n \"pk\": 32545771157,\n \"pk_id\": \"32545771157\",\n \"username\": \"dmytro.striletskyi\",\n \"full_name\": \"Dmytro Striletskyi\",\n \"is_private\": false,\n \"profile_pic_url\": \"https://scontent-cdg4-1.cdninstagram.com/v/t51.2885-19/44884218_345707102882519_2446069589734326272_n.jpg?_nc_ht=scontent-cdg4-1.cdninstagram.com&_nc_cat=1&_nc_ohc=s7XO4bcYceYAX9jyeT8&edm=AAAAAAABAAAA&ccb=7-5&ig_cache_key=YW5vbnltb3VzX3Byb2ZpbGVfcGlj.2-ccb7-5&oh=00_AfBhetyTgz8h53kRlSorYqET2tbmZOmYt2jiucME8qI7AQ&oe=64B3528F\",\n \"account_badges\": [],\n \"feed_post_reshare_disabled\": false,\n \"show_account_transparency_details\": true,\n \"third_party_downloads_enabled\": 0\n },\n \"image_versions2\": {\n \"candidates\": [\n {\n \"width\": 980,\n \"height\": 652,\n \"url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=dst-jpg_e35&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfB5avonpo72-x_5Te_cXCKf2aM6jJO9dGmmejvdV821zg&oe=64B3067E&_nc_sid=e50d24\",\n \"scans_profile\": \"e35\"\n },\n {\n \"width\": 720,\n \"height\": 479,\n \"url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=dst-jpg_e35_s720x720&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfBJhcGMT6yd6pECPVoeFAIoTIcgOzTw6zDKxs8ZdZK1CA&oe=64B3067E&_nc_sid=e50d24\",\n \"scans_profile\": \"e35\"\n },\n {\n \"width\": 640,\n \"height\": 426,\n \"url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=dst-jpg_e35_s640x640_sh0.08&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfBPn-IvLSL4PYxQQoFyFyHFuimEtfKoDq7EoCys3xaMWg&oe=64B3067E&_nc_sid=e50d24\",\n \"scans_profile\": \"e35\"\n },\n {\n \"width\": 480,\n \"height\": 319,\n \"url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=dst-jpg_e35_s480x480&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfDiPNhb5u_FX3VKC8KZ1rmN7yvmmTMiunWJBK25yuly4A&oe=64B3067E&_nc_sid=e50d24\",\n \"scans_profile\": \"e35\"\n },\n {\n \"width\": 320,\n \"height\": 213,\n \"url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=dst-jpg_e35_s320x320&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfAy8wZuJneP3N_g6PyDKk-2kiAGLvPO4XPfK1MBwVSSPw&oe=64B3067E&_nc_sid=e50d24\",\n \"scans_profile\": \"e35\"\n },\n {\n \"width\": 240,\n \"height\": 160,\n \"url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=dst-jpg_e35_s240x240&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfDnUnB202rqbhfPupeNKKd-NRM9e4-FvsnnGD2FsEY_bQ&oe=64B3067E&_nc_sid=e50d24\",\n \"scans_profile\": \"e35\"\n },\n {\n \"width\": 1080,\n \"height\": 1080,\n \"url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=c164.0.652.652a_dst-jpg_e35&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfDGwvzJe8hIAfBBrRerzo8PCdQAey0_Q9uJSF5eGz1f-w&oe=64B3067E&_nc_sid=e50d24\",\n \"scans_profile\": \"e35\"\n },\n {\n \"width\": 750,\n \"height\": 750,\n \"url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=c164.0.652.652a_dst-jpg_e35_s750x750_sh0.08&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfD2nnAd_T-Zj3cX0-TUEjajO9jn3EMfKwaUHwLmagBhiA&oe=64B3067E&_nc_sid=e50d24\",\n \"scans_profile\": \"e35\"\n },\n {\n \"width\": 640,\n \"height\": 640,\n \"url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=c164.0.652.652a_dst-jpg_e35_s640x640_sh0.08&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfB0kVjlsVkk26Rqad6KRlMWTOxs88NzLS1iuHpHYLU1tA&oe=64B3067E&_nc_sid=e50d24\",\n \"scans_profile\": \"e35\"\n },\n {\n \"width\": 480,\n \"height\": 480,\n \"url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=c164.0.652.652a_dst-jpg_e35_s480x480&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfCo8QoGPw8tlIavEsSbZkMoZOFdey8XM0--RAIABYqxZQ&oe=64B3067E&_nc_sid=e50d24\",\n \"scans_profile\": \"e35\"\n },\n {\n \"width\": 320,\n \"height\": 320,\n \"url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=c164.0.652.652a_dst-jpg_e35_s320x320&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfAfleZMSb3Ae50Fj1dhDUYc6slUO5zxUKwcKYL0PmHNkA&oe=64B3067E&_nc_sid=e50d24\",\n \"scans_profile\": \"e35\"\n },\n {\n \"width\": 240,\n \"height\": 240,\n \"url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=c164.0.652.652a_dst-jpg_e35_s240x240&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfAR1f9S-NF_DwhyaSq0qzme6k4rDsGb6RfWkgnw07Tt1A&oe=64B3067E&_nc_sid=e50d24\",\n \"scans_profile\": \"e35\"\n },\n {\n \"width\": 150,\n \"height\": 150,\n \"url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-15/359145974_1454822158673126_2191780209015799278_n.jpg?stp=c164.0.652.652a_dst-jpg_e35_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=8vV5VulJfUwAX-jnGZU&edm=AL_hgCEBAAAA&ccb=7-5&ig_cache_key=MzE0NDYxODc4NTgwOTU5NjU4NA%3D%3D.2-ccb7-5&oh=00_AfAYtetjgt4tQah5PnX8LXRlrUGS0A1uH4kkUrUPNwcr_g&oe=64B3067E&_nc_sid=e50d24\",\n \"scans_profile\": \"e35\"\n }\n ]\n },\n \"original_width\": 980,\n \"original_height\": 652,\n \"is_reshare_of_text_post_app_media_in_ig\": false,\n \"comment_threading_enabled\": false,\n \"max_num_visible_preview_comments\": 2,\n \"has_more_comments\": false,\n \"preview_comments\": [],\n \"comment_count\": 0,\n \"can_view_more_preview_comments\": false,\n \"hide_view_all_comment_entrypoint\": false,\n \"likers\": [],\n \"shop_routing_user_id\": null,\n \"can_see_insights_as_brand\": false,\n \"is_organic_product_tagging_eligible\": false,\n \"product_type\": \"feed\",\n \"is_paid_partnership\": false,\n \"music_metadata\": {\n \"music_canonical_id\": \"0\",\n \"audio_type\": null,\n \"music_info\": null,\n \"original_sound_info\": null,\n \"pinned_media_ids\": null\n },\n \"deleted_reason\": 0,\n \"organic_tracking_token\": \"eyJ2ZXJzaW9uIjo1LCJwYXlsb2FkIjp7ImlzX2FuYWx5dGljc190cmFja2VkIjpmYWxzZSwidXVpZCI6IjQxNjBkY2E0ODY1YzQyODY5NThhOWE3M2I2N2UyZWI0MzE0NDYxODc4NTgwOTU5NjU4NCIsInNlcnZlcl90b2tlbiI6IjE2ODkwODc3OTYwOTZ8MzE0NDYxODc4NTgwOTU5NjU4NHwzMjU0NTc3MTE1N3xiY2RkZjliZGNlZjFiMzNlZDIzZTJiZDg4M2E0MjAzZmNlMjQ1ZjI2MjdmYWZiNDgwNTlhNjBiMzgwYjM1MjA3In0sInNpZ25hdHVyZSI6IiJ9\",\n \"text_post_app_info\": {\n \"is_post_unavailable\": false,\n \"is_reply\": true,\n \"reply_to_author\": {\n \"pk\": 95561,\n \"pk_id\": \"95561\",\n \"username\": \"mosseri\",\n \"full_name\": \"Adam Mosseri\",\n \"is_private\": false,\n \"is_verified\": true,\n \"profile_pic_id\": \"3090458139926225297_95561\",\n \"profile_pic_url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/343392897_618515990300243_8088199406170073086_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=H93HRKonYSQAX9OmlMQ&edm=AL_hgCEBAAAA&ccb=7-5&oh=00_AfC8sdQl6N1YwEs5Xva8HSfc98_zv7l4beWBQVuVBkHxJA&oe=64B21C4D&_nc_sid=e50d24\",\n \"has_onboarded_to_text_post_app\": true\n },\n \"direct_reply_count\": 0,\n \"self_thread_count\": 0,\n \"reply_facepile_users\": [],\n \"link_preview_attachment\": null,\n \"can_reply\": true,\n \"reply_control\": \"everyone\",\n \"hush_info\": null,\n \"share_info\": {\n \"can_repost\": true,\n \"is_reposted_by_viewer\": false,\n \"can_quote_post\": true\n }\n },\n \"integrity_review_decision\": \"pending\",\n \"ig_media_sharing_disabled\": false,\n \"has_shared_to_fb\": 0,\n \"is_unified_video\": false,\n \"should_request_ads\": false,\n \"is_visual_reply_commenter_notice_enabled\": true,\n \"commerciality_status\": \"not_commercial\",\n \"explore_hide_comments\": false,\n \"has_delayed_metadata\": false\n },\n \"upload_id\": \"1689087791\",\n \"status\": \"ok\"\n }\n ```\n</details>\n\n<details>\n <summary>Open UI example</summary>\n\n \n \n \n</details>\n\n##### Delete\n\n`threads.private_api.delete_thread` \u2014 delete a thread.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|--------------------------------------|\n| `id` | Integer | Yes | `>0` | An identifier of a thread to delete. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> deletion = threads.private_api.delete_thread(id=3141055616164096839)\n >>> deletion\n {\n \"did_delete\": true,\n \"cxp_deep_deletion_global_response\": {},\n \"status\": \"ok\"\n }\n ```\n</details>\n\n##### Like\n\n`threads.private_api.like_thread` \u2014 like a thread.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|------------------------------------|\n| `id` | Integer | Yes | `>0` | An identifier of a thread to like. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> liking = threads.private_api.like_thread(id=3141055616164096839)\n >>> liking\n {\n \"status\": \"ok\"\n }\n ```\n</details>\n\n##### Unlike\n\n`threads.private_api.unlike_thread` \u2014 unlike a thread.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|--------------------------------------|\n| `id` | Integer | Yes | `>0` | An identifier of a thread to unlike. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> unliking = threads.private_api.unlike_thread(id=3141055616164096839)\n >>> unliking\n {\n \"status\": \"ok\"\n }\n ```\n</details>\n\n##### Repost\n\n`threads.private_api.repost_thread` \u2014 repost a thread.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|--------------------------------------|\n| `id` | Integer | Yes | `>0` | An identifier of a thread to repost. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> reposting = threads.private_api.repost_thread(id=3141055616164096839)\n >>> reposting\n {\n \"repost_id\": 3145900181542784653,\n \"repost_fbid\": 18008518438811136,\n \"reposted_at\": 1689240547,\n \"status\": \"ok\"\n }\n ```\n</details>\n\n<details>\n <summary>Open UI example</summary>\n\n \n</details>\n\n##### Unrepost\n\n`threads.private_api.unrepost_thread` \u2014 undo a thread's repost. An identifier of a thread to unrepost is basically the\nidentifier of the thread from `repost` method.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|----------------------------------------|\n| `id` | Integer | Yes | `>0` | An identifier of a thread to unrepost. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> unreposting = threads.private_api.unrepost_thread(id=3141055616164096839)\n >>> unreposting\n {\n \"status\": \"ok\"\n }\n ```\n</details>\n\n##### Quote\n\n`threads.private_api.quote_thread` \u2014 quote a thread.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|-------------------------------------|\n| `id` | Integer | Yes | `>0` | An identifier of a thread to quote. |\n| `caption` | String | Yes | - | A quote's caption. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> quoting = threads.private_api.quote_thread(id=3141055616164096839, caption='Hello, world!')\n >>> quoting\n {\n \"media\": {\n \"taken_at\": 1689241970,\n \"pk\": 3145912119832282782,\n \"id\": \"3145912119832282782_60438154566\",\n \"device_timestamp\": 1689241970,\n \"media_type\": 19,\n \"code\": \"Cuohme9Mwae\",\n \"client_cache_key\": \"MzE0NTkxMjExOTgzMjI4Mjc4Mg==.2\",\n \"filter_type\": 0,\n \"can_viewer_reshare\": true,\n \"caption\": {\n \"pk\": \"18086087680362532\",\n \"user_id\": 60438154566,\n \"text\": \"Hello, world!\",\n \"type\": 1,\n \"created_at\": 1689241971,\n \"created_at_utc\": 1689241971,\n \"content_type\": \"comment\",\n \"status\": \"Active\",\n \"bit_flags\": 0,\n \"did_report_as_spam\": false,\n \"share_enabled\": false,\n \"user\": {\n \"has_anonymous_profile_picture\": true,\n \"all_media_count\": 33,\n \"liked_clips_count\": 0,\n \"fan_club_info\": {\n \"fan_club_id\": null,\n \"fan_club_name\": null,\n \"is_fan_club_referral_eligible\": null,\n \"fan_consideration_page_revamp_eligiblity\": null,\n \"is_fan_club_gifting_eligible\": null,\n \"subscriber_count\": null,\n \"connected_member_count\": null,\n \"autosave_to_exclusive_highlight\": null,\n \"has_enough_subscribers_for_ssc\": null\n },\n \"fbid_v2\": 17841460317004769,\n \"transparency_product_enabled\": false,\n \"text_post_app_take_a_break_setting\": 0,\n \"interop_messaging_user_fbid\": 17848558452010567,\n \"show_insights_terms\": false,\n \"allowed_commenter_type\": \"any\",\n \"is_unpublished\": false,\n \"reel_auto_archive\": \"unset\",\n \"can_boost_post\": false,\n \"can_see_organic_insights\": false,\n \"has_onboarded_to_text_post_app\": true,\n \"text_post_app_joiner_number\": 95787975,\n \"pk\": 60438154566,\n \"pk_id\": \"60438154566\",\n \"username\": \"threadstester1\",\n \"full_name\": \"threads tester\",\n \"is_private\": false,\n \"profile_pic_url\": \"https://scontent-lhr8-1.cdninstagram.com/v/t51.2885-19/44884218_345707102882519_2446069589734326272_n.jpg?_nc_ht=scontent-lhr8-1.cdninstagram.com&_nc_cat=1&_nc_ohc=d9GMadcVaNMAX8OxeS1&edm=AAAAAAABAAAA&ccb=7-5&ig_cache_key=YW5vbnltb3VzX3Byb2ZpbGVfcGlj.2-ccb7-5&oh=00_AfCgI100IU2KFElc0Xo-ngiCYBS2chBfBxpchDkHna42Lw&oe=64B54CCF\",\n \"account_badges\": [],\n \"feed_post_reshare_disabled\": false,\n \"show_account_transparency_details\": true,\n \"third_party_downloads_enabled\": 0\n },\n \"is_covered\": false,\n \"is_ranked_comment\": false,\n \"media_id\": 3145912119832282782,\n \"private_reply_status\": 0\n },\n \"clips_tab_pinned_user_ids\": [],\n \"comment_inform_treatment\": {\n \"should_have_inform_treatment\": false,\n \"text\": \"\",\n \"url\": null,\n \"action_type\": null\n },\n \"fundraiser_tag\": {\n \"has_standalone_fundraiser\": false\n },\n \"sharing_friction_info\": {\n \"should_have_sharing_friction\": false,\n \"bloks_app_url\": null,\n \"sharing_friction_payload\": null\n },\n \"xpost_deny_reason\": \"This post cannot be shared to Facebook.\",\n \"caption_is_edited\": false,\n \"original_media_has_visual_reply_media\": false,\n \"like_and_view_counts_disabled\": false,\n \"fb_user_tags\": {\n \"in\": []\n },\n \"can_viewer_save\": true,\n \"is_in_profile_grid\": false,\n \"profile_grid_control_enabled\": false,\n \"featured_products\": [],\n \"is_comments_gif_composer_enabled\": true,\n \"product_suggestions\": [],\n \"user\": {\n \"has_anonymous_profile_picture\": true,\n \"all_media_count\": 33,\n \"liked_clips_count\": 0,\n \"fan_club_info\": {\n \"fan_club_id\": null,\n \"fan_club_name\": null,\n \"is_fan_club_referral_eligible\": null,\n \"fan_consideration_page_revamp_eligiblity\": null,\n \"is_fan_club_gifting_eligible\": null,\n \"subscriber_count\": null,\n \"connected_member_count\": null,\n \"autosave_to_exclusive_highlight\": null,\n \"has_enough_subscribers_for_ssc\": null\n },\n \"fbid_v2\": 17841460317004769,\n \"transparency_product_enabled\": false,\n \"text_post_app_take_a_break_setting\": 0,\n \"interop_messaging_user_fbid\": 17848558452010567,\n \"show_insights_terms\": false,\n \"allowed_commenter_type\": \"any\",\n \"is_unpublished\": false,\n \"reel_auto_archive\": \"unset\",\n \"can_boost_post\": false,\n \"can_see_organic_insights\": false,\n \"has_onboarded_to_text_post_app\": true,\n \"text_post_app_joiner_number\": 95787975,\n \"pk\": 60438154566,\n \"pk_id\": \"60438154566\",\n \"username\": \"threadstester1\",\n \"full_name\": \"threads tester\",\n \"is_private\": false,\n \"profile_pic_url\": \"https://scontent-lhr8-1.cdninstagram.com/v/t51.2885-19/44884218_345707102882519_2446069589734326272_n.jpg?_nc_ht=scontent-lhr8-1.cdninstagram.com&_nc_cat=1&_nc_ohc=d9GMadcVaNMAX8OxeS1&edm=AAAAAAABAAAA&ccb=7-5&ig_cache_key=YW5vbnltb3VzX3Byb2ZpbGVfcGlj.2-ccb7-5&oh=00_AfCgI100IU2KFElc0Xo-ngiCYBS2chBfBxpchDkHna42Lw&oe=64B54CCF\",\n \"account_badges\": [],\n \"feed_post_reshare_disabled\": false,\n \"show_account_transparency_details\": true,\n \"third_party_downloads_enabled\": 0\n },\n \"image_versions2\": {\n \"candidates\": []\n },\n \"original_width\": 612,\n \"original_height\": 612,\n \"is_reshare_of_text_post_app_media_in_ig\": false,\n \"comment_threading_enabled\": false,\n \"max_num_visible_preview_comments\": 2,\n \"has_more_comments\": false,\n \"preview_comments\": [],\n \"comment_count\": 0,\n \"can_view_more_preview_comments\": false,\n \"hide_view_all_comment_entrypoint\": false,\n \"likers\": [],\n \"shop_routing_user_id\": null,\n \"can_see_insights_as_brand\": false,\n \"is_organic_product_tagging_eligible\": false,\n \"product_type\": \"text_post\",\n \"is_paid_partnership\": false,\n \"music_metadata\": null,\n \"deleted_reason\": 0,\n \"organic_tracking_token\": \"eyJ2ZXJzaW9uIjo1LCJwYXlsb2FkIjp7ImlzX2FuYWx5dGljc190cmFja2VkIjpmYWxzZSwidXVpZCI6ImY4MWVhNDFlYmY2NjRmNWNiOGUxMDM1ZWVlOTBmMjY3MzE0NTkxMjExOTgzMjI4Mjc4MiIsInNlcnZlcl90b2tlbiI6IjE2ODkyNDE5NzI5Nzd8MzE0NTkxMjExOTgzMjI4Mjc4Mnw2MDQzODE1NDU2Nnw2NzczNzc1YjJmODljNDhiNGI4ZTBlYTlmODYxYzA5NWRiMTc2ODYwOWRmYWIzMmI1OGUyYmY4OWM5MmFkZTlmIn0sInNpZ25hdHVyZSI6IiJ9\",\n \"text_post_app_info\": {\n \"is_post_unavailable\": false,\n \"is_reply\": false,\n \"reply_to_author\": null,\n \"direct_reply_count\": 0,\n \"self_thread_count\": 0,\n \"reply_facepile_users\": [],\n \"link_preview_attachment\": null,\n \"can_reply\": true,\n \"reply_control\": \"everyone\",\n \"hush_info\": null,\n \"share_info\": {\n \"can_repost\": true,\n \"is_reposted_by_viewer\": false,\n \"can_quote_post\": true,\n \"quoted_post\": {\n \"pk\": 3141055616164096839,\n \"id\": \"3141055616164096839_95561\",\n \"text_post_app_info\": {\n \"is_post_unavailable\": false,\n \"is_reply\": false,\n \"reply_to_author\": null,\n \"direct_reply_count\": 3513,\n \"self_thread_count\": 0,\n \"reply_facepile_users\": [],\n \"link_preview_attachment\": null,\n \"can_reply\": true,\n \"reply_control\": \"everyone\",\n \"hush_info\": null,\n \"share_info\": {\n \"can_repost\": true,\n \"is_reposted_by_viewer\": false,\n \"can_quote_post\": true\n }\n },\n \"caption\": {\n \"pk\": \"17990855999107063\",\n \"user_id\": 95561,\n \"text\": \"I've been getting some questions about deleting your account. To clarify, you can deactivate your Threads account, which hides your Threads profile and content, you can set your profile to private, and you can delete individual threads posts \\u2013 all without deleting your Instagram account. Threads is powered by Instagram, so right now it's just one account, but we're looking into a way to delete your Threads account separately.\",\n \"type\": 1,\n \"created_at\": 1688663030,\n \"created_at_utc\": 1688663030,\n \"content_type\": \"comment\",\n \"status\": \"Active\",\n \"bit_flags\": 0,\n \"did_report_as_spam\": false,\n \"share_enabled\": false,\n \"user\": {\n \"pk\": 95561,\n \"pk_id\": \"95561\",\n \"username\": \"mosseri\",\n \"full_name\": \"Adam Mosseri\",\n \"is_private\": false,\n \"is_verified\": true,\n \"profile_pic_id\": \"3090458139926225297_95561\",\n \"profile_pic_url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/343392897_618515990300243_8088199406170073086_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=HX3vm4L7D44AX_09srG&edm=AMl8KrABAAAA&ccb=7-5&oh=00_AfBQ5qRqYCwxeopGHTpXx0LsYGnxpWEapsnHJpdkFruvEA&oe=64B4168D&_nc_sid=cd9b4f\",\n \"fbid_v2\": \"17841400946830001\",\n \"has_onboarded_to_text_post_app\": true\n },\n \"is_covered\": false,\n \"is_ranked_comment\": false,\n \"media_id\": 3141055616164096839,\n \"private_reply_status\": 0\n },\n \"taken_at\": 1688663030,\n \"device_timestamp\": 28775508833101,\n \"media_type\": 19,\n \"code\": \"CuXRXDdNOtH\",\n \"client_cache_key\": \"MzE0MTA1NTYxNjE2NDA5NjgzOQ==.2\",\n \"filter_type\": 0,\n \"product_type\": \"text_post\",\n \"organic_tracking_token\": \"eyJ2ZXJzaW9uIjo1LCJwYXlsb2FkIjp7ImlzX2FuYWx5dGljc190cmFja2VkIjp0cnVlLCJ1dWlkIjoiZjgxZWE0MWViZjY2NGY1Y2I4ZTEwMzVlZWU5MGYyNjczMTQxMDU1NjE2MTY0MDk2ODM5Iiwic2VydmVyX3Rva2VuIjoiMTY4OTI0MTk3MjYzNHwzMTQxMDU1NjE2MTY0MDk2ODM5fDYwNDM4MTU0NTY2fDUxZTliM2JkZjQ3ZDdkMDAyZTZlOGJmZjA0NDY2YjM3NWM4ZjQ1Yzc4YzYzMmNlYThlYmYwNDcyNDlkMDI1NzUifSwic2lnbmF0dXJlIjoiIn0=\",\n \"image_versions2\": {\n \"candidates\": []\n },\n \"original_width\": 612,\n \"original_height\": 612,\n \"video_versions\": [],\n \"like_count\": 38544,\n \"has_liked\": false,\n \"like_and_view_counts_disabled\": false,\n \"can_viewer_reshare\": true,\n \"integrity_review_decision\": \"pending\",\n \"top_likers\": [],\n \"user\": {\n \"pk\": 95561,\n \"pk_id\": \"95561\",\n \"username\": \"mosseri\",\n \"full_name\": \"Adam Mosseri\",\n \"is_private\": false,\n \"is_verified\": true,\n \"profile_pic_id\": \"3090458139926225297_95561\",\n \"profile_pic_url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/343392897_618515990300243_8088199406170073086_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=HX3vm4L7D44AX_09srG&edm=AMl8KrABAAAA&ccb=7-5&oh=00_AfBQ5qRqYCwxeopGHTpXx0LsYGnxpWEapsnHJpdkFruvEA&oe=64B4168D&_nc_sid=cd9b4f\",\n \"friendship_status\": {\n \"following\": false,\n \"followed_by\": false,\n \"blocking\": false,\n \"muting\": false,\n \"is_private\": false,\n \"incoming_request\": false,\n \"outgoing_request\": false,\n \"text_post_app_pre_following\": false,\n \"is_bestie\": false,\n \"is_restricted\": false,\n \"is_feed_favorite\": false,\n \"is_eligible_to_subscribe\": false\n },\n \"has_anonymous_profile_picture\": false,\n \"has_onboarded_to_text_post_app\": true,\n \"account_badges\": []\n }\n }\n }\n },\n \"integrity_review_decision\": \"pending\",\n \"ig_media_sharing_disabled\": false,\n \"has_shared_to_fb\": 0,\n \"is_unified_video\": false,\n \"should_request_ads\": false,\n \"is_visual_reply_commenter_notice_enabled\": true,\n \"commerciality_status\": \"not_commercial\",\n \"explore_hide_comments\": false,\n \"has_delayed_metadata\": false\n },\n \"upload_id\": \"1689241970\",\n \"status\": \"ok\"\n }\n ```\n</details>\n\n<details>\n <summary>Open UI example</summary>\n\n \n</details>\n\n#### Feed\n\n##### Get recommended users\n\n`threads.private_api.get_recommended_users` \u2014 get recommended users. Supports [pagination](#pagination), but has \ndifferent response keys: `paging_token` instead of `next_max_id` as an `offset` and `has_more` as a value to detect\nwhether to stop iterations or not.\n\n| Parameters | Type | Required | Restrictions | Description |\n|:----------:|:-------:|:--------:|:------------:|--------------------------------------------------------------|\n| `limit` | Integer | No | `>0` | A number of recommended users to get. Default value is `15`. |\n| `offset` | Integer | No | - | A number of recommended users skip before fetching. |\n\n<details>\n <summary>Open code example</summary>\n \n ```python3\n >>> recommended_users = threads.private_api.get_recommended_users()\n >>> recommended_users\n {\n \"users\": [\n {\n \"pk\": 285464169,\n \"pk_id\": \"285464169\",\n \"username\": \"sashachistova\",\n \"full_name\": \"Sasha Chistova\",\n \"account_badges\": [],\n \"profile_pic_url\": \"https://instagram.fiev6-1.fna.fbcdn.net/v/t51.2885-19/358049976_793858308785598_4202050856705005217_n.jpg?stp=dst-jpg_s150x150&_nc_ht=instagram.fiev6-1.fna.fbcdn.net&_nc_cat=106&_nc_ohc=sieozLj6SiAAX-AN0KH&edm=AHWpSgsBAAAA&ccb=7-5&oh=00_AfCMzBux6Y1Hzi0ZmBkD26hzer4ETDiRY8v6mfeGEbR6lw&oe=64B8BE6D&_nc_sid=ae9eda\",\n \"has_anonymous_profile_picture\": false,\n \"has_onboarded_to_text_post_app\": true,\n \"is_verified\": true,\n \"friendship_status\": {\n \"following\": false,\n \"followed_by\": false,\n \"blocking\": false,\n \"muting\": false,\n \"is_private\": false,\n \"incoming_request\": false,\n \"outgoing_request\": false,\n \"text_post_app_pre_following\": false,\n \"is_bestie\": false,\n \"is_restricted\": false,\n \"is_feed_favorite\": false,\n \"is_eligible_to_subscribe\": false\n },\n \"profile_context_facepile_users\": [],\n \"follower_count\": 26459\n },\n ...\n ],\n \"paging_token\": \"15\",\n \"has_more\": true,\n \"status\": \"ok\"\n }\n ```\n</details>\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Unofficial and reverse-engineered Threads (threads.net) Python API wrapper. Supports read and write capabilities",
"version": "0.0.50",
"project_urls": {
"Download": "https://github.com/dmytrostriletskyi/threads-net/tags",
"Homepage": "https://github.com/dmytrostriletskyi/threads-net",
"Issue Tracker": "https://github.com/dmytrostriletskyi/threads-net/issues",
"Source Code": "https://github.com/dmytrostriletskyi/threads-net"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ff748fc3b70cbe8e75109a944eb5b609d84fcab1065a10eba699ef18d34bae9d",
"md5": "19210d96b59511b06a1f2b72ee30885f",
"sha256": "24600ad1dc7304f119e1c3664a5e067f494502524fe251a59b5a42a82bae3e55"
},
"downloads": -1,
"filename": "threads-net-0.0.50.tar.gz",
"has_sig": false,
"md5_digest": "19210d96b59511b06a1f2b72ee30885f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 85258,
"upload_time": "2023-09-08T09:09:18",
"upload_time_iso_8601": "2023-09-08T09:09:18.586782Z",
"url": "https://files.pythonhosted.org/packages/ff/74/8fc3b70cbe8e75109a944eb5b609d84fcab1065a10eba699ef18d34bae9d/threads-net-0.0.50.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-08 09:09:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "dmytrostriletskyi",
"github_project": "threads-net",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "threads-net"
}