API Taobao Ricerca
Stato di salute dell'API
- Operatività nelle ultime 24 ore
- 100%
- Tempo medio nelle ultime 24 ore
- 34.32 s
- Buono / normale
- Disponibile
- Limitato
- Quasi del tutto inattivo
Ultime 24 ore
Ultimi 30 giorni
Cerca schede prodotto Taobao e Tmall per parola chiave. Ottieni prezzo e località di spedizione, più unità vendute, valutazione, negozio e dettagli su coupon o sconti, se disponibili. Le ricerche per sola parola chiave sono le più affidabili e supportano la paginazione con page, 20 per pagina, anche se nella maggior parte delle righe mancano unità vendute e nome del negozio. Fasce di prezzo, popular, price_desc e tmall_only non supportano la paginazione, e gli ultimi tre limitano una richiesta a 10 risultati. Disponibilità, autenticità e consegna non sono confermate.
Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su taobao e action impostato su search. Prezzo $13.5 per 1.000 richieste ($0.0135 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.
Taobao Search trova le schede prodotto di Taobao e Tmall per keyword e restituisce per ogni prodotto titolo, prezzo e valuta, unità vendute, valutazione, località di spedizione, nome del negozio, immagine principale e scorte. Usala per vedere cosa si vende in una categoria e a quale prezzo, per ricerche di prodotto, monitoraggio dei prezzi dei concorrenti e studi di categoria.
Restringi per prezzo con min_price e max_price, ordina con sort (pertinenza, popolarità o prezzo decrescente) e tieni solo le schede prodotto Tmall con tmall_only. tmall_only accetta un booleano true o false; una stringa viene rifiutata prima di qualsiasi addebito. Prima di confrontare i valori di rating, controlla rating_scale nella stessa riga, perché il valore massimo cambia da una piattaforma all'altra.
Prompt per l'AI
#Aiutami a scrivere uno script di raccolta dei dati con l'endpoint Taobao Ricerca di EveryInfra (taobao/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 taobao e action su search, e inserisci i parametri in params.
- Parametri obbligatori:
- keyword: Specifica il termine di ricerca dei prodotti su Taobao o Tmall per l'azione search. Non esegue una ricerca esatta per nome del negozio.
- Parametri facoltativi:
- max_price: Imposta il filtro sul prezzo massimo degli articoli per l'azione search, insieme a min_price. Non controlla i limiti di inventario degli SKU. I decimali possono essere arrotondati per eccesso a un numero intero.
- min_price: Imposta il filtro sul prezzo minimo degli articoli per l'azione search. Non è un filtro sul punteggio delle recensioni né un parametro sul costo dell'API e non si applica a shop, product_detail, reviews o questions.
- page: Numero di pagina per la ricerca prodotti, da 1 a 50, con 20 risultati per pagina. Omettilo per la pagina 1; ogni pagina viene addebitata come una chiamata.
- sort: Per la ricerca prodotti, usa relevance (predefinito), popular o price_desc. Le ricerche default e relevance consentono fino a 20 risultati; popular e price_desc fino a 10 e non possono essere paginate. (valori consentiti: popular / price_desc / relevance)
- tmall_only: Se impostato sul booleano true, limita la ricerca prodotti agli articoli Tmall e la richiesta a 10 risultati, senza paginazione. Passa solo un booleano JSON.
- limit: Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 20. Se lo ometti, viene applicato il valore predefinito; una chiamata può restituire meno righe. (predefinito: 20)
- Restituisce un elenco di record. Campi principali di ogni record: id, url, title, price (Prezzo come numero senza simbolo di val…), currency, price_basis (Come è stato ottenuto price (presente s…), sold_count (Unità vendute), rating, rating_scale, location (Luogo di spedizione), shop_name (Nome del negozio), image_url; 42 campi in totale, elenco completo su https://api.everyinfra.com/api/v1/social/catalog?platform=taobao.
- Esempio di corpo della richiesta:
{
"platform": "taobao",
"action": "search",
"params": {
"keyword": "便携咖啡秤"
}
}
- Prezzo: $13.5 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ì | taobao | Identificativo della piattaforma, valore fisso. |
action | body | string | Sì | search | Identificativo della funzionalità, valore fisso. |
keyword | body.params | string | Sì | - | Specifica il termine di ricerca dei prodotti su Taobao o Tmall per l'azione search. Non esegue una ricerca esatta per nome del negozio. |
max_price | body.params | number | No | - | Imposta il filtro sul prezzo massimo degli articoli per l'azione search, insieme a min_price. Non controlla i limiti di inventario degli SKU. I decimali possono essere arrotondati per eccesso a un numero intero. Le ricerche con un intervallo di prezzo non supportano la paginazione. |
min_price | body.params | number | No | - | Imposta il filtro sul prezzo minimo degli articoli per l'azione search. Non è un filtro sul punteggio delle recensioni né un parametro sul costo dell'API e non si applica a shop, product_detail, reviews o questions. I decimali possono essere arrotondati per difetto a un numero intero. Le ricerche con un intervallo di prezzo non supportano la paginazione. |
page | body.params | integer | No | - | Numero di pagina per la ricerca prodotti, da 1 a 50, con 20 risultati per pagina. Omettilo per la pagina 1; ogni pagina viene addebitata come una chiamata. Solo le ricerche per semplice parola chiave supportano la paginazione (senza min_price, max_price o tmall_only, e con sort omesso o relevance). Sono il modo più affidabile per cercare, anche se la maggior parte delle righe non riporta dati di vendita né il nome del negozio. Una pagina superiore a 1 combinata con uno qualsiasi di questi filtri viene rifiutata prima dell'addebito, quindi rimuovi quei filtri per paginare. limit imposta solo quanti risultati di quella pagina ricevi, quindi mantienilo a 20 durante la paginazione. Le classifiche si aggiornano in tempo reale, quindi pagine adiacenti possono a volte ripetere alcuni elementi; elimina i duplicati in base a id quando unisci le pagine. |
sort | body.params | string (enum) | No | - | Per la ricerca prodotti, usa relevance (predefinito), popular o price_desc. Le ricerche default e relevance consentono fino a 20 risultati; popular e price_desc fino a 10 e non possono essere paginate. Le richieste oltre il limite applicabile vengono rifiutate prima dell'addebito, e price_asc non è supportato. Le azioni reviews e questions non accettano sort. Per shop, sort si applica solo quando si pagina con page; vedi i parametri di shop.Valori consentitipopularprice_descrelevance |
tmall_only | body.params | boolean | No | - | Se impostato sul booleano true, limita la ricerca prodotti agli articoli Tmall e la richiesta a 10 risultati, senza paginazione. Passa solo un booleano JSON; stringhe come "false" e richieste oltre questo limite vengono rifiutate prima dell'addebito. |
limit | body.params | integer (1–20) | No | 20 | Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 20. Se lo ometti, viene applicato il valore predefinito; una chiamata può restituire meno righe. I valori più alti restituiscono 422 prima di qualsiasi addebito. |
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": "taobao",
"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": "taobao", "action": "search", "results": [ { "id": "•••", "url": "https://item.taobao.com/item.htm?id=1036557039587", "title": "手冲电子称豆盘咖啡称重展示盘咖啡豆粉秤豆碟茶叶茶则茶器便携", "price": 59.8, "currency": "CNY", "location": "浙江 杭州", "shop_name": "好货严选工厂", "image_url": "https://g.search.alicdn.com/img/bao/uploaded/i4/i2/2206584264218/O1CN01sCMEZhb10YE1chua_!!2206584264218-0-C2M.jpg", "stock": 438, "shop_id": "2206584264218", "sold_text": "1000+", "original_price": 59.8, "discount_type": "特价秒杀", "seller_credit_level": 20, "seller_positive_rate": 100, "shop_score_description": 4.74, "shop_score_service": 4.8, "shop_score_delivery": 4.82, "subtitle": "", "search_rank": 1, "images": [ "https://img.alicdn.com/imgextra/i4/3937219703/O1CN01VRbcrW2LY2B5R9Jq9_!!3937219703-0-C2M.jpg", "https://img.alicdn.com/imgextra/i3/3937219703/O1CN01Bs0puN2LY2B58j8Nm_!!3937219703-0-C2M.jpg", "https://img.alicdn.com/imgextra/i4/3937219703/O1CN010vTDpb2LY2B5NXjqG_!!3937219703-0-C2M.jpg" ], "discount_rate": 100, "spu_id": "8995243647", "platform": "taobao" }, { "id": "•••", "url": "https://item.taobao.com/item.htm?id=803310769271", "title": "Bincoo咖啡电子秤意式专用咖啡豆称重智能手冲迷你便携秤咖啡器具", "price": 88, "currency": "CNY", "shop_name": "bincoo旗舰店", "image_url": "https://g.search1.alicdn.com/img/bao/uploaded/i4/i3/4249388314/O1CN013agzRw2BHrr0rcgBA_!!0-item_pic.jpg", "stock": 1267, "shop_id": "4249388314", "sold_text": "1000+", "original_price": 128, "discount_type": "优惠价", "seller_credit_level": 16, "seller_positive_rate": 100, "shop_score_description": 4.9, "shop_score_service": 4.92, "shop_score_delivery": 4.93, "subtitle": "", "search_rank": 2, "images": [ "https://img.alicdn.com/imgextra/i1/4249388314/O1CN01ZKqJQV2BHrqxP8GFJ_!!4249388314.jpg", "https://img.alicdn.com/imgextra/i2/4249388314/O1CN01tX38az2BHrqz5tjuQ_!!4249388314.jpg", "https://img.alicdn.com/imgextra/i1/4249388314/O1CN01Jddc8c2BHrqyzT1fk_!!4249388314.jpg" ], "discount_rate": 68.75, "spu_id": "7410827142", "platform": "taobao" } ], "count": 10, "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 | Link al record sulla piattaforma. |
title | Titolo. null quando la piattaforma non prevede titoli (ad esempio post di solo testo). |
price | Prezzo come numero senza simbolo di valuta; vedi currency. In product_detail, i prezzi (compreso il price di ogni riga di skus) sono per lo più convertiti da dollari USA e possono essere circa l'1–4% sopra o sotto il prezzo della pagina Taobao; fa fede il prezzo della pagina. In search, il price di ogni riga può essere il prezzo attuale della pagina, il prezzo di listino barrato o un prezzo promozionale. price_basis indica quale tipo hai ottenuto. |
currency | Codice valuta del prezzo (ad esempio CNY, USD). Se price è presente ma currency è null, non dare per scontata una valuta. |
price_basis | Come è stato ottenuto price (presente solo quando c'è un prezzo). In product_detail: converted (la maggior parte delle chiamate) è un prezzo in CNY convertito da dollari USA e può essere circa l'1–4% sopra o sotto il prezzo della pagina Taobao; page è il prezzo in CNY mostrato sulla pagina Taobao. In search (uno per riga): page è il prezzo attuale mostrato sulla pagina Taobao; list è il prezzo di listino barrato, che è superiore al prezzo di vendita effettivo quando l'articolo è scontato, a volte il doppio; promotion è un prezzo promozionale di affiliazione Taobao ed è spesso molto inferiore al prezzo della pagina. currency è CNY in ogni caso, e le chiamate per lo stesso prodotto possono dare valori diversi. |
sold_count | Unità vendute. |
rating | Valutazione. La scala varia in base alla piattaforma: rating_scale nella stessa riga indica il valore massimo (di solito 5; Booking, Douban, iQIYI e NAVER usano 10). Converti con rating_scale prima di confrontare piattaforme diverse, altrimenti il confronto può risultare invertito. |
rating_scale | Valore massimo di rating nella stessa riga: 5 per le scale a cinque stelle, 10 per quelle a dieci punti. Presente solo se la riga ha una valutazione. |
location | Luogo di spedizione. Per i venditori con più magazzini, le chiamate per lo stesso prodotto possono mostrare luoghi di spedizione diversi. |
shop_name | Nome del negozio. |
image_url | Link all'immagine. Le funzionalità con più immagini possono restituire un array image_urls. |
stock | Quantità in magazzino. Per i venditori con più magazzini, le chiamate per lo stesso prodotto possono restituire disponibilità diverse (e un luogo di spedizione diverso). |
shop_id | ID del negozio. |
sold_text | Dato sulle vendite così come mostrato (search), ad esempio 100k+; i valori con + o espressi in unità di 10k sono visualizzazioni arrotondate, non dati di vendita esatti. |
original_price | Prezzo originale (barrato). In shop è l'unico prezzo: il valore barrato mostrato nella scheda prodotto, non il prezzo di vendita, e può essere molto più alto; per il prezzo di vendita usa product_detail. |
coupon_price | Prezzo dopo il coupon: inferiore a price quando si applica un coupon, altrimenti assente. |
discount_type | Tipo di sconto o di campagna come riportato (ad esempio flash sale). |
is_tmall | Indica se il negozio è uno store Tmall anziché un normale negozio Taobao; i due hanno requisiti di ammissione e garanzie per l'acquirente diversi. |
brand | Marca. |
category_id | ID della categoria. |
seller_credit_level | Livello di credito del venditore (un numero: più alto è il valore, migliore è il livello). |
seller_positive_rate | Tasso di feedback positivi del venditore (search), in percentuale: 100 significa 100%. |
shop_score_description | Valutazione del negozio per la corrispondenza dell'articolo alla descrizione, su una scala a 5 punti. |
shop_score_service | Valutazione del negozio per il servizio, su una scala a 5 punti. |
shop_score_delivery | Valutazione del negozio per la spedizione, su una scala a 5 punti. |
subtitle | Sottotitolo del prodotto (search), una breve frase che evidenzia un punto di forza. |
search_rank | Posizione in questo risultato di ricerca (search), a partire da 1; con la paginazione il conteggio prosegue, quindi la pagina 3 inizia da 41. |
free_shipping | Indica se la spedizione è gratuita. |
selling_points | Tag dei punti di forza. |
review_tags | Tag delle recensioni, ciascuno con tag (l'etichetta) e count (quante volte è stato menzionato; può mancare). |
images | Link alle immagini: foto del prodotto in product_detail, foto dell'acquirente in reviews (assente se la recensione non ne ha). |
discount_rate | Mantiene il significato attribuito dalla piattaforma |
spu_id | Mantiene il significato attribuito dalla piattaforma |
category_path | Percorso della categoria (breadcrumb). |
review_count | Numero di recensioni, per le funzionalità relative a prodotti e attività. null significa non reso noto, non 0. |
latest_review | Mantiene il significato attribuito dalla piattaforma |
seller_type | Codice del tipo di venditore (product_detail). |
shop_opened_at | Data di apertura del negozio, come riportata (product_detail). |
shop_age_years | Mantiene il significato attribuito dalla piattaforma |
shop_item_count | Numero di articoli in vendita nel negozio (product_detail, search, shop). |
shop_score_vs_industry | Mantiene il significato attribuito dalla piattaforma |
platform | Identificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok). |
FAQ
#Posso scorrere altri risultati con la paginazione?
#Sì, con page: pagine da 1 a 50, 20 risultati ciascuna, e ogni pagina è addebitata come una chiamata; se lo ometti, vale la pagina 1. La paginazione funziona solo per le ricerche semplici per parola chiave, cioè senza min_price, max_price o tmall_only e con sort omesso o impostato su relevance. È il modo più affidabile di cercare, anche se la maggior parte delle righe non contiene dati di vendita né nome del negozio. Le ricerche con una fascia di prezzo o con sort=popular possono includere i dati di vendita, ma restituiscono al massimo 10 o 20 risultati e non supportano la paginazione, quindi con queste ricerche un page superiore a 1 viene rifiutato prima di qualsiasi addebito. Le classifiche si aggiornano in tempo reale, quindi pagine vicine possono ogni tanto ripetere alcuni elementi; deduplica per id quando unisci le pagine.
Quali ordinamenti supporta sort?
#relevance (predefinito), popular e price_desc, che elenca prima i prodotti più costosi; al momento non esiste un ordinamento dal più economico. L'ordinamento per popolarità o prezzo restituisce al massimo 10 risultati per chiamata e non supporta la paginazione; per avere più risultati, fai una ricerca semplice per parola chiave senza sort e scorri le pagine con page.
Come funzionano i filtri di prezzo?
#min_price e max_price delimitano il prezzo del prodotto, e puoi passarne anche solo uno. Si applicano solo alla ricerca dei prodotti, non alle valutazioni né al costo delle chiamate. price viene restituito senza simbolo di valuta; leggi la valuta da currency.
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.