Skip to content

Guides

What the open data actually knows about working from cafés

We hold thousands of places to work across 58 cities and can confirm power outlets at barely a hundred of them. What that gap is made of, and why a "best cities for laptop work" ranking built on this data would rank mapping habits instead of cities.

· figures read live from the catalogue

A Berlin street corner café marked with map pins

We hold 15,091 cafés, libraries, hostels, coworking spaces, bookshops and study cafés across 100 cities, built from OpenStreetMap (6,983 places), Overture Maps (5,146) and Google Places (1,833). We can confirm Wi‑Fi at 4,454 of them, indoor seating at 2,121, and power outlets at 918. That last number is not a typo. It is 6% 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 15,091 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.

AttributePlacesShare
Opening hours4,78232%
Wi‑Fi confirmed4,45430%
A working website8,58857%
Indoor seating confirmed2,12114%
Power outlets confirmed9186%

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.

CountryPlacesWi‑FiHoursWebsite
Germany56845%59%68%
South Africa18735%30%50%
Czechia41634%57%69%
Hungary32333%62%62%
Georgia24531%53%40%
Spain1,46631%37%58%
Indonesia38530%27%27%
Argentina35729%34%41%
Thailand71626%30%39%
Vietnam42826%22%19%
Portugal64123%41%49%
Colombia26122%25%25%
Taiwan54020%36%39%
Mexico37515%18%29%

The three columns move together, which is the tell. Taking them together, Germany comes out best (45% Wi‑Fi, 59% hours, 68% website) and Mexico worst (15%, 18%, 29%). 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. 6,548 sites were checked. 1545 of them did not serve a page at all (the host did not resolve, or answered 404), and a further 137 refused us with a 403, which usually means a site that works perfectly well for a person and blocks robots.

What happenedSites
host did not answer, twice1131
HTTP 404, twice324
HTTP 403, twice124
host did not answer55
HTTP 406, twice21
The operation was aborted due to timeout, twice21
fetch failed, twice19
HTTP 40313
HTTP 40410
HTTP 500, twice10
HTTP 409, twice8
HTTP 503, twice6
HTTP 410, twice4
HTTP 405, twice4
fetch failed3
HTTP 400, twice2
HTTP 401, twice1
HTTP 418, twice1
not html, twice1

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 100 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.