API Xiaohongshu Risposte ai commenti
Stato di salute dell'API
- Operatività nelle ultime 24 ore
- 100%
- Tempo medio nelle ultime 24 ore
- 2.02 s
- Buono / normale
- Disponibile
- Limitato
- Quasi del tutto inattivo
Ultime 24 ore
Ultimi 30 giorni
Leggi le risposte a un commento su una nota di Xiaohongshu, 10 per pagina. Ottieni testo, like, località IP e a chi risponde ciascuna risposta. Passa il link della nota con un comment_id preso dai risultati dei commenti. Usa reply_to_id per ricostruire la discussione.
Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su xiaohongshu e action impostato su sub_comments. Prezzo $5.56 per 1.000 richieste ($0.005556 per chiamata). Le chiamate non riuscite e i risultati vuoti non vengono addebitati. Sincrona. Per i job più lenti, aggiungi "mode": "async" al corpo della richiesta, recupera il job_id ed esegui il polling.
Prompt per l'AI
#Aiutami a scrivere uno script di raccolta dei dati con l'endpoint Xiaohongshu Risposte ai commenti di EveryInfra (xiaohongshu/sub_comments).
Come funziona l'endpoint:
- Richiesta: POST https://api.everyinfra.com/api/v1/social con l'header Authorization: Bearer <chiave API>. Leggi la chiave dalla variabile d'ambiente EVERYINFRA_API_KEY e non scriverla mai direttamente nel codice.
- Nel corpo della richiesta imposta platform su xiaohongshu e action su sub_comments, e inserisci i parametri in params.
- Parametri obbligatori:
- url: Indica l'URL completo della nota Xiaohongshu, nel formato /explore/<note_id> o /discovery/item/<note_id>. Usa URL di ricerca recenti che mantengono parametri di query come xsec_token.
- comment_id: Indica l'ID del commento padre di cui recuperare le risposte nell'azione sub_comments. Ricava questo ID dalla risposta di comments per la stessa nota e abbinalo all'url corrispondente. Non è un ID nota né un ID utente.
- Parametri facoltativi:
- page_token: Cursore di paginazione per le azioni comments, sub_comments, search, user_posts, search_users e hashtag: ripassa il valore next_page_token di una riga della risposta precedente per recuperare la pagina successiva.
- Restituisce un elenco di record. Campi principali di ogni record: id, text (Testo della nota o del commento), like_count (Numero di Mi piace), posted_at, ip_location (Posizione IP (provincia o paese) mostra…), author_name, author_id (L'ID utente dell'autore), reply_to_id, reply_to_author_name, reply_to_author_id, next_page_token (Token di pagina (search, comments, sub_…), images (Link alle immagini); 18 campi in totale, elenco completo su https://api.everyinfra.com/api/v1/social/catalog?platform=xiaohongshu.
- Esempio di corpo della richiesta:
{
"platform": "xiaohongshu",
"action": "sub_comments",
"params": {
"url": "https://www.xiaohongshu.com/explore/6aa7a3f600000000110335f8?xsec_token=YByFNzoKupps8B3qI774Gx7XGxfHpq4QWEvxU4zsD8454%3D",
"comment_id": "6aa80e9b000000000200c6ad"
}
}
- Prezzo: $5.56 per 1.000 richieste; le richieste non riuscite e i risultati vuoti non vengono addebitati.
- Per decine o centinaia di target, aggiungi "mode": "async" al corpo: ricevi subito un job_id ed esegui il polling su GET https://api.everyinfra.com/api/v1/jobs/{job_id} per ottenere il risultato.
- In caso di 422, correggi la richiesta usando i nomi dei parametri e i valori consentiti suggeriti nell'errore; in caso di 429 o 503, attendi il tempo indicato da Retry-After e riprova.
Prima di scrivere il codice, chiedimi quali target mi servono, quanti, quali campi e quale formato di output voglio; poi conferma con me il piano e il costo indicativo.Parametri della richiesta
#| Nome | Posizione | Tipo | Obbligatorio | Predefinito | Descrizione |
|---|---|---|---|---|---|
Authorization | header | string | Sì | - | Bearer seguito dalla tua chiave API. Creala nella console; non inserirla mai in un URL o in un repository di codice. |
platform | body | string | Sì | xiaohongshu | Identificativo della piattaforma, valore fisso. |
action | body | string | Sì | sub_comments | Identificativo della funzionalità, valore fisso. |
url | body.params | string | Sì | - | Indica l'URL completo della nota Xiaohongshu, nel formato /explore/<note_id> o /discovery/item/<note_id>. Usa URL di ricerca recenti che mantengono parametri di query come xsec_token. L'azione sub_comments richiede sia questo url sia un comment_id valido. |
comment_id | body.params | string | Sì | - | Indica l'ID del commento padre di cui recuperare le risposte nell'azione sub_comments. Ricava questo ID dalla risposta di comments per la stessa nota e abbinalo all'url corrispondente. Non è un ID nota né un ID utente. |
page_token | body.params | string | No | - | Cursore di paginazione per le azioni comments, sub_comments, search, user_posts, search_users e hashtag: ripassa il valore next_page_token di una riga della risposta precedente per recuperare la pagina successiva; omettilo per partire dalla prima pagina. Ogni pagina corrisponde a una chiamata, addebitata per richiesta. |
Esempi di codice
#curl -X POST 'https://api.everyinfra.com/api/v1/social' \
-H "Authorization: Bearer $EVERYINFRA_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"platform": "xiaohongshu",
"action": "sub_comments",
"params": {
"url": "https://www.xiaohongshu.com/explore/6aa7a3f600000000110335f8?xsec_token=YByFNzoKupps8B3qI774Gx7XGxfHpq4QWEvxU4zsD8454%3D",
"comment_id": "6aa80e9b000000000200c6ad"
}
}'Definizione OpenAPI (JSON)Gli esempi leggono la chiave dalla variabile d'ambiente EVERYINFRA_API_KEY; il codice copiato non contiene mai la tua chiave.
Esempio di risposta
#{ "id": "req_…", "platform": "xiaohongshu", "action": "sub_comments", "results": [ { "id": "6aaa0e53000000000b01276f", "text": "卫生间一个浴缸至少1米,然后一个盥洗盆至少一米,加上卫生间门向内打开,还留了几十公分,加上门至少3米了,宽度一个浴缸加上两个过道还有一个马桶,加上墙体的厚度,至少五六平了。客厅长度和宽度至少有二三十平。如果加上公摊,建筑面积在60平。", "like_count": 11, "posted_at": "2026-09-16T03:34:44+00:00", "author_name": "依•••亦", "author_id": "•••", "reply_to_id": "6aa80e9b000000000200c6ad", "reply_to_author_name": "小•••鱼", "reply_to_author_id": "•••", "next_page_token": "n1.6aaa68c700000000150010fb", "images": [], "is_author": false, "author_avatar_url": "https://sns-avatar-qc-ae.rednotecdn.com/•••", "author_red_id": "•••", "author_is_ai_agent": false, "comment_tags": [], "platform": "xiaohongshu" }, { "id": "6aaa1eb000000000150141c3", "text": "这种看看得了,还当真[偷笑R]", "like_count": 3, "posted_at": "2026-09-16T04:44:32+00:00", "author_name": "小•••D", "author_id": "•••", "reply_to_id": "6aaa0e53000000000b01276f", "reply_to_author_name": "依•••亦", "reply_to_author_id": "•••", "next_page_token": "n1.6aaa68c700000000150010fb", "images": [], "is_author": false, "author_avatar_url": "https://sns-avatar-qc-ae.rednotecdn.com/•••", "author_red_id": "•••", "author_is_ai_agent": false, "comment_tags": [], "platform": "xiaohongshu" } ], "next_page_token": …, "pagination": { … }, "count": 5, "billing": { "charged": …, "charged_usd": …, "balance_after_usd": …, … }, "quota": { … }}
Campi della risposta
#I dati di business si trovano in results. La tabella elenca i campi che un record può contenere; i valori che la piattaforma non mostra non vengono mai inventati.
| Campo | Significato |
|---|---|
id | ID univoco del record sulla piattaforma. È univoco solo all'interno di una piattaforma; gli ID possono ripetersi tra piattaforme diverse. |
text | Testo della nota o del commento. note e hashtag restituiscono il testo completo; search e user_posts possono restituire un estratto troncato (fino a circa 60 e 100 caratteri rispettivamente). Chiama note con l'ID della nota per ottenere il testo completo. |
like_count | Numero di Mi piace. Nei risultati di note e dei commenti, i Mi piace su quell'elemento; su profile, il totale dei Mi piace ricevuti dalle note dell'account. null significa non pubblico o non restituito questa volta, non zero. |
posted_at | Data e ora di pubblicazione in formato ISO 8601, UTC (ad esempio 2026-08-07T12:34:56+00:00). Le stringhe non standard della piattaforma vengono passate così come sono, quindi esegui il parsing in modo difensivo. null significa che la piattaforma non le rende note. |
ip_location | Posizione IP (provincia o paese) mostrata da Xiaohongshu; non è inserita dall'utente. Solo alcune righe di user_posts la riportano. |
author_name | Nome visualizzato dell'autore. |
author_id | L'ID utente dell'autore. Passalo a profile o user_posts. I risultati delle note riportano l'ID di 24 caratteri presente negli URL dei profili; i risultati dei commenti (comments, comments_batch, sub_comments) di solito riportano una forma diversa di 29 caratteri. Le due forme della stessa persona non coincidono, quindi convertile con lo user_id restituito da profile prima di eliminare i duplicati tra batch diversi. |
reply_to_id | Mantiene il significato attribuito dalla piattaforma |
reply_to_author_name | Mantiene il significato attribuito dalla piattaforma |
reply_to_author_id | Mantiene il significato attribuito dalla piattaforma |
next_page_token | Token di pagina (search, comments, sub_comments, user_posts, search_users, hashtag): ripassalo invariato come page_token, lasciando identici gli altri parametri, per recuperare la pagina successiva. |
images | Link alle immagini. Su note, hashtag, search e user_posts, tutte le immagini della nota in ordine. Nei risultati dei commenti (comments, comments_batch, sub_comments), le immagini allegate al commento, sticker inclusi; un array vuoto significa che non ce ne sono. null significa che questo elemento non è stato restituito questa volta. |
is_author | Indica se questo commento è stato scritto dall'autore della nota. null significa che questo elemento non è stato restituito questa volta, non false. |
author_avatar_url | Link all'avatar di chi ha commentato (comments, comments_batch, sub_comments). |
author_red_id | L'ID Xiaohongshu dell'autore: nei risultati dei commenti (comments, comments_batch, sub_comments) quello di chi ha commentato, su note quello dell'autore della nota. |
author_is_ai_agent | Indica se chi ha commentato è un account che la piattaforma contrassegna come AI; assente quando questo elemento non è stato restituito. |
mentioned_users | Persone menzionate con @: nei risultati dei commenti, quelle menzionate nel commento; su note, quelle menzionate nella nota. Ogni voce contiene user_id e nickname. Assente quando non ce ne sono. |
comment_tags | Mantiene il significato attribuito dalla piattaforma |
platform | Identificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok). |
Errori e addebiti
#- 401
- Chiave mancante o non valida.
- 402
- Saldo insufficiente. Effettua prima una ricarica.
- 422
- Nome o valore del parametro non valido. Correggilo seguendo i suggerimenti dell'errore. Nessun addebito.
- 429
- Raggiunto il limite di richieste al minuto. Attendi il tempo indicato da Retry-After, poi riprova.
- 503
- Impossibile completare. L'importo trattenuto torna sul tuo saldo. Se l'esito è incerto, verificalo prima di riprovare.
- Risposta 200 vuota
- Nessun dato. Nessun addebito.