API Xiaohongshu Post dell'utente

POST

Stato di salute dell'API

Operatività nelle ultime 24 ore
100%
Tempo medio nelle ultime 24 ore
2.90 s
  • Buono / normale
  • Disponibile
  • Limitato
  • Quasi del tutto inattivo
Buono

Ultime 24 ore

Ultimi 30 giorni

Elenca le note pubblicate da un creator di Xiaohongshu, 20 per pagina. Le note in evidenza vengono prima, poi le altre dalla più recente alla meno recente. Ottieni estratto, conteggi e link ai video. Usa page_token per altri risultati. Qui i link non includono un token di accesso e il testo è un estratto. Chiama note per un link apribile nel browser e il testo completo.

Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su xiaohongshu e action impostato su user_posts. 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.

Xiaohongshu Posts by user elenca le note pubblicate da un account, dato il suo user_id: titolo, un estratto del testo, immagine di copertina, numero di like, salvataggi, commenti e condivisioni e data di pubblicazione, più link di riproduzione e durata per le note video. Usala per vedere cosa ha pubblicato un creator e quali formati funzionano, quando selezioni i creator, monitori account concorrenti o verifichi un account prima di una campagna.

user_id è l'ID che segue /user/profile/ nel link del profilo; funzionano anche l'URL completo del profilo o un author_id dai risultati dei commenti o della ricerca, ma non un nickname. Qui text è un estratto e url non contiene il token di accesso, quindi chiama Note details con l'ID della nota per avere il testo completo e un link che si apre nel browser. video_url è firmato e scade, quindi scarica ciò che vuoi conservare.

Prompt per l'AI

#
Aiutami a scrivere uno script di raccolta dei dati con l'endpoint Xiaohongshu Post dell'utente di EveryInfra (xiaohongshu/user_posts).

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 user_posts, e inserisci i parametri in params.
- Parametri obbligatori:
  - user_id: Indica l'ID utente Xiaohongshu (l'identificativo dopo /user/profile/ nell'URL) o l'URL completo del profilo per le azioni profile e user_posts. Funziona anche l'author_id restituito dalle azioni sui commenti.
- 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, url (Il link del record su Xiaohongshu), title, text (Testo della nota o del commento), like_count (Numero di Mi piace), collect_count (Numero di salvataggi), comment_count, share_count, posted_at, image_url, author_name, author_id (L'ID utente dell'autore); 23 campi in totale, elenco completo su https://api.everyinfra.com/api/v1/social/catalog?platform=xiaohongshu.
- Esempio di corpo della richiesta:
{
  "platform": "xiaohongshu",
  "action": "user_posts",
  "params": {
    "user_id": "5bec178863f51f0001859bd9"
  }
}
- 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

#
NomePosizioneTipoObbligatorioPredefinitoDescrizione
AuthorizationheaderstringSì-Bearer seguito dalla tua chiave API. Creala nella console; non inserirla mai in un URL o in un repository di codice.
platformbodystringSìxiaohongshuIdentificativo della piattaforma, valore fisso.
actionbodystringSìuser_postsIdentificativo della funzionalità, valore fisso.
user_idbody.paramsstringSì-Indica l'ID utente Xiaohongshu (l'identificativo dopo /user/profile/ nell'URL) o l'URL completo del profilo per le azioni profile e user_posts. Funziona anche l'author_id restituito dalle azioni sui commenti. Serve a recuperare i dettagli del profilo o le note pubblicate; non accetta i nomi visualizzati degli utenti.
page_tokenbody.paramsstringNo-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

#
bash
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": "user_posts",
  "params": {
    "user_id": "5bec178863f51f0001859bd9"
  }
}'

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

#
Acquisita il October 24, 2026 at 18:28 (UTC) chiamando questa API con i parametri dell'esempio di codice qui sopra. results e count sono la risposta reale di quella chiamata, da cui sono state rimosse le informazioni personali (nomi, handle, avatar, link ai profili, recapiti); l'elenco conserva i primi 2. id, billing e quota cambiano a ogni chiamata, quindi ne viene mostrata solo la struttura.
json
{  "id": "req_…",  "platform": "xiaohongshu",  "action": "user_posts",  "results": [    {      "id": "6ad2ee3d000000001500a406",      "url": "https://www.xiaohongshu.com/explore/6ad2ee3d000000001500a406",      "title": "西藏的后劲太大",      "text": "从西藏回来后总觉得空落落的。\n晚上六点后看马路上行人少了不习惯,保障湖夜里聚着的人群没了,常去的网红S湾也冷冷清清,整个人就像在静静等着冬眠,日子过得格外无聊。\n之前在旅途里虽然身体累,但倒头就能睡,",      "like_count": 4,      "collect_count": 0,      "comment_count": 2,      "share_count": 0,      "posted_at": "2026-10-17T03:40:45+00:00",      "image_url": "https://sns-i27-ae.rednotecdn.com/1040g008326dlp9rr44004bqnt5boh6upnbbi730?imageView2/2/w/576/format/heif/q/58|imageMogr2/strip&redImage/frame/0&ap=12&sc=USR_PRV&sign=8a41040bd29d219271a31b35d28b1710&t=6add009f",      "author_name": "•••",      "author_id": "5bec178863f51f0001859bd9",      "avatar_url": "https://sns-avatar-qc-ae.rednotecdn.com/•••",      "author_url": "https://www.xiaohongshu.com/user/profile/5bec178863f51f0001859bd9",      "is_video": true,      "next_page_token": "n1.6a9801c2000000002902d3f5",      "video_url": "https://sns-v28-ae.rednotecdn.com/stream/79/110/258/01ead2edf98cd6564f037001a147f2cfc3_258.mp4?sign=3488ebb9d403bf590a06aba3c94581b5&t=6ae19ddf",      "duration_sec": 12,      "platform": "xiaohongshu",      "images": [        "https://sns-i27-ae.rednotecdn.com/1040g008326dlp9rr44004bqnt5boh6upnbbi730?imageView2/2/w/576/format/heif/q/58|imageMogr2/strip&redImage/frame/0&ap=12&sc=USR_PRV&sign=8a41040bd29d219271a31b35d28b1710&t=6add009f"      ],      "is_goods_note": false,      "is_pinned": false,      "ip_location": "•••",      "duration_seconds": 12    },    {      "id": "6acc9f40000000001b02e074",      "url": "https://www.xiaohongshu.com/explore/6acc9f40000000001b02e074",      "title": "扬州人冬天都喜欢干啥?",      "text": "很好奇扬州人的冬天白天都喜欢去哪里玩?晚上又喜欢干什么去哪里玩?#如果冬天有味道[话题]# #扬州人的冬天日常分享[话题]# #冬天的味道[话题]# #冬天的烦恼[话题]# #冬天的样子[话题]#",      "like_count": 2,      "collect_count": 0,      "comment_count": 0,      "share_count": 0,      "posted_at": "2026-10-12T08:50:08+00:00",      "image_url": "https://sns-i27-ae.rednotecdn.com/notes_pre_post/1040g3k83267gk1jm44704bqnt5boh6up9ulnts0?imageView2/2/w/576/format/heif/q/58|imageMogr2/strip&redImage/frame/0&ap=12&sc=USR_PRV&sign=c3cc24a4f64405fdd87eaa5922f49a0e&t=6add009f",      "author_name": "•••",      "author_id": "5bec178863f51f0001859bd9",      "avatar_url": "https://sns-avatar-qc-ae.rednotecdn.com/•••",      "author_url": "https://www.xiaohongshu.com/user/profile/5bec178863f51f0001859bd9",      "is_video": false,      "next_page_token": "n1.6a9801c2000000002902d3f5",      "video_url": null,      "duration_sec": null,      "platform": "xiaohongshu",      "images": [        "https://sns-i27-ae.rednotecdn.com/notes_pre_post/1040g3k83267gk1jm44704bqnt5boh6up9ulnts0?imageView2/2/w/576/format/heif/q/58|imageMogr2/strip&redImage/frame/0&ap=12&sc=USR_PRV&sign=c3cc24a4f64405fdd87eaa5922f49a0e&t=6add009f"      ],      "is_goods_note": false,      "is_pinned": false,      "duration_seconds": null    }  ],  "next_page_token": …,  "pagination": { … },  "count": 20,  "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.

CampoSignificato
idID univoco del record sulla piattaforma. È univoco solo all'interno di una piattaforma; gli ID possono ripetersi tra piattaforme diverse.
urlIl link del record su Xiaohongshu. I link di search, note, profile e hashtag di solito contengono un token di accesso, quindi si aprono anche in un browser senza aver effettuato l'accesso (il token scade; chiama di nuovo per un link aggiornato). I link alle note di user_posts non contengono token e ne richiedono uno per aprirsi in un browser: chiama note con l'ID della nota per ottenere un link che si apra. Nemmeno i link ai profili di search_users contengono token; chiama profile con lo user_id per ottenerne uno che si apra. I link alle note di pgy_content_square contengono un token, tranne con keyword, nel qual caso non ne contengono.
titleTitolo. null quando la piattaforma non prevede titoli (ad esempio post di solo testo).
textTesto 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_countNumero 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.
collect_countNumero di salvataggi. Nei risultati di note, quante volte quella nota è stata salvata; su profile, il totale dei salvataggi sulle note dell'account. null significa non pubblico o non restituito questa volta, non zero.
comment_countCommenti. null significa non resi noti, non 0.
share_countCondivisioni. null significa non rese note, non 0.
posted_atData 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.
image_urlLink all'immagine. Le funzionalità con più immagini possono restituire un array image_urls.
author_nameNome visualizzato dell'autore.
author_idL'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.
avatar_urlLink all'immagine dell'avatar. Alcune piattaforme restituiscono URL CDN con dimensioni specifiche, che possono scadere.
author_urlIl link al profilo dell'autore. Non contiene alcun token di accesso, quindi un browser senza accesso non può aprirlo; l'url restituito da profile per l'author_id si apre direttamente.
is_videoIndica se la nota è una nota video. L'URL di riproduzione NON fa parte della risposta con il dettaglio della nota (dal 2026-10-14): per ottenerlo, chiama l'azione separata video con lo stesso URL della nota; ogni chiamata viene addebitata a parte.
next_page_tokenToken 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.
video_urlLink di riproduzione del video (MP4), firmato e con scadenza; scaricalo subito se ti serve conservarlo. null per le note con immagini o quando non viene restituito. Compare nelle righe di search/user_posts e nell'azione separata video; il dettaglio della nota non lo contiene (dal 2026-10-14): chiama l'azione video con lo stesso URL della nota quando ti serve il link di riproduzione.
duration_secDurata del video in secondi. null per le note con immagini o quando non è stata restituita questa volta.
duration_secondsDurata in secondi. null per i contenuti che non sono video o audio.
platformIdentificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok).
imagesLink 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_goods_noteIndica se la nota è una nota acquistabile con link ai prodotti (search, user_posts).
is_pinnedIndica se la nota è fissata in cima al profilo dell'autore (user_posts). Le note fissate compaiono per prime, quindi escludile quando analizzi per data di pubblicazione.
ip_locationPosizione IP (provincia o paese) mostrata da Xiaohongshu; non è inserita dall'utente. Solo alcune righe di user_posts la riportano.

FAQ

#

Dove trovo il valore di user_id?

#

Apri il profilo del creator: l'ID è la stringa che segue /user/profile/ nel link. Puoi anche passare l'URL completo del profilo o un author_id dai risultati dei commenti o della ricerca. Un nickname non permette di identificare un account.

Perché i link delle note non si aprono nel browser?

#

I link delle note restituiti da questa funzionalità non contengono il token di accesso, quindi un browser senza login non riesce ad aprirli. Chiama Note details con l'ID della nota per ottenere un url che si apre, insieme al testo completo della nota.

Come leggo tutte le note di un account?

#

Ogni chiamata restituisce una pagina. Ripassa il next_page_token di primo livello della risposta come page_token per ottenere la pagina successiva, finché la risposta non contiene più next_page_token. Ogni pagina è una chiamata separata, quindi tienine conto per gli account con una lunga cronologia.

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.

Errori

Le nostre statistiche di visita interne sono sempre attive. Google Analytics viene caricato solo se scegli «Consenti analisi». Informativa sulla privacy