/v1/external/analysis/create/buyCréer une analyse d'achat
Créer une nouvelle analyse d'achat pour une propriété. Nécessite des détails sur la propriété, des informations sur l'emplacement et le prix d'achat.
AI requests are slower than standard calls. Allow up to 90 seconds and set your client timeout to at least 300 seconds. AI work is time-bounded, so a request always returns a usable analysis rather than hanging.
AI-selected comparables are available for United States properties and require at least 8 usable listing photos for the address. Listing photos are gathered in the background when an analysis is created, so calling enhance shortly afterwards is faster than requesting comparables during creation.
When an AI step cannot complete, the response still returns 200 with the valid analysis and a warnings array explaining what was skipped. Check warnings rather than assuming AI results are always present.
Each AI function that completes adds $0.10 to the call. AI steps that fail or time out are never charged, and /enhance is billed only for the AI functions that completed — it carries no base call fee.
Paramètres de Localisation (Conditionnel)
⚠️ Fournissez soit lat ET lng, soit fullAddress. Au moins une méthode est requise.
latnumberconditionnelCoordonnée de latitude (doit être fournie avec lng si fullAddress n'est pas utilisée)(e.g., 27.7676)
lngnumberconditionnelCoordonnée de longitude (doit être fournie avec lat si fullAddress n'est pas utilisée)(e.g., -82.6403)
fullAddressstringconditionnelAdresse complète de la propriété (peut être utilisée à la place des coordonnées lat/lng)(e.g., 4935 2nd Avenue North, St. Petersburg, FL 33703)
Paramètres Requis
purchasePriceUSDnumberobligatoirePrix d'achat en USD(e.g., 350000)
bedroomsnumberobligatoireNombre de chambres(e.g., 3)
bathroomsnumberobligatoireNombre de salles de bains(e.g., 2)
accomodatesnumberobligatoireNombre d'invités que la propriété peut accueillir(e.g., 6)
Paramètres Optionnels
monthlyRentUSDnumberoptionnelLoyer mensuel attendu en USD pour une location à long terme(e.g., 2500)
interestRatePercentagenumberoptionnelPourcentage du taux d'intérêt (0-15)(e.g., 5.1)
squareFeetnumberoptionnelSurface en pieds carrés de la propriété(e.g., 1500)
statestringoptionnelNom de l'État(e.g., Florida)
citystringoptionnelNom de la ville(e.g., St. Petersburg)
countystringoptionnelNom du comté(e.g., Pinellas County)
postalCodestringoptionnelCode postal(e.g., 33703)
countrystringoptionnelNom du pays(e.g., United States)
streetstringoptionnelNom de la rue(e.g., 2nd Avenue North)
streetNumberstringoptionnelNuméro de rue(e.g., 4935)
unitstringoptionnelNuméro d'unité/appartement, le cas échéant
addAICompsbooleanoptionnelSelect comparables with AI and apply the resulting revenue benchmark. US properties only, and requires at least 8 usable listing photos for the address.(e.g., true)
addAIExpenseEstimatesbooleanoptionnelEstimate operating expenses with AI instead of using category defaults(e.g., true)
Demande d'exemple
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
}'const response = await fetch(
'https://atlas.bnbcalc.com/v1/external/analysis/create/buy',
{
method: 'POST',
headers: {
'x-bnbcalc-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"lat": 27.7676,
"lng": -82.6403,
"bedrooms": 3,
"bathrooms": 2,
"accomodates": 6,
"purchasePriceUSD": 400000
})
}
);
const data = await response.json();import json
import requests
data = json.loads(r'''{
"lat": 27.7676,
"lng": -82.6403,
"bedrooms": 3,
"bathrooms": 2,
"accomodates": 6,
"purchasePriceUSD": 400000
}''')
response = requests.post(
'https://atlas.bnbcalc.com/v1/external/analysis/create/buy',
headers={
'x-bnbcalc-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
json=data
)
data = response.json()Réponse d'exemple
{
"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,
"photo_urls": [
"https://a0.muscache.com/im/pictures/example/cover.jpg",
"https://a0.muscache.com/im/pictures/example/living-room.jpg",
"https://a0.muscache.com/im/pictures/example/kitchen.jpg"
]
}
],
"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
}
}