Xcortly currently has over 45,500 active listings across 86 countries. This index turns that into something we haven't seen published anywhere else: a real, current, city-by-city comparison of 1-hour rates, computed directly from live listing data rather than estimated or self-reported survey averages.
The Index
| City | Active Listings | 1-Hour Rate Range (USD) | Sample Size |
|---|---|---|---|
| Dubai | 2,366 | $60–2,031 | 147 |
| Bangkok | 2,133 | $116–250 | 9* |
| Paris | 1,858 | $289–405 | 223 |
| Bali | 1,523 | $80–300 | 106 |
| Berlin | 1,442 | $116–250 | 159 |
| Manila | 1,418 | $35–300 | 20* |
| Kuala Lumpur | 1,385 | $98–159 | 198 |
| London | 1,274 | $64–542 | 201 |
| Hong Kong | 1,269 | $38–637 | 31* |
| Jakarta | 1,088 | $100–350 | 21* |
| Singapore | 997 | $50–579 | 114 |
| Amsterdam | 995 | $58–255 | 47 |
| Istanbul | 876 | $200–289 | 174 |
| Tokyo | 788 | $50–463 | 35* |
| Pattaya | 774 | $62–250 | 25* |
| Phuket | 764 | $69–405 | 45 |
| Munich | 735 | $87–2,314 | 147 |
| Frankfurt | 639 | $71–289 | 166 |
| Warsaw | 451 | $58–347 | 106 |
| Athens | 425 | $41–255 | 178 |
* Sample size under 40 — treat this city's range as a rougher estimate than the others until more listings report a rate.
What Stands Out
A few things the data actually shows, not just a top-line average:
Dubai and Munich have by far the widest spreads — both run from roughly $60–90 at the low end past $2,000 at the top, reflecting independent budget bookings and premium agency listings coexisting in the same market rather than a single typical rate.
Kuala Lumpur is the most tightly clustered major market — a $98–159 range across nearly 200 listings, unusually narrow for a city this size.
European capitals price higher and narrower than Southeast Asian markets — Paris and Istanbul both sit in relatively tight, elevated bands ($289–405 and $200–289), while Bangkok, Bali, and Pattaya cluster lower and wider.
Methodology
Every number here comes from live Xcortly listing data, not a survey or estimate:
Source: Up to 250 active listings per city that state a "1 hour" incall or outcall rate in a structured field.
Currency conversion: Each listing is converted to USD using its own stated currency and the real exchange rate at the time this index was computed (via a live FX feed) — not a guess at what currency it "should" be.
Outlier handling: Two filters, applied before any range is reported. First, values under $20 are excluded as certain data-entry errors rather than real prices (we found and manually verified one such case — a $3 listing — while building this index). Second, standard 1.5×IQR outlier trimming removes extreme values that would otherwise distort the range on their own.
Sample size: Cities with fewer than 40 qualifying listings are flagged with an asterisk in the table — the range is real, but based on fewer data points than the larger markets.
Freshness: Computed directly from the live database, reflecting active listings at the time of publication rather than a fixed historical snapshot.
Frequently Asked Questions
Where does this data come from?
Directly from active Xcortly listings — real, current 1-hour rates stated by providers themselves, converted to USD and statistically cleaned as described in the methodology above.
Why do some cities have such a wide rate range?
A wide range usually means the market genuinely spans independent budget providers through premium agency bookings, rather than one typical price — Dubai and Munich are the clearest examples of this in the current data.
How often is this index updated?
It reflects live listing data as of publication. Check the Xcortly blog for the most recent version.