POST

Stato di salute dell'API

Operatività nelle ultime 24 ore
Normale
  • Buono / normale
  • Disponibile
  • Limitato
  • Quasi del tutto inattivo
Normale

Ultime 24 ore

Ultimi 30 giorni

Raccogli le recensioni degli ospiti di una struttura Booking.com, con il testo su ciò che è piaciuto e non piaciuto tenuto separato, punteggio, mese del soggiorno, tipo di viaggiatore, camera ed eventuale risposta dell'hotel. Ciascuna delle due parti può essere vuota, e il batch potrebbe non includere tutte le recensioni.

Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su booking e action impostato su reviews. Prezzo $1.39 per 1.000 richieste ($0.001389 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.

Booking Reviews legge le recensioni degli ospiti di una struttura su Booking, dato il link della pagina della struttura come url. Booking chiede agli ospiti di scrivere che cosa è piaciuto loro e che cosa no in riquadri separati, quindi ogni riga contiene text_positive e text_negative anziché un unico testo, insieme a titolo, punteggio, mese del soggiorno, tipo di camera e numero di notti, paese e tipologia di viaggiatore dell'ospite e risposta della struttura. Hotel manager, revenue team e analisti la usano per scoprire cosa elogiano e di cosa si lamentano gli ospiti, confrontare segmenti di ospiti e vedere come risponde la struttura.

Ogni riquadro può essere vuoto, quindi considera un campo negativo vuoto come testo non fornito, non come un elogio. Su Booking i punteggi sono su 10; convertili con rating_scale prima di confrontarli con quelli dei siti che usano una scala a cinque stelle. stay_date indica il mese in cui l'ospite ha effettivamente soggiornato, un indicatore migliore di quanto sia attuale una recensione. La richiesta non ha filtri oltre al link e a limit, quindi ordina e filtra le righe dopo averle recuperate.

Prompt per l'AI

#
Aiutami a scrivere uno script di raccolta dei dati con l'endpoint Booking Recensioni di EveryInfra (booking/reviews).

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 booking e action su reviews, e inserisci i parametri in params.
- Parametri obbligatori:
  - url: Specifica l'URL completo della pagina di una singola struttura, preferibilmente con il percorso /hotel/.
- Parametri facoltativi:
  - limit: Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 100. 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, title, text_positive (La parte positiva della recensione: Boo…), text_negative (La parte negativa della recensione), rating, rating_scale, posted_at, stay_date (Il mese del soggiorno del recensore, ut…), author_name, author_country (Il paese del recensore), traveler_type (Tipo di viaggio (lavoro, coppia, famigl…), room_name (Nome del tipo di camera); 15 campi in totale, elenco completo su https://api.everyinfra.com/api/v1/social/catalog?platform=booking.
- Esempio di corpo della richiesta:
{
  "platform": "booking",
  "action": "reviews",
  "params": {
    "url": "https://www.booking.com/hotel/jp/park-hyatt-tokyo.html"
  }
}
- Prezzo: $1.39 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ìbookingIdentificativo della piattaforma, valore fisso.
actionbodystringSìreviewsIdentificativo della funzionalità, valore fisso.
urlbody.paramsstringSì-Specifica l'URL completo della pagina di una singola struttura, preferibilmente con il percorso /hotel/. Viene usato da profile per ottenere i dettagli, da reviews per recuperare le recensioni della struttura e da prices per verificare le tariffe delle camere. Gli URL di ricerca per destinazione non sono supportati.
limitbody.paramsinteger (1–100)No20Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 100. 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

#
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": "booking",
  "action": "reviews",
  "params": {
    "url": "https://www.booking.com/hotel/jp/park-hyatt-tokyo.html"
  }
}'

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 September 26, 2026 at 08:56 (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": "booking",  "action": "reviews",  "results": [    {      "id": "608726deed389acf",      "rating": 5,      "posted_at": "2026-09-23T12:06:15+00:00",      "stay_date": "2026-09-19T00:00:00.000Z",      "author_name": "•••",      "room_name": "King Room with City View",      "platform": "booking",      "rating_scale": 10    },    {      "id": "5970507e264636a7",      "rating": 5,      "posted_at": "2026-09-15T10:59:06+00:00",      "stay_date": "2026-08-14T00:00:00.000Z",      "author_name": "•••",      "room_name": "Deluxe Room with Two Double Beds",      "platform": "booking",      "rating_scale": 10    }  ],  "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.
titleTitolo. null quando la piattaforma non prevede titoli (ad esempio post di solo testo).
text_positiveLa parte positiva della recensione: Booking chiede a chi recensisce di indicare separatamente cosa è piaciuto e cosa no.
text_negativeLa parte negativa della recensione. Entrambe le parti possono essere vuote.
ratingValutazione. 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_scaleValore 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.
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.
stay_dateIl mese del soggiorno del recensore, utile per valutare quanto è recente la recensione.
author_nameNome visualizzato dell'autore.
author_countryIl paese del recensore.
traveler_typeTipo di viaggio (lavoro, coppia, famiglia, da solo e così via); usalo per filtrare le recensioni di ospiti simili ai tuoi.
room_nameNome del tipo di camera.
nightsNumero di notti usato per questa ricerca.
languageCodice della lingua del contenuto (ad esempio zh, en) secondo la piattaforma; può essere errato.
owner_responseRisposta pubblica dell'attività a questa recensione: text, author_name e posted_at; assente se non c'è risposta.
platformIdentificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok).

FAQ

#

Perché ci sono due campi di testo anziché uno?

#

Booking raccoglie gli aspetti positivi e quelli negativi in due campi separati del modulo di recensione, e la funzionalità li mantiene distinti in text_positive e text_negative; ciascuno dei due può essere vuoto. La separazione fa risparmiare lavoro nella sentiment analysis: estrai le lamentele direttamente dal campo negativo invece di classificare recensioni intere, e conta a parte i campi vuoti.

Come leggo le recensioni di un solo tipo di ospite?

#

Raggruppa le righe per traveler_type, ad esempio viaggiatori d'affari, coppie, famiglie o viaggiatori singoli, e per room_name quando conta una categoria di camera. author_country mostra da dove provengono gli ospiti e nights la durata del soggiorno, utile per distinguere brevi viaggi di lavoro da vacanze più lunghe.

Posso ottenere recensioni in una sola lingua?

#

Non puoi farlo tramite la richiesta, che accetta il link della struttura e limit ma nessun filtro per lingua. La funzionalità non traduce il testo delle recensioni. Il language di ogni riga è il codice assegnato da Booking, che può essere errato, quindi esegui un tuo rilevamento della lingua quando la distinzione conta, ad esempio prima di contare le lamentele per mercato.

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

Riferimenti ufficiali

#

Usati solo per verificare oggetti e terminologia. Non implicano alcuna autorizzazione o approvazione di EveryInfra da parte della piattaforma.

  • Booking: recensioni degli ospiti e valutazioni per sottocategoria ↗

    La documentazione di Booking indica che i punteggi complessivi delle recensioni e i punteggi delle singole categorie vengono inviati in modo indipendente. Questo riprende l'impostazione del sito ufficiale; le dimensioni della scala delle recensioni per questa azione API vanno comunque controllate per ogni forma di input, e citare questo link non dimostra che la normalizzazione sia stata convalidata.

    Verificato il 2026-09-04

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