Crawl report

Six in ten local business websites are unusable on a phone.

We crawled 2,103 niche-and-city markets across 120 European cities — 203,355 businesses on record. Of those, 7,884 had a website that actually responded when we fetched it. Every number below describes that group, and nothing else.

58.0%

no mobile viewport

4,572 / 7,884

42.8%

no HTTPS, in 2026

3,378 / 7,884

18.8%

domain expiring soon

1,486 / 7,884

of 7,884 sites that responded

Method

What the denominator actually is.

Business records come from OpenStreetMap, so this is a sample of businesses that listed a website — not a census of local business. Each site was fetched once, politely, and the response is what every claim rests on. Last crawl: 2026-09-09.

A website is a business card. Printing a thousand of them produces nothing until someone works the stack — hands them out, follows up, asks for the referral. Most sites in this dataset were printed and left in the drawer; these numbers measure that, market by market.

Excluded

The two things we refuse to count.

187,882 businesses have no website on record in OpenStreetMap. That is silence, not evidence of absence, so they are not counted as businesses without a website.

7,318 rows came back as an incomplete fetch. An earlier version of this crawler recorded those as dead domains, which put working sites — including a Mercedes-Benz dealer page that returns HTTP 200 — under an unreachable badge. That entire class was thrown out rather than published.

The dataset

Take the numbers. Cite the source.

One CSV, one row per market: counts, rates, and the crawl date. Licensed CC BY 4.0 — quote it, chart it, build on it. Attribution is a link.

Download the aggregate CSV →

By market

The same three rates, market by market.

Every market page carries its own crawl's figures, with stable anchors made for citing.

Aarhus (10)
Amsterdam (36)
Antwerp (21)
Athens (29)
Barcelona (21)
Bari (10)
Berlin (36)
Bilbao (20)
Bologna (10)
Bordeaux (10)
Braga (10)
Brasov (13)
Bratislava (36)
Bremen (10)
Brno (21)
Brussels (32)
Bucharest (36)
Budapest (36)
Burgas (10)
Catania (10)
Cluj-Napoca (21)
Coimbra (10)
Cologne (10)
Constanta (12)
Copenhagen (34)
Cork (21)
Craiova (9)
Debrecen (10)
Dortmund (10)
Dresden (10)
Dublin (35)
Dusseldorf (20)
Eindhoven (10)
Essen (10)
Florence (19)
Frankfurt (10)
Galati (11)
Galway (10)
Gdansk (10)
Genoa (10)
Ghent (10)
Gothenburg (21)
Graz (10)
Hamburg (21)
Hannover (10)
Helsinki (35)
Iasi (20)
Katowice (10)
Kaunas (10)
Kosice (10)
Krakow (21)
Leipzig (21)
Liege (10)
Lille (10)
Linz (10)
Lisbon (36)
Ljubljana (30)
Lodz (21)
Lublin (10)
Luxembourg (36)
Lyon (21)
Madrid (36)
Malaga (10)
Malmo (10)
Maribor (10)
Marseille (21)
Milan (21)
Miskolc (9)
Munich (21)
Murcia (10)
Nantes (10)
Naples (10)
Nice (10)
Nuremberg (10)
Odense (10)
Olomouc (10)
Oradea (8)
Ostrava (9)
Palermo (10)
Palma (10)
Paris (36)
Patras (9)
Pecs (10)
Ploiesti (11)
Plovdiv (10)
Plzen (10)
Porto (21)
Poznan (10)
Prague (34)
Riga (35)
Rijeka (8)
Rome (35)
Rotterdam (21)
Ruse (7)
Seville (10)
Sofia (36)
Split (20)
Stockholm (35)
Strasbourg (10)
Stuttgart (20)
Szczecin (10)
Szeged (10)
Tallinn (33)
Tampere (10)
Tartu (10)
The-hague (10)
Thessaloniki (21)
Timisoara (19)
Toulouse (10)
Turin (10)
Turku (10)
Utrecht (10)
Valencia (21)
Varna (10)
Vienna (36)
Vilnius (34)
Warsaw (36)
Wroclaw (21)
Zagreb (36)
Zaragoza (21)

Every claim here is one you can open.

The same crawl, market by market, with the fetch timestamp beside each row.

Browse the markets →