Airbnb's system design
☰
Airbnb is a marketplace where one home takes one guest per night: a search funnel ranks a hundred thousand homes in a blink, and a web of services books the dates and moves the money exactly once.
+ The whole system in one paragraph− Hide
Airbnb sells nights, and each night of each home can be sold only once. Search narrows up to ~100,000 open homes to one ranked page. A booking writes one reservation for its nights, and Payments charges the guest in steps that are safe to retry, so nobody is charged twice. Underneath, the original Rails app became services in tiers.
In this lesson
4 chapters · ~9 min · a quick check in eachEverything is on this page — just scroll down ↓
The whole system
The whole of Airbnb on one page
Every box is one part of Airbnb, every arrow a call or event. Follow a search, a booking or a cancellation through the services that own each step.
Guests and hosts use the same front door: an API gateway, with Viaduct — a GraphQL layer — knowing which service owns each piece of data.
Curious? Go deeper+ 1 optional
What it all runs on
The ground under every box: where services run, where data lives, and how services find and call each other. Dated facts from Airbnb's posts — older ones may have changed.
In 2025 guests booked $91.3B across 533M nights and seats. Roughly how much is that per night or seat?
Pick one — or just keep scrolling, it's not graded.
Keep going — it's free
Create your free account to unlock the rest of Airbnb's system design, keep your progress and pick up right where you left off.
- 2Search, calendar & prices
- 3Booking & money
- 4Growth & migration
Ask anything about this system, or share how you'd design it.
Log in to join the conversation