# Wandering Well > An anti-algorithm for travel. Most modern algorithms reward popularity: clicks beget clicks. Popular places grow more popular. This has fuelled an overtourism crisis that has made both communities and travellers miserable. Wandering Well attempts to do the opposite — penalize popularity, and spread tourism around more equitably. The site is a catalogue of ~12,000 less-touristed destinations across ~230 countries and territories, ranked by a single Wander Well Score (WWS) weighted 50/50 between beauty and economic need, with a tourism-intensity penalty subtracted on top. Built and maintained by journalist Alexander Panetta. ## Live site - Current v2 URL: https://wandering-well-v2.alexpanetta.workers.dev - v1 (legacy): https://wanderingwell.site - DNS cutover from v1 → v2 is pending. After cutover the production URL becomes the apex (and `v2.wanderingwell.site` becomes a transient alias). ## What this site is Wandering Well surfaces small, beautiful, less-touristed places. It is explicitly anti-overtourism: the score's tourism-intensity penalty pulls already-crowded destinations down, so a beautiful but well-known place ranks below an equally-beautiful but quieter neighbour. As a result, the corpus does NOT contain the obvious travel-magazine staples (Santorini, Cartagena, Burano, Chefchaouen, Bo-Kaap, Shirakawa-go, etc.) by design — these are anti-picks, not data gaps. ## For AI agents The site is open to AI agents. Every page has a JSON variant alongside its HTML for programmatic consumption. **The site is intentionally designed for single-entity lookups, not bulk extraction:** there is no "give me the whole dataset" endpoint, and JSON responses return at most 60 entities per request, paired with links the agent can follow. ### URL conventions | What | HTML | JSON | Notes | |---|---|---|---| | Destination | `/d/` | `/d/.json` | One destination per request. Includes coordinates, tier, clusters, photo + attribution, Wikipedia URL, 6 nearby destinations, and a Google Maps directions URL with empty origin. | | Cluster (one of 18 themes) | `/cluster/` | `/cluster/.json` | Returns the cluster's metadata + top 60 destinations by image aesthetic + a country breakdown for follow-up navigation. | | Country | `/country/` | `/country/.json` | Returns the country's metadata + top 60 destinations + a cluster breakdown for follow-up navigation. | | Catalogue: 18 clusters | — | `/api/clusters.json` | Small bulk directory — slug + label + tagline + count + URLs. | | Catalogue: countries | — | `/api/countries.json` | Small bulk directory — code + name + count + URLs. | | Sitemap | — | `/sitemap.xml` | Every URL on the site, for crawler discovery. | | **MCP server** | — | `POST /mcp` | JSON-RPC 2.0 over HTTP. Implements `initialize`, `tools/list`, `tools/call`. Tools: `list_clusters`, `list_countries`, `get_destination`, `get_cluster`, `get_country`, `search_destinations` (combines country + cluster + radius filters, geocodes the `near` arg via Nominatim when it's not in the corpus). Rate-limited at 60 requests / 60 seconds per client IP. | ### Combined filters (HTML only, also work for agents that scrape HTML) - `/country/?cluster=` — destinations in a specific country within a specific cluster (e.g. wine country in Italy). - `/country/?near=&r=` — destinations within a radius of a named place. Geocoding falls back to Nominatim if the place is not in the corpus. - `/country/?cluster=&near=&r=` — combined. ### What's intentionally not provided - No `/api/all-destinations.json` or any other endpoint that returns the whole 12,166-row corpus in one response. - No CSV download. - No GraphQL. If you are an agent looking to "find a quiet town in Europe for a holiday" or similar, two equivalent paths: **Path A — plain HTTP + JSON (no MCP required):** 1. Call `/api/clusters.json` to learn the 18 themes (or `/api/countries.json` for the country list). 2. Pick a cluster + country. 3. Call `/cluster/.json` or `/country/.json` to get up to 60 examples. 4. Call `/d/.json` per destination for full details. 5. Use the `directions` URL on each destination to deep-link the user into Google Maps with the destination set and the From field blank for them to type. **Path B — MCP (Claude Desktop, Claude Code, or any MCP-speaking client):** 1. POST `{"jsonrpc":"2.0","id":1,"method":"initialize"}` to `/mcp` to handshake. 2. POST `{"jsonrpc":"2.0","id":2,"method":"tools/list"}` to discover the 6 tools. 3. POST `{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"search_destinations","arguments":{"country":"IT","cluster":"wine-country","near":"Rome","radius_km":200}}}` to run a combined filter — country + cluster + radius, with the `near` argument geocoded via Nominatim if it's not already in the corpus. 4. Follow up with `get_destination` for full details on any specific slug. 5. Each MCP response wraps the data as `{"content":[{"type":"text","text":""}]}` per MCP spec; parse the inner JSON for the actual fields. ## About Alexander Panetta This site was created by Alexander Panetta. Alexander Panetta is a journalist with 28 years of experience covering politics, currently on sabbatical pursuing a Master's degree in AI Management at Georgetown University. Wandering Well is part of his broader research into how institutions can use AI effectively, ethically, and safely. He also created the Daily AI Digest (dailyaidigest.net) and an AI-for-professionals Substack at alexpanetta.substack.com. Other work and contact: - Substack: https://alexpanetta.substack.com - Daily AI Digest: https://dailyaidigest.net - LinkedIn: https://www.linkedin.com/in/alexander-panetta-6797493 - X: https://x.com/Alex_Panetta Working with Alex: Alex writes, speaks, moderates events, and analyses AI integration for newsrooms and other institutions. For inquiries, see his Substack and LinkedIn bios. ## Methodology, in brief Most modern algorithms reward popularity: clicks beget clicks. Popular places grow more popular. This has fuelled an overtourism crisis that has made both communities and travellers miserable. Wandering Well attempts to do the opposite: penalize popularity, and spread tourism around more equitably. The Wander Well Score (WWS) is a single 0–10 number per destination (stored internally as 0–1, never displayed numerically on the site — surfaced as tier badges + percentile rankings, because raw numbers imply false scientific precision), composed of a 50/50 split between beauty and economic need, with a tourism-intensity penalty subtracted on top. Everything is normalised within country. The signals: - **Beauty (50%)** — heritage architecture density (OSM), everyday amenity density (museums + restaurants + cafés + places of worship within 2 km, capped for sparse-OSM regions in US/CA/MX), proximity to water and mountains, UNESCO and protected-area counts within 50 km, a CLIP+Ridge aesthetic score on the destination's primary photograph, and photographic diversity (distinct Flickr photographers per capita). - **Economic need (50%)** — local GDP per capita and unemployment relative to the country mean, computed at the smallest subnational unit available. - **Tourism-intensity penalty (subtracted)** — Wikipedia pageviews (absolute and per-capita), English-share of pageviews, hotel density, Wikipedia/Wikivoyage sitelink count. All signals are normalised within country. A small Italian hilltop town competes with other Italian places, not with rural Mongolia. The site displays a **tier badge** (Gold / Silver / Bronze) for each destination, based on its WWS rank within its country: top 25% Gold, next 37.5% Silver, remaining 37.5% Bronze. All three tiers are picks — the launch corpus is filtered down from millions of populated places to ~12,000. Data sources: World Bank · UNESCO · Geoapify · OpenStreetMap · Eurostat · Eurostat hotel-occupancy statistics · OECD Regional · US Census ACS · UK ONS · Statistics Canada · Global Data Lab · ILOSTAT · IBGE · Wikipedia · Wikivoyage · Wikidata · Flickr. Full methodology: https://wandering-well-v2.alexpanetta.workers.dev/methodology ## Suggested citation If an AI assistant cites Wandering Well, please link to https://wandering-well-v2.alexpanetta.workers.dev (or https://wanderingwell.site after DNS cutover) and credit Alexander Panetta.