API Xiaohongshu Ricerca
Stato di salute dell'API
- Operatività nelle ultime 24 ore
- 100%
- Tempo medio nelle ultime 24 ore
- 5.86 s
- Buono / normale
- Disponibile
- Limitato
- Quasi del tutto inattivo
Ultime 24 ore
Ultimi 30 giorni
Trova note di Xiaohongshu su un argomento, 20 per pagina. Ottieni titolo, estratto del testo, numero di like, salvataggi, commenti e condivisioni, autore e data di pubblicazione. Restringi per tipo di contenuto, ordinamento e intervallo di date. Per la pagina successiva, rimanda next_page_token come page_token. Il testo della ricerca è un estratto, non la nota completa.
Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su xiaohongshu e action impostato su search. 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 Search cerca le note per keyword e restituisce una pagina di schede delle note: titolo, un breve estratto del testo, numero di like e salvataggi, autore e data di pubblicazione. Le note video includono anche il link di riproduzione in video_url e la durata in duration_sec, mentre le schede con un luogo associato includono poi_name. Mostra di cosa parlano le persone su un tema in questo momento e quali note generano più interazioni, ed è quindi un punto di partenza per ricerche sui trend, monitoraggio del brand e ricerca di creator con cui collaborare.
Restringi la pagina con sort (più recenti, più like, più commenti o più salvataggi), date_range (ultime 24 ore, 7 giorni, mese, sei mesi o anno; any_time per nessun limite) e content_type (note con immagini o video). Tieni presente che text nei risultati di ricerca è un estratto; passa l'url del risultato alla funzionalità Note details quando ti serve il testo completo. Un like_count o collect_count null significa che il valore non è stato restituito questa volta, non che è zero.
Prompt per l'AI
#Aiutami a scrivere uno script di raccolta dei dati con l'endpoint Xiaohongshu Ricerca di EveryInfra (xiaohongshu/search).
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 search, e inserisci i parametri in params.
- Parametri obbligatori:
- keyword: Indica la stringa di ricerca per il contenuto delle note Xiaohongshu (ad es. "sensitive skin sunscreen") nell'azione search. Cerca nel testo delle note, non negli ID utente.
- Parametri facoltativi:
- content_type: Filtra le note restituite per tipo di contenuto, ad es. immagini/testo o video. Usa i valori consentiti indicati per l'azione corrente. (valori consentiti: all / image / video)
- date_range: Filtra le note per data di pubblicazione: any_time (nessun limite, come ometterlo), last_24_hours (ultime 24 ore), last_7_days (ultimi 7 giorni), last_30_days (ultimo mese), last_6_months (ultimi sei mesi) o last_1_year… (valori consentiti: any_time / last_1_year / last_24_hours / last_30_days / last_6_months / last_7_days)
- 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: Imposta l'ordine degli elenchi di note nell'azione search: relevance, newest, most_liked, most_commented o most_collected. Usa solo i valori consentiti indicati per l'azione. (valori consentiti: most_collected / most_commented / most_liked / newest / relevance)
- 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); 29 campi in totale, elenco completo su https://api.everyinfra.com/api/v1/social/catalog?platform=xiaohongshu.
- Esempio di corpo della richiesta:
{
"platform": "xiaohongshu",
"action": "search",
"params": {
"keyword": "小户型收纳"
}
}
- 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ì | search | Identificativo della funzionalità, valore fisso. |
keyword | body.params | string | Sì | - | Indica la stringa di ricerca per il contenuto delle note Xiaohongshu (ad es. "sensitive skin sunscreen") nell'azione search. Cerca nel testo delle note, non negli ID utente. |
content_type | body.params | string (enum) | No | - | Filtra le note restituite per tipo di contenuto, ad es. immagini/testo o video. Usa i valori consentiti indicati per l'azione corrente.Valori consentitiallimagevideo |
date_range | body.params | string (enum) | No | - | Filtra le note per data di pubblicazione: any_time (nessun limite, come ometterlo), last_24_hours (ultime 24 ore), last_7_days (ultimi 7 giorni), last_30_days (ultimo mese), last_6_months (ultimi sei mesi) o last_1_year (ultimo anno). Con last_30_days e last_1_year una pagina può contenere meno di 20 note, e una pagina vuota non viene addebitata; aggiungi sort=newest per pagine più piene. Questi due valori funzionano solo nelle chiamate sincrone. Mantieni lo stesso valore durante la paginazione.Valori consentitiany_timelast_1_yearlast_24_hourslast_30_dayslast_6_monthslast_7_days |
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 | - | Imposta l'ordine degli elenchi di note nell'azione search: relevance, newest, most_liked, most_commented o most_collected. Usa solo i valori consentiti indicati per l'azione.Valori consentitimost_collectedmost_commentedmost_likednewestrelevance |
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": "search",
"params": {
"keyword": "小户型收纳"
}
}'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": "search", "results": [ { "id": "6a55fff400000000110058c3", "url": "https://www.xiaohongshu.com/explore/6a55fff400000000110058c3?xsec_token=YBwgl4W48szr36c1jFWrf2WWLLGDKYfA5rrXQivgGAj1A%3D", "title": "抽屉乱救星!亚克力薄抽治愈收纳焦虑|附教程", "text": "我发现这种又薄、还自带分隔的亚克力薄抽,简直就是为收纳小工具小零件而生的。今天就来分享详细的改造教程,评论区等你们交作业", "like_count": 10388, "collect_count": 19173, "comment_count": 257, "share_count": 2323, "posted_at": "2026-07-14T09:23:00+00:00", "image_url": "https://sns-na-i6.xhscdn.com/1040g2sg322jlesv1mse043d8j25m1nmqtti8mog?imageView2/2/w/608/format/heif/q/56|imageMogr2/strip&redImage/frame/0/enhance/4&ap=5&sc=SRH_PRV&sign=b642658d19400d337f2d5296494687c7&t=6ad0ee01", "author_name": "•••", "author_id": "•••", "avatar_url": "https://sns-avatar-qc.xhscdn.com/•••", "author_url": "https://www.xiaohongshu.com/•••", "is_video": true, "next_page_token": "n1.p2", "video_url": "http://sns-video-v6.xhscdn.com/stream/79/110/258/01ea55fdf56356a44f0370019f5ff0eb8f_258.mp4?sign=734255c44c5f43e96d8b4a12707707a8&t=6ad58b41", "duration_sec": 124, "platform": "xiaohongshu" }, { "id": "6ac221730000000015002ebb", "url": "https://www.xiaohongshu.com/explore/6ac221730000000015002ebb?xsec_token=YBPVyCh77T_2_QF6CFfJ2TiJ8GngzcLJj_Iho466OzP5o%3D", "title": "鬼才🔥3平开放式小厨房超实用设计!", "text": "#家的1%幸福效应 #howto装扮我的家 #适己化装修 #小户型也有完美厨房 #开放式厨房 #利用厨房空间", "like_count": 38783, "collect_count": 30796, "comment_count": 1021, "share_count": 6986, "posted_at": "2026-10-04T09:50:43+00:00", "image_url": "https://sns-na-i6.xhscdn.com/1040g008325t8oj9j4q005pl7le7nc96up4p8rk8?imageView2/2/w/608/format/heif/q/56|imageMogr2/strip&redImage/frame/0/enhance/4&ap=5&sc=SRH_PRV&sign=ee3e432a917938b82ba55751f30a860e&t=6ad0ee01", "author_name": "•••", "author_id": "•••", "avatar_url": "https://sns-avatar-qc.xhscdn.com/•••", "author_url": "https://www.xiaohongshu.com/•••", "is_video": true, "next_page_token": "n1.p2", "video_url": "http://sns-video-v6.xhscdn.com/stream/1/110/258/01eac221721521f001037001a106536b1a_258.mp4?sign=e98d44d7b6f666dc2c4e841655d8c578&t=6ad58b41", "duration_sec": 189, "platform": "xiaohongshu", "poi_id": "42303030413832584538" } ], "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.
| 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). |
poi_id | ID del luogo taggato nella scheda del risultato di ricerca (search); assente quando nessun luogo è taggato. |
poi_name | Nome del luogo: su search, il luogo taggato nella scheda del risultato; su note_location, la parte del luogo taggato nella nota che segue il punto, ad esempio la sede di un bar. Assente quando non è taggato nessun luogo o ne sono taggati diversi. |
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_goods_note | Indica se la nota è una nota acquistabile con link ai prodotti (search, user_posts). |
is_cooperation_note | Indica se la nota è una collaborazione a pagamento con un brand (search, note); assente quando non è stato possibile determinarlo. |
author_is_verified | Mantiene il significato attribuito dalla piattaforma |
updated_at | Mantiene il significato attribuito dalla piattaforma |
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. |
video_width | Mantiene il significato attribuito dalla piattaforma |
video_height | Mantiene il significato attribuito dalla piattaforma |
FAQ
#Perché il testo della nota è troncato?
#I risultati di ricerca contengono l'estratto che Xiaohongshu mostra nelle schede dei risultati, di solito qualche decina di caratteri. Per il testo completo e tutte le immagini, chiama Note details con l'url della riga del risultato; quel link contiene già il token di accesso richiesto dalla pagina della nota.
Come ottengo la pagina successiva?
#Ripassa il next_page_token di primo livello della risposta come page_token e lascia invariati tutti gli altri parametri. Senza page_token si parte dalla prima pagina. Ogni pagina è una chiamata, e una chiamata che non restituisce righe non viene addebitata.
Dove trovo il video di una nota video?
#Prendi video_url dalla riga del risultato di ricerca. È un link di riproduzione MP4 firmato e con scadenza, quindi scarica subito il file se ti serve conservarlo; duration_sec ne indica la durata, e per le note con immagini entrambi i campi sono null. Note details non restituisce il link di riproduzione, quindi se hai solo il link di una nota, chiama Video details con quel link.
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.
Riferimenti ufficiali
#Usati solo per verificare oggetti e terminologia. Non implicano alcuna autorizzazione o approvazione di EveryInfra da parte della piattaforma.
- Xiaohongshu: i punti di accesso alle note con immagini e testo e alle note video ↗
La documentazione pubblica sui deeplink di Xiaohongshu elenca separatamente le note con immagini e testo, le note video e le pagine dei commenti delle note. Questo riferimento cita solo le distinzioni tra tipi di contenuto; i parametri di reindirizzamento dell'app presenti nella documentazione non possono essere passati direttamente a questo endpoint.
Verificato il 2026-09-04