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 un hotel Expedia. Ogni recensione include valutazione, data di pubblicazione, data del soggiorno, tipo di viaggio, composizione del gruppo e se il soggiorno è verificato. Restringi per data con since e imposta l'ordine con sort. La copertura completa di tutte le recensioni non è garantita.

Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su expedia 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.

Expedia Reviews legge le recensioni degli ospiti di un hotel dalla sua pagina Expedia, o dalla pagina corrispondente su Hotels.com, indicata come url. Ogni riga riporta titolo e testo, la valutazione con la relativa etichetta, la data di pubblicazione della recensione e quella del soggiorno, il numero di notti, il tipo di viaggio e con chi ha viaggiato l'ospite, i tag di apprezzamento e di critica selezionati e se il soggiorno è verificato. Riporta inoltre nome, ID e punteggio medio degli ospiti dell'hotel. Gestori di hotel, revenue manager e ricercatori del settore viaggi la usano per seguire il sentiment degli ospiti, confrontare le strutture e monitorare i reclami ricorrenti.

stay_date indica quando l'ospite ha effettivamente soggiornato, che può essere molto prima di posted_at, quindi usalo per valutare quanto è recente un'esperienza. verified contrassegna le recensioni di soggiorni confermati; quelle non verificate meritano meno fiducia. liked e disliked vengono omessi quando l'ospite non ha selezionato nulla, quindi interpreta un elenco mancante come assenza di tag e non come dato mancante. since mantiene solo le recensioni pubblicate da una certa data in poi ed è adatto alle estrazioni pianificate che recuperano solo le novità.

Prompt per l'AI

#
Aiutami a scrivere uno script di raccolta dei dati con l'endpoint Expedia Recensioni di EveryInfra (expedia/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 expedia e action su reviews, e inserisci i parametri in params.
- Parametri obbligatori:
  - url: Accetta l'URL della pagina di un singolo hotel su Expedia o un link compatibile di Hotels.com per recuperare il profilo o le recensioni della struttura. Non accetta pagine dei risultati di ricerca.
- Parametri facoltativi:
  - reviews_from: Input di compatibilità per la data di inizio delle recensioni, nel formato YYYY-MM-DD. Se viene fornito anche since, since ha la precedenza. Non filtra le date di soggiorno in hotel.
  - since: Imposta il limite inferiore di data per le query sulle recensioni degli hotel nel formato YYYY-MM-DD e ha la precedenza su reviews_from.
  - sort: Ordine delle recensioni per reviews: newest, relevance, top_rated o most_helpful. (valori consentiti: most_helpful / newest / relevance / top_rated)
  - limit: Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 200. 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, text, title, rating, rating_scale, rating_label, posted_at, stay_date, author_name, trip_type, stay_duration, traveled_with; 22 campi in totale, elenco completo su https://api.everyinfra.com/api/v1/social/catalog?platform=expedia.
- Esempio di corpo della richiesta:
{
  "platform": "expedia",
  "action": "reviews",
  "params": {
    "url": "https://www.expedia.com/Tokyo-Hotels-Park-Hyatt-Tokyo.h20264.Hotel-Information"
  }
}
- 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ìexpediaIdentificativo della piattaforma, valore fisso.
actionbodystringSìreviewsIdentificativo della funzionalità, valore fisso.
urlbody.paramsstringSì-Accetta l'URL della pagina di un singolo hotel su Expedia o un link compatibile di Hotels.com per recuperare il profilo o le recensioni della struttura. Non accetta pagine dei risultati di ricerca. Per il noleggio auto, passa invece l'URL di ricerca completo tramite il parametro keyword.
reviews_frombody.paramsdateNo-Input di compatibilità per la data di inizio delle recensioni, nel formato YYYY-MM-DD. Se viene fornito anche since, since ha la precedenza. Non filtra le date di soggiorno in hotel.
sincebody.paramsdateNo-Imposta il limite inferiore di data per le query sulle recensioni degli hotel nel formato YYYY-MM-DD e ha la precedenza su reviews_from. Non filtra le date di apertura degli hotel né i periodi di ritiro del noleggio auto.
sortbody.paramsstring (enum)No-Ordine delle recensioni per reviews: newest, relevance, top_rated o most_helpful.Valori consentitimost_helpfulnewestrelevancetop_rated
limitbody.paramsinteger (1–200)No20Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 200. 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": "expedia",
  "action": "reviews",
  "params": {
    "url": "https://www.expedia.com/Tokyo-Hotels-Park-Hyatt-Tokyo.h20264.Hotel-Information"
  }
}'

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 October 24, 2026 at 18:28 (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": "expedia",  "action": "reviews",  "results": [    {      "id": "70294428",      "text": "Nice little motel with great location.",      "title": "Nice little motel.",      "rating": 8,      "rating_label": "Good",      "posted_at": "2014-05-08T00:00:00+00:00",      "author_name": "•••",      "trip_type": "",      "traveled_with": "Traveled with family",      "verified": true,      "language": "en_US",      "hotel_id": "20264",      "hotel_name": "Channel Inn",      "hotel_url": "https://www.expedia.com/Tokyo-Hotels-Park-Hyatt-Tokyo.h20264.Hotel-Information",      "hotel_rating": 6.6,      "platform": "expedia",      "rating_scale": 5    },    {      "id": "70225987",      "text": "Very smelly older gentalmen at front desk very bad attitude .",      "title": "Poor condition",      "rating": 2,      "rating_label": "Terrible",      "posted_at": "2014-05-06T00:00:00+00:00",      "author_name": "•••",      "trip_type": "",      "traveled_with": "Traveled with partner",      "verified": true,      "language": "en_US",      "hotel_id": "20264",      "hotel_name": "Channel Inn",      "hotel_url": "https://www.expedia.com/Tokyo-Hotels-Park-Hyatt-Tokyo.h20264.Hotel-Information",      "hotel_rating": 6.6,      "platform": "expedia",      "disliked": [        "cleanliness",        "staff & service",        "property conditions & facilities"      ],      "rating_scale": 5    }  ],  "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.
textTesto del contenuto senza HTML, restituito per intero e mai troncato (su alcune piattaforme i risultati degli elenchi contengono solo un estratto; lo indicano le note sui campi della piattaforma).
titleTitolo. null quando la piattaforma non prevede titoli (ad esempio post di solo testo).
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.
rating_labelMantiene il significato attribuito dalla piattaforma
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_dateMantiene il significato attribuito dalla piattaforma
author_nameNome visualizzato dell'autore.
trip_typeMantiene il significato attribuito dalla piattaforma
stay_durationMantiene il significato attribuito dalla piattaforma
traveled_withMantiene il significato attribuito dalla piattaforma
verifiedMantiene il significato attribuito dalla piattaforma
languageCodice della lingua del contenuto (ad esempio zh, en) secondo la piattaforma; può essere errato.
hotel_idMantiene il significato attribuito dalla piattaforma
hotel_nameMantiene il significato attribuito dalla piattaforma
hotel_urlMantiene il significato attribuito dalla piattaforma
hotel_ratingMantiene il significato attribuito dalla piattaforma
platformIdentificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok).
likedMantiene il significato attribuito dalla piattaforma
dislikedMantiene il significato attribuito dalla piattaforma
image_urlsArray di link alle immagini nell'ordine di visualizzazione della piattaforma; assente se non ci sono immagini.
owner_responseRisposta pubblica dell'attività a questa recensione: text, author_name e posted_at; assente se non c'è risposta.

FAQ

#

Quale link dell'hotel serve in url?

#

La pagina di un singolo hotel su Expedia, come https://www.expedia.com/Tokyo-Hotels-Park-Hyatt-Tokyo.h20264.Hotel-Information, oppure la pagina dello stesso hotel su Hotels.com. Le pagine dei risultati di ricerca elencano molti hotel e non funzionano, mentre i link di noleggio auto vanno usati con Expedia Car rental quotes. Lo stesso link dell'hotel funziona anche con Expedia Details, che restituisce il record dell'hotel.

Che differenza c'è tra since e reviews_from?

#

Entrambi impostano la data minima delle recensioni, nel formato YYYY-MM-DD. since è il parametro principale e reviews_from un nome alternativo accettato per compatibilità; se li invii entrambi, prevale since. Filtrano in base alla data di pubblicazione della recensione, non al soggiorno dell'ospite né a una data di check-in.

Come mi concentro sulle recensioni di viaggiatori simili ai miei ospiti?

#

Raggruppa le righe per trip_type, ad esempio lavoro, svago o famiglia, e per traveled_with, ad esempio partner, famiglia, amici o da soli. Metti per prime le righe in cui verified è true e imposta sort su most_helpful se vuoi in cima le recensioni che altri viaggiatori hanno trovato più utili. stay_duration distingue le brevi soste dai soggiorni più lunghi.

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.

  • Expedia: punteggi delle recensioni, requisiti per pubblicarle e risposte esistenti ↗

    Le linee guida ufficiali di Expedia distinguono i punteggi delle singole recensioni, i punteggi complessivi delle strutture mostrati e i metodi di valutazione del noleggio auto, e consentono le recensioni di alcuni viaggiatori che hanno tentato il check-in senza completare il soggiorno. Questa azione espone solo i termini di valutazione e di idoneità, senza garantire che i valori restituiti abbiano una scala unica o riflettano soggiorni completati.

    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