curl --request POST \
--url https://api.aisa.one/apis/v1/tikhub/xiaohongshu/pgy/get_content_square \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"biz_type": 1,
"page_num": 1,
"page_size": 34,
"search_word": "Face Mask",
"order_by": "premium_imp_num",
"date_range": 7,
"sub_biz_type": 3,
"category": "Content category: Beauty",
"industry": "Parenting & Baby",
"note_type": 2,
"content_type": 1,
"theme": "Unboxing",
"author_type": 1,
"placement": 1,
"marketing_target": 3,
"price": {
"range": {
"min": 4999999,
"max": 4999999
}
},
"fans": {
"min": 4999999,
"max": 4999999
}
}
'import requests
url = "https://api.aisa.one/apis/v1/tikhub/xiaohongshu/pgy/get_content_square"
payload = {
"biz_type": 1,
"page_num": 1,
"page_size": 34,
"search_word": "Face Mask",
"order_by": "premium_imp_num",
"date_range": 7,
"sub_biz_type": 3,
"category": "Content category: Beauty",
"industry": "Parenting & Baby",
"note_type": 2,
"content_type": 1,
"theme": "Unboxing",
"author_type": 1,
"placement": 1,
"marketing_target": 3,
"price": { "range": {
"min": 4999999,
"max": 4999999
} },
"fans": {
"min": 4999999,
"max": 4999999
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
biz_type: 1,
page_num: 1,
page_size: 34,
search_word: 'Face Mask',
order_by: 'premium_imp_num',
date_range: 7,
sub_biz_type: 3,
category: 'Content category: Beauty',
industry: 'Parenting & Baby',
note_type: 2,
content_type: 1,
theme: 'Unboxing',
author_type: 1,
placement: 1,
marketing_target: 3,
price: {range: {min: 4999999, max: 4999999}},
fans: {min: 4999999, max: 4999999}
})
};
fetch('https://api.aisa.one/apis/v1/tikhub/xiaohongshu/pgy/get_content_square', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/tikhub/xiaohongshu/pgy/get_content_square",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'biz_type' => 1,
'page_num' => 1,
'page_size' => 34,
'search_word' => 'Face Mask',
'order_by' => 'premium_imp_num',
'date_range' => 7,
'sub_biz_type' => 3,
'category' => 'Content category: Beauty',
'industry' => 'Parenting & Baby',
'note_type' => 2,
'content_type' => 1,
'theme' => 'Unboxing',
'author_type' => 1,
'placement' => 1,
'marketing_target' => 3,
'price' => [
'range' => [
'min' => 4999999,
'max' => 4999999
]
],
'fans' => [
'min' => 4999999,
'max' => 4999999
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/tikhub/xiaohongshu/pgy/get_content_square"
payload := strings.NewReader("{\n \"biz_type\": 1,\n \"page_num\": 1,\n \"page_size\": 34,\n \"search_word\": \"Face Mask\",\n \"order_by\": \"premium_imp_num\",\n \"date_range\": 7,\n \"sub_biz_type\": 3,\n \"category\": \"Content category: Beauty\",\n \"industry\": \"Parenting & Baby\",\n \"note_type\": 2,\n \"content_type\": 1,\n \"theme\": \"Unboxing\",\n \"author_type\": 1,\n \"placement\": 1,\n \"marketing_target\": 3,\n \"price\": {\n \"range\": {\n \"min\": 4999999,\n \"max\": 4999999\n }\n },\n \"fans\": {\n \"min\": 4999999,\n \"max\": 4999999\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/tikhub/xiaohongshu/pgy/get_content_square")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"biz_type\": 1,\n \"page_num\": 1,\n \"page_size\": 34,\n \"search_word\": \"Face Mask\",\n \"order_by\": \"premium_imp_num\",\n \"date_range\": 7,\n \"sub_biz_type\": 3,\n \"category\": \"Content category: Beauty\",\n \"industry\": \"Parenting & Baby\",\n \"note_type\": 2,\n \"content_type\": 1,\n \"theme\": \"Unboxing\",\n \"author_type\": 1,\n \"placement\": 1,\n \"marketing_target\": 3,\n \"price\": {\n \"range\": {\n \"min\": 4999999,\n \"max\": 4999999\n }\n },\n \"fans\": {\n \"min\": 4999999,\n \"max\": 4999999\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/tikhub/xiaohongshu/pgy/get_content_square")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"biz_type\": 1,\n \"page_num\": 1,\n \"page_size\": 34,\n \"search_word\": \"Face Mask\",\n \"order_by\": \"premium_imp_num\",\n \"date_range\": 7,\n \"sub_biz_type\": 3,\n \"category\": \"Content category: Beauty\",\n \"industry\": \"Parenting & Baby\",\n \"note_type\": 2,\n \"content_type\": 1,\n \"theme\": \"Unboxing\",\n \"author_type\": 1,\n \"placement\": 1,\n \"marketing_target\": 3,\n \"price\": {\n \"range\": {\n \"min\": 4999999,\n \"max\": 4999999\n }\n },\n \"fans\": {\n \"min\": 4999999,\n \"max\": 4999999\n }\n}"
response = http.request(request)
puts response.read_bodyPGY content square leaderboards
PGY content square leaderboards
curl --request POST \
--url https://api.aisa.one/apis/v1/tikhub/xiaohongshu/pgy/get_content_square \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"biz_type": 1,
"page_num": 1,
"page_size": 34,
"search_word": "Face Mask",
"order_by": "premium_imp_num",
"date_range": 7,
"sub_biz_type": 3,
"category": "Content category: Beauty",
"industry": "Parenting & Baby",
"note_type": 2,
"content_type": 1,
"theme": "Unboxing",
"author_type": 1,
"placement": 1,
"marketing_target": 3,
"price": {
"range": {
"min": 4999999,
"max": 4999999
}
},
"fans": {
"min": 4999999,
"max": 4999999
}
}
'import requests
url = "https://api.aisa.one/apis/v1/tikhub/xiaohongshu/pgy/get_content_square"
payload = {
"biz_type": 1,
"page_num": 1,
"page_size": 34,
"search_word": "Face Mask",
"order_by": "premium_imp_num",
"date_range": 7,
"sub_biz_type": 3,
"category": "Content category: Beauty",
"industry": "Parenting & Baby",
"note_type": 2,
"content_type": 1,
"theme": "Unboxing",
"author_type": 1,
"placement": 1,
"marketing_target": 3,
"price": { "range": {
"min": 4999999,
"max": 4999999
} },
"fans": {
"min": 4999999,
"max": 4999999
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
biz_type: 1,
page_num: 1,
page_size: 34,
search_word: 'Face Mask',
order_by: 'premium_imp_num',
date_range: 7,
sub_biz_type: 3,
category: 'Content category: Beauty',
industry: 'Parenting & Baby',
note_type: 2,
content_type: 1,
theme: 'Unboxing',
author_type: 1,
placement: 1,
marketing_target: 3,
price: {range: {min: 4999999, max: 4999999}},
fans: {min: 4999999, max: 4999999}
})
};
fetch('https://api.aisa.one/apis/v1/tikhub/xiaohongshu/pgy/get_content_square', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/tikhub/xiaohongshu/pgy/get_content_square",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'biz_type' => 1,
'page_num' => 1,
'page_size' => 34,
'search_word' => 'Face Mask',
'order_by' => 'premium_imp_num',
'date_range' => 7,
'sub_biz_type' => 3,
'category' => 'Content category: Beauty',
'industry' => 'Parenting & Baby',
'note_type' => 2,
'content_type' => 1,
'theme' => 'Unboxing',
'author_type' => 1,
'placement' => 1,
'marketing_target' => 3,
'price' => [
'range' => [
'min' => 4999999,
'max' => 4999999
]
],
'fans' => [
'min' => 4999999,
'max' => 4999999
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/tikhub/xiaohongshu/pgy/get_content_square"
payload := strings.NewReader("{\n \"biz_type\": 1,\n \"page_num\": 1,\n \"page_size\": 34,\n \"search_word\": \"Face Mask\",\n \"order_by\": \"premium_imp_num\",\n \"date_range\": 7,\n \"sub_biz_type\": 3,\n \"category\": \"Content category: Beauty\",\n \"industry\": \"Parenting & Baby\",\n \"note_type\": 2,\n \"content_type\": 1,\n \"theme\": \"Unboxing\",\n \"author_type\": 1,\n \"placement\": 1,\n \"marketing_target\": 3,\n \"price\": {\n \"range\": {\n \"min\": 4999999,\n \"max\": 4999999\n }\n },\n \"fans\": {\n \"min\": 4999999,\n \"max\": 4999999\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/tikhub/xiaohongshu/pgy/get_content_square")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"biz_type\": 1,\n \"page_num\": 1,\n \"page_size\": 34,\n \"search_word\": \"Face Mask\",\n \"order_by\": \"premium_imp_num\",\n \"date_range\": 7,\n \"sub_biz_type\": 3,\n \"category\": \"Content category: Beauty\",\n \"industry\": \"Parenting & Baby\",\n \"note_type\": 2,\n \"content_type\": 1,\n \"theme\": \"Unboxing\",\n \"author_type\": 1,\n \"placement\": 1,\n \"marketing_target\": 3,\n \"price\": {\n \"range\": {\n \"min\": 4999999,\n \"max\": 4999999\n }\n },\n \"fans\": {\n \"min\": 4999999,\n \"max\": 4999999\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/tikhub/xiaohongshu/pgy/get_content_square")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"biz_type\": 1,\n \"page_num\": 1,\n \"page_size\": 34,\n \"search_word\": \"Face Mask\",\n \"order_by\": \"premium_imp_num\",\n \"date_range\": 7,\n \"sub_biz_type\": 3,\n \"category\": \"Content category: Beauty\",\n \"industry\": \"Parenting & Baby\",\n \"note_type\": 2,\n \"content_type\": 1,\n \"theme\": \"Unboxing\",\n \"author_type\": 1,\n \"placement\": 1,\n \"marketing_target\": 3,\n \"price\": {\n \"range\": {\n \"min\": 4999999,\n \"max\": 4999999\n }\n },\n \"fans\": {\n \"min\": 4999999,\n \"max\": 4999999\n }\n}"
response = http.request(request)
puts response.read_bodycode is 200.
Example
curl -X POST "https://api.aisa.one/apis/v1/tikhub/xiaohongshu/pgy/get_content_square" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' # see request schema below
Authorizations
AIsa API key. Get yours at https://aisa.one
Body
Leaderboard: 1=Xiaohongshu Popular, 2=Product Seeding, 3=E-commerce Promotion, 4=Dandelion Collaboration, 5=Lead Collection, 6=E-commerce Hot, 7=Direct Seeding, 8=App Promotion
1, 2, 3, 4, 5, 6, 7, 8 1
Page; each board has only 100 items
1 <= x <= 1001
Page size, 1-34 (web fixed at 34)
1 <= x <= 3434
Keyword; leave empty to view the full chart; supports comma-separated batch search
100"Face Mask"
Sort field, empty=board default
64"premium_imp_num"
Date window in days
3, 7, 14, 30 7
Board 8 only: 1=app download, 2=mini-program promotion, 3=app re-engagement (default)
1, 2, 3 3
Category (board 1 only), format: "level1#level2", e.g. "Content Category#Beauty"
64"Content category: Beauty"
Industry name (boards 2/3/4/5/6/7/8); valid values differ per board
64"Parenting & Baby"
Content type: 1=Image+text, 2=Video
1, 2 2
Content source: 1=Blogger partnership, 2=Celebrity partnership, 3=Employee, 5=Buyer, 6=Professional account, 11=Director, -1=User
1, 2, 3, 5, 6, 11, -1 1
Theme name (boards 2/4/5/7/8)
64"Unboxing"
Board 4 only: 1=Dandelion creator, 2=celebrity
1, 2 1
Traffic placement (boards 2/3/5/7/8): 1=Discover feed, 2=Search, 3=In-video traffic
1, 2, 3 1
Board 3 only: 3=product promotion, 8=live stream promotion
3, 8 3
Creator price (board 4 only)
Show child attributes
Show child attributes
Creator follower count range (board 4 only)
Show child attributes
Show child attributes
Response
Successful response. Response structure varies; refer to the actual API response.