API Expedia Ricerca
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
Confronta gli hotel Expedia per una destinazione indicata in keyword, con quartiere, categoria in stelle, valutazione degli ospiti, prezzo per notte e totale, sconto e stato VIP Access. I prezzi sono quelli pubblicati, non un preventivo per un soggiorno specifico, e la disponibilità non è confermata.
Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su expedia e action impostato su search. 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.
Prompt per l'AI
#Aiutami a scrivere uno script di raccolta dei dati con l'endpoint Expedia Ricerca di EveryInfra (expedia/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 expedia e action su search, e inserisci i parametri in params.
- Parametri obbligatori:
- keyword: Specifica la destinazione dell'hotel per le azioni search oppure il luogo di ritiro o l'URL carsearch completo di Expedia per car_rental.
- Parametri facoltativi:
- currency: Imposta la valuta di visualizzazione dei prezzi nella ricerca hotel, con USD come predefinito, senza modificare la valuta di addebito delle API. Non cambia la valuta dei risultati di car_rental.
- sort: Ordine dei risultati degli hotel per search: distance, price_asc, price_desc o top_rated. Se omesso, i risultati seguono l'ordine consigliato da Expedia. (valori consentiti: distance / price_asc / price_desc / 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: 24)
- Restituisce un elenco di record. Campi principali di ogni record: hotel_id, name, url, neighborhood, region, rating, rating_scale, rating_label, review_count, star_rating, price_per_night, price_total; 18 campi in totale, elenco completo su https://api.everyinfra.com/api/v1/social/catalog?platform=expedia.
- Esempio di corpo della richiesta:
{
"platform": "expedia",
"action": "search",
"params": {
"keyword": "Paris"
}
}
- 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
#| 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ì | expedia | Identificativo della piattaforma, valore fisso. |
action | body | string | Sì | search | Identificativo della funzionalità, valore fisso. |
keyword | body.params | string | Sì | - | Specifica la destinazione dell'hotel per le azioni search oppure il luogo di ritiro o l'URL carsearch completo di Expedia per car_rental. Se fornisci un URL completo per car_rental, i parametri incorporati hanno la precedenza sulle date indicate separatamente. Non interroga la disponibilità dei voli. |
currency | body.params | string | No | - | Imposta la valuta di visualizzazione dei prezzi nella ricerca hotel, con USD come predefinito, senza modificare la valuta di addebito delle API. Non cambia la valuta dei risultati di car_rental. |
sort | body.params | string (enum) | No | - | Ordine dei risultati degli hotel per search: distance, price_asc, price_desc o top_rated. Se omesso, i risultati seguono l'ordine consigliato da Expedia.Valori consentitidistanceprice_ascprice_desctop_rated |
limit | body.params | integer (1–200) | No | 24 | 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. 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": "expedia",
"action": "search",
"params": {
"keyword": "Paris"
}
}'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": "expedia", "action": "search", "results": [ { "hotel_id": "565298", "name": "Hotel Des Arts Paris Montmartre", "url": "https://www.expedia.com/Paris-Hotels-Hotel-Des-Arts-Paris-Montmartre.h565298.Hotel-Information?chkin=2026-10-26&chkout=2026-10-27&x_pwa=1&rfrr=HSR&pwa_ts=1790415006926&referrerUrl=aHR0cHM6Ly93d3cuZXhwZWRpYS5jb20vSG90ZWwtU2VhcmNo&useRewards=false&rm1=a2®ionId=2734&destination=P…", "neighborhood": "Montmartre", "region": "Paris, France", "rating": 9.8, "rating_label": "Exceptional", "review_count": 1017, "price_per_night": 206, "price_total": 246, "discount_percent": 9, "vip_access": false, "image_url": "https://images.trvl-media.com/lodging/1000000/570000/565300/565298/bffb8f88.jpg?impolicy=resizecrop&ra=fit&rw=455&rh=455", "provider": "expedia", "platform": "expedia", "rating_scale": 5 }, { "hotel_id": "9619719", "name": "Hotel de Roubaix", "url": "https://www.expedia.com/Paris-Hotels-Hotel-De-Roubaix.h9619719.Hotel-Information?chkin=2026-10-26&chkout=2026-10-27&x_pwa=1&rfrr=HSR&pwa_ts=1790415006928&referrerUrl=aHR0cHM6Ly93d3cuZXhwZWRpYS5jb20vSG90ZWwtU2VhcmNo&useRewards=false&rm1=a2®ionId=2734&destination=Paris%2C+France…", "neighborhood": "Paris", "region": "Paris, France", "rating": 9.4, "rating_label": "Exceptional", "review_count": 1533, "price_per_night": 214, "price_total": 243, "discount_percent": 10, "vip_access": false, "image_url": "https://images.trvl-media.com/lodging/10000000/9620000/9619800/9619719/7f5c6c38.jpg?impolicy=resizecrop&ra=fit&rw=455&rh=455", "provider": "expedia", "platform": "expedia", "rating_scale": 5 } ], "count": 24, "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 |
|---|---|
hotel_id | Mantiene il significato attribuito dalla piattaforma |
name | Nome dell'oggetto stesso, per le funzionalità relative ad account, prodotti e attività. |
url | Link al record sulla piattaforma. |
neighborhood | Mantiene il significato attribuito dalla piattaforma |
region | Mantiene il significato attribuito dalla piattaforma |
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. |
rating_label | Mantiene il significato attribuito dalla piattaforma |
review_count | Numero di recensioni, per le funzionalità relative a prodotti e attività. null significa non reso noto, non 0. |
star_rating | Mantiene il significato attribuito dalla piattaforma |
price_per_night | Mantiene il significato attribuito dalla piattaforma |
price_total | Mantiene il significato attribuito dalla piattaforma |
discount_percent | Mantiene il significato attribuito dalla piattaforma |
vip_access | Mantiene il significato attribuito dalla piattaforma |
latitude | Mantiene il significato attribuito dalla piattaforma |
longitude | Mantiene il significato attribuito dalla piattaforma |
image_url | Link all'immagine. Le funzionalità con più immagini possono restituire un array image_urls. |
provider | Mantiene il significato attribuito dalla piattaforma |
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.
Riferimenti ufficiali
#Usati solo per verificare oggetti e terminologia. Non implicano alcuna autorizzazione o approvazione di EveryInfra da parte della piattaforma.
- Expedia: classificazioni degli hotel nei risultati di ricerca ↗
Expedia distingue le classificazioni a stelle degli hotel dalle classificazioni nazionali separate usate in alcune regioni, e una classificazione non garantisce tutti i servizi elencati. Nei risultati di ricerca, `star_rating` non è una media dei punteggi degli ospiti né una certificazione universale delle strutture.
Verificato il 2026-09-04