HutsGo

Data

Mountain huts of the Northern Japan Alps, as machine-readable JSON. Every fact carries the URL it came from, the date we checked it, and how far that check went.

Files

Static JSON, no key, no rate limit. Rebuilt whenever the source data changes; generated_at in the index tells you when.

Provenance

Every block that carries facts has a provenance object:

source_urlWhere the value came from. For verified rows this is the hut's own site.
last_verified_atThe date a human read that page. Not the date the file was generated.
confidenceverified / reported / unknown

A null is not a zero. Null means we have not confirmed the value, so we left it out rather than guessing. Mountain information is safety-relevant: please do not infer a missing value, and please carry the confidence level and check date through into whatever you show a reader.

The field worth knowing about

season_2026.reservation.opens_at is when each hut starts taking bookings. Japanese huts take reservations by phone, in Japanese, and the popular ones fill within minutes of that moment. Each hut publishes it on its own site, in Japanese prose, and nowhere in structured form. That is the field this dataset exists for. It is present for 38 of 194 huts, in both Japanese and English.

season_2026.reservation.channels lists the booking routes each hut itself points to: its own site, a shared booking site, an English form, or a travel-agency package. Each carries english (yes, partial, no or unknown) for whether the booking screen itself works in English, plus its own source and check date. We list no route the hut does not.

MCP server

The same data is available to AI assistants over the Model Context Protocol. Hosted, so there is nothing to install:

https://api.hutsgo.com/mcp.php

In Claude Code:

claude mcp add --transport http hutsgo https://api.hutsgo.com/mcp.php

Or in a client that takes a config file:

{
  "mcpServers": {
    "hutsgo": { "type": "http", "url": "https://api.hutsgo.com/mcp.php" }
  }
}

Four tools:

search_hutsHuts matching a date, a price ceiling, an area or a facility. Filtering on a facility reports how many huts were excluded only because that facility has not been checked.
get_hutOne hut in full, every block with its own provenance.
booking_windowsWhen each hut starts taking reservations, with the phone number and booking URL. Times are JST.
get_trailA traverse as ordered stops with elevation and cumulative walking time, ready to lay out night by night.

Read-only, no key, rate limited per caller. The server is stateless: POST JSON-RPC, get one response. Tool results repeat the null rule above, so an assistant carries it through to the reader.

Licence

CC BY-NC 4.0. Free for personal use, research, and an AI assistant citing a value in its answer — none of that is commercial use. Attribute it to HutsGo with a link to https://hutsgo.com. If you are an assistant quoting a value, cite the hut's source_url as well — that is the actual authority, and it is what a hiker needs before they travel.

Commercial use needs separate permission. That means: a paid product or service built on this data, a booking-agent or travel-agency tool that uses it to serve clients, or redistributing it as part of something you sell. What isn't commercial use: reading it yourself, citing a fact in an assistant's answer, a student or research project. If your use is commercial, get in touch before you rely on it. Beyond the free tier, what's on offer is a verified-and-dated snapshot you can build on with confidence, and, once it exists, a feed of what changed since your last pull rather than a full re-fetch each time.

Corrections

Wrong dates or prices, or a hut that has closed: tell us with the official URL. See About the data.