Rating data
To rank a listing within its city, TrustBnB needs to know how that city's listings are rated. That data comes from Inside Airbnb, is summarized at build time, and ships inside the extension. Nothing is downloaded while you browse.
Where it comes from
Inside Airbnb is an independent project that regularly collects public Airbnb listings for cities around the world and publishes them under the CC BY 4.0 license.
TrustBnB uses the detailed listings.csv.gz file from the most recent collection of each city,
and keeps a listing when it has:
- an overall rating (
review_scores_rating) above zero, - at least one review, and
- at least one review in the 12 months before the collection (
number_of_reviews_ltm, orlast_reviewwhen that column is missing), so long-inactive listings don't count.
Older exports used 0–100 or 0–10 scales; those are converted to 0–5. Code:
scripts/lib/insideairbnb.ts.
What ships in the extension
For each city, a summary of about 3 KB instead of the listings themselves:
| Field | What it is |
|---|---|
count |
Listings it was built from |
mean |
Average rating: what step 1 of the score blends towards |
median |
Typical rating, for display |
q |
The city's adjusted ratings at 400 evenly spaced ranks, plus both ends (401 numbers, 5 decimals) |
center |
Median listing position, to recognize the city from map coordinates |
scrapedAt |
Date Inside Airbnb collected the city |
A global summary pools every city, weighted by listing count, for places TrustBnB doesn't
cover. Everything is written to data/models.json and compiled into the extension. Code:
core/models.ts.
Ranking against the summary instead of every listing is accurate to within half a percent, and keeps the extension small: under 150 KB of data for all cities.
Cities
These 44 cities are downloaded by default:
- Amsterdam
- Athens
- Barcelona
- Berlin
- Copenhagen
- Dublin
- Edinburgh
- Florence
- Lisbon
- London
- Madrid
- Mallorca
- Munich
- Paris
- Porto
- Prague
- Rome
- Venice
- Vienna
- Austin
- Boston
- Buenos Aires
- Chicago
- Hawaii
- Los Angeles
- Mexico City
- Montreal
- New Orleans
- New York City
- Rio de Janeiro
- San Diego
- San Francisco
- Seattle
- Toronto
- Vancouver
- Washington DC
- Bangkok
- Cape Town
- Hong Kong
- Melbourne
- Singapore
- Sydney
- Taipei
- Tokyo
Change the list with the TRUSTBNB_CITIES repository variable (see
Releasing) or npm run data -- --cities locally. Any city Inside Airbnb
covers works; npm run data -- --list shows them.
How fresh the data is
Each release is built with the most recent data Inside Airbnb has published, and the popup's footer shows the collection dates. Inside Airbnb updates most cities every few months.
On the 2nd of every month, a GitHub Actions job downloads the data again and compares each
city's collection date with the latest release's data-sources.json. When a city has newer
data, it publishes a data-only release (for example v0.3.0.2611). See
Monthly data refresh.
Building the data yourself
npm run data # default cities (a few minutes)
npm run data -- --cities paris,tokyo,lisbon # specific cities
npm run data -- --all # every city on Inside Airbnb
npm run data -- --list # what's available
npm run data -- --file listings.csv.gz --city paris --country france --date 2026-06-10
npm run data:demo # synthetic data, no download
The extension build uses data/models.json if it exists, and demo data otherwise. Release
builds refuse demo data.
Attribution
Rating data © Inside Airbnb, CC BY 4.0. TrustBnB is not affiliated with Inside Airbnb or Airbnb.