Preview: snuepi is in development and is not open to customers yet.

Data · latest survey run · 298 sites measured

State of AI readiness for small businesses in Europe

Can an AI assistant find a small business, read its prices and hours, and reach a way to book? We ran the free check's reader over public websites of hairdressers, restaurants and other local businesses in European cities and counted the answers. Open data, no business named.

Headline findings

  • 206 of the 298 sites we measured (69%) opened for an AI reader. The rest are not necessarily closed; see the caveats.
  • Only 40 of 206 sites that opened (19%) show any price as readable text. It is highest for hairdressers (27%) and lowest for restaurants (3%).
  • 15 of 206 sites that opened (7%) state opening hours in a form that code can read.
  • 32 of 206 sites that opened (16%) link to an online booking system, most often Treatwell. This ranges from 0% to 30% across the trades surveyed.
  • None of the 203 readable robots.txt files turn away AI assistants or AI search. Where businesses are invisible to assistants, the cause is missing information, not locked doors.
  • None of the sites published rules an agent can read about deposits, cancellation or booking. 27 of 206 have an llms.txt file, which is not a rule set.
  • 6 of 206 sites that opened (3%) did all of it: open, not blocking assistants, readable prices and a booking system.

Sample of 298 sites from OpenStreetMap entries with a website; not a random sample. Survey run 28 October 2026. Several cells were measured on earlier dates; each page names its own.

Caveats first

  • Not a random sample. Entries come from OpenStreetMap objects that carry a website tag. Businesses without a website, or with only a social profile, are absent, so the true picture is likely worse.
  • Small, unequal cells. Each published cell has between 49 and 50 measured sites; cells with fewer than 25 measured sites are not published. Differences of a few points are noise. Cities are not countries.
  • "Did not open" is not "closed". 92 of 298 (31%) of measured sites did not open for our reader. We did not retry, on purpose.
  • A lower bound, by design. The reader does not run a browser or scripts. A more capable agent may see more.
  • One snapshot per cell. Sites change. No cell has an earlier run yet, so no change over time is shown.

The charts

Websites an AI assistant can open

Share of measured sites. Download chart (SVG)

Websites an AI assistant can openHairdressers: 66 of 100, 66%; Restaurants: 66 of 100, 66%; Building trades: 74 of 98, 76%; All categories: 206 of 298, 69%. Hairdressers 66 of 100 66% Restaurants 66 of 100 66% Building trades 74 of 98 76% All categories 206 of 298 69%

Prices an AI assistant can read

Share of sites that open. Download chart (SVG)

Prices an AI assistant can readHairdressers: 18 of 66, 27%; Restaurants: 2 of 66, 3%; Building trades: 20 of 74, 27%; All categories: 40 of 206, 19%. Hairdressers 18 of 66 27% Restaurants 2 of 66 3% Building trades 20 of 74 27% All categories 40 of 206 19%

Opening hours an AI assistant can read

Share of sites that open. Download chart (SVG)

Opening hours an AI assistant can readHairdressers: 4 of 66, 6%; Restaurants: 9 of 66, 14%; Building trades: 2 of 74, 3%; All categories: 15 of 206, 7%. Hairdressers 4 of 66 6% Restaurants 9 of 66 14% Building trades 2 of 74 3% All categories 15 of 206 7%

Sites that link to a booking system

Share of sites that open. Download chart (SVG)

Sites that link to a booking systemHairdressers: 20 of 66, 30%; Restaurants: 12 of 66, 18%; Building trades: 0 of 74, 0%; All categories: 32 of 206, 16%. Hairdressers 20 of 66 30% Restaurants 12 of 66 18% Building trades 0 of 74 0% All categories 32 of 206 16%

robots.txt turns away AI search or assistants

Share of sites with a readable robots.txt. Download chart (SVG)

robots.txt turns away AI search or assistantsHairdressers: 0 of 66, 0%; Restaurants: 0 of 65, 0%; Building trades: 0 of 72, 0%; All categories: 0 of 203, 0%. Hairdressers 0 of 66 0% Restaurants 0 of 65 0% Building trades 0 of 72 0% All categories 0 of 203 0%

Every published city and trade

Each page has the full numbers for its cell, the three most common gaps and a checklist.

CellSites measuredPricesHoursBooking linkRun
Hairdressers in Amsterdam5025%6%41%28 October 2026
Hairdressers in Berlin5029%6%21%28 October 2026
Restaurants in Amsterdam500%16%28%28 October 2026
Restaurants in Berlin506%12%9%28 October 2026
Building trades in Berlin4924%3%0%28 October 2026
Building trades in Hamburg4929%2%0%28 October 2026

Prices, hours and booking link are shares of sites that opened.

Method

For each sampled website the reader does what an assistant would on a first visit: it opens the front page, reads robots.txt and llms.txt, and follows the same-site links the free check uses to find a price list or product pages. Per site only yes/no flags are kept, then counted.

MeasureCounted as yes when
OpenedThe front page answered with a normal page within the time limit (5 s without data, 7 s in total per request).
Prices readableAt least one named item with a price in a form code can read: structured data, a shop feed or a price list in HTML. Prices only in pictures, in PDFs behind scripts or in pages built by JavaScript do not count.
Hours readableOpening hours in structured data (schema.org) or in a recognisable text pattern.
Booking system linkedThe page links to or embeds a known online booking system. Phone, email and bespoke forms do not count; a shop checkout is counted separately.
Assistants turned awayrobots.txt blocks at least one assistant or search agent (ChatGPT-User, OAI-SearchBot, Claude-User, Claude-SearchBot, Perplexity-User, PerplexityBot).
Training crawlers blockedrobots.txt blocks at least one training crawler. This is a legitimate choice and not a problem.
Rules for agentsA published rule set an agent can read about calling, booking, deposits or cancellation. An llms.txt alone is reported separately.
All fourOpened, not turning assistants away, prices readable and a booking system linked.

Sampling frame

One query per city and trade to the OpenStreetMap Overpass API for objects with a website or contact:website tag. Social profiles, review sites and booking platforms are dropped, entries are de-duplicated by host and shuffled with a fixed seed, and a fixed number per cell is taken. Excluded without being measured: sites whose robots.txt keeps our agent out, or answers with a server error.

CategoryCities (sites measured)
HairdressersAmsterdam (50), Berlin (50)
RestaurantsAmsterdam (50), Berlin (50)
Building tradesBerlin (49), Hamburg (49)

Politeness and ethics

  • Public pages only; never anything behind a login; no forms; no POST requests.
  • robots.txt is read first for every origin and obeyed for every request.
  • Identified agent: snuepi-readiness-research (+https://snuepi.com/agent-check).
  • At most one request per site every 5 seconds, 2 sites at a time, at most 8 requests per site, no retries. The latest run made 1,385 requests in total.
  • No personal data. Aggregates only: no business name, address or website appears in any output, and the input list is deleted after each run.

Limits of the reader: it is deterministic code, not a person looking at each site, and we have not audited it by hand. Expect some false negatives and a few false positives.

Use the data and how to cite

Download results.json or results.csv (aggregates only). Licence: CC BY 4.0. Please attribute snuepi and, for the sampling frame, OpenStreetMap contributors.

snuepi (2026). State of AI readiness for small businesses in Europe. Survey run 2026-10-28, 298 websites measured. https://snuepi.com/data. Licence CC BY 4.0. Sampling frame: © OpenStreetMap contributors (ODbL).

Map data © OpenStreetMap contributors, ODbL. Aggregates © snuepi, CC BY 4.0: share and adapt with attribution.

What snuepi does about this

Disclosure: snuepi is the author of this survey. Read this section as an advertisement.

The same reader is available as a free check for any single website, with no sign-up. Every gap named above can be fixed without snuepi.

Check your own website