API Airbnb Calendario delle disponibilità

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

Controlla la disponibilità giorno per giorno di un annuncio Airbnb. Per ogni data trovi la disponibilità per check-in e check-out, il numero minimo e massimo di notti e il prezzo. Senza date, l'intervallo parte da oggi e copre 30 giorni. La lettura del calendario non blocca né prenota mai un soggiorno.

Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su airbnb e action impostato su calendar. 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 Airbnb Calendario delle disponibilità di EveryInfra (airbnb/calendar).

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 airbnb e action su calendar, e inserisci i parametri in params.
- Parametri obbligatori:
  - url: Identifica la risorsa di destinazione in base all'azione: passa un URL /rooms/<property_id> o l'ID dell'alloggio per property_detail, reviews o calendar, oppure un URL /users/show/<host_id> o l'ID dell'host per host.
- Parametri facoltativi:
  - check_in: Imposta una data di inizio YYYY-MM-DD di compatibilità per l'azione calendar. Se fornisci anche start_date, start_date ha la precedenza; se fornisci since, questo li sovrascrive entrambi.
  - check_out: Imposta una data di fine YYYY-MM-DD di compatibilità per l'azione calendar. Se fornisci anche end_date, end_date ha la precedenza; se fornisci until, questo li sovrascrive entrambi.
  - end_date: Imposta la data di fine YYYY-MM-DD per le query sulla disponibilità del calendario. Se omessa, la richiesta usa check_out oppure 30 giorni dalla data della query (non start_date più 30 giorni).
  - since: Imposta una data di inizio YYYY-MM-DD il cui ambito dipende dall'azione: per reviews indica la data da cui partono le recensioni; per calendar indica l'inizio dell'intervallo di date e sovrascrive start_date e check_in.
  - start_date: Imposta la data di inizio YYYY-MM-DD per le query sulla disponibilità del calendario. Se omessa, la richiesta usa check_in oppure la data corrente. Se fornisci since, questo parametro viene sovrascritto.
  - until: Imposta la data di fine YYYY-MM-DD per l'azione calendar e sovrascrive end_date e check_out. Questo parametro controlla l'intervallo di date del calendario e non filtra le recensioni per data di pubblicazione.
  - limit: Numero massimo di righe da restituire in questa chiamata: un intero pari o superiore a 1. Se lo ometti, viene applicato il valore predefinito; una chiamata può restituire meno righe.
- Restituisce un elenco di record. Campi principali di ogni record: id, date, available, available_for_checkin, available_for_checkout, bookable, min_nights, max_nights, price, currency.
- Esempio di corpo della richiesta:
{
  "platform": "airbnb",
  "action": "calendar",
  "params": {
    "url": "https://www.airbnb.com/rooms/12937"
  }
}
- 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ìairbnbIdentificativo della piattaforma, valore fisso.
actionbodystringSìcalendarIdentificativo della funzionalità, valore fisso.
urlbody.paramsstringSì-Identifica la risorsa di destinazione in base all'azione: passa un URL /rooms/<property_id> o l'ID dell'alloggio per property_detail, reviews o calendar, oppure un URL /users/show/<host_id> o l'ID dell'host per host. Gli identificatori di alloggi e host non sono intercambiabili.
check_inbody.paramsdateNo-Imposta una data di inizio YYYY-MM-DD di compatibilità per l'azione calendar. Se fornisci anche start_date, start_date ha la precedenza; se fornisci since, questo li sovrascrive entrambi. Consultare le date del calendario non avvia una prenotazione.
check_outbody.paramsdateNo-Imposta una data di fine YYYY-MM-DD di compatibilità per l'azione calendar. Se fornisci anche end_date, end_date ha la precedenza; se fornisci until, questo li sovrascrive entrambi. Consultare le date del calendario non blocca la disponibilità dell'alloggio.
end_datebody.paramsdateNo-Imposta la data di fine YYYY-MM-DD per le query sulla disponibilità del calendario. Se omessa, la richiesta usa check_out oppure 30 giorni dalla data della query (non start_date più 30 giorni). Se fornisci until, questo parametro viene sovrascritto.
sincebody.paramsdateNo-Imposta una data di inizio YYYY-MM-DD il cui ambito dipende dall'azione: per reviews indica la data da cui partono le recensioni; per calendar indica l'inizio dell'intervallo di date e sovrascrive start_date e check_in.
start_datebody.paramsdateNo-Imposta la data di inizio YYYY-MM-DD per le query sulla disponibilità del calendario. Se omessa, la richiesta usa check_in oppure la data corrente. Se fornisci since, questo parametro viene sovrascritto.
untilbody.paramsdateNo-Imposta la data di fine YYYY-MM-DD per l'azione calendar e sovrascrive end_date e check_out. Questo parametro controlla l'intervallo di date del calendario e non filtra le recensioni per data di pubblicazione.
limitbody.paramsinteger (1–)No-Numero massimo di righe da restituire in questa chiamata: un intero pari o superiore a 1. Se lo ometti, viene applicato il valore predefinito; una chiamata può restituire meno righe.

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": "airbnb",
  "action": "calendar",
  "params": {
    "url": "https://www.airbnb.com/rooms/12937"
  }
}'

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": "airbnb",  "action": "calendar",  "results": [    {      "id": "12937",      "date": "2026-09-26",      "available": false,      "available_for_checkin": false,      "available_for_checkout": false,      "bookable": false,      "min_nights": 3,      "max_nights": 1125,      "platform": "airbnb"    },    {      "id": "12937",      "date": "2026-09-27",      "available": false,      "available_for_checkin": false,      "available_for_checkout": false,      "bookable": false,      "min_nights": 3,      "max_nights": 1125,      "platform": "airbnb"    }  ],  "count": 31,  "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.
dateMantiene il significato attribuito dalla piattaforma
availableMantiene il significato attribuito dalla piattaforma
available_for_checkinMantiene il significato attribuito dalla piattaforma
available_for_checkoutMantiene il significato attribuito dalla piattaforma
bookableMantiene il significato attribuito dalla piattaforma
min_nightsMantiene il significato attribuito dalla piattaforma
max_nightsMantiene il significato attribuito dalla piattaforma
pricePrezzo come numero senza simbolo di valuta; vedi currency.
currencyCodice valuta del prezzo (ad esempio CNY, USD). Se price è presente ma currency è null, non dare per scontata una valuta.
platformIdentificativo 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.

Errori

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