Xiaohongshu Pgy APIs - Note Details (V1)
Retrieve details for a specific note.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
token | query | string | Yes | User authentication token. |
noteId | query | string | Yes | Note's unique ID. |
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-pgy/api/solar/note/noteId/detail/v1?token=YOUR_API_KEY¬eId=VALUE"text
I want to use the "Note Details (V1)" API from Just One API.
API Endpoint: https://api.justoneapi.com/api/xiaohongshu-pgy/api/solar/note/noteId/detail/v1
HTTP Method: GET
Authentication: Append "?token=YOUR_API_KEY" to the URL.
OpenAPI Definition: https://docs.justoneapi.com/openapi/xiaohongshu-pgy-apis/note-details-v1-en.json
Parameters:
- token (query): User authentication token. (Required)
- noteId (query): Note's unique ID. (Required)
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-pgy/api/solar/note/noteId/detail/v1?token=YOUR_API_KEY¬eId=VALUE"
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-pgy/api/solar/note/noteId/detail/v1?token=YOUR_API_KEY¬eId=VALUE", {
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-pgy/api/solar/note/noteId/detail/v1?token=YOUR_API_KEY¬eId=VALUE"))
.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-pgy/api/solar/note/noteId/detail/v1?token=YOUR_API_KEY¬eId=VALUE"
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-pgy/api/solar/note/noteId/detail/v1?token=YOUR_API_KEY¬eId=VALUE");
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": {
"noteId": "65c0b3fc000000002c037a49",
"noteLink": "https://www.xiaohongshu.com/explore/65c0b3fc000000002c037a49?xsec_token=MBZ5JOqdwczIfWfPBnr07jLpjhAUQ4Udcjkil5rH-2RFg=&xsec_source=pc_pgy",
"userId": "62060e8c0000000010008f55",
"headPhoto": "https://sns-avatar-qc.xhscdn.com/avatar/1000g2jo2pdfsn8cjs0005og61q6413qlmn6hsa0?imageView2/2/w/120/format/jpg",
"name": "曹操来了",
"redId": null,
"type": 2,
"atUserList": null,
"title": "",
"content": "拍狙击手的时候张艺谋说了这句话让曹操觉得皮特别冷心特别暖 #电影狙击手[话题]# #曹操来了[话题]# #明星[话题]#",
"imagesList": [
{
"fileId": "spectrum/1040g0k030ups4ufllg005og61q6413qltc9ngeo",
"url": "http://ci.xiaohongshu.com/spectrum/1040g0k030ups4ufllg005og61q6413qltc9ngeo?imageView2/2/w/1080/format/jpg",
"original": "http://ci.xiaohongshu.com/spectrum/1040g0k030ups4ufllg005og61q6413qltc9ngeo",
"width": 1080,
"height": 1920,
"latitude": null,
"longitude": null,
"traceId": "spectrum/1040g0k030ups4ufllg005og61q6413qltc9ngeo",
"sticker": null,
"imageExtraInfo": null
}
],
"videoInfo": {
"id": "112137331",
"videoKey": "stream/110/258/01e5c0b37e064fea010376038d78bf83b6_258.mp4",
"originVideoKey": "spectrum/1040g0jg30ups4uac5i005og61q6413ql180l93g",
"meta": {
"width": 1080,
"height": 1920,
"duration": 23,
"videoId": "136727240850690026"
},
"gifKey": "",
"videoUrl": "http://v.xiaohongshu.com/stream/110/258/01e5c0b37e064fea010376038d78bf83b6_258.mp4?sign=d9240bb7cd83add45a7f6b8f6640600b&t=69b04000",
"gifUrl": "",
"videoKeyList": [],
"hasFragments": false,
"thumbnail": "110/0/01e5c0b37e064fea0010000000018d78bf1fd7_0.webp",
"firstFrame": null,
"volume": 0,
"chapters": null,
"redGifInfo": null
},
"time": {
"createTime": 1707127804000,
"updateTime": 1707142186000,
"userUpdateTime": 1707127804000
},
"createTime": "2024-02-05 18:10",
"impNum": 0,
"likeNum": 0,
"favNum": 0,
"cmtNum": 0,
"readNum": 0,
"shareNum": 0,
"followCnt": 0,
"reportBrandUserId": null,
"reportBrandName": null,
"featureTags": null,
"userInfo": {
"nickName": "曹操来了",
"avatar": "https://sns-avatar-qc.xhscdn.com/avatar/1000g2jo2pdfsn8cjs0005og61q6413qlmn6hsa0?imageView2/2/w/120/format/jpg",
"userId": "62060e8c0000000010008f55",
"advertiserId": null,
"fansNum": 498837,
"cooperType": 1,
"priceState": 1,
"pictureState": 0,
"picturePrice": 0,
"videoState": 1,
"videoPrice": 200000,
"userType": 2,
"operateState": 1,
"currentLevel": 2,
"location": "北京",
"contentTags": [
{
"taxonomy1Tag": "文化艺术",
"taxonomy2Tags": [
"科普"
]
}
],
"featureTags": null,
"personalTags": null,
"gender": "男",
"isCollect": false,
"clickMidNum": 70177,
"interMidNum": 2589,
"pictureInCart": null,
"videoInCart": null,
"kolType": 0,
"mengagementNum": 2925,
"mEngagementNum": 2925
},
"compClickData": null
}
}💡 Note: For list data, the example shows only 1-2 items for simplicity. The actual count depends on the API response.
