API Xiaohongshu Ricerca prodotti
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
Cerca prodotti nello store di Xiaohongshu tramite keyword. Ogni prodotto include titolo, prezzo, prezzo di listino, valuta, unità vendute se la pagina le mostra, disponibilità, immagine e negozio. Una pagina contiene di solito 19 prodotti (osservati da 18 a 20); passa alle pagine successive con next_page_token. Si tratta di prodotti dello store, non di note, e ogni id funziona in product_detail.
Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su xiaohongshu e action impostato su product_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.
Prompt per l'AI
#Aiutami a scrivere uno script di raccolta dei dati con l'endpoint Xiaohongshu Ricerca prodotti di EveryInfra (xiaohongshu/product_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 product_search, e inserisci i parametri in params.
- Parametri obbligatori:
- keyword: Un termine di ricerca di prodotti nello store di Xiaohongshu, ad esempio sunscreen. Restituisce prodotti (SKU), non note; ogni id funziona come product_id in product_detail.
- Parametri facoltativi:
- page_token: Token di pagina. Omettilo per la prima pagina, poi ripassa il next_page_token della risposta precedente esattamente come ricevuto, lasciando invariati gli altri parametri.
- Restituisce un elenco di record. Campi principali di ogni record: id, title, url (Il link del record su Xiaohongshu), price, original_price (Prezzo di listino del prodotto prima de…), currency, image_url, sold_count (Unità vendute come le mostra la pagina…), in_stock (Indica se il prodotto è attualmente dis…), shop_id (ID del negozio (product_search, product…), shop_name (Nome del negozio (product_search, produ…), next_page_token (Token di pagina (search, comments, sub_…).
- Esempio di corpo della richiesta:
{
"platform": "xiaohongshu",
"action": "product_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ì | product_search | Identificativo della funzionalità, valore fisso. |
keyword | body.params | string | Sì | - | Un termine di ricerca di prodotti nello store di Xiaohongshu, ad esempio sunscreen. Restituisce prodotti (SKU), non note; ogni id funziona come product_id in product_detail. |
page_token | body.params | string | No | - | Token di pagina. Omettilo per la prima pagina, poi ripassa il next_page_token della risposta precedente esattamente come ricevuto, lasciando invariati gli altri parametri. Una pagina contiene di solito 19 prodotti (osservati da 18 a 20) e corrisponde a una chiamata; lo store riordina i risultati, quindi pagine adiacenti possono avere alcuni prodotti in comune: deduplica per id. Usa un token entro 24 ore; l'ultima pagina non ha next_page_token. |
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": "product_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": "product_search", "results": [ { "id": "65317567e7ebf70001802b30", "title": "咖啡脑送礼推荐|诗歌挂耳咖啡,三个系列满足不同咖啡星人", "url": "https://www.xiaohongshu.com/goods-detail/65317567e7ebf70001802b30", "price": 118, "original_price": 118, "currency": "CNY", "image_url": "https://mall-i1.xhscdn.com/arkgoods/104100ao313t07atbie0686peto43bso004kj5tthm4bdk?imageView2/1/w/540/h/720/format/webp/q/85&ap=3&sc=GOOD_SEARCH", "sold_count": 75, "in_stock": true, "shop_id": "64b9101eb81c530001cf1041", "shop_name": "ALI POETRY LAB诗歌实验室的店", "next_page_token": "n1.p2", "platform": "xiaohongshu" }, { "id": "697177f9a17bbe0001abc8f1", "title": "瑞幸即享0糖醇香浓缩咖啡液意式黑咖到手18ml×4杯黑咖啡", "url": "https://www.xiaohongshu.com/goods-detail/697177f9a17bbe0001abc8f1", "price": 14.16, "original_price": 24.16, "currency": "CNY", "image_url": "https://mall-i1.xhscdn.com/arkgoods/1040g3no31rkg4bvii00g5nsje3r09e31mq2rgso?imageView2/2/w/540/format/webp/q/85&ap=3&sc=GOOD_SEARCH", "sold_count": 1, "in_stock": true, "shop_id": "696997d4c2fdec0015b79c9c", "shop_name": "1841 优品优乐小店的店", "next_page_token": "n1.p2", "platform": "xiaohongshu" } ], "next_page_token": …, "pagination": { … }, "count": 19, "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. |
title | Titolo. null quando la piattaforma non prevede titoli (ad esempio post di solo testo). |
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. |
price | Prezzo come numero senza simbolo di valuta; vedi currency. |
original_price | Prezzo di listino del prodotto prima dello sconto (product_search, product_detail), in CNY; uguale a price quando non c'è un prezzo barrato. |
currency | Codice valuta del prezzo (ad esempio CNY, USD). Se price è presente ma currency è null, non dare per scontata una valuta. |
image_url | Link all'immagine. Le funzionalità con più immagini possono restituire un array image_urls. |
sold_count | Unità vendute come le mostra la pagina del prodotto (product_search, product_detail): valore esatto nelle righe di ricerca; quando la pagina di dettaglio mostra un valore arrotondato come 72k+, questo campo riporta il limite inferiore (72000). Per i prodotti venduti a peso o a pezzi, il conteggio è in quell'unità. Assente quando la pagina non lo mostra. |
in_stock | Indica se il prodotto è attualmente disponibile (product_search, product_detail). |
shop_id | ID del negozio (product_search, product_detail). |
shop_name | Nome del negozio (product_search, product_detail). |
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. |
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.