We hold 6,664 cafés, libraries and coworking spaces across 77 cities, built from OpenStreetMap (4,306 places) and Google Places (1,943). We can confirm Wi‑Fi at 1,473 of them, indoor seating at 767, and power outlets at 138. That last number is not a typo. It is 2.1% of the catalogue, and it is the most useful single fact about the state of open data on working from cafés.
What is actually known about a café
Of the 6,664 places we list, here is how many carry each attribute a person with a laptop would want to know before walking there. None of this is guessed: every one is a stored fact with a source and a date attached.
| Attribute | Places | Share |
|---|---|---|
| Opening hours | 2,433 | 37% |
| Wi‑Fi confirmed | 1,473 | 22% |
| A working website | 2,220 | 33% |
| Indoor seating confirmed | 767 | 12% |
| Power outlets confirmed | 138 | 2.1% |
The shape of that table is the finding. Opening hours are recorded reasonably often because a shop's hours are on its door and somebody eventually types them in. Power outlets are recorded almost never, because nobody surveys a room for sockets — and a socket is the one thing that decides whether you can stay for three hours.
Why we are not publishing a "best cities for laptop work" ranking
The obvious piece to write from a catalogue like this is a league table: rank the cities by the share of their cafés with Wi‑Fi and outlets, publish it every year, watch it get cited. We built it, looked at it, and did not publish it, because the ranking it produces is not a ranking of cities.
Here is the same twenty cities grouped by country, with the three attributes that get filled in by whoever mapped the place. All of these cities were crawled the same way, to the same depth, in the same pass — so what varies is the mapping, not the looking.
| Country | Places | Wi‑Fi | Hours | Website |
|---|---|---|---|---|
| Germany | 414 | 37% | 61% | 64% |
| Hungary | 247 | 30% | 69% | 63% |
| Czechia | 232 | 29% | 69% | 62% |
| South Africa | 173 | 28% | 25% | 28% |
| Georgia | 205 | 28% | 51% | 35% |
| Argentina | 275 | 27% | 30% | 28% |
| Indonesia | 313 | 24% | 24% | 15% |
| Thailand | 443 | 22% | 35% | 23% |
| Vietnam | 381 | 21% | 17% | 8% |
| Mexico | 208 | 20% | 19% | 5% |
| Portugal | 486 | 19% | 38% | 36% |
| Taiwan | 410 | 18% | 40% | 31% |
| Spain | 969 | 18% | 32% | 32% |
| Colombia | 227 | 15% | 26% | 11% |
The three columns move together, which is the tell. Taking them together, Germany comes out best (37% Wi‑Fi, 61% hours, 64% website) and Mexico worst (20%, 19%, 5%). Sort the table by any one of the three columns and the same three countries — Germany, Hungary, Czechia — come out on top. Whether a café offers Wi‑Fi, what time it shuts, and whether its owner registered a domain are three unrelated facts about a business. They have no reason to rise and fall together from one country to the next — unless what they are all measuring is the same thing, which is whether somebody sat down and wrote the café into the map.
So a league table built on this data would rank the density and habits of local OpenStreetMap contributors, and it would do it while wearing the costume of a travel ranking. Plenty of sites publish exactly that. We would rather say what the data is.
A quarter of the websites are gone
We fetched every website the catalogue had a URL for, honouring robots.txt, to read hours and prices out of the pages. 1,092 sites were checked. 263 of them did not serve a page at all — the host did not resolve, or answered 404 — and a further 35 refused us with a 403, which usually means a site that works perfectly well for a person and blocks robots.
| What happened | Sites |
|---|---|
| host did not answer | 150 |
| HTTP 404 | 87 |
| HTTP 403 | 35 |
| not a usable URL | 20 |
| The operation was aborted due to timeout | 5 |
| HTTP 500 | 5 |
| fetch failed | 4 |
| HTTP 429 | 3 |
| HTTP 406 | 1 |
| not html | 1 |
| HTTP 410 | 1 |
| HTTP 503 | 1 |
| HTTP 409 | 1 |
24% of the small hospitality businesses that had a website in the public record have one that no longer answers. Most are cafés that closed, or that let a domain lapse and moved to Instagram. We take the link down after it fails twice a week apart, and keep a note of what it used to be.
Method
- Every figure on this page is read from the database when the page is requested. Nothing is transcribed, so nothing can quietly go stale.
- Places are counted live and visible only — removed and triaged-out listings are excluded throughout.
- An attribute counts as confirmed only where a source asserted it: an OpenStreetMap tag, a machine-readable fact on the venue's own site, a Google Places field, or a rating from somebody signed in here. An unknown is stored as unknown and never as a no.
- The country table covers the twenty core cities only, which were crawled identically. The catalogue-wide figures cover all 77 cities, where crawl depth does vary.
- Website checks honour robots.txt, and a site has to fail twice at least a week apart before we treat it as gone.
If you want to check any of it, the pages are all public: every city we hold lists what is in it, and every listing shows the source and the date behind each fact.