Riferimento API

punti finali

POSTCrea analisi di acquistoPOSTCrea analisi di arbitraggioPOSTCrea un'analisi personalePOSTCrea analisi Cohost

RISORSE

Primi passiAutenticazioneCodici di errore

Documentazione API dei dati di Airbnb

Benvenuto nell'API BNBCalc. Questa documentazione ti aiuta a integrare l'analisi delle proprietà di affitto a breve termine nella tua applicazione.

Utilizza l'API dei dati di Airbnb BNBCalc per ottenere reddito di proprietà, occupazione, ADR, inserzioni comparabili Airbnb attive, percentili, metriche di investimento e URL di rapporti ospitati per app, report, underwriting e strumenti di gestione.


Primi passi

Per iniziare a utilizzare l'API dei dati di Airbnb BNBCalc, dovrai:

1. Crea un account BNBCalc oppure accedi al tuo account esistente

2. Vai alle impostazioni del tuo account per generare una chiave API

3. Includi la tua chiave API in tutte le richieste API utilizzando l'intestazione x-bnbcalc-api-key.

4. Inizia a fare richieste per accedere ai dati e alle analisi degli immobili.

Tutti gli endpoint API utilizzano HTTPS e restituiscono risposte JSON. Mantieni le chiavi API sul tuo server, non nel codice del browser o nel client mobile. Le rotte API esterne sono attualmente limitate a 100 richieste al secondo e utilizzano codici di risposta HTTP standard per indicare il successo o il fallimento.


Autenticazione

Tutte le richieste API richiedono autenticazione utilizzando una chiave API. Le chiavi API sono collegate al tuo account BNBCalc, devono essere mantenute lato server e non devono mai essere esposte nel codice frontend. Includi la tua chiave API nell'intestazione della richiesta come mostrato di seguito:

x-bnbcalc-api-key: YOUR_API_KEY

Puoi generare le chiavi API autonomamente dalla pagina delle impostazioni del tuo account. Includi l'intestazione x-bnbcalc-api-key in ogni richiesta API per autenticarti.


POST/v1/external/analysis/create/buy

Crea analisi di acquisto

Creare una nuova analisi d'acquisto per una proprietà. Richiede dettagli della proprietà, informazioni sulla posizione e prezzo d'acquisto.

Parametri di Posizione (Condizionali)

⚠️ Fornire lat E lng, OPPURE fornire fullAddress. È richiesto almeno un metodo.

latnumbercondizionale

Coordinata di latitudine (deve essere fornita con lng se fullAddress non è utilizzato)(e.g., 27.7676)

lngnumbercondizionale

Coordinata di longitudine (deve essere fornita con lat se fullAddress non è utilizzato)(e.g., -82.6403)

fullAddressstringcondizionale

Indirizzo completo della proprietà (può essere utilizzato al posto delle coordinate lat/lng)(e.g., 4935 2nd Avenue North, St. Petersburg, FL 33703)

Parametri Obbligatori

purchasePriceUSDnumberrichiesto

Prezzo di acquisto in USD(e.g., 350000)

bedroomsnumberrichiesto

Numero di camere da letto(e.g., 3)

bathroomsnumberrichiesto

Numero di bagni(e.g., 2)

accomodatesnumberrichiesto

Numero di ospiti che la proprietà può accogliere(e.g., 6)

Parametri Opzionali

monthlyRentUSDnumberopzionale

Affitto mensile previsto in USD per un affitto a lungo termine(e.g., 2500)

interestRatePercentagenumberopzionale

Percentuale del tasso d'interesse (0-15)(e.g., 5.1)

squareFeetnumberopzionale

Superficie in piedi quadrati della proprietà(e.g., 1500)

statestringopzionale

Nome dello stato(e.g., Florida)

citystringopzionale

Nome della città(e.g., St. Petersburg)

countystringopzionale

Nome della contea(e.g., Pinellas County)

postalCodestringopzionale

Codice postale(e.g., 33703)

countrystringopzionale

Nome del paese(e.g., United States)

streetstringopzionale

Nome della strada(e.g., 2nd Avenue North)

streetNumberstringopzionale

Numero civico(e.g., 4935)

unitstringopzionale

Numero dell'unità o dell'appartamento, se applicabile

Richiesta di esempio

curl -X POST \ https://atlas.bnbcalc.com/v1/external/analysis/create/buy \ -H "x-bnbcalc-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "lat": 27.7676, "lng": -82.6403, "bedrooms": 3, "bathrooms": 2, "accomodates": 6, "purchasePriceUSD": 400000 }'

Risposta di esempio

{ "success": true, "data": { "_id": "000000000000000000000000", "url": "https://www.bnbcalc.com/analysis/example-property/000000000000000000000000", "currency": "USD", "ratePerNightUSD": 364.73770491803276, "occupancyRatePercentage": 48, "bedrooms": 4, "bathrooms": 4, "commonSpaces": 1, "accomodates": 12, "fullAddress": "4935 2nd Avenue North, St. Petersburg, FL 33703", "location": { "type": "Point", "coordinates": [ -82.6403, 27.7676 ] }, "revenue": { "p25": 48210, "p50": 58440, "p75": 63944.76398163934, "p90": 74280, "avg": 60310 }, "adr": { "p25": 214, "p50": 288, "p75": 364.73770491803276, "p90": 431, "avg": 318 }, "occupancy": { "p25": 0.38, "p50": 0.44, "p75": 0.48, "p90": 0.56, "avg": 0.46 }, "quartiles": { "25th_percentile": { "average_daily_rate": 214, "occupancy_rate": 38, "revenue": 48210 }, "50th_percentile": { "average_daily_rate": 288, "occupancy_rate": 44, "revenue": 58440 }, "75th_percentile": { "average_daily_rate": 364.73770491803276, "occupancy_rate": 48, "revenue": 63944.76398163934 }, "90th_percentile": { "average_daily_rate": 431, "occupancy_rate": 56, "revenue": 74280 } }, "comparables": [ { "airbnbId": "12345678", "name": "Modern 4BR near downtown", "listingUrl": "https://www.airbnb.com/rooms/12345678", "bedrooms": 4, "bathrooms": 3, "accommodates": 10, "annualRevenueUSD": 68420, "occupancyRatePercentage": 52, "averageDailyRateUSD": 361, "distanceMiles": 0.4 } ], "downPaymentPercentage": 20, "mortgageLength": 30, "yearsRemainingOnMortgage": 30, "interestRatePercentage": 4, "propertyTaxPercentage": 0.75, "monthlyRevenueUSD": 5328.730331803278, "monthlyExpensesUSD": 1474.1603364983607, "monthlyTaxesUSD": 250, "yearOneRevenueUSD": 63944.76398163934, "yearOneOperatingIncomeUSD": 46254.83994365901, "yearOneMorgageAndTaxesUSD": 21324, "yearOneCashFlowUSD": 24930.83994365901, "yearOneCashOnCashPercentage": 24.86817214984141, "yearOneCapRatePercentage": 11.563709985914752, "yearOneReturnOnInvestmentPercentage": 63.78402823049849, "yearOnePrincipalPaydownUSD": 85635.31658640636, "yearOneAppreciationUSD": 12000, "totalCashInvestment": 100252, "ltrPerMonthUSD": 1500, "ltrMonthlyExpensesPercentage": 10 } }

POST/v1/external/analysis/create/arb

Crea analisi di arbitraggio

Crea una nuova analisi di arbitraggio (arbitraggio da affitto) per una proprietà. Utilizza gli stessi campi obbligatori dell'analisi d'acquisto.

Parametri di Posizione (Condizionali)

⚠️ Fornire lat E lng, OPPURE fornire fullAddress. È richiesto almeno un metodo.

latnumbercondizionale

Coordinata di latitudine (deve essere fornita con lng se fullAddress non è utilizzato)(e.g., 27.7676)

lngnumbercondizionale

Coordinata di longitudine (deve essere fornita con lat se fullAddress non è utilizzato)(e.g., -82.6403)

fullAddressstringcondizionale

Indirizzo completo della proprietà (può essere utilizzato al posto delle coordinate lat/lng)(e.g., 4935 2nd Avenue North, St. Petersburg, FL 33703)

Parametri Obbligatori

monthlyRentUSDnumberrichiesto

Affitto mensile previsto in USD per un affitto a lungo termine(e.g., 2500)

bedroomsnumberrichiesto

Numero di camere da letto(e.g., 3)

bathroomsnumberrichiesto

Numero di bagni(e.g., 2)

accomodatesnumberrichiesto

Numero di ospiti che la proprietà può accogliere(e.g., 6)

Parametri Opzionali

purchasePriceUSDnumberopzionale

Prezzo di acquisto in USD(e.g., 350000)

squareFeetnumberopzionale

Superficie in piedi quadrati della proprietà(e.g., 1500)

statestringopzionale

Nome dello stato(e.g., Florida)

citystringopzionale

Nome della città(e.g., St. Petersburg)

countystringopzionale

Nome della contea(e.g., Pinellas County)

postalCodestringopzionale

Codice postale(e.g., 33703)

countrystringopzionale

Nome del paese(e.g., United States)

streetstringopzionale

Nome della strada(e.g., 2nd Avenue North)

streetNumberstringopzionale

Numero civico(e.g., 4935)

unitstringopzionale

Numero dell'unità o dell'appartamento, se applicabile

Richiesta di esempio

curl -X POST \ https://atlas.bnbcalc.com/v1/external/analysis/create/arb \ -H "x-bnbcalc-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "lat": 27.7676, "lng": -82.6403, "bedrooms": 3, "bathrooms": 2, "accomodates": 6, "monthlyRentUSD": 2000 }'

Risposta di esempio

{ "success": true, "data": { "_id": "000000000000000000000000", "url": "https://www.bnbcalc.com/analysis/example-property/000000000000000000000000", "currency": "USD", "ratePerNightUSD": 364.73770491803276, "occupancyRatePercentage": 48, "bedrooms": 4, "bathrooms": 4, "commonSpaces": 1, "accomodates": 12, "fullAddress": "4935 2nd Avenue North, St. Petersburg, FL 33703", "location": { "type": "Point", "coordinates": [ -82.6403, 27.7676 ] }, "revenue": { "p25": 48210, "p50": 58440, "p75": 63944.76398163934, "p90": 74280, "avg": 60310 }, "adr": { "p25": 214, "p50": 288, "p75": 364.73770491803276, "p90": 431, "avg": 318 }, "occupancy": { "p25": 0.38, "p50": 0.44, "p75": 0.48, "p90": 0.56, "avg": 0.46 }, "quartiles": { "25th_percentile": { "average_daily_rate": 214, "occupancy_rate": 38, "revenue": 48210 }, "50th_percentile": { "average_daily_rate": 288, "occupancy_rate": 44, "revenue": 58440 }, "75th_percentile": { "average_daily_rate": 364.73770491803276, "occupancy_rate": 48, "revenue": 63944.76398163934 }, "90th_percentile": { "average_daily_rate": 431, "occupancy_rate": 56, "revenue": 74280 } }, "comparables": [ { "airbnbId": "12345678", "name": "Modern 4BR near downtown", "listingUrl": "https://www.airbnb.com/rooms/12345678", "bedrooms": 4, "bathrooms": 3, "accommodates": 10, "annualRevenueUSD": 68420, "occupancyRatePercentage": 52, "averageDailyRateUSD": 361, "distanceMiles": 0.4 } ], "monthlyRentUSD": 2000, "yearOneRentUSD": 24000, "monthlyRevenueUSD": 13432.825977452352, "monthlyExpensesUSD": 2263.6108575197586, "yearOneRevenueUSD": 161193.91172942822, "yearOneOperatingIncomeUSD": 134030.58143919113, "yearOneCashFlowUSD": 110030.58143919116, "yearOneCashOnCashPercentage": 1317.415965507557, "totalCashInvestment": 8352 } }

POST/v1/external/analysis/create/owned

Crea un'analisi personale

Crea una nuova analisi della proprietà posseduta. Utilizza gli stessi campi obbligatori dell'analisi di acquisto.

Parametri di Posizione (Condizionali)

⚠️ Fornire lat E lng, OPPURE fornire fullAddress. È richiesto almeno un metodo.

latnumbercondizionale

Coordinata di latitudine (deve essere fornita con lng se fullAddress non è utilizzato)(e.g., 27.7676)

lngnumbercondizionale

Coordinata di longitudine (deve essere fornita con lat se fullAddress non è utilizzato)(e.g., -82.6403)

fullAddressstringcondizionale

Indirizzo completo della proprietà (può essere utilizzato al posto delle coordinate lat/lng)(e.g., 4935 2nd Avenue North, St. Petersburg, FL 33703)

Parametri Obbligatori

purchasePriceUSDnumberrichiesto

Prezzo di acquisto in USD(e.g., 350000)

downPaymentPercentagenumberrichiesto

Percentuale di acconto (0-40)(e.g., 20)

interestRatePercentagenumberrichiesto

Percentuale del tasso d'interesse (0-15)(e.g., 5.1)

mortgageLengthnumberrichiesto

Durata del mutuo in anni (0-30)(e.g., 30)

yearsRemainingOnMortgagenumberrichiesto

Anni rimanenti sul mutuo (Non può essere superiore alla durata del mutuo)

bedroomsnumberrichiesto

Numero di camere da letto(e.g., 3)

bathroomsnumberrichiesto

Numero di bagni(e.g., 2)

accomodatesnumberrichiesto

Numero di ospiti che la proprietà può accogliere(e.g., 6)

Parametri Opzionali

monthlyRentUSDnumberopzionale

Affitto mensile previsto in USD per un affitto a lungo termine(e.g., 2500)

squareFeetnumberopzionale

Superficie in piedi quadrati della proprietà(e.g., 1500)

statestringopzionale

Nome dello stato(e.g., Florida)

citystringopzionale

Nome della città(e.g., St. Petersburg)

countystringopzionale

Nome della contea(e.g., Pinellas County)

postalCodestringopzionale

Codice postale(e.g., 33703)

countrystringopzionale

Nome del paese(e.g., United States)

streetstringopzionale

Nome della strada(e.g., 2nd Avenue North)

streetNumberstringopzionale

Numero civico(e.g., 4935)

unitstringopzionale

Numero dell'unità o dell'appartamento, se applicabile

Richiesta di esempio

curl -X POST \ https://atlas.bnbcalc.com/v1/external/analysis/create/owned \ -H "x-bnbcalc-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "lat": 27.7676, "lng": -82.6403, "bedrooms": 3, "bathrooms": 2, "accomodates": 6, "purchasePriceUSD": 350000, "downPaymentPercentage": 20, "interestRatePercentage": 5.1, "mortgageLength": 30, "yearsRemainingOnMortgage": 30 }'

Risposta di esempio

{ "success": true, "data": { "_id": "000000000000000000000000", "url": "https://www.bnbcalc.com/analysis/example-property/000000000000000000000000", "currency": "USD", "ratePerNightUSD": 364.73770491803276, "occupancyRatePercentage": 48, "bedrooms": 4, "bathrooms": 4, "commonSpaces": 1, "accomodates": 12, "fullAddress": "4935 2nd Avenue North, St. Petersburg, FL 33703", "location": { "type": "Point", "coordinates": [ -82.6403, 27.7676 ] }, "revenue": { "p25": 48210, "p50": 58440, "p75": 63944.76398163934, "p90": 74280, "avg": 60310 }, "adr": { "p25": 214, "p50": 288, "p75": 364.73770491803276, "p90": 431, "avg": 318 }, "occupancy": { "p25": 0.38, "p50": 0.44, "p75": 0.48, "p90": 0.56, "avg": 0.46 }, "quartiles": { "25th_percentile": { "average_daily_rate": 214, "occupancy_rate": 38, "revenue": 48210 }, "50th_percentile": { "average_daily_rate": 288, "occupancy_rate": 44, "revenue": 58440 }, "75th_percentile": { "average_daily_rate": 364.73770491803276, "occupancy_rate": 48, "revenue": 63944.76398163934 }, "90th_percentile": { "average_daily_rate": 431, "occupancy_rate": 56, "revenue": 74280 } }, "comparables": [ { "airbnbId": "12345678", "name": "Modern 4BR near downtown", "listingUrl": "https://www.airbnb.com/rooms/12345678", "bedrooms": 4, "bathrooms": 3, "accommodates": 10, "annualRevenueUSD": 68420, "occupancyRatePercentage": 52, "averageDailyRateUSD": 361, "distanceMiles": 0.4 } ], "downPaymentPercentage": 20, "mortgageLength": 30, "yearsRemainingOnMortgage": 30, "interestRatePercentage": 5.1, "propertyTaxPercentage": 0.75, "monthlyRevenueUSD": 5328.730331803278, "monthlyExpensesUSD": 1474.1603364983607, "monthlyTaxesUSD": 250, "yearOneRevenueUSD": 63944.76398163934, "yearOneOperatingIncomeUSD": 46254.83994365901, "yearOneMorgageAndTaxesUSD": 21324, "yearOneCashFlowUSD": 24930.83994365901, "yearOneCashOnCashPercentage": 24.86817214984141, "yearOneCapRatePercentage": 11.563709985914752, "yearOneReturnOnInvestmentPercentage": 63.78402823049849, "yearOnePrincipalPaydownUSD": 85635.31658640636, "yearOneAppreciationUSD": 12000, "totalCashInvestment": 100252, "ltrPerMonthUSD": 1500, "ltrMonthlyExpensesPercentage": 10 } }

POST/v1/external/analysis/create/cohost

Crea analisi Cohost

Crea la cronologia dei cohost

Parametri di Posizione (Condizionali)

⚠️ Fornire lat E lng, OPPURE fornire fullAddress. È richiesto almeno un metodo.

latnumbercondizionale

Coordinata di latitudine (deve essere fornita con lng se fullAddress non è utilizzato)(e.g., 27.7676)

lngnumbercondizionale

Coordinata di longitudine (deve essere fornita con lat se fullAddress non è utilizzato)(e.g., -82.6403)

fullAddressstringcondizionale

Indirizzo completo della proprietà (può essere utilizzato al posto delle coordinate lat/lng)(e.g., 4935 2nd Avenue North, St. Petersburg, FL 33703)

Parametri Obbligatori

bedroomsnumberrichiesto

Numero di camere da letto(e.g., 3)

bathroomsnumberrichiesto

Numero di bagni(e.g., 2)

accomodatesnumberrichiesto

Numero di ospiti che la proprietà può accogliere(e.g., 6)

Parametri Opzionali

cohostCommissionPercentagenumberopzionale

Percentuale della commissione del co-host(e.g., 10)

squareFeetnumberopzionale

Superficie in piedi quadrati della proprietà(e.g., 1500)

statestringopzionale

Nome dello stato(e.g., Florida)

citystringopzionale

Nome della città(e.g., St. Petersburg)

countystringopzionale

Nome della contea(e.g., Pinellas County)

postalCodestringopzionale

Codice postale(e.g., 33703)

countrystringopzionale

Nome del paese(e.g., United States)

streetstringopzionale

Nome della strada(e.g., 2nd Avenue North)

streetNumberstringopzionale

Numero civico(e.g., 4935)

unitstringopzionale

Numero dell'unità o dell'appartamento, se applicabile

Richiesta di esempio

curl -X POST \ https://atlas.bnbcalc.com/v1/external/analysis/create/cohost \ -H "x-bnbcalc-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "lat": 27.7676, "lng": -82.6403, "bedrooms": 3, "bathrooms": 2, "accomodates": 6 }'

Risposta di esempio

{ "success": true, "data": { "_id": "000000000000000000000000", "url": "https://www.bnbcalc.com/analysis/example-property/000000000000000000000000", "currency": "USD", "ratePerNightUSD": 364.73770491803276, "occupancyRatePercentage": 48, "bedrooms": 4, "bathrooms": 4, "commonSpaces": 1, "accomodates": 12, "fullAddress": "4935 2nd Avenue North, St. Petersburg, FL 33703", "location": { "type": "Point", "coordinates": [ -82.6403, 27.7676 ] }, "revenue": { "p25": 48210, "p50": 58440, "p75": 63944.76398163934, "p90": 74280, "avg": 60310 }, "adr": { "p25": 214, "p50": 288, "p75": 364.73770491803276, "p90": 431, "avg": 318 }, "occupancy": { "p25": 0.38, "p50": 0.44, "p75": 0.48, "p90": 0.56, "avg": 0.46 }, "quartiles": { "25th_percentile": { "average_daily_rate": 214, "occupancy_rate": 38, "revenue": 48210 }, "50th_percentile": { "average_daily_rate": 288, "occupancy_rate": 44, "revenue": 58440 }, "75th_percentile": { "average_daily_rate": 364.73770491803276, "occupancy_rate": 48, "revenue": 63944.76398163934 }, "90th_percentile": { "average_daily_rate": 431, "occupancy_rate": 56, "revenue": 74280 } }, "comparables": [ { "airbnbId": "12345678", "name": "Modern 4BR near downtown", "listingUrl": "https://www.airbnb.com/rooms/12345678", "bedrooms": 4, "bathrooms": 3, "accommodates": 10, "annualRevenueUSD": 68420, "occupancyRatePercentage": 52, "averageDailyRateUSD": 361, "distanceMiles": 0.4 } ], "yearOneRevenueUSD": 161193.91172942825, "yearOneCohostReturnUSD": 116059.61644518835, "yearOneCohostCommissionUSD": 32238.78234588565 } }

Codici di errore

L'API BNBCalc utilizza codici di stato di risposta HTTP standard per indicare il successo o il fallimento delle richieste API. I report creati con successo restituiscono codici 2xx, mentre gli errori restituiscono codici 4xx o 5xx con ulteriori informazioni sugli errori nel corpo della risposta. Sarai addebitato solo per i report creati con successo.

200

Successo


400

Richiesta errata - Parametri non validi


401

Non autorizzato - Chiave API non valida


429

Troppe richieste - limite superato per la rotta API esterna


500

Errore interno del server