TikTok-Api
TikTok-Api copied to clipboard
AttributeError: 'TikTokApi' object has no attribute '_region'
Calling the TikTok API gives a AttributeError: 'TikTokApi' object has no attribute '_region' bug.
from TikTokApi import TikTokApi
api = TikTokApi()
for trending_video in api.trending.videos(count=5):
# Prints the author's username of the trending video.
print(trending_video.author.username)```
AttributeError Traceback (most recent call last)
/home/gipsy-john/PycharmProjects/TikTok-Api/TikTokApi/test.ipynb Cell 1' in <module>
[3](vscode-notebook-cell:/home/gipsy-john/PycharmProjects/TikTok-Api/TikTokApi/test.ipynb#ch0000001?line=2)[ # In your web browser you will need to go to TikTok, check the cookies
]()[4](vscode-notebook-cell:/home/gipsy-john/PycharmProjects/TikTok-Api/TikTokApi/test.ipynb#ch0000001?line=3)[ # and under www.tiktok.com s_v_web_id should exist, and use that value
]()[5](vscode-notebook-cell:/home/gipsy-john/PycharmProjects/TikTok-Api/TikTokApi/test.ipynb#ch0000001?line=4)[ # as input to custom_verify_fp
]()[6](vscode-notebook-cell:/home/gipsy-john/PycharmProjects/TikTok-Api/TikTokApi/test.ipynb#ch0000001?line=5)[ # Or watch https://www.youtube.com/watch?v=-uCt1x8kINQ for a visual
]()[7](vscode-notebook-cell:/home/gipsy-john/PycharmProjects/TikTok-Api/TikTokApi/test.ipynb#ch0000001?line=6)[
]()[8](vscode-notebook-cell:/home/gipsy-john/PycharmProjects/TikTok-Api/TikTokApi/test.ipynb#ch0000001?line=7)[ # custom_verify_fp =
]()[10](vscode-notebook-cell:/home/gipsy-john/PycharmProjects/TikTok-Api/TikTokApi/test.ipynb#ch0000001?line=9)[ api = TikTokApi()
---> ]()[12](vscode-notebook-cell:/home/gipsy-john/PycharmProjects/TikTok-Api/TikTokApi/test.ipynb#ch0000001?line=11)[ for trending_video in api.trending.videos(count=5):
]()[13](vscode-notebook-cell:/home/gipsy-john/PycharmProjects/TikTok-Api/TikTokApi/test.ipynb#ch0000001?line=12)[ # Prints the author's username of the trending video.
]()[14](vscode-notebook-cell:/home/gipsy-john/PycharmProjects/TikTok-Api/TikTokApi/test.ipynb#ch0000001?line=13)[ print(trending_video.author.username)
File ~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/api/trending.py:57, in Trending.videos(count, **kwargs)
]()[45](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/api/trending.py?line=44)[ while amount_yielded < count:
]()[46](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/api/trending.py?line=45)[ query = {
]()[47](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/api/trending.py?line=46)[ "count": 30,
]()[48](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/api/trending.py?line=47)[ "id": 1,
(...)
]()[54](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/api/trending.py?line=53)[ "language": processed.language,
]()[55](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/api/trending.py?line=54)[ }
]()[56](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/api/trending.py?line=55)[ path = "api/recommend/item_list/?{}&{}".format(
---> ]()[57](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/api/trending.py?line=56)[ Trending.parent._add_url_params(), urlencode(query)
]()[58](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/api/trending.py?line=57)[ )
]()[59](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/api/trending.py?line=58)[ res = Trending.parent.get_data(path, ttwid=ttwid, **kwargs)
]()[60](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/api/trending.py?line=59)[ for result in res.get("itemList", []):
File ~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py:545, in TikTokApi._add_url_params(self)
]()[540](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=539)[ def _add_url_params(self) -> str:
]()[541](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=540)[ query = {
]()[542](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=541)[ "aid": 1988,
]()[543](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=542)[ "app_name": "tiktok_web",
]()[544](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=543)[ "device_platform": "web_mobile",
--> ]()[545](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=544)[ "region": self._region or "US",
]()[546](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=545)[ "priority_region": "",
]()[547](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=546)[ "os": "ios",
]()[548](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=547)[ "referer": "",
]()[549](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=548)[ "cookie_enabled": "true",
]()[550](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=549)[ "screen_width": self._width,
]()[551](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=550)[ "screen_height": self._height,
]()[552](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=551)[ "browser_language": self._browser_language.lower() or "en-us",
]()[553](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=552)[ "browser_platform": "iPhone",
]()[554](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=553)[ "browser_name": "Mozilla",
]()[555](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=554)[ "browser_version": self._user_agent,
]()[556](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=555)[ "browser_online": "true",
]()[557](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=556)[ "timezone_name": self._timezone_name or "America/Chicago",
]()[558](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=557)[ "is_page_visible": "true",
]()[559](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=558)[ "focus_state": "true",
]()[560](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=559)[ "is_fullscreen": "false",
]()[561](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=560)[ "history_len": random.randint(0, 30),
]()[562](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=561)[ "language": self._language or "en",
]()[563](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=562)[ }
]()[565](file:///~/miniconda3/envs/vid/lib/python3.9/site-packages/TikTokApi/tiktok.py?line=564)[ return urlencode(query)
AttributeError: 'TikTokApi' object has no attribute '_region']()```
Additional context
Python 3.9.10 Ubuntu 20.04.3 LTS TikTok API: 5.0.0
I'm getting this error too!
api = TikTokApi()
print(api._region)
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
Input In [68], in <module>
1 # In your web browser you will need to go to TikTok, check the cookies
2 # and under [www.tiktok.com](https://www.tiktok.com/) s_v_web_id should exist, and use that value
3 # as input to custom_verify_fp
4 # Or watch https://www.youtube.com/watch?v=-uCt1x8kINQ for a visual
5
6 # api = TikTokApi.get_instance(custom_verify_fp=cookie)
7 api = TikTokApi()
----> 8 print(api._region)
AttributeError: 'TikTokApi' object has no attribute '_region'
s_v_web_id
was missing from my cookies list so I didn't add a custom verify fp, but I don't know if that's the issue? This AttributeError then seems to come up when I try to call other methods...
TikTokApi: 5.0.0
python: 3.9.6
macOS: 12.2 Monterey
I am getting a similar issue even after filling the custom_verify_fp field on V5.0.0 all previous issues were closed right away with a simple "upgrade to V5" so I have very little work with too.
I also found the s_v_web_id as a cookie from the developers.tiktok.com website and not tiktok.com itself which might explain this behavior on my end. Is there a workaround for when you don't have the cookie on your system?
similar error snippet:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
[<ipython-input-21-b52241b0ef0d>](https://localhost:8080/#) in <module>()
----> 1 for trending_video in api.trending.videos(count=50):
2 print(trending_video.author.username)
1 frames
[/usr/local/lib/python3.7/dist-packages/TikTokApi/tiktok.py](https://localhost:8080/#) in _add_url_params(self)
543 "app_name": "tiktok_web",
544 "device_platform": "web_mobile",
--> 545 "region": self._region or "US",
546 "priority_region": "",
547 "os": "ios",
AttributeError: 'TikTokApi' object has no attribute '_region'
+1 for this issue
got same error
Same error, nobody with a workaround?
fixed in v6?