Xiaohongshu trending topics API

Retrieve the RedNote (Xiaohongshu) platform hot-content ranking through the SpiderHubs REST API. Start with a request that needs no query parameters.

Make your first request

What this endpoint returns

This endpoint retrieves the platform hot-content ranking. It is different from Creator Hot Inspirations. It does not accept industry, category, date-range or pagination filters; it is not a historical dataset or a ready-made trend analysis report.

Endpoint
GET https://api.spiderhubs.com/openapi/v1/contentcreator/xiaohongshu/web_v2/fetch_hot_list
Authentication
Authorization: Bearer YOUR_API_KEY
Query parameters
None required.
Documented price
1 credit per call. Confirm the current endpoint cost and your available balance before making requests. See pricing and plan limits.

From signup to your first request

  1. Create an account, or sign in if you already have one. Complete any email activation requested by the signup flow.
  2. Open Account and find the API Key section. Generate a key if you do not have one. Keep an existing enabled key if you already use it in another integration.
  3. Check your available credits and the endpoint price. Free-plan credits, resets and feature limits follow your current plan; do not assume they are unlimited or permanent.
  4. Set the environment variable SPIDERHUBS_API_KEY to your own key in your local terminal. Run one of the examples below from your machine or server, not from a public web page.
  5. Inspect the HTTP status, JSON business status and returned data. Then check the API usage and credit records in Account to confirm the outcome.

Request examples

These examples use an environment variable, not a real key. The Python example uses only the standard library.

cURL

# Set SPIDERHUBS_API_KEY to the key from your Account page.
# Keep it private; do not put it in a URL or client-side JavaScript.
curl --silent --show-error --max-time 60 \
  --output hot-list.json \
  --write-out 'HTTP status: %{http_code}\n' \
  --header "Authorization: Bearer ${SPIDERHUBS_API_KEY:?Set SPIDERHUBS_API_KEY first}" \
  'https://api.spiderhubs.com/openapi/v1/contentcreator/xiaohongshu/web_v2/fetch_hot_list'

# Inspect the response body as well as the HTTP status.
cat hot-list.json

Python 3

import json
import os
import urllib.error
import urllib.request

request = urllib.request.Request(
    "https://api.spiderhubs.com/openapi/v1/contentcreator/xiaohongshu/web_v2/fetch_hot_list",
    headers={"Authorization": "Bearer " + os.environ["SPIDERHUBS_API_KEY"]},
)
try:
    with urllib.request.urlopen(request, timeout=60) as response:
        status, raw = response.status, response.read()
except urllib.error.HTTPError as error:
    status, raw = error.code, error.read()

payload = json.loads(raw)
print("HTTP status:", status)
print(json.dumps(payload, ensure_ascii=False, indent=2))
# Check the business status and returned data before using the results.
if status != 200 or payload.get("error") or payload.get("code") != 200:
    raise SystemExit("Request was not confirmed successful; inspect the response.")
if payload.get("data") is None:
    raise SystemExit("No data payload; inspect the response before continuing.")

Check your response

An HTTP 200 response alone is not enough. Inspect the business code, any error object and the nested data. An empty ranking is not evidence that useful content was collected.

Envelope illustration — not a captured live ranking

{
  "code": 200,
  "request_id": "EXAMPLE_REQUEST_ID",
  "data": {}
}

The empty object above deliberately omits the platform payload. It is not a sample ranking or a guarantee of specific item fields. Inspect your actual response before choosing JSON paths; keep the request ID when reporting an unexpected result.

This endpoint returns data for you to work with. For scheduled creator collection and spreadsheet export, see the dashboard workflow and plan requirements.

Troubleshooting

Status / symptomWhat to do
401Check the Bearer header and API key. Use the API key from Account, not your website login token.
403Check whether your API key is disabled. Read the response message before changing settings.
402 / insufficient_creditsCheck the available balance and required credits. Add credits or review your plan before retrying.
429Slow down and back off before retrying. Avoid sending a loop of immediate retries.
5xx, timeout or non-JSON responseCheck service availability. Save the request ID if provided, and avoid repeated requests until you understand the failure.
HTTP 200 with a business error or unexpected dataDo not count it as a successful collection. Inspect the full response and account usage record; report the request ID, never your secret key.