I Rented Apartments to Rent Out on Airbnb for Profit

This guy made a couple thousand dollars from renting out apartments on Airbnb.

November 30, 2015

I’ve been making a profit using Airbnb.  I don’t own the place I’m renting out. Most people think the numbers only work when you own property. Here’s my experience renting out apartments for myself, and then making a profit on top of the rent I paid, all using Airbnb. As with most things, it started slow and ramped up. Revenue numbers and pictures are included below.

To date I’ve rented out apartments on Airbnb in 4 locations, in 3 different countries. In chronological order they were:

  1. Santiago, Chile (x2)
  2. St. Louis, Missouri
  3. Victoria, British Columbia

How it started

Back in 2011, I was a poor entrepreneur living in South America for Startup Chile’s round one program. I was funding my company with $40,000. This had to cover my cost of living and a few developers. If you do the math it wouldn’t last long. I needed extra cash. Lucky for me, I found a two bedroom apartment in a touristy area close to downtown Santiago. I used Airbnb as a guest back in the states, but never tried hosting. I thought it’d be fun to see how much money I could make.

Apartment #1 in Santiago, Chile

My first place in Santiago was located in the Lastarria neighborhood. It attracts a lot of tourists, so this was a good start. The unit was a 2 bedroom, 1 bath located on the second floor of a residential building. Coffee shops, restaurants, and wine bars were all steps away.

Airbnb room type: Private room
How did guests get the key? I gave them my second set after meeting at the apartment
Cleaning: I did it myself

Rent including all utilities: $700
Airbnb rent: $40 /night
Fill rate: ~35%
Monthly revenue: $425

Monthly profit: -$275  (after rent and utilities)

I lived here too, so this means my rent was now only $275. The initially low nightly rate + fill rate meant there was lots of room to optimize.

Guest bedroom

View from the living room window

Apartment #2 in Santiago, Chile

After being in Santiago for 3 months, I found a 2 story loft on the 17th floor of a high-rise building. The view was awesome. The unit was a 2 story loft with 1 bedroom and 1 bath upstairs. The kitchen, living room, and balcony were downstairs.

Airbnb room type: Entire apartment
How did guests get the key? The apartment had a keypad door lock, so there was never a physical key to hand over. All I had to do was email my guests directions to the building, and the apartment’s access code.
Cleaning: The rent included daily full service cleaning. They even did the dishes!

Rent including all utilities: $900
Airbnb rent: $75 /night
Fill rate: ~40%
Monthly Revenue: $900

Monthly profit: $0 (after rent, utilities, etc)

Stairs going down to the living room

Living room
The view during sunset from the living room

Apartment #3 in St. Louis, Missouri

After Chile, the startup I founded won an Arch Grant. As part of the $50k grant, we were required to relocate to downtown St. Louis. My co-founder was from Portugal, so he was away for several months during the beginning while we secured an H1-B visa.

The unit was a 2 bedroom + 2 bath loft with super high ceilings. It was in downtown in the middle of the entertainment district. The 3 major sports stadiums were all within walking distance as well.

How did guests get the key? When I rented my extra bedroom I gave them my second set of keys. When I was out of town and rented the entire place out, a neighbor friend generously helped with the key exchange.
Cleaning: I hired a local woman for $50 per cleaning between guests

Rent including all utilities: $1,300 per month
Airbnb rent: $120 /night
Fill rate: ~55%
Monthly revenue: $1,920

Monthly profit: $420 (after cleaning, rent, utilities, etc)

Living room

Kitchen in the background
Master bedroom

Apartment #4 in Victoria, B.C.

After selling all of my belongings to move to Canada and join MetaLab, I stumbled on a profitable setup. While in Canada, I ran into visa issues and had to return to the states while I waited for a work visa. The problem was I still had a newly furnished apartment. I turned to Airbnb once more. This time with much success.

The apartment is a “bachelor” unit, which basically means it doesn’t have any internal doors or dividers, except for the bathroom. It’s quite small, but does the job. It’s centrally located in downtown Victoria near all the local coffee shops, bars, and restaurants. It’s also a 5 minute walk to the ocean.

How did guests get the key? Two friends / colleagues were kind enough to handle the key exchange.
Cleaning: I hired a cleaning lady for $70 per cleaning.

Rent including all utilities: $1,050
Airbnb rent: $99 /night + $40 cleaning fee.
Fill rate: ~75%
Monthly revenue: $2,387

Monthly profit: $1,037 (after cleaning, rent, utilities, etc)


Apartment #1
Monthly profit: -$275
Time on Airbnb: ~60 days

Apartment #2
Monthly profit: $0 (free rent!)
Time on Airbnb: ~30 days

Apartment #3
Monthly profit: $420
Time on Airbnb: ~100 days

Apartment #4
Monthly profit: $1,037
Time on Airbnb: 120 days and still going

As you can see, time on Airbnb really affects your ability to make a profit. Many good reviews will start to bump your listing up in Airbnb’s search results. This begins to exponentially raise your fill rate. Once you’re higher in the results you can also start charging more too. Because of this, I’m convinced apartments 1-3 could have been optimized to be much more profitable if they were listed longer.

In many cases it’s possible to live rent free, or even make a profit on property you rent.

If you found this post interesting you can follow me on twitter @Marshal and Need/Want @NeedWantInc. We’re working on many more transparent posts like this. Stay tuned.

This article was originally posted on NeedWant.com and republished here with the author’s permission. Go to their site here to see how much money their other businesses make.

Join 1.5m+ professionals getting The Hustle daily news brief

Business and tech news in 5 minutes or less

100% free, no ads or spam, unsubscribe anytime


How'd Bezos build a billion dollar empire?

In 1994, Jeff Bezos discovered a shocking stat: Internet usage grew 2,300% per year.

Data shows where markets are headed.

And that’s why we built Trends — to show you up-and-coming market opportunities about to explode. Interested?

Join us, it's free.

Look, you came to this site because you saw something cool. But here’s the deal. This site is actually a daily email that covers the important news in business, tech, and culture.

So, if you like what you’re reading, give the email a try.

If you don’t like it, unsubscribe any time. Privacy policy.

[email-submission-form redirect-to-home="true" button-text="Join Free" include-trends-opt-in="true" id="main-signup-form" fail-url="" success-url="https://thehustle.co/signup" default-source="thehustleco" default-campaign="home"]
<script type="text/javascript"> var onloadCallback = function() { grecaptcha.render('verify-your-humanity', { 'sitekey' : '6LdddrcZAAAAALyttpvOqiwQGwq5BNhgDz4tMQGE' }); }; function getCookieValue(a) { var b = document.cookie.match('(^|[^;]+)\\s*' + a + '\\s*=\\s*([^;]+)'); return b ? atob(decodeURIComponent(b.pop())) : ''; } function setHiddenFieldValue(wrappingDiv, searchParams, className, utmName, cookieName, defaultValue) { var el = wrappingDiv.getElementsByClassName(className)[0]; var existingVal = el.getAttribute('value'); var newVal = searchParams.get(utmName) || getCookieValue(cookieName); if ((existingVal == null || existingVal == '' || existingVal == defaultValue) && (newVal != null && newVal != '')) { el.setAttribute('value', newVal); } } function setHiddenFieldValueFromUtm( wrappingDiv, searchParams, className, utmName, defaultValue ) { var el = wrappingDiv.getElementsByClassName(className)[0]; if (el != null) { var existingVal = el.getAttribute("value"); var newVal = searchParams.get(utmName); if (newVal != null && newVal != "") { el.setAttribute("value", newVal); } } } function initForm() { var wrappingDivs = document.getElementsByClassName('email-submission'); wrappingDivs.forEach(wrappingDiv => { var sp = new URLSearchParams(window.location.search); setHiddenFieldValue(wrappingDiv, sp, 'funnel-source', 'utm_source', 'funnel_source', 'thehustleco'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-campaign', 'utm_campaign', 'funnel_campaign', 'home'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-medium', 'utm_medium', 'funnel_medium', ''); setHiddenFieldValue(wrappingDiv, sp, 'funnel-referral', 'ref', 'funnel_referral', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-a', 'a', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-c', 'c', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-o', 'o', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-oc', 'oc', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-e', 'e', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-f', 'f', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-r', 'r', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-t', 't', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s1', 's1', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s2', 's2', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s3', 's3', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s4', 's4', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s5', 's5', ''); var error_message = getCookieValue('funnel_error_message'); if (error_message && error_message.trim() != '') { var error = wrappingDiv.getElementsByClassName('funnel-error')[0]; var prev_email = getCookieValue('funnel_email'); error_message = prev_email + " is not valid. Please try again"; error.innerHTML = error_message; error.style = ''; } }); if (false) { initCaptchaFormV2(); } } function initCaptchaFormV2() { var v3RecaptchaResponseEl = document.getElementById('recaptcha-response-v3'); v3RecaptchaResponseEl.parentNode.removeChild(v3RecaptchaResponseEl); var wrappingDiv = document.getElementById('main-signup-form'); var subForm = wrappingDiv.getElementsByClassName('email-submission')[0]; var captchaVersion = document.createElement('input'); captchaVersion.class = 'g-recaptcha hidden-input'; captchaVersion.type = 'hidden'; captchaVersion.name = 'g-recaptcha-response-v2'; captchaVersion.value = 'true'; subForm.appendChild(captchaVersion); var captchaEl = document.createElement('div'); captchaEl.id = 'verify-your-humanity'; subForm.appendChild(captchaEl); var captchaApiScriptEl = document.createElement('script'); captchaApiScriptEl.src = 'https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit'; captchaApiScriptEl.async = true; captchaApiScriptEl.defer = true; document.head.appendChild(captchaApiScriptEl); } function appendCheckboxes() { var optInDivs = document.querySelectorAll('.trends-opt-in'); optInDivs.forEach(el => { if (el.getElementsByClassName('trends-opt-in-checkbox').length < 1) { var checkbox = document.createElement('input'); checkbox.setAttribute('class', 'trends-opt-in-checkbox'); checkbox.setAttribute('type', 'checkbox'); checkbox.setAttribute('name', 'trends_opt_in'); var label = document.createElement('label'); label.setAttribute('class', 'trends-opt-in-text'); label.textContent = "Yes, I'd like to receive updates on market opportunities before they explode from Trends by The Hustle"; el.appendChild(checkbox); el.appendChild(label); checkbox.click(); } }) } window.addEventListener('DOMContentLoaded', (event) => { var funnel_email_cookie = getCookieValue('funnel_email'); if ( (true) && (funnel_email_cookie != null && funnel_email_cookie != '') ) { window.location.replace('/home'); } initForm(); if (true) { appendCheckboxes(); } }); </script> <div class="email-signup" id=main-signup-form> <div class="funnel-error" style="display:none;"></div> <form class="email-submission" action="https://cms.thehustle.co/api/v1/contacts/wordpress_create" method="post"> <input class="funnel-source hidden-input" type="hidden" name="source" value="thehustleco"> <input class="funnel-campaign hidden-input" type="hidden" name="campaign" value="home"> <input class="funnel-medium hidden-input" type="hidden" name="medium"> <input class="funnel-referral hidden-input" type="hidden" name="referral_code"> <input class="funnel-fail-url hidden-input" type="hidden" name="fail_url" value=""> <input class="funnel-a hidden-input" type="hidden" name="a" value=""> <input class="funnel-c hidden-input" type="hidden" name="c" value=""> <input class="funnel-o hidden-input" type="hidden" name="o" value=""> <input class="funnel-oc hidden-input" type="hidden" name="oc" value=""> <input class="funnel-e hidden-input" type="hidden" name="e" value=""> <input class="funnel-f hidden-input" type="hidden" name="f" value=""> <input class="funnel-r hidden-input" type="hidden" name="r" value=""> <input class="funnel-t hidden-input" type="hidden" name="t" value=""> <input class="funnel-s1 hidden-input" type="hidden" name="s1" value=""> <input class="funnel-s2 hidden-input" type="hidden" name="s2" value=""> <input class="funnel-s3 hidden-input" type="hidden" name="s3" value=""> <input class="funnel-s4 hidden-input" type="hidden" name="s4" value=""> <input class="funnel-s5 hidden-input" type="hidden" name="s5" value=""> <input class="funnel-success-url hidden-input" type="hidden" name="success_url" value="https://thehustle.co/signup"> <input id="recaptcha-response-v3" class="g-recaptcha hidden-input" type="hidden" name="g-recaptcha-response" value=""> <input class="signup-email" type="email" name="email" placeholder="Your email address" required> <input class="email-submit" type="submit" value="Join Free"> <div class="trends-opt-in"></div> <div submit-success> <template type="amp-mustache"> <p class="c-message c-message--success">Thank you for subscribing.</p> </template> </div> <div submit-error> <template type="amp-mustache"> <p class="c-message c-message--failed">Your submission failed. Please try again!</p> </template> </div> </form> </div>