API Xiaohongshu Hashtag
Stato di salute dell'API
- Operatività nelle ultime 24 ore
- Normale
- Buono / normale
- Disponibile
- Limitato
- Quasi del tutto inattivo
Ultime 24 ore
Ultimi 30 giorni
Sfoglia le note di una pagina topic di Xiaohongshu, dalle più recenti o dalle più popolari. Ottieni testo completo, tutte le immagini, conteggi di interazione e dettagli dei video. Passa un topic_id di 24 caratteri o il link del topic. Le pagine contengono fino a 20 note e solo l'assenza di next_page_token indica la fine.
Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su xiaohongshu e action impostato su hashtag. 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 Hashtag di EveryInfra (xiaohongshu/hashtag).
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 hashtag, e inserisci i parametri in params.
- Parametri obbligatori:
- topic_id: L'ID della pagina dell'argomento per hashtag (24 caratteri), oppure un link a una pagina dell'argomento come https://www.xiaohongshu.com/page/topics/<ID>, un link all'argomento nell'app o un link breve di condivisione Xi…
- 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.
- sort: Ordine delle note dell'argomento: newest mostra per prime le più recenti (equivale a ometterlo) e popular mostra per prime le più popolari. Usa lo stesso valore durante la paginazione. (valori consentiti: newest / popular)
- 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); 20 campi in totale, elenco completo su https://api.everyinfra.com/api/v1/social/catalog?platform=xiaohongshu.
- Esempio di corpo della richiesta:
{
"platform": "xiaohongshu",
"action": "hashtag",
"params": {
"topic_id": "5be3ef92a514290001a15147"
}
}
- 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ì | hashtag | Identificativo della funzionalità, valore fisso. |
topic_id | body.params | string | Sì | - | L'ID della pagina dell'argomento per hashtag (24 caratteri), oppure un link a una pagina dell'argomento come https://www.xiaohongshu.com/page/topics/<ID>, un link all'argomento nell'app o un link breve di condivisione Xiaohongshu. I valori topics[].topic_id restituiti da note funzionano direttamente. Non è l'ID dell'oggetto tag di una nota né il nome dell'argomento. |
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. |
sort | body.params | string (enum) | No | - | Ordine delle note dell'argomento: newest mostra per prime le più recenti (equivale a ometterlo) e popular mostra per prime le più popolari. Usa lo stesso valore durante la paginazione.Valori consentitinewestpopular |
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": "hashtag",
"params": {
"topic_id": "5be3ef92a514290001a15147"
}
}'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": "hashtag", "results": [ { "id": "6adcf9ce000000002a02aa53", "url": "https://www.xiaohongshu.com/explore/6adcf9ce000000002a02aa53?xsec_token=FBguhMknWemCgqYU8sbFRwAQQTt1uvZ-Fdz-Fi4p9ejxw%3D", "title": "提拉米苏", "text": "#星巴克[话题]# #提拉米苏[话题]# #贝果三明治[话题]#", "like_count": 0, "collect_count": 0, "comment_count": 0, "share_count": 0, "posted_at": "2026-10-24T18:32:47+00:00", "image_url": "https://sns-na-i2.xhscdn.com/1040g008326nfm9r5lq5g5pe4smi4alonjl0mrhg?imageView2/2/w/608/format/heif/q/56|imageMogr2/strip&redImage/frame/0/enhance/4&ap=22&sc=LF_PRV&sign=c51ee6a96b89f340c8ec4ad13fda0469&t=6add00a2", "author_name": "•••", "author_id": "•••", "avatar_url": "https://sns-avatar-qc.xhscdn.com/•••", "author_url": "https://www.xiaohongshu.com/•••", "is_video": false, "next_page_token": "n1.tWzE3OTI4NjIyOTAwMDAsIjZhZGNlODUyMDAwMDAwMDAyNTAyMjAyYyIsIkxZRG03V3VzM1ByV3JDZHNxTEtGb3ciXQ", "video_url": null, "duration_sec": null, "platform": "xiaohongshu", "images": [ "https://sns-na-i2.xhscdn.com/1040g008326nfm9r5lq5g5pe4smi4alonjl0mrhg?imageView2/2/w/608/format/heif/q/56|imageMogr2/strip&redImage/frame/0/enhance/4&ap=22&sc=LF_PRV&sign=c51ee6a96b89f340c8ec4ad13fda0469&t=6add00a2", "https://sns-na-i2.xhscdn.com/1040g008326nfm9r5lq3g5pe4smi4alon85o1dog?imageView2/2/w/540/format/webp|imageMogr2/strip&redImage/frame/0" ], "duration_seconds": null }, { "id": "6adcf8b3000000002a02a99b", "url": "https://www.xiaohongshu.com/explore/6adcf8b3000000002a02a99b?xsec_token=FBguhMknWemCgqYU8sbFRwARusWG8xYkzW1rDs95JQxQk%3D", "title": "", "text": "一顆心,只為你。#安乾镐[话题]# #keonho[话题]# #营业图[话题]# #星巴克[话题]# #热点[话题]#", "like_count": 3, "collect_count": 0, "comment_count": 0, "share_count": 0, "posted_at": "2026-10-24T18:28:03+00:00", "image_url": "https://sns-na-i2.xhscdn.com/notes_pre_post/1040g3k0326nfehtr5q105q92os8tp6j1dn10jko?imageView2/2/w/608/format/heif/q/56|imageMogr2/strip&redImage/frame/0/enhance/4&ap=22&sc=LF_PRV&sign=bd0e8a7248ede2cf3b3bc3f1a97ed2bd&t=6add00a2", "author_name": "•••", "author_id": "•••", "avatar_url": "https://sns-avatar-qc.xhscdn.com/•••", "author_url": "https://www.xiaohongshu.com/•••", "is_video": false, "next_page_token": "n1.tWzE3OTI4NjIyOTAwMDAsIjZhZGNlODUyMDAwMDAwMDAyNTAyMjAyYyIsIkxZRG03V3VzM1ByV3JDZHNxTEtGb3ciXQ", "video_url": null, "duration_sec": null, "platform": "xiaohongshu", "images": [ "https://sns-na-i2.xhscdn.com/notes_pre_post/1040g3k0326nfehtr5q105q92os8tp6j1dn10jko?imageView2/2/w/608/format/heif/q/56|imageMogr2/strip&redImage/frame/0/enhance/4&ap=22&sc=LF_PRV&sign=bd0e8a7248ede2cf3b3bc3f1a97ed2bd&t=6add00a2", "https://sns-na-i2.xhscdn.com/notes_pre_post/1040g3k0326nfehtr5q1g5q92os8tp6j1l2aufco?imageView2/2/w/540/format/webp|imageMogr2/strip&redImage/frame/0" ], "duration_seconds": null } ], "next_page_token": …, "pagination": { … }, "count": 18, "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. |
url | Il 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. |
title | Titolo. null quando la piattaforma non prevede titoli (ad esempio post di solo testo). |
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. |
collect_count | Numero 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_count | Commenti. null significa non resi noti, non 0. |
share_count | Condivisioni. null significa non rese note, non 0. |
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. |
image_url | Link all'immagine. Le funzionalità con più immagini possono restituire un array image_urls. |
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. |
avatar_url | Link all'immagine dell'avatar. Alcune piattaforme restituiscono URL CDN con dimensioni specifiche, che possono scadere. |
author_url | Il 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_video | Indica 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_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. |
video_url | Link 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_sec | Durata del video in secondi. null per le note con immagini o quando non è stata restituita questa volta. |
duration_seconds | Durata in secondi. null per i contenuti che non sono video o audio. |
platform | Identificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok). |
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. |
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.