{"id":"7a9a996e-e338-411a-b15e-4a79eda1ce3d","slug":"xiaohongshu-com-api","name":"xiaohongshu.com API","description":"Retrieve detailed post content and user profile information from Xiaohongshu, including captions, images, engagement metrics, and creator details. Access public note data and creator profiles to research trending content and user activity on the platform.","front_facing_description":"Retrieve detailed post content and user profile information from Xiaohongshu, including captions, images, engagement metrics, and creator details. Access public note data and creator profiles to research trending content and user activity on the platform.","source_url":"https://www.xiaohongshu.com/explore","is_authenticated":false,"canonical_scraper_id":"112e2db4-437f-4511-96f5-f0f62d23a010","apis":[{"method":"GET","endpoint_name":"get_note_detail","description":"Fetches a single note full content by its ID. Returns title, description, images, video (when present), tags, author info, and interaction stats. Requires both note_id and xsec_token. The token is per-note and cannot be reused across different notes. Video notes include stream URL, duration, and resolution; image notes include an ordered image list with dimensions.","input_params":{"note_id":{"type":"string","required":true,"description":"The note/post ID, a 24-character hex string.","domain":{"kind":"open","example":"6a33642e00000000060305b5","pattern":"[0-9a-f]{24}","generator":{"path":"$.data.notes[*].note_id","type":"derived","from_endpoint":"list_feed"}}},"xsec_token":{"type":"string","required":true,"description":"Per-note security token unique to each note. Cannot be reused across different notes. Obtained from feed data or share links for the specific note.","domain":{"kind":"open","example":"ABmMXvAQK01esMLcrrPpy5X3fsw-b9AAt6c0yQuahVzAg=","pattern":"^[A-Za-z0-9+/=_-]+$","generator":{"path":"$.data.notes[*].xsec_token","type":"derived","from_endpoint":"list_feed"}}}},"return_schema":{"type":"object","fields":{"tags":"array of objects with id, name, type","time":"integer (creation timestamp in milliseconds)","type":"string (normal or video)","user":"object with user_id, nickname, avatar","title":"string","video":"object with duration, url, format, width, height (present only for video notes)","images":"array of objects with url, width, height, file_id","note_id":"string","description":"string (post body text)","ip_location":"string (author location at time of posting)","interact_info":"object with liked_count, collected_count, comment_count, share_count (all strings, may use Chinese units)","last_update_time":"integer (last update timestamp in milliseconds)"}},"initiates_session":false,"price":2,"verification":{"assertions":[{"path":"$.status","op":"equals","value":"success"},{"path":"$.data.note_id","op":"not_null"},{"path":"$.data.user.user_id","op":"not_null"},{"path":"$.data.interact_info.liked_count","op":"not_null"}],"empty_is_valid":false,"recipe_version":1}},{"method":"GET","endpoint_name":"get_user_profile","description":"Fetches a user public profile by user ID. Returns nickname, bio, avatar URL, follower/following counts, location, gender, Red ID, and profile tags. Counts may use Chinese notation (e.g. '1万+' for 10,000+).","input_params":{"user_id":{"type":"string","required":true,"description":"The user ID, a 24-character hex string.","domain":{"kind":"open","example":"54e57f6de7798931ef455d1d","pattern":"[0-9a-f]{24}","generator":{"type":"static","value":"54e57f6de7798931ef455d1d"}}}},"return_schema":{"type":"object","fields":{"fans":"string (follower count, may use Chinese units)","tags":"array of objects with type, and optional name and icon fields","avatar":"string (avatar URL)","gender":"integer (0=male, 1=female)","red_id":"string (public Red ID)","follows":"string (following count)","user_id":"string","nickname":"string","description":"string (user bio)","ip_location":"string","likes_and_collects":"string (total likes and collects received)"}},"initiates_session":false,"price":2,"verification":{"assertions":[{"path":"$.status","op":"equals","value":"success"},{"path":"$.data.user_id","op":"not_null"},{"path":"$.data.nickname","op":"not_null"},{"path":"$.data.fans","op":"not_null"}],"empty_is_valid":false,"recipe_version":1}},{"method":"GET","endpoint_name":"list_feed","description":"Lists notes from the Xiaohongshu explore feed. Returns an array of note summaries including note_id and xsec_token pairs that can be used with get_note_detail. Results vary per request as the feed is personalized/randomized. No input parameters required.","input_params":{},"return_schema":{"type":"object","fields":{"notes":"array of objects with note_id, xsec_token, title, type, and user (object with user_id, nickname)"},"sample":{"data":{"notes":[{"type":"","user":{"user_id":"","nickname":""},"title":"","note_id":"6a33642e00000000060305b5","xsec_token":"ABmMXvAQK01esMLcrrPpy5X3fsw-b9AAt6c0yQuahVzAg="}]},"status":"success"}},"initiates_session":false,"price":1,"verification":{"assertions":[{"path":"$.status","op":"equals","value":"success"},{"path":"$.data.notes","op":"not_null"},{"path":"$.data.notes[0].note_id","op":"not_null"},{"path":"$.data.notes[0].xsec_token","op":"not_null"}],"empty_is_valid":false,"recipe_version":1}}],"sample_inputs":{"list_feed":{},"get_note_detail":{"note_id":"6a7efdc1000000002701fa4c","xsec_token":"ABOCCPyrj2KeFmHKT6ScypXA6nh_Sm9nTODDxejzm7W7o="},"get_user_profile":{"user_id":"54e57f6de7798931ef455d1d"}},"prefill_inputs":{"get_user_profile":{"user_id":"54e57f6de7798931ef455d1d"}},"last_verified_at":"2026-10-28T04:01:52.889829+00:00","endpoint_health":[{"endpoint_name":"list_feed","status":"healthy","last_checked_at":"2026-10-28T04:01:52.889829+00:00","last_verified_at":"2026-10-28T04:01:52.889829+00:00","recent_runs":[{"at":"2026-10-28T04:01:52.889829+00:00","status":"healthy"},{"at":"2026-10-21T03:03:52.896930+00:00","status":"healthy"},{"at":"2026-10-14T02:01:52.941870+00:00","status":"healthy"},{"at":"2026-10-07T01:04:25.239416+00:00","status":"healthy"},{"at":"2026-09-30T01:03:52.976656+00:00","status":"healthy"}]},{"endpoint_name":"get_user_profile","status":"healthy","last_checked_at":"2026-10-28T04:01:52.889829+00:00","last_verified_at":"2026-10-28T04:01:52.889829+00:00","recent_runs":[{"at":"2026-10-28T04:01:52.889829+00:00","status":"healthy"},{"at":"2026-10-21T03:03:52.896930+00:00","status":"healthy"},{"at":"2026-10-14T02:01:52.941870+00:00","status":"healthy"},{"at":"2026-10-07T01:04:25.239416+00:00","status":"healthy"},{"at":"2026-09-30T01:03:52.976656+00:00","status":"healthy"}]},{"endpoint_name":"get_note_detail","status":"healthy","last_checked_at":"2026-10-28T04:01:52.889829+00:00","last_verified_at":"2026-10-28T04:01:52.889829+00:00","recent_runs":[{"at":"2026-10-28T04:01:52.889829+00:00","status":"healthy"},{"at":"2026-10-21T03:03:52.896930+00:00","status":"healthy"},{"at":"2026-10-14T02:01:52.941870+00:00","status":"healthy"},{"at":"2026-10-07T01:04:25.239416+00:00","status":"healthy"},{"at":"2026-09-30T01:03:52.976656+00:00","status":"healthy"}]}],"sdk_usage_example":null,"sdk_delivery_state":"absent","summary":"Extract note/post content and user profile information from Xiaohongshu (Little Red Book). Search and post creation require authentication and are not available.","updated_at":"2026-09-16T00:05:43.899423+00:00","user_variants":[],"latest_version":8,"user_status":null,"user_scraper_id":null,"contributes_to_marketplace":true,"pinned_version":null,"seo_content":{"faqs":[{"a":"Xiaohongshu does not publish a general-purpose public developer API. There is a business-facing partner program, but it is closed to open registration and not documented for third-party developer use.","q":"Does Xiaohongshu have an official developer API?"},{"a":"The `xsec_token` is a per-note security token required by `get_note_detail`. It is scoped to one specific note and cannot be reused across different notes. The `list_feed` endpoint returns valid `note_id`/`xsec_token` pairs together in its response, making it the intended source for these tokens.","q":"What is the xsec_token and where do I get it?"},{"a":"The `get_note_detail` response includes interaction stats, but the endpoint description does not expose individual like, comment, or save counts as discrete labeled fields in the current schema. The API covers title, description, images, video, tags, author info, timestamp, and ip_location. You can fork this API on Parse and revise it to surface specific engagement count fields if they appear in the source data.","q":"Does the API return engagement metrics like likes, comments, or saves for a note?"},{"a":"Search is not available in this API. The three endpoints cover the explore feed, individual note detail, and user profiles. You can fork this API on Parse and revise it to add a search endpoint if that capability is needed.","q":"Can I search for notes by keyword or hashtag?"},{"a":"The `list_feed` endpoint takes no input parameters and returns a single randomized batch of feed summaries with no pagination or topic-filter controls. The result set varies per call. You can fork this API on Parse and revise it to add cursor-based pagination or category filtering if the underlying feed supports those parameters.","q":"Does the feed endpoint support pagination or filtering by topic?"}],"keywords":["xiaohongshu api","little red book api","xhs note data api","xiaohongshu post scraper api","xiaohongshu user profile api","little red book influencer data","xiaohongshu explore feed api","xiaohongshu image and video content api","xhs creator follower count api","xiaohongshu note detail endpoint","little red book social media data","xiaohongshu tag and topic data","xhs note_id xsec_token api","chinese social media content api"],"use_cases":["Collecting Xiaohongshu note content including images and video URLs for content archival or analysis","Monitoring creator profile stats — follower counts, bio, and Red ID — over time for influencer research","Sampling the explore feed to identify trending note types and topics by inspecting returned `tags`","Pairing `list_feed` with `get_note_detail` to build a pipeline that enriches feed summaries with full post content","Extracting `ip_location` and `time` fields from notes for geographic or temporal content distribution studies","Aggregating tag data from multiple notes to map topic clusters active on the platform","Pulling author metadata from note responses to link post content to creator profiles without a separate lookup"],"meta_title":"Xiaohongshu (Little Red Book) API","generated_at":"2026-08-21T02:43:27.528215+00:00","lead_paragraph":"This API exposes 3 endpoints covering Xiaohongshu (Little Red Book) note content and creator profiles. The `get_note_detail` endpoint returns a full note record — title, description, images, video stream URLs, tags, creation timestamp, and interaction metadata — given a `note_id` and its paired `xsec_token`. The `get_user_profile` endpoint returns public creator data including follower counts, bio, gender, and Red ID, and `list_feed` supplies a rotating batch of explore-feed note summaries.","schema_version":2,"meta_description":"Access Xiaohongshu note content, user profiles, and explore feed data via a clean REST API. Retrieve posts, images, video URLs, tags, and engagement stats.","primary_category":"social_media","long_description_md":"## Note Detail and Feed Data\n\nThe `get_note_detail` endpoint accepts two required parameters: a 24-character hex `note_id` and a `xsec_token` that is strictly scoped to that note. The response distinguishes between `normal` (image) and `video` note types via the `type` field. Image notes return an `images` array with `url`, `width`, `height`, and `file_id` per asset. Video notes additionally return a `video` object containing `url`, `format`, `duration`, `width`, and `height`. Every note includes a `user` object (author `user_id`, `nickname`, `avatar`), an array of `tags` with `id`, `name`, and `type`, a millisecond-precision `time` timestamp, and an `ip_location` string reflecting the author's posted location.\n\n## User Profiles\n\nThe `get_user_profile` endpoint takes a 24-character hex `user_id` and returns the public creator record: `nickname`, `description` (bio), `avatar`, `red_id`, `gender` (0 = male, 1 = female), `ip_location`, `follows` (following count), and `fans` (follower count). Counts may be returned in Chinese shorthand notation — for example `1万+` to represent values above 10,000 — so consumers should handle string parsing rather than expecting raw integers for these fields. A `tags` array provides profile classification objects with `type`, optional `name`, and optional `icon` fields.\n\n## Explore Feed\n\nThe `list_feed` endpoint takes no input parameters and returns a `notes` array of feed summaries. Each summary includes a `note_id`, its paired `xsec_token`, `title`, `type`, and a brief `user` object (`user_id`, `nickname`). Because the feed is personalized and partially randomized, results are not stable across successive calls. This endpoint is the natural source for discovering `note_id`/`xsec_token` pairs to pass into `get_note_detail`.","generated_with_model":"global.anthropic.claude-sonnet-4-6","secondary_categories":["ecommerce","reviews_ratings"]},"primary_category":"social_media","secondary_categories":["ecommerce","reviews_ratings"],"access_requirements":[]}