API-Referenz

Endpunkte

POSTKaufanalyse erstellenPOSTArbitrage-Analyse erstellenPOSTEigene Analyse erstellenPOSTCohost-Analyse erstellen

RESSOURCEN

Erste SchritteAuthentifizierungFehlercodes

Airbnb-Daten-API-Dokumentation

Willkommen bei der BNBCalc API. Diese Dokumentation hilft Ihnen, die Analyse von Kurzzeitvermietungsimmobilien in Ihre Anwendung zu integrieren.

Verwenden Sie die BNBCalc Airbnb-Daten-API, um Immobilien Einnahmen, Belegung, ADR, aktive Airbnb vergleichbare Listen, Perzentile, Investitionskennzahlen und gehostete Bericht-URLs für Apps, Berichte, Underwriting und Management-Tools zu erhalten.


Erste Schritte

Um die BNBCalc Airbnb-Daten-API zu nutzen, müssen Sie:

1. Erstelle ein BNBCalc-Konto oder melde dich bei deinem bestehenden Konto an

2. Navigieren Sie zu Ihren Kontoeinstellungen, um einen API-Schlüssel zu generieren

3. Fügen Sie Ihren API-Schlüssel in allen API-Anfragen mit dem Header x-bnbcalc-api-key ein.

4. Beginnen Sie damit, Anfragen zu stellen, um auf Immobiliendaten und Analysen zuzugreifen.

Alle API-Endpunkte verwenden HTTPS und geben JSON-Antworten zurück. Bewahren Sie API-Schlüssel auf Ihrem Server auf, nicht im Code Ihres Browsers oder mobilen Clients. Externe API-Routen sind derzeit auf 100 Anfragen pro Sekunde beschränkt und verwenden die standardmäßigen HTTP-Antwortcodes, um Erfolg oder Misserfolg anzuzeigen.


Authentifizierung

Alle API-Anfragen erfordern eine Authentifizierung mit einem API-Schlüssel. API-Schlüssel sind mit Ihrem BNBCalc-Konto verknüpft, sollten serverseitig gespeichert und niemals im Frontend-Code offengelegt werden. Fügen Sie Ihren API-Schlüssel in den Anfrage-Header wie unten gezeigt ein:

x-bnbcalc-api-key: YOUR_API_KEY

Sie können API-Schlüssel selbstständig auf Ihrer Kontoeinstellungsseite generieren. Fügen Sie den x-bnbcalc-api-key-Header in jede API-Anfrage ein, um sich zu authentifizieren.


POST/v1/external/analysis/create/buy

Kaufanalyse erstellen

Erstellen Sie eine neue Kaufanalyse für eine Immobilie. Erfordert Immobiliendetails, Standortinformationen und Kaufpreis.

Standortparameter (Bedingt)

⚠️ Geben Sie entweder lat UND lng an ODER geben Sie fullAddress an. Mindestens eine Methode ist erforderlich.

latnumberbedingt

Breitengrad (muss mit lng angegeben werden, wenn fullAddress nicht verwendet wird)(e.g., 27.7676)

lngnumberbedingt

Längengrad (muss mit lat angegeben werden, wenn fullAddress nicht verwendet wird)(e.g., -82.6403)

fullAddressstringbedingt

Vollständige Immobilienadresse (kann anstelle von lat/lng-Koordinaten verwendet werden)(e.g., 4935 2nd Avenue North, St. Petersburg, FL 33703)

Erforderliche Parameter

purchasePriceUSDnumbererforderlich

Kaufpreis in USD(e.g., 350000)

bedroomsnumbererforderlich

Anzahl der Schlafzimmer(e.g., 3)

bathroomsnumbererforderlich

Anzahl der Badezimmer(e.g., 2)

accomodatesnumbererforderlich

Anzahl der Gäste, die die Immobilie aufnehmen kann(e.g., 6)

Optionale Parameter

monthlyRentUSDnumberoptionaler Parameter

Erwartete monatliche Miete in USD für langfristige Vermietung(e.g., 2500)

interestRatePercentagenumberoptionaler Parameter

Zinssatz in Prozent (0-15)(e.g., 5.1)

squareFeetnumberoptionaler Parameter

Quadratfußzahl der Immobilie(e.g., 1500)

statestringoptionaler Parameter

Name des Staates(e.g., Florida)

citystringoptionaler Parameter

Stadtname(e.g., St. Petersburg)

countystringoptionaler Parameter

Name des Landkreises(e.g., Pinellas County)

postalCodestringoptionaler Parameter

Postleitzahl(e.g., 33703)

countrystringoptionaler Parameter

Name des Landes(e.g., United States)

streetstringoptionaler Parameter

Straßenname(e.g., 2nd Avenue North)

streetNumberstringoptionaler Parameter

Hausnummer(e.g., 4935)

unitstringoptionaler Parameter

Wohnungs-/Einheitsnummer, falls zutreffend

Beispielanfrage

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 }'

Beispielantwort

{ "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

Arbitrage-Analyse erstellen

Erstelle eine neue Arbitrage-Analyse (Mietarbitrage) für eine Immobilie. Verwendet dieselben erforderlichen Felder wie bei der Kaufanalyse.

Standortparameter (Bedingt)

⚠️ Geben Sie entweder lat UND lng an ODER geben Sie fullAddress an. Mindestens eine Methode ist erforderlich.

latnumberbedingt

Breitengrad (muss mit lng angegeben werden, wenn fullAddress nicht verwendet wird)(e.g., 27.7676)

lngnumberbedingt

Längengrad (muss mit lat angegeben werden, wenn fullAddress nicht verwendet wird)(e.g., -82.6403)

fullAddressstringbedingt

Vollständige Immobilienadresse (kann anstelle von lat/lng-Koordinaten verwendet werden)(e.g., 4935 2nd Avenue North, St. Petersburg, FL 33703)

Erforderliche Parameter

monthlyRentUSDnumbererforderlich

Erwartete monatliche Miete in USD für langfristige Vermietung(e.g., 2500)

bedroomsnumbererforderlich

Anzahl der Schlafzimmer(e.g., 3)

bathroomsnumbererforderlich

Anzahl der Badezimmer(e.g., 2)

accomodatesnumbererforderlich

Anzahl der Gäste, die die Immobilie aufnehmen kann(e.g., 6)

Optionale Parameter

purchasePriceUSDnumberoptionaler Parameter

Kaufpreis in USD(e.g., 350000)

squareFeetnumberoptionaler Parameter

Quadratfußzahl der Immobilie(e.g., 1500)

statestringoptionaler Parameter

Name des Staates(e.g., Florida)

citystringoptionaler Parameter

Stadtname(e.g., St. Petersburg)

countystringoptionaler Parameter

Name des Landkreises(e.g., Pinellas County)

postalCodestringoptionaler Parameter

Postleitzahl(e.g., 33703)

countrystringoptionaler Parameter

Name des Landes(e.g., United States)

streetstringoptionaler Parameter

Straßenname(e.g., 2nd Avenue North)

streetNumberstringoptionaler Parameter

Hausnummer(e.g., 4935)

unitstringoptionaler Parameter

Wohnungs-/Einheitsnummer, falls zutreffend

Beispielanfrage

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 }'

Beispielantwort

{ "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

Eigene Analyse erstellen

Erstellen Sie eine neue Analyse für eine Immobilie im Eigentum. Verwendet die gleichen erforderlichen Felder wie die Kaufanalyse.

Standortparameter (Bedingt)

⚠️ Geben Sie entweder lat UND lng an ODER geben Sie fullAddress an. Mindestens eine Methode ist erforderlich.

latnumberbedingt

Breitengrad (muss mit lng angegeben werden, wenn fullAddress nicht verwendet wird)(e.g., 27.7676)

lngnumberbedingt

Längengrad (muss mit lat angegeben werden, wenn fullAddress nicht verwendet wird)(e.g., -82.6403)

fullAddressstringbedingt

Vollständige Immobilienadresse (kann anstelle von lat/lng-Koordinaten verwendet werden)(e.g., 4935 2nd Avenue North, St. Petersburg, FL 33703)

Erforderliche Parameter

purchasePriceUSDnumbererforderlich

Kaufpreis in USD(e.g., 350000)

downPaymentPercentagenumbererforderlich

Anzahlungsprozentsatz (0-40)(e.g., 20)

interestRatePercentagenumbererforderlich

Zinssatz in Prozent (0-15)(e.g., 5.1)

mortgageLengthnumbererforderlich

Hypothekenlaufzeit in Jahren (0-30)(e.g., 30)

yearsRemainingOnMortgagenumbererforderlich

Verbleibende Jahre der Hypothek (Dürfen nicht länger sein als die Hypothekendauer)

bedroomsnumbererforderlich

Anzahl der Schlafzimmer(e.g., 3)

bathroomsnumbererforderlich

Anzahl der Badezimmer(e.g., 2)

accomodatesnumbererforderlich

Anzahl der Gäste, die die Immobilie aufnehmen kann(e.g., 6)

Optionale Parameter

monthlyRentUSDnumberoptionaler Parameter

Erwartete monatliche Miete in USD für langfristige Vermietung(e.g., 2500)

squareFeetnumberoptionaler Parameter

Quadratfußzahl der Immobilie(e.g., 1500)

statestringoptionaler Parameter

Name des Staates(e.g., Florida)

citystringoptionaler Parameter

Stadtname(e.g., St. Petersburg)

countystringoptionaler Parameter

Name des Landkreises(e.g., Pinellas County)

postalCodestringoptionaler Parameter

Postleitzahl(e.g., 33703)

countrystringoptionaler Parameter

Name des Landes(e.g., United States)

streetstringoptionaler Parameter

Straßenname(e.g., 2nd Avenue North)

streetNumberstringoptionaler Parameter

Hausnummer(e.g., 4935)

unitstringoptionaler Parameter

Wohnungs-/Einheitsnummer, falls zutreffend

Beispielanfrage

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 }'

Beispielantwort

{ "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

Cohost-Analyse erstellen

Co-Host-Historie erstellen

Standortparameter (Bedingt)

⚠️ Geben Sie entweder lat UND lng an ODER geben Sie fullAddress an. Mindestens eine Methode ist erforderlich.

latnumberbedingt

Breitengrad (muss mit lng angegeben werden, wenn fullAddress nicht verwendet wird)(e.g., 27.7676)

lngnumberbedingt

Längengrad (muss mit lat angegeben werden, wenn fullAddress nicht verwendet wird)(e.g., -82.6403)

fullAddressstringbedingt

Vollständige Immobilienadresse (kann anstelle von lat/lng-Koordinaten verwendet werden)(e.g., 4935 2nd Avenue North, St. Petersburg, FL 33703)

Erforderliche Parameter

bedroomsnumbererforderlich

Anzahl der Schlafzimmer(e.g., 3)

bathroomsnumbererforderlich

Anzahl der Badezimmer(e.g., 2)

accomodatesnumbererforderlich

Anzahl der Gäste, die die Immobilie aufnehmen kann(e.g., 6)

Optionale Parameter

cohostCommissionPercentagenumberoptionaler Parameter

Cohost-Provisionsprozentsatz(e.g., 10)

squareFeetnumberoptionaler Parameter

Quadratfußzahl der Immobilie(e.g., 1500)

statestringoptionaler Parameter

Name des Staates(e.g., Florida)

citystringoptionaler Parameter

Stadtname(e.g., St. Petersburg)

countystringoptionaler Parameter

Name des Landkreises(e.g., Pinellas County)

postalCodestringoptionaler Parameter

Postleitzahl(e.g., 33703)

countrystringoptionaler Parameter

Name des Landes(e.g., United States)

streetstringoptionaler Parameter

Straßenname(e.g., 2nd Avenue North)

streetNumberstringoptionaler Parameter

Hausnummer(e.g., 4935)

unitstringoptionaler Parameter

Wohnungs-/Einheitsnummer, falls zutreffend

Beispielanfrage

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 }'

Beispielantwort

{ "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 } }

Fehlercodes

Die BNBCalc API verwendet standardisierte HTTP-Antwortstatuscodes, um den Erfolg oder Misserfolg der API-Anfragen anzuzeigen. Erfolgreich erstellte Berichte geben 2xx-Codes zurück, während Fehler 4xx- oder 5xx-Codes mit zusätzlichen Fehlermeldungen im Antwortkörper zurückgeben. Ihnen werden nur erfolgreiche erstellte Berichte in Rechnung gestellt.

200

Erfolg


400

Fehlerhafte Anfrage - Ungültige Parameter


401

Nicht autorisiert - Ungültiger API-Schlüssel


429

Zu viele Anfragen - Limit der externen API-Routen überschritten


500

Interner Serverfehler