diff --git a/justoneapi/generated/resources/__init__.py b/justoneapi/generated/resources/__init__.py index 66a45776..d5acdf51 100644 --- a/justoneapi/generated/resources/__init__.py +++ b/justoneapi/generated/resources/__init__.py @@ -13,6 +13,7 @@ from justoneapi.generated.resources.instagram import InstagramResource from justoneapi.generated.resources.jd import JdResource from justoneapi.generated.resources.kuaishou import KuaishouResource +from justoneapi.generated.resources.llm import LlmResource from justoneapi.generated.resources.reddit import RedditResource from justoneapi.generated.resources.search import SearchResource from justoneapi.generated.resources.taobao import TaobaoResource @@ -43,6 +44,7 @@ "instagram": InstagramResource, "jd": JdResource, "kuaishou": KuaishouResource, + "llm": LlmResource, "reddit": RedditResource, "search": SearchResource, "taobao": TaobaoResource, @@ -74,6 +76,7 @@ "InstagramResource", "JdResource", "KuaishouResource", + "LlmResource", "RedditResource", "SearchResource", "TaobaoResource", diff --git a/justoneapi/generated/resources/douyin.py b/justoneapi/generated/resources/douyin.py index b50d360c..644627f3 100644 --- a/justoneapi/generated/resources/douyin.py +++ b/justoneapi/generated/resources/douyin.py @@ -9,69 +9,6 @@ class DouyinResource(BaseResource): """Generated resource for Douyin (TikTok China).""" - def get_user_detail_v3( - self, - *, - sec_uid: str, - ) -> ApiResponse[Any]: - """ - User Profile - - Get Douyin (TikTok China) user Profile data, including follower counts, verification status, and bio details, for creator research and account analysis. - - Args: - sec_uid: The unique user ID (sec_uid) on Douyin. - """ - return self._get( - "/api/douyin/get-user-detail/v3", - { - "secUid": sec_uid, - }, - ) - - def get_user_video_list_v3( - self, - *, - sec_uid: str, - max_cursor: int | None = 0, - ) -> ApiResponse[Any]: - """ - User Published Videos - - Get Douyin (TikTok China) user Published Videos data, including captions, covers, and publish times, for account monitoring. - - Args: - sec_uid: The unique user ID (sec_uid) on Douyin. - max_cursor: Pagination cursor; use 0 for the first page, and the `max_cursor` from the previous response for subsequent pages. - """ - return self._get( - "/api/douyin/get-user-video-list/v3", - { - "secUid": sec_uid, - "maxCursor": max_cursor, - }, - ) - - def get_video_detail_v2( - self, - *, - video_id: str, - ) -> ApiResponse[Any]: - """ - Video Details - - Get Douyin (TikTok China) video Details data, including author details, publish time, and engagement counts, for video research, archiving, and performance analysis. - - Args: - video_id: The unique video identifier (aweme_id or model_id). - """ - return self._get( - "/api/douyin/get-video-detail/v2", - { - "videoId": video_id, - }, - ) - def search_video_v4( self, *, @@ -133,6 +70,49 @@ def search_user_v2( }, ) + def get_user_video_list_v3( + self, + *, + sec_uid: str, + max_cursor: int | None = 0, + ) -> ApiResponse[Any]: + """ + User Published Videos + + Get Douyin (TikTok China) user Published Videos data, including captions, covers, and publish times, for account monitoring. + + Args: + sec_uid: The unique user ID (sec_uid) on Douyin. + max_cursor: Pagination cursor; use 0 for the first page, and the `max_cursor` from the previous response for subsequent pages. + """ + return self._get( + "/api/douyin/get-user-video-list/v3", + { + "secUid": sec_uid, + "maxCursor": max_cursor, + }, + ) + + def get_video_detail_v2( + self, + *, + video_id: str, + ) -> ApiResponse[Any]: + """ + Video Details + + Get Douyin (TikTok China) video Details data, including author details, publish time, and engagement counts, for video research, archiving, and performance analysis. + + Args: + video_id: The unique video identifier (aweme_id or model_id). + """ + return self._get( + "/api/douyin/get-video-detail/v2", + { + "videoId": video_id, + }, + ) + def get_video_comment_v1( self, *, @@ -179,6 +159,26 @@ def get_video_sub_comment_v1( }, ) + def get_user_detail_v3( + self, + *, + sec_uid: str, + ) -> ApiResponse[Any]: + """ + User Profile + + Get Douyin (TikTok China) user Profile data, including follower counts, verification status, and bio details, for creator research and account analysis. + + Args: + sec_uid: The unique user ID (sec_uid) on Douyin. + """ + return self._get( + "/api/douyin/get-user-detail/v3", + { + "secUid": sec_uid, + }, + ) + def share_url_transfer_v1( self, *, diff --git a/justoneapi/generated/resources/douyin_xingtu.py b/justoneapi/generated/resources/douyin_xingtu.py index 48ac4bff..5fd7fa08 100644 --- a/justoneapi/generated/resources/douyin_xingtu.py +++ b/justoneapi/generated/resources/douyin_xingtu.py @@ -465,7 +465,7 @@ def gw_api_gsearch_search_for_author_square_v1( follower_range: Follower range (e.g., 10-100). kol_price_type: KOL price type. Available Values: - `视频1_20s`: Video 1-20s - `视频21_60s`: Video 21-60s - `视频60s以上`: Video > 60s - `定制短剧单集`: Mini-drama episode - `千次自然播放量`: CPM naturally - `短直种草视频`: Short-live seeding video - `短直预热视频`: Short-live warm-up video - `短直明星种草`: Celebrity short-live seeding - `短直明星预热`: Celebrity short-live warm-up - `明星视频`: Celebrity video - `合集视频`: Collection video - `抖音短视频共创_主投稿达人`: Douyin short video co-creation - main creator - `抖音短视频共创_参与达人`: Douyin short video co-creation - participant kol_price_range: KOL price range (e.g., 10000-50000). - content_tag: Content tag filter. + content_tag: Creator category filter. Pass category labels from the Xingtu page separated by commas. First-level labels map to tag, second-level labels map to tag_level_two. The old tag-1 and tag_level_two-7 ID formats are deprecated. """ return self._get( "/api/douyin-xingtu/gw/api/gsearch/search_for_author_square/v1", @@ -646,6 +646,26 @@ def gw_api_aggregator_get_author_commerce_spread_info_v1( }, ) + def gw_api_aggregator_get_author_side_base_info_v1( + self, + *, + o_author_id: str, + ) -> ApiResponse[Any]: + """ + Author Side Base Info + + Get Douyin Creator Marketplace (Xingtu) author Side Base Info data, including the 30-day follower growth rate displayed on the creator homepage side card. + + Args: + o_author_id: Author's unique ID. + """ + return self._get( + "/api/douyin-xingtu/gw/api/aggregator/get_author_side_base_info/v1", + { + "oAuthorId": o_author_id, + }, + ) + def gw_api_aggregator_get_author_commerce_seed_base_info_v1( self, *, diff --git a/justoneapi/generated/resources/kuaishou.py b/justoneapi/generated/resources/kuaishou.py index 12ad3234..990509a1 100644 --- a/justoneapi/generated/resources/kuaishou.py +++ b/justoneapi/generated/resources/kuaishou.py @@ -9,6 +9,29 @@ class KuaishouResource(BaseResource): """Generated resource for Kuaishou.""" + def search_video_v2( + self, + *, + keyword: str, + page: int | None = 1, + ) -> ApiResponse[Any]: + """ + Video Search + + Get Kuaishou video Search data, including video ID, cover image, and description, for competitive analysis and market trends and keywords monitoring and brand tracking. + + Args: + keyword: The search keyword to find videos. + page: Page number for results, starting from 1. + """ + return self._get( + "/api/kuaishou/search-video/v2", + { + "keyword": keyword, + "page": page, + }, + ) + def search_user_v2( self, *, @@ -75,26 +98,31 @@ def get_video_detail_v2( }, ) - def search_video_v2( + def get_video_comment_v1( self, *, - keyword: str, - page: int | None = 1, + video_id: str, + pcursor: str | None = None, ) -> ApiResponse[Any]: """ - Video Search + Video Comments - Get Kuaishou video Search data, including video ID, cover image, and description, for competitive analysis and market trends and keywords monitoring and brand tracking. + Retrieves public comments of a Kuaishou video, including comment content, + author info, like count, and reply count. + + Typical use cases: + - Sentiment analysis and community feedback monitoring + - Gathering engagement data for specific videos Args: - keyword: The search keyword to find videos. - page: Page number for results, starting from 1. + video_id: The unique ID of the Kuaishou video, e.g. `3xbknvct79h46h9` or refer_photo_id `177012131237` + pcursor: Pagination cursor for subsequent pages. """ return self._get( - "/api/kuaishou/search-video/v2", + "/api/kuaishou/get-video-comment/v1", { - "keyword": keyword, - "page": page, + "videoId": video_id, + "pcursor": pcursor, }, ) @@ -137,31 +165,3 @@ def share_url_transfer_v1( "shareUrl": share_url, }, ) - - def get_video_comment_v1( - self, - *, - video_id: str, - pcursor: str | None = None, - ) -> ApiResponse[Any]: - """ - Video Comments - - Retrieves public comments of a Kuaishou video, including comment content, - author info, like count, and reply count. - - Typical use cases: - - Sentiment analysis and community feedback monitoring - - Gathering engagement data for specific videos - - Args: - video_id: The unique ID of the Kuaishou video, e.g. `3xbknvct79h46h9` or refer_photo_id `177012131237` - pcursor: Pagination cursor for subsequent pages. - """ - return self._get( - "/api/kuaishou/get-video-comment/v1", - { - "videoId": video_id, - "pcursor": pcursor, - }, - ) diff --git a/justoneapi/generated/resources/llm.py b/justoneapi/generated/resources/llm.py new file mode 100644 index 00000000..1171e4f1 --- /dev/null +++ b/justoneapi/generated/resources/llm.py @@ -0,0 +1,30 @@ +from __future__ import annotations + +from typing import Any + +from justoneapi._resource import BaseResource +from justoneapi._response import ApiResponse + + +class LlmResource(BaseResource): + """Generated resource for LLM.""" + + def doubao_answer_v1( + self, + *, + keyword: str, + ) -> ApiResponse[Any]: + """ + Doubao Answer + + Get a Doubao web answer for a keyword or question, including extracted references when available. + + Args: + keyword: Keyword or question to ask Doubao. + """ + return self._get( + "/api/llm/doubao-answer/v1", + { + "keyword": keyword, + }, + ) diff --git a/justoneapi/generated/resources/xiaohongshu.py b/justoneapi/generated/resources/xiaohongshu.py index 88305dab..7c1b38de 100644 --- a/justoneapi/generated/resources/xiaohongshu.py +++ b/justoneapi/generated/resources/xiaohongshu.py @@ -9,43 +9,154 @@ class XiaohongshuResource(BaseResource): """Generated resource for Xiaohongshu (RedNote).""" - def get_user_v3( + def hot_search_v1( self, *, - user_id: str, + search_word: str | None = "", + page_num: int | None = 1, + order_by: str | None = "premium_imp_num", + nd: str | None = "DAY_7", ) -> ApiResponse[Any]: """ - User Profile + Hot Search - Get Xiaohongshu (RedNote) user Profile data, including follower counts and bio details, for creator research, account analysis, and competitor monitoring. + Get Xiaohongshu (RedNote) hot Search data, including popular notes and engagement metrics, for content trend discovery. Args: - user_id: Unique user identifier on Xiaohongshu. + search_word: Search keyword. + page_num: Page number for pagination. + order_by: Sort metric for the result set. Available Values: - `premium_imp_num`: Exposure - `premium_good_read_rate`: Read rate - `premium_read_num`: Read count - `premium_engage_num`: Engagement count - `premium_engage_rate`: Engagement rate - `premium_like_num`: Like count - `premium_fav_num`: Favorite count - `premium_cmt_num`: Comment count + nd: Time range in days. Available Values: - `DAY_3`: Last 3 days - `DAY_7`: Last 7 days - `DAY_14`: Last 14 days - `DAY_30`: Last 30 days """ return self._get( - "/api/xiaohongshu/get-user/v3", + "/api/xiaohongshu/hot-search/v1", { - "userId": user_id, + "searchWord": search_word, + "pageNum": page_num, + "orderBy": order_by, + "nd": nd, }, ) - def get_user_v4( + def search_note_v2( self, *, - user_id: str, + keyword: str, + page: int | None = 1, + sort: str | None = "general", + note_type: str | None = "_0", + note_time: str | None = None, ) -> ApiResponse[Any]: """ - User Profile + Note Search - Get Xiaohongshu (RedNote) user Profile data, including follower counts and bio details, for creator research, account analysis, and competitor monitoring. + Get Xiaohongshu (RedNote) note Search data, including snippets, authors, and media, for topic discovery. Args: - user_id: Unique user identifier on Xiaohongshu. + keyword: Search keyword. + page: Page number for pagination. + sort: Sort order for the result set. Available Values: - `general`: General - `popularity_descending`: Popularity Descending - `time_descending`: Time Descending - `comment_descending`: Comment Descending - `collect_descending`: Collect Descending + note_type: Note type filter. Available Values: - `_0`: General - `_1`: Video - `_2`: Normal + note_time: Note publish time filter. This parameter is for reference only and does not have much effect. Available Values: - `一天内`: Within one day - `一周内`: Within a week - `半年内`: Within half a year """ return self._get( - "/api/xiaohongshu/get-user/v4", + "/api/xiaohongshu/search-note/v2", { - "userId": user_id, + "keyword": keyword, + "page": page, + "sort": sort, + "noteType": note_type, + "noteTime": note_time, + }, + ) + + def search_note_v3( + self, + *, + keyword: str, + page: int | None = 1, + sort: str | None = "general", + note_type: str | None = "_0", + ) -> ApiResponse[Any]: + """ + Note Search + + Get Xiaohongshu (RedNote) note Search data, including snippets, authors, and media, for topic discovery. + + Args: + keyword: Search keyword. + page: Page number for pagination. + sort: Sort order for the result set. Available Values: - `general`: General - `popularity_descending`: Hot - `time_descending`: New + note_type: Note type filter. Available Values: - `_0`: General - `_1`: Video - `_2`: Normal + """ + return self._get( + "/api/xiaohongshu/search-note/v3", + { + "keyword": keyword, + "page": page, + "sort": sort, + "noteType": note_type, + }, + ) + + def search_note_v4( + self, + *, + keyword: str, + page: int | None = 1, + search_id: str | None = "", + session_id: str | None = "", + sort_type: str | None = "general", + note_type: str | None = "不限", + time_filter: str | None = "不限", + ) -> ApiResponse[Any]: + """ + Note Search + + Get Xiaohongshu (RedNote) note Search data, including snippets, authors, and media, for topic discovery. + + Args: + keyword: Search keyword. + page: Page number for pagination. + search_id: Search session ID from the previous response data.api_info.search_id. + session_id: Session ID from the previous response data.api_info.session_id. + sort_type: Sort order for the result set. Available Values: - `general`: General - `popularity_descending`: Popularity Descending - `time_descending`: Time Descending - `comment_descending`: Comment Descending - `collect_descending`: Collect Descending + note_type: Note type filter. Available Values: - `不限`: No Limit - `视频笔记`: Video Note - `普通笔记`: Normal Note + time_filter: Publish time filter. Available Values: - `不限`: No Limit - `一天内`: Within one day - `一周内`: Within one week - `半年内`: Within half a year + """ + return self._get( + "/api/xiaohongshu/search-note/v4", + { + "keyword": keyword, + "page": page, + "searchId": search_id, + "sessionId": session_id, + "sortType": sort_type, + "noteType": note_type, + "timeFilter": time_filter, + }, + ) + + def search_user_v2( + self, + *, + keyword: str, + page: int | None = 1, + ) -> ApiResponse[Any]: + """ + User Search + + Get Xiaohongshu (RedNote) user Search data, including profile metadata and public signals, for creator discovery and account research. + + Args: + keyword: Search keyword. + page: Page number for pagination. + """ + return self._get( + "/api/xiaohongshu/search-user/v2", + { + "keyword": keyword, + "page": page, }, ) @@ -244,6 +355,32 @@ def get_note_comment_v2( }, ) + def get_note_comment_v3( + self, + *, + note_id: str, + last_cursor: str | None = None, + sort: str | None = "latest", + ) -> ApiResponse[Any]: + """ + Note Comments + + Get Xiaohongshu (RedNote) note Comments data, including text, authors, and timestamps, for feedback analysis. + + Args: + note_id: Unique note identifier on Xiaohongshu. + last_cursor: Pagination cursor from the previous page. + sort: Sort strategy for the result set. Available Values: - `normal`: Normal - `latest`: Latest - `like_count`: Like Count + """ + return self._get( + "/api/xiaohongshu/get-note-comment/v3", + { + "noteId": note_id, + "lastCursor": last_cursor, + "sort": sort, + }, + ) + def get_note_comment_v4( self, *, @@ -290,64 +427,63 @@ def get_note_sub_comment_v2( }, ) - def search_note_v2( + def get_user_v3( self, *, - keyword: str, - page: int | None = 1, - sort: str | None = "general", - note_type: str | None = "_0", - note_time: str | None = None, + user_id: str, ) -> ApiResponse[Any]: """ - Note Search + User Profile - Get Xiaohongshu (RedNote) note Search data, including snippets, authors, and media, for topic discovery. + Get Xiaohongshu (RedNote) user Profile data, including follower counts and bio details, for creator research, account analysis, and competitor monitoring. Args: - keyword: Search keyword. - page: Page number for pagination. - sort: Sort order for the result set. Available Values: - `general`: General - `popularity_descending`: Popularity Descending - `time_descending`: Time Descending - `comment_descending`: Comment Descending - `collect_descending`: Collect Descending - note_type: Note type filter. Available Values: - `_0`: General - `_1`: Video - `_2`: Normal - note_time: Note publish time filter. This parameter is for reference only and does not have much effect. Available Values: - `一天内`: Within one day - `一周内`: Within a week - `半年内`: Within half a year + user_id: Unique user identifier on Xiaohongshu. """ return self._get( - "/api/xiaohongshu/search-note/v2", + "/api/xiaohongshu/get-user/v3", { - "keyword": keyword, - "page": page, - "sort": sort, - "noteType": note_type, - "noteTime": note_time, + "userId": user_id, }, ) - def search_note_v3( + def get_user_v4( + self, + *, + user_id: str, + ) -> ApiResponse[Any]: + """ + User Profile + + Get Xiaohongshu (RedNote) user Profile data, including follower counts and bio details, for creator research, account analysis, and competitor monitoring. + + Args: + user_id: Unique user identifier on Xiaohongshu. + """ + return self._get( + "/api/xiaohongshu/get-user/v4", + { + "userId": user_id, + }, + ) + + def search_recommend_v1( self, *, keyword: str, - page: int | None = 1, - sort: str | None = "general", - note_type: str | None = "_0", ) -> ApiResponse[Any]: """ - Note Search + Keyword Suggestions - Get Xiaohongshu (RedNote) note Search data, including snippets, authors, and media, for topic discovery. + Get Xiaohongshu (RedNote) keyword Suggestions data, including suggested queries, keyword variants, and query metadata, for expanding keyword sets for content research and seo/pseo workflows and improving search coverage by using platform-recommended terms. Args: keyword: Search keyword. - page: Page number for pagination. - sort: Sort order for the result set. Available Values: - `general`: General - `popularity_descending`: Hot - `time_descending`: New - note_type: Note type filter. Available Values: - `_0`: General - `_1`: Video - `_2`: Normal """ return self._get( - "/api/xiaohongshu/search-note/v3", + "/api/xiaohongshu/search-recommend/v1", { "keyword": keyword, - "page": page, - "sort": sort, - "noteType": note_type, }, ) @@ -377,29 +513,6 @@ def get_topic_note_list_v1( }, ) - def search_user_v2( - self, - *, - keyword: str, - page: int | None = 1, - ) -> ApiResponse[Any]: - """ - User Search - - Get Xiaohongshu (RedNote) user Search data, including profile metadata and public signals, for creator discovery and account research. - - Args: - keyword: Search keyword. - page: Page number for pagination. - """ - return self._get( - "/api/xiaohongshu/search-user/v2", - { - "keyword": keyword, - "page": page, - }, - ) - def share_url_transfer_v1( self, *, @@ -419,23 +532,3 @@ def share_url_transfer_v1( "shareUrl": share_url, }, ) - - def search_recommend_v1( - self, - *, - keyword: str, - ) -> ApiResponse[Any]: - """ - Keyword Suggestions - - Get Xiaohongshu (RedNote) keyword Suggestions data, including suggested queries, keyword variants, and query metadata, for expanding keyword sets for content research and seo/pseo workflows and improving search coverage by using platform-recommended terms. - - Args: - keyword: Search keyword. - """ - return self._get( - "/api/xiaohongshu/search-recommend/v1", - { - "keyword": keyword, - }, - ) diff --git a/justoneapi/generated/resources/xiaohongshu_pgy.py b/justoneapi/generated/resources/xiaohongshu_pgy.py index 87cb0995..990987c0 100644 --- a/justoneapi/generated/resources/xiaohongshu_pgy.py +++ b/justoneapi/generated/resources/xiaohongshu_pgy.py @@ -300,6 +300,13 @@ def api_solar_cooperator_blogger_v2_v1( fans_gender: str | None = "ALL", gender: str | None = "ALL", content_tag: str | None = None, + personal_tags: str | None = None, + top20_crowds_label: str | None = None, + industry_specific_crowds_motor_dom: str | None = None, + feature_tags: str | None = None, + content_theme_label: str | None = None, + exclude_low_active: bool | None = None, + fans_num_up: bool | None = None, ) -> ApiResponse[Any]: """ Creator Search @@ -315,7 +322,14 @@ def api_solar_cooperator_blogger_v2_v1( fans_age: Target fans age group. Available Values: - `ALL`: All ages - `LT_18`: Under 18 - `AGE_18_24`: 18 to 24 - `AGE_25_34`: 25 to 34 - `AGE_35_44`: 35 to 44 - `GT_44`: Above 44 fans_gender: Target fans gender. Available Values: - `ALL`: All genders - `MALE_HIGH`: Mainly Male - `FE_MALE_HIGH`: Mainly Female gender: KOL's gender. Available Values: - `ALL`: All genders - `MALE`: Male - `FEMALE`: Female - content_tag: Content categories, separated by commas. + content_tag: Content category filter. Pass first-level or second-level category labels from Pugongying, separated by commas. + personal_tags: Blogger persona tag filter covering family identity, profession identity, and special background labels. Pass label values separated by commas. + top20_crowds_label: Top-20 audience filter. Pass top-level or child audience labels separated by commas; child labels are converted to Pugongying request values. + industry_specific_crowds_motor_dom: Industry-specific portrait filter. Pass Pugongying portrait value IDs or label values separated by commas. + feature_tags: Good-at content tag filter. Pass label values separated by commas. + content_theme_label: Content theme filter. Pass Pugongying value IDs or label values separated by commas; labels are converted to value IDs. + exclude_low_active: Whether to exclude low-activity bloggers. + fans_num_up: Whether to exclude bloggers whose fan count is dropping. """ return self._get( "/api/xiaohongshu-pgy/api/solar/cooperator/blogger/v2/v1", @@ -329,6 +343,13 @@ def api_solar_cooperator_blogger_v2_v1( "fansGender": fans_gender, "gender": gender, "contentTag": content_tag, + "personalTags": personal_tags, + "top20CrowdsLabel": top20_crowds_label, + "industrySpecificCrowdsMotorDom": industry_specific_crowds_motor_dom, + "featureTags": feature_tags, + "contentThemeLabel": content_theme_label, + "excludeLowActive": exclude_low_active, + "fansNumUp": fans_num_up, }, ) @@ -364,6 +385,38 @@ def api_pgy_kol_data_core_data_v1( }, ) + def api_pgy_content_square_search_note_v2_v1( + self, + *, + search_word: str | None = "", + page_num: int | None = 1, + biz_type: str | None = "XIAOHONGSHU_HOT", + order_by: str | None = "premium_imp_num", + nd: str | None = "DAY_7", + ) -> ApiResponse[Any]: + """ + Content Square Notes + + Search Xiaohongshu Creator Marketplace (Pugongying) content square notes by business type, ranking metric, time range, and keyword. + + Args: + search_word: Keyword for note search. Empty string searches all notes. + page_num: Page number for results. + biz_type: Business category. Available Values: - `XIAOHONGSHU_HOT`: Xiaohongshu hot - `PRODUCT_SEEDING`: Product seeding - `ECOMMERCE_PROMOTION`: E-commerce promotion - `PUGONGYING_COOPERATION`: Pugongying cooperation - `LEAD_COLLECTION`: Lead collection - `ECOMMERCE_HOT`: E-commerce hot - `SEEDING_DIRECT`: Seeding direct - `APP_PROMOTION`: App promotion + order_by: Ranking metric. Available Values: - `premium_imp_num`: Exposure - `premium_good_read_rate`: Read rate - `premium_read_num`: Read count - `premium_engage_num`: Engagement count - `premium_engage_rate`: Engagement rate - `premium_like_num`: Like count - `premium_fav_num`: Favorite count - `premium_cmt_num`: Comment count + nd: Time range in days. Available Values: - `DAY_3`: Last 3 days - `DAY_7`: Last 7 days - `DAY_14`: Last 14 days - `DAY_30`: Last 30 days + """ + return self._get( + "/api/xiaohongshu-pgy/api/pgy/content_square/search_note_v2/v1", + { + "searchWord": search_word, + "pageNum": page_num, + "bizType": biz_type, + "orderBy": order_by, + "nd": nd, + }, + ) + def get_kol_info_v1( self, *, diff --git a/justoneapi/generated/resources/zhihu.py b/justoneapi/generated/resources/zhihu.py index 2478c208..df63b71a 100644 --- a/justoneapi/generated/resources/zhihu.py +++ b/justoneapi/generated/resources/zhihu.py @@ -66,6 +66,10 @@ def search_v1( *, keyword: str, offset: int | None = 0, + show_all_topics: str | None = "FALSE", + vertical: str | None = None, + sort: str | None = None, + time_interval: str | None = None, ) -> ApiResponse[Any]: """ Keyword Search @@ -75,12 +79,20 @@ def search_v1( Args: keyword: Search keywords. offset: Start offset, begins with 0. + show_all_topics: Whether to show all topics. Available Values: - `FALSE`: Do not show topics. - `TRUE`: Show all topics. + vertical: Result type filter. Available Values: - `answer`: Answers only. - `article`: Articles only. - `zvideo`: Videos only. + sort: Sorting criteria. Available Values: - `upvoted_count`: Most upvoted. - `created_time`: Latest published. + time_interval: Publish time interval filter. Available Values: - `a_day`: Within one day. - `a_week`: Within one week. - `a_month`: Within one month. - `three_months`: Within three months. - `half_a_year`: Within half a year. - `a_year`: Within one year. """ return self._get( "/api/zhihu/search/v1", { "keyword": keyword, "offset": offset, + "showAllTopics": show_all_topics, + "vertical": vertical, + "sort": sort, + "timeInterval": time_interval, }, ) diff --git a/openapi/public-api.json b/openapi/public-api.json index 9683024d..a88409f9 100644 --- a/openapi/public-api.json +++ b/openapi/public-api.json @@ -3042,6 +3042,51 @@ "x-order": "15001400" } }, + "/api/douyin-xingtu/gw/api/aggregator/get_author_side_base_info/v1": { + "get": { + "description": "Get Douyin Creator Marketplace (Xingtu) author Side Base Info data, including the 30-day follower growth rate displayed on the creator homepage side card.", + "operationId": "getApiDouyinXingtuGwApiAggregatorGetAuthorSideBaseInfoV1", + "parameters": [ + { + "description": "User authentication token.", + "in": "query", + "name": "token", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Author's unique ID.", + "in": "query", + "name": "oAuthorId", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/Result" + } + } + }, + "description": "OK" + } + }, + "summary": "Author Side Base Info", + "tags": [ + "Douyin Creator Marketplace (Xingtu)" + ], + "x-api-version": "v1", + "x-highlights": [], + "x-order": "15003085" + } + }, "/api/douyin-xingtu/gw/api/author/get_author_base_info/v1": { "get": { "description": "Get Douyin Creator Marketplace (Xingtu) creator Profile data, including audience and pricing data, for influencer vetting, benchmark analysis, and campaign planning.", @@ -4717,11 +4762,12 @@ } }, { - "description": "Content tag filter.", + "description": "Creator category filter. Pass category labels from the Xingtu page separated by commas. First-level labels map to tag, second-level labels map to tag_level_two. The old tag-1 and tag_level_two-7 ID formats are deprecated.", "in": "query", "name": "contentTag", "required": false, "schema": { + "example": "美妆,穿搭,剧情搞笑", "type": "string" } } @@ -4859,7 +4905,7 @@ ], "x-api-version": "v3", "x-highlights": [], - "x-order": "14001000" + "x-order": "14001600" } }, "/api/douyin/get-user-video-list/v3": { @@ -4976,7 +5022,7 @@ ], "x-api-version": "v1", "x-highlights": [], - "x-order": "14001600" + "x-order": "14001400" } }, "/api/douyin/get-video-detail/v2": { @@ -5077,7 +5123,7 @@ ], "x-api-version": "v1", "x-highlights": [], - "x-order": "14001700" + "x-order": "14001500" } }, "/api/douyin/search-user/v2": { @@ -5148,7 +5194,7 @@ ], "x-api-version": "v2", "x-highlights": [], - "x-order": "14001500" + "x-order": "14001100" } }, "/api/douyin/search-video/v4": { @@ -5263,7 +5309,7 @@ ], "x-api-version": "v4", "x-highlights": [], - "x-order": "14001400" + "x-order": "14001000" } }, "/api/douyin/share-url-transfer/v1": { @@ -5306,7 +5352,7 @@ "tags": [ "Douyin (TikTok China)" ], - "x-order": "14001800" + "x-order": "14001700" } }, "/api/facebook/get-profile-id/v1": { @@ -7250,12 +7296,7 @@ "JD.com" ], "x-api-version": "v1", - "x-highlights": [ - { - "content": "Page limit: The maximum page number supported is 20.", - "type": "tip" - } - ], + "x-highlights": [], "x-order": "19001100" } }, @@ -7549,7 +7590,7 @@ ], "x-api-version": "v1", "x-highlights": [], - "x-order": "16001400" + "x-order": "16001500" } }, "/api/kuaishou/get-user-video-list/v2": { @@ -7603,7 +7644,7 @@ ], "x-api-version": "v2", "x-highlights": [], - "x-order": "16001100" + "x-order": "16001200" } }, "/api/kuaishou/get-video-comment/v1": { @@ -7655,7 +7696,7 @@ "tags": [ "Kuaishou" ], - "x-order": "16001600" + "x-order": "16001400" } }, "/api/kuaishou/get-video-detail/v2": { @@ -7705,7 +7746,7 @@ "type": "tip" } ], - "x-order": "16001200" + "x-order": "16001300" } }, "/api/kuaishou/search-user/v2": { @@ -7761,7 +7802,7 @@ ], "x-api-version": "v2", "x-highlights": [], - "x-order": "16001000" + "x-order": "16001100" } }, "/api/kuaishou/search-video/v2": { @@ -7817,7 +7858,7 @@ ], "x-api-version": "v2", "x-highlights": [], - "x-order": "16001300" + "x-order": "16001000" } }, "/api/kuaishou/share-url-transfer/v1": { @@ -7862,7 +7903,52 @@ ], "x-api-version": "v1", "x-highlights": [], - "x-order": "16001500" + "x-order": "16001600" + } + }, + "/api/llm/doubao-answer/v1": { + "get": { + "description": "Get a Doubao web answer for a keyword or question, including extracted references when available.", + "operationId": "getApiLlmDoubaoAnswerV1", + "parameters": [ + { + "description": "Authentication token for this API service.", + "in": "query", + "name": "token", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Keyword or question to ask Doubao.", + "in": "query", + "name": "keyword", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/Result" + } + } + }, + "description": "OK" + } + }, + "summary": "Doubao Answer", + "tags": [ + "LLM" + ], + "x-api-version": "v1", + "x-highlights": [], + "x-order": "36001000" } }, "/api/reddit/get-post-comments/v1": { @@ -10616,6 +10702,7 @@ }, "/api/weixin/get-article-comment/v1": { "get": { + "deprecated": true, "description": "Get WeChat Official Accounts article Comments data, including commenter details, comment text, and timestamps, for feedback analysis.", "operationId": "getApiWeixinGetArticleCommentV1", "parameters": [ @@ -10661,6 +10748,7 @@ }, "/api/weixin/get-article-detail/v1": { "get": { + "deprecated": true, "description": "Get WeChat Official Accounts article Details data, including body content, for article archiving, research, and content analysis.", "operationId": "getApiWeixinGetArticleDetailV1", "parameters": [ @@ -10701,11 +10789,12 @@ ], "x-api-version": "v1", "x-highlights": [], - "x-order": 20001400 + "x-order": 34501400 } }, "/api/weixin/get-article-feedback/v1": { "get": { + "deprecated": true, "description": "Get WeChat Official Accounts article Engagement Metrics data, including like, share, and comment metrics, for article performance tracking and benchmarking.", "operationId": "getApiWeixinGetArticleFeedbackV1", "parameters": [ @@ -10751,6 +10840,7 @@ }, "/api/weixin/get-user-post/v1": { "get": { + "deprecated": true, "description": "Get WeChat Official Accounts user Published Posts data, including titles, publish times, and summaries, for account monitoring.", "operationId": "getApiWeixinGetUserPostV1", "parameters": [ @@ -10796,6 +10886,7 @@ }, "/api/weixin/search/v1": { "get": { + "deprecated": true, "description": "Get WeChat Official Accounts keyword Search data, including account names, titles, and publish times, for content discovery.", "operationId": "getApiWeixinSearchV1", "parameters": [ @@ -10892,6 +10983,122 @@ "x-order": 20001300 } }, + "/api/xiaohongshu-pgy/api/pgy/content_square/search_note_v2/v1": { + "get": { + "description": "Search Xiaohongshu Creator Marketplace (Pugongying) content square notes by business type, ranking metric, time range, and keyword.", + "operationId": "getApiXiaohongshuPgyApiPgyContentSquareSearchNoteV2V1", + "parameters": [ + { + "description": "User authentication token.", + "in": "query", + "name": "token", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Keyword for note search. Empty string searches all notes.", + "in": "query", + "name": "searchWord", + "required": false, + "schema": { + "default": "", + "type": "string" + } + }, + { + "description": "Page number for results.", + "in": "query", + "name": "pageNum", + "required": false, + "schema": { + "default": 1, + "format": "int32", + "type": "integer" + } + }, + { + "description": "Business category.\n\nAvailable Values:\n- `XIAOHONGSHU_HOT`: Xiaohongshu hot\n- `PRODUCT_SEEDING`: Product seeding\n- `ECOMMERCE_PROMOTION`: E-commerce promotion\n- `PUGONGYING_COOPERATION`: Pugongying cooperation\n- `LEAD_COLLECTION`: Lead collection\n- `ECOMMERCE_HOT`: E-commerce hot\n- `SEEDING_DIRECT`: Seeding direct\n- `APP_PROMOTION`: App promotion", + "in": "query", + "name": "bizType", + "required": false, + "schema": { + "default": "XIAOHONGSHU_HOT", + "description": "Content square business category", + "enum": [ + "XIAOHONGSHU_HOT", + "PRODUCT_SEEDING", + "ECOMMERCE_PROMOTION", + "PUGONGYING_COOPERATION", + "LEAD_COLLECTION", + "ECOMMERCE_HOT", + "SEEDING_DIRECT", + "APP_PROMOTION" + ], + "type": "string" + } + }, + { + "description": "Ranking metric.\n\nAvailable Values:\n- `premium_imp_num`: Exposure\n- `premium_good_read_rate`: Read rate\n- `premium_read_num`: Read count\n- `premium_engage_num`: Engagement count\n- `premium_engage_rate`: Engagement rate\n- `premium_like_num`: Like count\n- `premium_fav_num`: Favorite count\n- `premium_cmt_num`: Comment count", + "in": "query", + "name": "orderBy", + "required": false, + "schema": { + "default": "premium_imp_num", + "description": "Content square ranking metric", + "enum": [ + "premium_imp_num", + "premium_good_read_rate", + "premium_read_num", + "premium_engage_num", + "premium_engage_rate", + "premium_like_num", + "premium_fav_num", + "premium_cmt_num" + ], + "type": "string" + } + }, + { + "description": "Time range in days.\n\nAvailable Values:\n- `DAY_3`: Last 3 days\n- `DAY_7`: Last 7 days\n- `DAY_14`: Last 14 days\n- `DAY_30`: Last 30 days", + "in": "query", + "name": "nd", + "required": false, + "schema": { + "default": "DAY_7", + "description": "Content square time range", + "enum": [ + "DAY_3", + "DAY_7", + "DAY_14", + "DAY_30" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/Result" + } + } + }, + "description": "OK" + } + }, + "summary": "Content Square Notes", + "tags": [ + "Xiaohongshu Creator Marketplace (Pugongying)" + ], + "x-api-version": "v1", + "x-highlights": [], + "x-order": "13002350" + } + }, "/api/xiaohongshu-pgy/api/pgy/kol/data/core_data/v1": { "get": { "description": "Get Xiaohongshu Creator Marketplace (Pugongying) creator Core Metrics data, including engagement and content metrics, for benchmarking, vetting, and campaign planning.", @@ -11119,13 +11326,84 @@ } }, { - "description": "Content categories, separated by commas.", + "description": "Content category filter. Pass first-level or second-level category labels from Pugongying, separated by commas.", "in": "query", "name": "contentTag", "required": false, "schema": { + "example": "美妆,护肤,美食教程", + "type": "string" + } + }, + { + "description": "Blogger persona tag filter covering family identity, profession identity, and special background labels. Pass label values separated by commas.", + "in": "query", + "name": "personalTags", + "required": false, + "schema": { + "example": "妈妈,工程师,留学背景", + "type": "string" + } + }, + { + "description": "Top-20 audience filter. Pass top-level or child audience labels separated by commas; child labels are converted to Pugongying request values.", + "in": "query", + "name": "top20CrowdsLabel", + "required": false, + "schema": { + "example": "自在户外,挑战极限者", + "type": "string" + } + }, + { + "description": "Industry-specific portrait filter. Pass Pugongying portrait value IDs or label values separated by commas.", + "in": "query", + "name": "industrySpecificCrowdsMotorDom", + "required": false, + "schema": { + "example": "科技爱好者人群,14247197", + "type": "string" + } + }, + { + "description": "Good-at content tag filter. Pass label values separated by commas.", + "in": "query", + "name": "featureTags", + "required": false, + "schema": { + "example": "vlog,探店", + "type": "string" + } + }, + { + "description": "Content theme filter. Pass Pugongying value IDs or label values separated by commas; labels are converted to value IDs.", + "in": "query", + "name": "contentThemeLabel", + "required": false, + "schema": { + "example": "沉浸式开车,汽车美图", "type": "string" } + }, + { + "description": "Whether to exclude low-activity bloggers.", + "in": "query", + "name": "excludeLowActive", + "required": false, + "schema": { + "example": true, + "type": "boolean" + } + }, + { + "description": "Whether to exclude bloggers whose fan count is dropping.", + "in": "query", + "name": "fansNumUp", + "required": false, + "schema": { + "example": true, + "type": "boolean" + } } ], "responses": { @@ -12629,13 +12907,20 @@ "tags": [ "Xiaohongshu (RedNote)" ], - "x-order": "12001700" + "x-api-version": "v2", + "x-highlights": [ + { + "content": "We recommend using the `latest` sort by default. If comments cannot be retrieved for some notes with `latest`, try again using `normal`.", + "type": "tip" + } + ], + "x-order": "12001500" } }, - "/api/xiaohongshu/get-note-comment/v4": { + "/api/xiaohongshu/get-note-comment/v3": { "get": { - "description": "Get Xiaohongshu (RedNote) note Comments data, including comment text, author profiles, and interaction data, for sentiment analysis and community monitoring.", - "operationId": "getApiXiaohongshuGetNoteCommentV4", + "description": "Get Xiaohongshu (RedNote) note Comments data, including text, authors, and timestamps, for feedback analysis.", + "operationId": "getApiXiaohongshuGetNoteCommentV3", "parameters": [ { "description": "Access token for this API service.", @@ -12654,11 +12939,81 @@ "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "content": { + }, + { + "description": "Pagination cursor from the previous page.", + "in": "query", + "name": "lastCursor", + "required": false, + "schema": { + "type": "string" + } + }, + { + "description": "Sort strategy for the result set.\n\nAvailable Values:\n- `normal`: Normal\n- `latest`: Latest\n- `like_count`: Like Count", + "in": "query", + "name": "sort", + "required": false, + "schema": { + "default": "latest", + "description": "Xiaohongshu Comment Sort V3", + "enum": [ + "normal", + "latest", + "like_count" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/Result" + } + } + }, + "description": "OK" + } + }, + "summary": "Note Comments", + "tags": [ + "Xiaohongshu (RedNote)" + ], + "x-api-version": "v3", + "x-highlights": [], + "x-order": "12001505" + } + }, + "/api/xiaohongshu/get-note-comment/v4": { + "get": { + "description": "Get Xiaohongshu (RedNote) note Comments data, including comment text, author profiles, and interaction data, for sentiment analysis and community monitoring.", + "operationId": "getApiXiaohongshuGetNoteCommentV4", + "parameters": [ + { + "description": "Access token for this API service.", + "in": "query", + "name": "token", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Unique note identifier on Xiaohongshu.", + "in": "query", + "name": "noteId", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { "*/*": { "schema": { "$ref": "#/components/schemas/Result" @@ -12674,7 +13029,7 @@ ], "x-api-version": "v4", "x-highlights": [], - "x-order": "12001800" + "x-order": "12001510" } }, "/api/xiaohongshu/get-note-detail/v1": { @@ -12738,7 +13093,8 @@ "type": "tip" } ], - "x-order": "12001400" + "x-order": "12001400", + "x-recommended": true } }, "/api/xiaohongshu/get-note-detail/v2": { @@ -12788,7 +13144,7 @@ "type": "tip" } ], - "x-order": "12001450" + "x-order": "12001410" } }, "/api/xiaohongshu/get-note-detail/v3": { @@ -12834,7 +13190,7 @@ ], "x-api-version": "v3", "x-highlights": [], - "x-order": "12001500" + "x-order": "12001420" } }, "/api/xiaohongshu/get-note-detail/v4": { @@ -12884,7 +13240,7 @@ "type": "tip" } ], - "x-order": "12001540" + "x-order": "12001430" } }, "/api/xiaohongshu/get-note-detail/v5": { @@ -12934,7 +13290,7 @@ "type": "tip" } ], - "x-order": "12001550" + "x-order": "12001440" } }, "/api/xiaohongshu/get-note-detail/v7": { @@ -12978,7 +13334,7 @@ "tags": [ "Xiaohongshu (RedNote)" ], - "x-order": "12001600" + "x-order": "12001450" } }, "/api/xiaohongshu/get-note-sub-comment/v2": { @@ -13041,7 +13397,7 @@ ], "x-api-version": "v2", "x-highlights": [], - "x-order": "12001900" + "x-order": "12001600" } }, "/api/xiaohongshu/get-topic-note-list/v1": { @@ -13110,12 +13466,11 @@ ], "x-api-version": "v1", "x-highlights": [], - "x-order": "12002150" + "x-order": "12001900" } }, "/api/xiaohongshu/get-user-note-list/v2": { "get": { - "deprecated": true, "description": "Get Xiaohongshu (RedNote) user Published Notes data, including note metadata, covers, and publish times, for account monitoring.", "operationId": "getApiXiaohongshuGetUserNoteListV2", "parameters": [ @@ -13163,7 +13518,7 @@ "tags": [ "Xiaohongshu (RedNote)" ], - "x-order": "12001200" + "x-order": "12001300" } }, "/api/xiaohongshu/get-user-note-list/v4": { @@ -13215,7 +13570,7 @@ "tags": [ "Xiaohongshu (RedNote)" ], - "x-order": "12001300" + "x-order": "12001310" } }, "/api/xiaohongshu/get-user/v3": { @@ -13260,12 +13615,11 @@ ], "x-api-version": "v3", "x-highlights": [], - "x-order": "12001000" + "x-order": "12001700" } }, "/api/xiaohongshu/get-user/v4": { "get": { - "deprecated": true, "description": "Get Xiaohongshu (RedNote) user Profile data, including follower counts and bio details, for creator research, account analysis, and competitor monitoring.", "operationId": "getApiXiaohongshuGetUserV4", "parameters": [ @@ -13306,7 +13660,102 @@ ], "x-api-version": "v4", "x-highlights": [], - "x-order": "12001100" + "x-order": "12001710" + } + }, + "/api/xiaohongshu/hot-search/v1": { + "get": { + "description": "Get Xiaohongshu (RedNote) hot Search data, including popular notes and engagement metrics, for content trend discovery.", + "operationId": "getApiXiaohongshuHotSearchV1", + "parameters": [ + { + "description": "Access token for this API service.", + "in": "query", + "name": "token", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Search keyword.", + "in": "query", + "name": "searchWord", + "required": false, + "schema": { + "default": "", + "type": "string" + } + }, + { + "description": "Page number for pagination.", + "in": "query", + "name": "pageNum", + "required": false, + "schema": { + "default": 1, + "format": "int32", + "type": "integer" + } + }, + { + "description": "Sort metric for the result set.\n\nAvailable Values:\n- `premium_imp_num`: Exposure\n- `premium_good_read_rate`: Read rate\n- `premium_read_num`: Read count\n- `premium_engage_num`: Engagement count\n- `premium_engage_rate`: Engagement rate\n- `premium_like_num`: Like count\n- `premium_fav_num`: Favorite count\n- `premium_cmt_num`: Comment count", + "in": "query", + "name": "orderBy", + "required": false, + "schema": { + "default": "premium_imp_num", + "description": "Content square ranking metric", + "enum": [ + "premium_imp_num", + "premium_good_read_rate", + "premium_read_num", + "premium_engage_num", + "premium_engage_rate", + "premium_like_num", + "premium_fav_num", + "premium_cmt_num" + ], + "type": "string" + } + }, + { + "description": "Time range in days.\n\nAvailable Values:\n- `DAY_3`: Last 3 days\n- `DAY_7`: Last 7 days\n- `DAY_14`: Last 14 days\n- `DAY_30`: Last 30 days", + "in": "query", + "name": "nd", + "required": false, + "schema": { + "default": "DAY_7", + "description": "Content square time range", + "enum": [ + "DAY_3", + "DAY_7", + "DAY_14", + "DAY_30" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/Result" + } + } + }, + "description": "OK" + } + }, + "summary": "Hot Search", + "tags": [ + "Xiaohongshu (RedNote)" + ], + "x-api-version": "v1", + "x-highlights": [], + "x-order": "12001000" } }, "/api/xiaohongshu/search-note/v2": { @@ -13411,7 +13860,7 @@ ], "x-api-version": "v2", "x-highlights": [], - "x-order": "12002000" + "x-order": "12001100" } }, "/api/xiaohongshu/search-note/v3": { @@ -13499,7 +13948,140 @@ ], "x-api-version": "v3", "x-highlights": [], - "x-order": "12002100" + "x-order": "12001110" + } + }, + "/api/xiaohongshu/search-note/v4": { + "get": { + "description": "Get Xiaohongshu (RedNote) note Search data, including snippets, authors, and media, for topic discovery.", + "operationId": "getApiXiaohongshuSearchNoteV4", + "parameters": [ + { + "description": "Access token for this API service.", + "in": "query", + "name": "token", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Search keyword.", + "in": "query", + "name": "keyword", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Page number for pagination.", + "in": "query", + "name": "page", + "required": false, + "schema": { + "default": 1, + "format": "int32", + "type": "integer" + } + }, + { + "description": "Search session ID from the previous response data.api_info.search_id.", + "in": "query", + "name": "searchId", + "required": false, + "schema": { + "default": "", + "type": "string" + } + }, + { + "description": "Session ID from the previous response data.api_info.session_id.", + "in": "query", + "name": "sessionId", + "required": false, + "schema": { + "default": "", + "type": "string" + } + }, + { + "description": "Sort order for the result set.\n\nAvailable Values:\n- `general`: General\n- `popularity_descending`: Popularity Descending\n- `time_descending`: Time Descending\n- `comment_descending`: Comment Descending\n- `collect_descending`: Collect Descending", + "in": "query", + "name": "sortType", + "required": false, + "schema": { + "default": "general", + "description": "Xiaohongshu Search Note Sort", + "enum": [ + "general", + "popularity_descending", + "time_descending", + "comment_descending", + "collect_descending" + ], + "type": "string" + } + }, + { + "description": "Note type filter.\n\nAvailable Values:\n- `不限`: No Limit\n- `视频笔记`: Video Note\n- `普通笔记`: Normal Note", + "in": "query", + "name": "noteType", + "required": false, + "schema": { + "default": "不限", + "description": "Xiaohongshu KANG Search Note Type", + "enum": [ + "不限", + "视频笔记", + "普通笔记" + ], + "type": "string" + } + }, + { + "description": "Publish time filter.\n\nAvailable Values:\n- `不限`: No Limit\n- `一天内`: Within one day\n- `一周内`: Within one week\n- `半年内`: Within half a year", + "in": "query", + "name": "timeFilter", + "required": false, + "schema": { + "default": "不限", + "description": "Xiaohongshu KANG Search Note Time Filter", + "enum": [ + "不限", + "一天内", + "一周内", + "半年内" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/Result" + } + } + }, + "description": "OK" + } + }, + "summary": "Note Search", + "tags": [ + "Xiaohongshu (RedNote)" + ], + "x-api-version": "v4", + "x-highlights": [ + { + "content": "This is a mobile app version endpoint. Search results are more accurate.", + "type": "tip" + } + ], + "x-order": "12001120", + "x-recommended": true } }, "/api/xiaohongshu/search-recommend/v1": { @@ -13544,7 +14126,7 @@ ], "x-api-version": "v1", "x-highlights": [], - "x-order": "12002500" + "x-order": "12001800" } }, "/api/xiaohongshu/search-user/v2": { @@ -13598,7 +14180,7 @@ "tags": [ "Xiaohongshu (RedNote)" ], - "x-order": "12002200" + "x-order": "12001200" } }, "/api/xiaohongshu/share-url-transfer/v1": { @@ -13643,7 +14225,7 @@ ], "x-api-version": "v3", "x-highlights": [], - "x-order": "12002400" + "x-order": "12002000" } }, "/api/youku/get-user-detail/v1": { @@ -14271,6 +14853,68 @@ "format": "int32", "type": "integer" } + }, + { + "description": "Whether to show all topics.\n\nAvailable Values:\n- `FALSE`: Do not show topics.\n- `TRUE`: Show all topics.", + "in": "query", + "name": "showAllTopics", + "required": false, + "schema": { + "default": "FALSE", + "description": "Zhihu search topic display switch.", + "enum": [ + "FALSE", + "TRUE" + ], + "type": "string" + } + }, + { + "description": "Result type filter.\n\nAvailable Values:\n- `answer`: Answers only.\n- `article`: Articles only.\n- `zvideo`: Videos only.", + "in": "query", + "name": "vertical", + "required": false, + "schema": { + "description": "Zhihu search result type.", + "enum": [ + "answer", + "article", + "zvideo" + ], + "type": "string" + } + }, + { + "description": "Sorting criteria.\n\nAvailable Values:\n- `upvoted_count`: Most upvoted.\n- `created_time`: Latest published.", + "in": "query", + "name": "sort", + "required": false, + "schema": { + "description": "Zhihu search sorting criteria.", + "enum": [ + "upvoted_count", + "created_time" + ], + "type": "string" + } + }, + { + "description": "Publish time interval filter.\n\nAvailable Values:\n- `a_day`: Within one day.\n- `a_week`: Within one week.\n- `a_month`: Within one month.\n- `three_months`: Within three months.\n- `half_a_year`: Within half a year.\n- `a_year`: Within one year.", + "in": "query", + "name": "timeInterval", + "required": false, + "schema": { + "description": "Zhihu search publish time interval.", + "enum": [ + "a_day", + "a_week", + "a_month", + "three_months", + "half_a_year", + "a_year" + ], + "type": "string" + } } ], "responses": { diff --git a/openapi/public-api.normalized.json b/openapi/public-api.normalized.json index 2a1a4a99..c9b7c699 100644 --- a/openapi/public-api.normalized.json +++ b/openapi/public-api.normalized.json @@ -3095,6 +3095,51 @@ "x-sdk-resource": "douyin_xingtu" } }, + "/api/douyin-xingtu/gw/api/aggregator/get_author_side_base_info/v1": { + "get": { + "description": "Get Douyin Creator Marketplace (Xingtu) author Side Base Info data, including the 30-day follower growth rate displayed on the creator homepage side card.", + "operationId": "getApiDouyinXingtuGwApiAggregatorGetAuthorSideBaseInfoV1", + "parameters": [ + { + "description": "Author's unique ID.", + "in": "query", + "name": "oAuthorId", + "required": true, + "schema": { + "type": "string" + }, + "x-sdk-python-name": "o_author_id" + } + ], + "responses": { + "200": { + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/Result" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "tokenAuth": [] + } + ], + "summary": "Author Side Base Info", + "tags": [ + "Douyin Creator Marketplace (Xingtu)" + ], + "x-api-version": "v1", + "x-highlights": [], + "x-order": "15003085", + "x-sdk-class-name": "DouyinXingtuResource", + "x-sdk-method-name": "gw_api_aggregator_get_author_side_base_info_v1", + "x-sdk-resource": "douyin_xingtu" + } + }, "/api/douyin-xingtu/gw/api/author/get_author_base_info/v1": { "get": { "description": "Get Douyin Creator Marketplace (Xingtu) creator Profile data, including audience and pricing data, for influencer vetting, benchmark analysis, and campaign planning.", @@ -4799,11 +4844,12 @@ "x-sdk-python-name": "kol_price_range" }, { - "description": "Content tag filter.", + "description": "Creator category filter. Pass category labels from the Xingtu page separated by commas. First-level labels map to tag, second-level labels map to tag_level_two. The old tag-1 and tag_level_two-7 ID formats are deprecated.", "in": "query", "name": "contentTag", "required": false, "schema": { + "example": "美妆,穿搭,剧情搞笑", "type": "string" }, "x-sdk-python-name": "content_tag" @@ -4949,7 +4995,7 @@ ], "x-api-version": "v3", "x-highlights": [], - "x-order": "14001000", + "x-order": "14001600", "x-sdk-class-name": "DouyinResource", "x-sdk-method-name": "get_user_detail_v3", "x-sdk-resource": "douyin" @@ -5068,7 +5114,7 @@ ], "x-api-version": "v1", "x-highlights": [], - "x-order": "14001600", + "x-order": "14001400", "x-sdk-class-name": "DouyinResource", "x-sdk-method-name": "get_video_comment_v1", "x-sdk-resource": "douyin" @@ -5170,7 +5216,7 @@ ], "x-api-version": "v1", "x-highlights": [], - "x-order": "14001700", + "x-order": "14001500", "x-sdk-class-name": "DouyinResource", "x-sdk-method-name": "get_video_sub_comment_v1", "x-sdk-resource": "douyin" @@ -5243,7 +5289,7 @@ ], "x-api-version": "v2", "x-highlights": [], - "x-order": "14001500", + "x-order": "14001100", "x-sdk-class-name": "DouyinResource", "x-sdk-method-name": "search_user_v2", "x-sdk-resource": "douyin" @@ -5363,7 +5409,7 @@ ], "x-api-version": "v4", "x-highlights": [], - "x-order": "14001400", + "x-order": "14001000", "x-sdk-class-name": "DouyinResource", "x-sdk-method-name": "search_video_v4", "x-sdk-resource": "douyin" @@ -5406,7 +5452,7 @@ "tags": [ "Douyin (TikTok China)" ], - "x-order": "14001800", + "x-order": "14001700", "x-sdk-class-name": "DouyinResource", "x-sdk-method-name": "share_url_transfer_v1", "x-sdk-resource": "douyin" @@ -7382,12 +7428,7 @@ "JD.com" ], "x-api-version": "v1", - "x-highlights": [ - { - "content": "Page limit: The maximum page number supported is 20.", - "type": "tip" - } - ], + "x-highlights": [], "x-order": "19001100", "x-sdk-class-name": "JdResource", "x-sdk-method-name": "get_item_comments_v1", @@ -7683,7 +7724,7 @@ ], "x-api-version": "v1", "x-highlights": [], - "x-order": "16001400", + "x-order": "16001500", "x-sdk-class-name": "KuaishouResource", "x-sdk-method-name": "get_user_detail_v1", "x-sdk-resource": "kuaishou" @@ -7738,7 +7779,7 @@ ], "x-api-version": "v2", "x-highlights": [], - "x-order": "16001100", + "x-order": "16001200", "x-sdk-class-name": "KuaishouResource", "x-sdk-method-name": "get_user_video_list_v2", "x-sdk-resource": "kuaishou" @@ -7791,7 +7832,7 @@ "tags": [ "Kuaishou" ], - "x-order": "16001600", + "x-order": "16001400", "x-sdk-class-name": "KuaishouResource", "x-sdk-method-name": "get_video_comment_v1", "x-sdk-resource": "kuaishou" @@ -7841,7 +7882,7 @@ "type": "tip" } ], - "x-order": "16001200", + "x-order": "16001300", "x-sdk-class-name": "KuaishouResource", "x-sdk-method-name": "get_video_detail_v2", "x-sdk-resource": "kuaishou" @@ -7898,7 +7939,7 @@ ], "x-api-version": "v2", "x-highlights": [], - "x-order": "16001000", + "x-order": "16001100", "x-sdk-class-name": "KuaishouResource", "x-sdk-method-name": "search_user_v2", "x-sdk-resource": "kuaishou" @@ -7955,7 +7996,7 @@ ], "x-api-version": "v2", "x-highlights": [], - "x-order": "16001300", + "x-order": "16001000", "x-sdk-class-name": "KuaishouResource", "x-sdk-method-name": "search_video_v2", "x-sdk-resource": "kuaishou" @@ -8000,12 +8041,57 @@ ], "x-api-version": "v1", "x-highlights": [], - "x-order": "16001500", + "x-order": "16001600", "x-sdk-class-name": "KuaishouResource", "x-sdk-method-name": "share_url_transfer_v1", "x-sdk-resource": "kuaishou" } }, + "/api/llm/doubao-answer/v1": { + "get": { + "description": "Get a Doubao web answer for a keyword or question, including extracted references when available.", + "operationId": "getApiLlmDoubaoAnswerV1", + "parameters": [ + { + "description": "Keyword or question to ask Doubao.", + "in": "query", + "name": "keyword", + "required": true, + "schema": { + "type": "string" + }, + "x-sdk-python-name": "keyword" + } + ], + "responses": { + "200": { + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/Result" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "tokenAuth": [] + } + ], + "summary": "Doubao Answer", + "tags": [ + "LLM" + ], + "x-api-version": "v1", + "x-highlights": [], + "x-order": "36001000", + "x-sdk-class-name": "LlmResource", + "x-sdk-method-name": "doubao_answer_v1", + "x-sdk-resource": "llm" + } + }, "/api/reddit/get-post-comments/v1": { "get": { "description": "Get Reddit post Comments data, including text, authors, and timestamps, for discussion analysis and moderation research.", @@ -10814,6 +10900,7 @@ }, "/api/weixin/get-article-comment/v1": { "get": { + "deprecated": true, "description": "Get WeChat Official Accounts article Comments data, including commenter details, comment text, and timestamps, for feedback analysis.", "operationId": "getApiWeixinGetArticleCommentV1", "parameters": [ @@ -10859,6 +10946,7 @@ }, "/api/weixin/get-article-detail/v1": { "get": { + "deprecated": true, "description": "Get WeChat Official Accounts article Details data, including body content, for article archiving, research, and content analysis.", "operationId": "getApiWeixinGetArticleDetailV1", "parameters": [ @@ -10896,7 +10984,7 @@ ], "x-api-version": "v1", "x-highlights": [], - "x-order": 20001400, + "x-order": 34501400, "x-sdk-class-name": "WeixinResource", "x-sdk-method-name": "get_article_detail_v1", "x-sdk-resource": "weixin" @@ -10904,6 +10992,7 @@ }, "/api/weixin/get-article-feedback/v1": { "get": { + "deprecated": true, "description": "Get WeChat Official Accounts article Engagement Metrics data, including like, share, and comment metrics, for article performance tracking and benchmarking.", "operationId": "getApiWeixinGetArticleFeedbackV1", "parameters": [ @@ -10949,6 +11038,7 @@ }, "/api/weixin/get-user-post/v1": { "get": { + "deprecated": true, "description": "Get WeChat Official Accounts user Published Posts data, including titles, publish times, and summaries, for account monitoring.", "operationId": "getApiWeixinGetUserPostV1", "parameters": [ @@ -10994,6 +11084,7 @@ }, "/api/weixin/search/v1": { "get": { + "deprecated": true, "description": "Get WeChat Official Accounts keyword Search data, including account names, titles, and publish times, for content discovery.", "operationId": "getApiWeixinSearchV1", "parameters": [ @@ -11093,6 +11184,126 @@ "x-sdk-resource": "weixin" } }, + "/api/xiaohongshu-pgy/api/pgy/content_square/search_note_v2/v1": { + "get": { + "description": "Search Xiaohongshu Creator Marketplace (Pugongying) content square notes by business type, ranking metric, time range, and keyword.", + "operationId": "getApiXiaohongshuPgyApiPgyContentSquareSearchNoteV2V1", + "parameters": [ + { + "description": "Keyword for note search. Empty string searches all notes.", + "in": "query", + "name": "searchWord", + "required": false, + "schema": { + "default": "", + "type": "string" + }, + "x-sdk-python-name": "search_word" + }, + { + "description": "Page number for results.", + "in": "query", + "name": "pageNum", + "required": false, + "schema": { + "default": 1, + "format": "int32", + "type": "integer" + }, + "x-sdk-python-name": "page_num" + }, + { + "description": "Business category.\n\nAvailable Values:\n- `XIAOHONGSHU_HOT`: Xiaohongshu hot\n- `PRODUCT_SEEDING`: Product seeding\n- `ECOMMERCE_PROMOTION`: E-commerce promotion\n- `PUGONGYING_COOPERATION`: Pugongying cooperation\n- `LEAD_COLLECTION`: Lead collection\n- `ECOMMERCE_HOT`: E-commerce hot\n- `SEEDING_DIRECT`: Seeding direct\n- `APP_PROMOTION`: App promotion", + "in": "query", + "name": "bizType", + "required": false, + "schema": { + "default": "XIAOHONGSHU_HOT", + "description": "Content square business category", + "enum": [ + "XIAOHONGSHU_HOT", + "PRODUCT_SEEDING", + "ECOMMERCE_PROMOTION", + "PUGONGYING_COOPERATION", + "LEAD_COLLECTION", + "ECOMMERCE_HOT", + "SEEDING_DIRECT", + "APP_PROMOTION" + ], + "type": "string" + }, + "x-sdk-python-name": "biz_type" + }, + { + "description": "Ranking metric.\n\nAvailable Values:\n- `premium_imp_num`: Exposure\n- `premium_good_read_rate`: Read rate\n- `premium_read_num`: Read count\n- `premium_engage_num`: Engagement count\n- `premium_engage_rate`: Engagement rate\n- `premium_like_num`: Like count\n- `premium_fav_num`: Favorite count\n- `premium_cmt_num`: Comment count", + "in": "query", + "name": "orderBy", + "required": false, + "schema": { + "default": "premium_imp_num", + "description": "Content square ranking metric", + "enum": [ + "premium_imp_num", + "premium_good_read_rate", + "premium_read_num", + "premium_engage_num", + "premium_engage_rate", + "premium_like_num", + "premium_fav_num", + "premium_cmt_num" + ], + "type": "string" + }, + "x-sdk-python-name": "order_by" + }, + { + "description": "Time range in days.\n\nAvailable Values:\n- `DAY_3`: Last 3 days\n- `DAY_7`: Last 7 days\n- `DAY_14`: Last 14 days\n- `DAY_30`: Last 30 days", + "in": "query", + "name": "nd", + "required": false, + "schema": { + "default": "DAY_7", + "description": "Content square time range", + "enum": [ + "DAY_3", + "DAY_7", + "DAY_14", + "DAY_30" + ], + "type": "string" + }, + "x-sdk-python-name": "nd" + } + ], + "responses": { + "200": { + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/Result" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "tokenAuth": [] + } + ], + "summary": "Content Square Notes", + "tags": [ + "Xiaohongshu Creator Marketplace (Pugongying)" + ], + "x-api-version": "v1", + "x-highlights": [], + "x-order": "13002350", + "x-sdk-class-name": "XiaohongshuPgyResource", + "x-sdk-method-name": "api_pgy_content_square_search_note_v2_v1", + "x-sdk-resource": "xiaohongshu_pgy" + } + }, "/api/xiaohongshu-pgy/api/pgy/kol/data/core_data/v1": { "get": { "description": "Get Xiaohongshu Creator Marketplace (Pugongying) creator Core Metrics data, including engagement and content metrics, for benchmarking, vetting, and campaign planning.", @@ -11323,14 +11534,92 @@ "x-sdk-python-name": "gender" }, { - "description": "Content categories, separated by commas.", + "description": "Content category filter. Pass first-level or second-level category labels from Pugongying, separated by commas.", "in": "query", "name": "contentTag", "required": false, "schema": { + "example": "美妆,护肤,美食教程", "type": "string" }, "x-sdk-python-name": "content_tag" + }, + { + "description": "Blogger persona tag filter covering family identity, profession identity, and special background labels. Pass label values separated by commas.", + "in": "query", + "name": "personalTags", + "required": false, + "schema": { + "example": "妈妈,工程师,留学背景", + "type": "string" + }, + "x-sdk-python-name": "personal_tags" + }, + { + "description": "Top-20 audience filter. Pass top-level or child audience labels separated by commas; child labels are converted to Pugongying request values.", + "in": "query", + "name": "top20CrowdsLabel", + "required": false, + "schema": { + "example": "自在户外,挑战极限者", + "type": "string" + }, + "x-sdk-python-name": "top20_crowds_label" + }, + { + "description": "Industry-specific portrait filter. Pass Pugongying portrait value IDs or label values separated by commas.", + "in": "query", + "name": "industrySpecificCrowdsMotorDom", + "required": false, + "schema": { + "example": "科技爱好者人群,14247197", + "type": "string" + }, + "x-sdk-python-name": "industry_specific_crowds_motor_dom" + }, + { + "description": "Good-at content tag filter. Pass label values separated by commas.", + "in": "query", + "name": "featureTags", + "required": false, + "schema": { + "example": "vlog,探店", + "type": "string" + }, + "x-sdk-python-name": "feature_tags" + }, + { + "description": "Content theme filter. Pass Pugongying value IDs or label values separated by commas; labels are converted to value IDs.", + "in": "query", + "name": "contentThemeLabel", + "required": false, + "schema": { + "example": "沉浸式开车,汽车美图", + "type": "string" + }, + "x-sdk-python-name": "content_theme_label" + }, + { + "description": "Whether to exclude low-activity bloggers.", + "in": "query", + "name": "excludeLowActive", + "required": false, + "schema": { + "example": true, + "type": "boolean" + }, + "x-sdk-python-name": "exclude_low_active" + }, + { + "description": "Whether to exclude bloggers whose fan count is dropping.", + "in": "query", + "name": "fansNumUp", + "required": false, + "schema": { + "example": true, + "type": "boolean" + }, + "x-sdk-python-name": "fans_num_up" } ], "responses": { @@ -12869,16 +13158,23 @@ "tags": [ "Xiaohongshu (RedNote)" ], - "x-order": "12001700", + "x-api-version": "v2", + "x-highlights": [ + { + "content": "We recommend using the `latest` sort by default. If comments cannot be retrieved for some notes with `latest`, try again using `normal`.", + "type": "tip" + } + ], + "x-order": "12001500", "x-sdk-class-name": "XiaohongshuResource", "x-sdk-method-name": "get_note_comment_v2", "x-sdk-resource": "xiaohongshu" } }, - "/api/xiaohongshu/get-note-comment/v4": { + "/api/xiaohongshu/get-note-comment/v3": { "get": { - "description": "Get Xiaohongshu (RedNote) note Comments data, including comment text, author profiles, and interaction data, for sentiment analysis and community monitoring.", - "operationId": "getApiXiaohongshuGetNoteCommentV4", + "description": "Get Xiaohongshu (RedNote) note Comments data, including text, authors, and timestamps, for feedback analysis.", + "operationId": "getApiXiaohongshuGetNoteCommentV3", "parameters": [ { "description": "Unique note identifier on Xiaohongshu.", @@ -12889,16 +13185,88 @@ "type": "string" }, "x-sdk-python-name": "note_id" - } - ], - "responses": { - "200": { - "content": { - "*/*": { - "schema": { - "$ref": "#/components/schemas/Result" - } - } + }, + { + "description": "Pagination cursor from the previous page.", + "in": "query", + "name": "lastCursor", + "required": false, + "schema": { + "type": "string" + }, + "x-sdk-python-name": "last_cursor" + }, + { + "description": "Sort strategy for the result set.\n\nAvailable Values:\n- `normal`: Normal\n- `latest`: Latest\n- `like_count`: Like Count", + "in": "query", + "name": "sort", + "required": false, + "schema": { + "default": "latest", + "description": "Xiaohongshu Comment Sort V3", + "enum": [ + "normal", + "latest", + "like_count" + ], + "type": "string" + }, + "x-sdk-python-name": "sort" + } + ], + "responses": { + "200": { + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/Result" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "tokenAuth": [] + } + ], + "summary": "Note Comments", + "tags": [ + "Xiaohongshu (RedNote)" + ], + "x-api-version": "v3", + "x-highlights": [], + "x-order": "12001505", + "x-sdk-class-name": "XiaohongshuResource", + "x-sdk-method-name": "get_note_comment_v3", + "x-sdk-resource": "xiaohongshu" + } + }, + "/api/xiaohongshu/get-note-comment/v4": { + "get": { + "description": "Get Xiaohongshu (RedNote) note Comments data, including comment text, author profiles, and interaction data, for sentiment analysis and community monitoring.", + "operationId": "getApiXiaohongshuGetNoteCommentV4", + "parameters": [ + { + "description": "Unique note identifier on Xiaohongshu.", + "in": "query", + "name": "noteId", + "required": true, + "schema": { + "type": "string" + }, + "x-sdk-python-name": "note_id" + } + ], + "responses": { + "200": { + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/Result" + } + } }, "description": "OK" } @@ -12914,7 +13282,7 @@ ], "x-api-version": "v4", "x-highlights": [], - "x-order": "12001800", + "x-order": "12001510", "x-sdk-class-name": "XiaohongshuResource", "x-sdk-method-name": "get_note_comment_v4", "x-sdk-resource": "xiaohongshu" @@ -12980,6 +13348,7 @@ } ], "x-order": "12001400", + "x-recommended": true, "x-sdk-class-name": "XiaohongshuResource", "x-sdk-method-name": "get_note_detail_v1", "x-sdk-resource": "xiaohongshu" @@ -13029,7 +13398,7 @@ "type": "tip" } ], - "x-order": "12001450", + "x-order": "12001410", "x-sdk-class-name": "XiaohongshuResource", "x-sdk-method-name": "get_note_detail_v2", "x-sdk-resource": "xiaohongshu" @@ -13075,7 +13444,7 @@ ], "x-api-version": "v3", "x-highlights": [], - "x-order": "12001500", + "x-order": "12001420", "x-sdk-class-name": "XiaohongshuResource", "x-sdk-method-name": "get_note_detail_v3", "x-sdk-resource": "xiaohongshu" @@ -13125,7 +13494,7 @@ "type": "tip" } ], - "x-order": "12001540", + "x-order": "12001430", "x-sdk-class-name": "XiaohongshuResource", "x-sdk-method-name": "get_note_detail_v4", "x-sdk-resource": "xiaohongshu" @@ -13175,7 +13544,7 @@ "type": "tip" } ], - "x-order": "12001550", + "x-order": "12001440", "x-sdk-class-name": "XiaohongshuResource", "x-sdk-method-name": "get_note_detail_v5", "x-sdk-resource": "xiaohongshu" @@ -13219,7 +13588,7 @@ "tags": [ "Xiaohongshu (RedNote)" ], - "x-order": "12001600", + "x-order": "12001450", "x-sdk-class-name": "XiaohongshuResource", "x-sdk-method-name": "get_note_detail_v7", "x-sdk-resource": "xiaohongshu" @@ -13284,7 +13653,7 @@ ], "x-api-version": "v2", "x-highlights": [], - "x-order": "12001900", + "x-order": "12001600", "x-sdk-class-name": "XiaohongshuResource", "x-sdk-method-name": "get_note_sub_comment_v2", "x-sdk-resource": "xiaohongshu" @@ -13355,7 +13724,7 @@ ], "x-api-version": "v1", "x-highlights": [], - "x-order": "12002150", + "x-order": "12001900", "x-sdk-class-name": "XiaohongshuResource", "x-sdk-method-name": "get_topic_note_list_v1", "x-sdk-resource": "xiaohongshu" @@ -13363,7 +13732,6 @@ }, "/api/xiaohongshu/get-user-note-list/v2": { "get": { - "deprecated": true, "description": "Get Xiaohongshu (RedNote) user Published Notes data, including note metadata, covers, and publish times, for account monitoring.", "operationId": "getApiXiaohongshuGetUserNoteListV2", "parameters": [ @@ -13409,7 +13777,7 @@ "tags": [ "Xiaohongshu (RedNote)" ], - "x-order": "12001200", + "x-order": "12001300", "x-sdk-class-name": "XiaohongshuResource", "x-sdk-method-name": "get_user_note_list_v2", "x-sdk-resource": "xiaohongshu" @@ -13462,7 +13830,7 @@ "tags": [ "Xiaohongshu (RedNote)" ], - "x-order": "12001300", + "x-order": "12001310", "x-sdk-class-name": "XiaohongshuResource", "x-sdk-method-name": "get_user_note_list_v4", "x-sdk-resource": "xiaohongshu" @@ -13507,7 +13875,7 @@ ], "x-api-version": "v3", "x-highlights": [], - "x-order": "12001000", + "x-order": "12001700", "x-sdk-class-name": "XiaohongshuResource", "x-sdk-method-name": "get_user_v3", "x-sdk-resource": "xiaohongshu" @@ -13515,7 +13883,6 @@ }, "/api/xiaohongshu/get-user/v4": { "get": { - "deprecated": true, "description": "Get Xiaohongshu (RedNote) user Profile data, including follower counts and bio details, for creator research, account analysis, and competitor monitoring.", "operationId": "getApiXiaohongshuGetUserV4", "parameters": [ @@ -13553,12 +13920,110 @@ ], "x-api-version": "v4", "x-highlights": [], - "x-order": "12001100", + "x-order": "12001710", "x-sdk-class-name": "XiaohongshuResource", "x-sdk-method-name": "get_user_v4", "x-sdk-resource": "xiaohongshu" } }, + "/api/xiaohongshu/hot-search/v1": { + "get": { + "description": "Get Xiaohongshu (RedNote) hot Search data, including popular notes and engagement metrics, for content trend discovery.", + "operationId": "getApiXiaohongshuHotSearchV1", + "parameters": [ + { + "description": "Search keyword.", + "in": "query", + "name": "searchWord", + "required": false, + "schema": { + "default": "", + "type": "string" + }, + "x-sdk-python-name": "search_word" + }, + { + "description": "Page number for pagination.", + "in": "query", + "name": "pageNum", + "required": false, + "schema": { + "default": 1, + "format": "int32", + "type": "integer" + }, + "x-sdk-python-name": "page_num" + }, + { + "description": "Sort metric for the result set.\n\nAvailable Values:\n- `premium_imp_num`: Exposure\n- `premium_good_read_rate`: Read rate\n- `premium_read_num`: Read count\n- `premium_engage_num`: Engagement count\n- `premium_engage_rate`: Engagement rate\n- `premium_like_num`: Like count\n- `premium_fav_num`: Favorite count\n- `premium_cmt_num`: Comment count", + "in": "query", + "name": "orderBy", + "required": false, + "schema": { + "default": "premium_imp_num", + "description": "Content square ranking metric", + "enum": [ + "premium_imp_num", + "premium_good_read_rate", + "premium_read_num", + "premium_engage_num", + "premium_engage_rate", + "premium_like_num", + "premium_fav_num", + "premium_cmt_num" + ], + "type": "string" + }, + "x-sdk-python-name": "order_by" + }, + { + "description": "Time range in days.\n\nAvailable Values:\n- `DAY_3`: Last 3 days\n- `DAY_7`: Last 7 days\n- `DAY_14`: Last 14 days\n- `DAY_30`: Last 30 days", + "in": "query", + "name": "nd", + "required": false, + "schema": { + "default": "DAY_7", + "description": "Content square time range", + "enum": [ + "DAY_3", + "DAY_7", + "DAY_14", + "DAY_30" + ], + "type": "string" + }, + "x-sdk-python-name": "nd" + } + ], + "responses": { + "200": { + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/Result" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "tokenAuth": [] + } + ], + "summary": "Hot Search", + "tags": [ + "Xiaohongshu (RedNote)" + ], + "x-api-version": "v1", + "x-highlights": [], + "x-order": "12001000", + "x-sdk-class-name": "XiaohongshuResource", + "x-sdk-method-name": "hot_search_v1", + "x-sdk-resource": "xiaohongshu" + } + }, "/api/xiaohongshu/search-note/v2": { "get": { "description": "Get Xiaohongshu (RedNote) note Search data, including snippets, authors, and media, for topic discovery.", @@ -13662,7 +14127,7 @@ ], "x-api-version": "v2", "x-highlights": [], - "x-order": "12002000", + "x-order": "12001100", "x-sdk-class-name": "XiaohongshuResource", "x-sdk-method-name": "search_note_v2", "x-sdk-resource": "xiaohongshu" @@ -13753,12 +14218,151 @@ ], "x-api-version": "v3", "x-highlights": [], - "x-order": "12002100", + "x-order": "12001110", "x-sdk-class-name": "XiaohongshuResource", "x-sdk-method-name": "search_note_v3", "x-sdk-resource": "xiaohongshu" } }, + "/api/xiaohongshu/search-note/v4": { + "get": { + "description": "Get Xiaohongshu (RedNote) note Search data, including snippets, authors, and media, for topic discovery.", + "operationId": "getApiXiaohongshuSearchNoteV4", + "parameters": [ + { + "description": "Search keyword.", + "in": "query", + "name": "keyword", + "required": true, + "schema": { + "type": "string" + }, + "x-sdk-python-name": "keyword" + }, + { + "description": "Page number for pagination.", + "in": "query", + "name": "page", + "required": false, + "schema": { + "default": 1, + "format": "int32", + "type": "integer" + }, + "x-sdk-python-name": "page" + }, + { + "description": "Search session ID from the previous response data.api_info.search_id.", + "in": "query", + "name": "searchId", + "required": false, + "schema": { + "default": "", + "type": "string" + }, + "x-sdk-python-name": "search_id" + }, + { + "description": "Session ID from the previous response data.api_info.session_id.", + "in": "query", + "name": "sessionId", + "required": false, + "schema": { + "default": "", + "type": "string" + }, + "x-sdk-python-name": "session_id" + }, + { + "description": "Sort order for the result set.\n\nAvailable Values:\n- `general`: General\n- `popularity_descending`: Popularity Descending\n- `time_descending`: Time Descending\n- `comment_descending`: Comment Descending\n- `collect_descending`: Collect Descending", + "in": "query", + "name": "sortType", + "required": false, + "schema": { + "default": "general", + "description": "Xiaohongshu Search Note Sort", + "enum": [ + "general", + "popularity_descending", + "time_descending", + "comment_descending", + "collect_descending" + ], + "type": "string" + }, + "x-sdk-python-name": "sort_type" + }, + { + "description": "Note type filter.\n\nAvailable Values:\n- `不限`: No Limit\n- `视频笔记`: Video Note\n- `普通笔记`: Normal Note", + "in": "query", + "name": "noteType", + "required": false, + "schema": { + "default": "不限", + "description": "Xiaohongshu KANG Search Note Type", + "enum": [ + "不限", + "视频笔记", + "普通笔记" + ], + "type": "string" + }, + "x-sdk-python-name": "note_type" + }, + { + "description": "Publish time filter.\n\nAvailable Values:\n- `不限`: No Limit\n- `一天内`: Within one day\n- `一周内`: Within one week\n- `半年内`: Within half a year", + "in": "query", + "name": "timeFilter", + "required": false, + "schema": { + "default": "不限", + "description": "Xiaohongshu KANG Search Note Time Filter", + "enum": [ + "不限", + "一天内", + "一周内", + "半年内" + ], + "type": "string" + }, + "x-sdk-python-name": "time_filter" + } + ], + "responses": { + "200": { + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/Result" + } + } + }, + "description": "OK" + } + }, + "security": [ + { + "tokenAuth": [] + } + ], + "summary": "Note Search", + "tags": [ + "Xiaohongshu (RedNote)" + ], + "x-api-version": "v4", + "x-highlights": [ + { + "content": "This is a mobile app version endpoint. Search results are more accurate.", + "type": "tip" + } + ], + "x-order": "12001120", + "x-recommended": true, + "x-sdk-class-name": "XiaohongshuResource", + "x-sdk-method-name": "search_note_v4", + "x-sdk-resource": "xiaohongshu" + } + }, "/api/xiaohongshu/search-recommend/v1": { "get": { "description": "Get Xiaohongshu (RedNote) keyword Suggestions data, including suggested queries, keyword variants, and query metadata, for expanding keyword sets for content research and seo/pseo workflows and improving search coverage by using platform-recommended terms.", @@ -13798,7 +14402,7 @@ ], "x-api-version": "v1", "x-highlights": [], - "x-order": "12002500", + "x-order": "12001800", "x-sdk-class-name": "XiaohongshuResource", "x-sdk-method-name": "search_recommend_v1", "x-sdk-resource": "xiaohongshu" @@ -13853,7 +14457,7 @@ "tags": [ "Xiaohongshu (RedNote)" ], - "x-order": "12002200", + "x-order": "12001200", "x-sdk-class-name": "XiaohongshuResource", "x-sdk-method-name": "search_user_v2", "x-sdk-resource": "xiaohongshu" @@ -13898,7 +14502,7 @@ ], "x-api-version": "v3", "x-highlights": [], - "x-order": "12002400", + "x-order": "12002000", "x-sdk-class-name": "XiaohongshuResource", "x-sdk-method-name": "share_url_transfer_v1", "x-sdk-resource": "xiaohongshu" @@ -14535,6 +15139,72 @@ "type": "integer" }, "x-sdk-python-name": "offset" + }, + { + "description": "Whether to show all topics.\n\nAvailable Values:\n- `FALSE`: Do not show topics.\n- `TRUE`: Show all topics.", + "in": "query", + "name": "showAllTopics", + "required": false, + "schema": { + "default": "FALSE", + "description": "Zhihu search topic display switch.", + "enum": [ + "FALSE", + "TRUE" + ], + "type": "string" + }, + "x-sdk-python-name": "show_all_topics" + }, + { + "description": "Result type filter.\n\nAvailable Values:\n- `answer`: Answers only.\n- `article`: Articles only.\n- `zvideo`: Videos only.", + "in": "query", + "name": "vertical", + "required": false, + "schema": { + "description": "Zhihu search result type.", + "enum": [ + "answer", + "article", + "zvideo" + ], + "type": "string" + }, + "x-sdk-python-name": "vertical" + }, + { + "description": "Sorting criteria.\n\nAvailable Values:\n- `upvoted_count`: Most upvoted.\n- `created_time`: Latest published.", + "in": "query", + "name": "sort", + "required": false, + "schema": { + "description": "Zhihu search sorting criteria.", + "enum": [ + "upvoted_count", + "created_time" + ], + "type": "string" + }, + "x-sdk-python-name": "sort" + }, + { + "description": "Publish time interval filter.\n\nAvailable Values:\n- `a_day`: Within one day.\n- `a_week`: Within one week.\n- `a_month`: Within one month.\n- `three_months`: Within three months.\n- `half_a_year`: Within half a year.\n- `a_year`: Within one year.", + "in": "query", + "name": "timeInterval", + "required": false, + "schema": { + "description": "Zhihu search publish time interval.", + "enum": [ + "a_day", + "a_week", + "a_month", + "three_months", + "half_a_year", + "a_year" + ], + "type": "string" + }, + "x-sdk-python-name": "time_interval" } ], "responses": {