Skip to content

Xiaohongshu APIs - Notes Feed (V1)

prod-global
GET
/api/xiaohongshu/get-note-feed/v1

Retrieves the Xiaohongshu notes feed stream, returning a paginated list of recommended notes. Each feed item typically includes basic note information (e.g., note ID, title/text snippet, cover/media info), author signals (when available), and engagement counters (when available).

Typical use cases:

  • Tracking platform trends and what content is being recommended
  • Building datasets for discovery, analytics, and reporting
  • Finding emerging notes/creators for monitoring

Parameters

NameInTypeRequiredDescription
tokenquerystringYesAccess token for this API service.
oidquerystringNoFeed stream identifier.

Available Values:
- homefeed_recommend: recommend
- homefeed_video_v3: video
- homefeed_live: live
- homefeed_fashion_v3: fashion
- homefeed_books_v3: books
- homefeed_nails_v3: nails
- homefeed_painting_v3: painting
- homefeed_cartoon_v3: cartoon
- homefeed_photography_v3: photography
- homefeed_food_v3: food
- homefeed_celebrity_v3: celebrity
- homefeed_profile_photo_v3: profile photo
- homefeed_gaming_v3: gaming
- homefeed_cosmetics_v3: cosmetics
- homefeed_stationery_v3: stationery
- homefeed_love_v3: love
- homefeed_music_v3: music
- homefeed_movie_and_tv_v3: movie and tv
- homefeed_handmade_v3: handmade
- homefeed_education_v3: education
- homefeed_digital_technology_v3: digital technology
- homefeed_household_product_v3: household product
- homefeed_hair_v3: hair
- homefeed_pets_v3: pets
- homefeed_travel_v3: travel
- homefeed_lose_weight_v3: lose weight
- homefeed_dance_v3: dance
- homefeed_skincare_v3: skincare
- homefeed_home_decoration_v3: home decoration
- homefeed_fashion_shoes_v3: fashion shoes
- homefeed_wallpaper_v3: wallpaper
- homefeed_career_v3: career
- homefeed_funny_v3: funny
- homefeed_maternity_v3: maternity
- homefeed_cars_v3: cars
- homefeed_weddings_v3: weddings
- homefeed_bags_v3: bags
- homefeed_trend_art_v3: trend art
- homefeed_designer_toys_v3: designer toys
- homefeed_science_popularization_v3: science popularization
- homefeed_variety_show_v3: variety show
pagequeryintegerNoPage number for pagination.

Code Samples

💡 Environment Note

Default samples use https://api.justoneapi.com (prod-global). For users in Mainland China, it is recommended to replace it with http://47.117.133.51:30015 (prod-cn) for better performance. See Environment Guide.

bash
# Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
curl -X GET "https://api.justoneapi.com/api/xiaohongshu/get-note-feed/v1?token=YOUR_API_KEY"
text
I want to use the "Notes Feed (V1)" API from Just One API.
API Endpoint: https://api.justoneapi.com/api/xiaohongshu/get-note-feed/v1
HTTP Method: GET
Authentication: Append "?token=YOUR_API_KEY" to the URL.
OpenAPI Definition: https://docs.justoneapi.com/openapi/xiaohongshu-apis/notes-feed-v1-en.json

Parameters:
- token (query): Access token for this API service. (Required)
- oid (query): Feed stream identifier.

Available Values:
- `homefeed_recommend`: recommend
- `homefeed_video_v3`: video
- `homefeed_live`: live
- `homefeed_fashion_v3`: fashion
- `homefeed_books_v3`: books
- `homefeed_nails_v3`: nails
- `homefeed_painting_v3`: painting
- `homefeed_cartoon_v3`: cartoon
- `homefeed_photography_v3`: photography
- `homefeed_food_v3`: food
- `homefeed_celebrity_v3`: celebrity
- `homefeed_profile_photo_v3`: profile photo
- `homefeed_gaming_v3`: gaming
- `homefeed_cosmetics_v3`: cosmetics
- `homefeed_stationery_v3`: stationery
- `homefeed_love_v3`: love
- `homefeed_music_v3`: music
- `homefeed_movie_and_tv_v3`: movie and tv
- `homefeed_handmade_v3`: handmade
- `homefeed_education_v3`: education
- `homefeed_digital_technology_v3`: digital technology
- `homefeed_household_product_v3`: household product
- `homefeed_hair_v3`: hair
- `homefeed_pets_v3`: pets
- `homefeed_travel_v3`: travel
- `homefeed_lose_weight_v3`: lose weight
- `homefeed_dance_v3`: dance
- `homefeed_skincare_v3`: skincare
- `homefeed_home_decoration_v3`: home decoration
- `homefeed_fashion_shoes_v3`: fashion shoes
- `homefeed_wallpaper_v3`: wallpaper
- `homefeed_career_v3`: career
- `homefeed_funny_v3`: funny
- `homefeed_maternity_v3`: maternity
- `homefeed_cars_v3`: cars
- `homefeed_weddings_v3`: weddings
- `homefeed_bags_v3`: bags
- `homefeed_trend_art_v3`: trend art
- `homefeed_designer_toys_v3`: designer toys
- `homefeed_science_popularization_v3`: science popularization
- `homefeed_variety_show_v3`: variety show
- page (query): Page number for pagination.

Return format: JSON

Response Handling & Error Codes:
1. Business results should be determined by the "code" field in the response body (code 0 means success).
2. Timeout Recommendation: Set request timeout to at least 60 seconds.
3. Business Code Reference:
   - 0: Success
   - 100: Invalid or Inactive Token
   - 301: Collection Failed. Please Retry.
   - 302: Rate Limit Exceeded
   - 303: Daily Quota Exceeded
   - 400: Invalid Parameters
   - 500: Internal Server Error
   - 600: Permission Denied
   - 601: Insufficient Balance

Please help me write a script in my preferred programming language to call this API and handle the response.
python
# Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
import requests

url = "https://api.justoneapi.com/api/xiaohongshu/get-note-feed/v1?token=YOUR_API_KEY"
response = requests.get(url)
print(response.json())
js
// Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
const response = await fetch("https://api.justoneapi.com/api/xiaohongshu/get-note-feed/v1?token=YOUR_API_KEY", {
  method: "GET"
});
const data = await response.json();
console.log(data);
java
// Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Main {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("https://api.justoneapi.com/api/xiaohongshu/get-note-feed/v1?token=YOUR_API_KEY"))
            .method("GET", HttpRequest.BodyPublishers.noBody())
            .build();

        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.body());
    }
}
go
// Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	client := &http.Client{}
	url := "https://api.justoneapi.com/api/xiaohongshu/get-note-feed/v1?token=YOUR_API_KEY"
	req, _ := http.NewRequest("GET", url, nil)
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
php
// Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.justoneapi.com/api/xiaohongshu/get-note-feed/v1?token=YOUR_API_KEY");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Responses

json
{
  "code": 0,
  "data": [
    {
      "id": "699fdc5c000000000e00f4cd",
      "type": "normal",
      "timestamp": 1772084316,
      "name": "成都!这棵樱花树开爆了!!!竟然没人拍!!!",
      "title": "成都!这棵樱花树开爆了!!!竟然没人拍!!!",
      "desc": "",
      "likes": 4,
      "user": {
        "nickname": "贪玩小晕吖",
        "images": "https://sns-avatar-qc.xhscdn.com/avatar/1040g2jo31aci7i9vna005og0nof8che6qr6mr3g?imageView2/2/w/80/f...",
        "followed": false,
        "fstatus": "none",
        "userid": "6200be1e00000000210245c6"
      },
      "last_update_time": 0,
      "display_title": "成都!这棵樱花树开爆了!!!竟然没人拍!!!",
      "images_list": [
        {
          "height": 1920,
          "width": 1440,
          "url": "https://sns-i8.rednotecdn.com/notes_pre_post/1040g3k031t1pl2kf5kc05og0nof8che60g76fco?imageView2/2/w...",
          "original": "",
          "fileid": "notes_pre_post/1040g3k031t1pl2kf5kc05og0nof8che60g76fco",
          "url_size_large": "https://sns-i8.rednotecdn.com/notes_pre_post/1040g3k031t1pl2kf5kc05og0nof8che60g76fco?imageView2/2/w...",
          "trace_id": "notes_pre_post/1040g3k031t1pl2kf5kc05og0nof8che60g76fco",
          "url_multi_level": {
            "low": "https://sns-i8.rednotecdn.com/notes_pre_post/1040g3k031t1pl2kf5kc05og0nof8che60g76fco?imageView2/2/w...",
            "medium": "https://sns-i8.rednotecdn.com/notes_pre_post/1040g3k031t1pl2kf5kc05og0nof8che60g76fco?imageView2/2/w...",
            "high": "https://sns-i8.rednotecdn.com/notes_pre_post/1040g3k031t1pl2kf5kc05og0nof8che60g76fco?imageView2/2/w..."
          },
          "need_load_original_image": false,
          "thumb_hash": "oxgGDQK0iI2I+XhYiHlnh1FwBHWJ",
          "rgb": "0xcfc3b6"
        }
      ],
      "inlikes": false,
      "model_type": "note",
      "is_ads": false,
      "is_tracking": false,
      "debug_info_str": "{\"videofeedLazyLoadScore\":\"0.5958698\"}",
      "is_tracking_upgrade": false,
      "has_music": false,
      "is_top_show_eco_officer_note": false,
      "pk_status_info": "{\"ubtsecret\":\"RBGqmc7Jb/azO8KxrqoLo7bpAyomRWtHaErCr58cLzOwDZr6rMKwwmO6laXbEEbS6SKhwwMQTkEy5PkmoKHV4N...",
      "advanced_widgets_groups": {
        "groups": [
          {
            "mode": 1,
            "fetch_types": [
              "guos_test"
            ]
          }
        ]
      },
      "widgets_context": "{\"flags\":{},\"author_id\":\"6200be1e00000000210245c6\",\"author_name\":\"贪玩小晕吖\"}",
      "corner_tag": [],
      "rec_extra_info": "{\"followConductVideoTime\":\"-1\",\"followConductReason\":\"\",\"needInnerSharePrompt\":\"false\",\"needSharePro...",
      "rec_params": "{\"isNiceNote\":0,\"hfTrackId\":\"2g19pa3vq1j0oxhd21e9u\"}",
      "recommend": {
        "desc": "",
        "icon": "",
        "type": "",
        "dark_icon": "",
        "target_id": "",
        "target_name": "",
        "track_id": "dssmbase_recall_dssm_newneg_ali_imp_1hour@2g19pa3vq1j0oxhd21e9u",
        "topic_id": "",
        "topic_name": "",
        "mf_topic_id": "",
        "mf_topic_name": "",
        "topic_type": "",
        "topic_sub_type": "",
        "is_super_topic": false,
        "is_followed_topic": false,
        "category_id": "5ab094be481d26b8ef9045f0",
        "category_name": "旅游",
        "predict_click_ratio": 0.21813332,
        "predict_video_complete_ratio": 0.31263548,
        "is_activate_search": false,
        "videofeed_lazy_load_score": 0.5958698
      },
      "dislike_optional": {
        "follow_user": false
      },
      "cursor_score": "1772084648.9990",
      "app_json_string": "{\"note_need_unique\":true}",
      "downgrade_data": 0,
      "track_id_mix_rank": "2g19pa3vq1j0oxhd21e9u",
      "generate_item_index": 0,
      "rec_result_from_inner_cache": false
    }
  ]
}

💡 Note: For list data, the example shows only 1-2 items for simplicity. The actual count depends on the API response.