Japan Location API v0.1 draft · Tokyo 23 wards · not yet released

Japanese property data without the six-week detour.

Japanese transaction prices in one schema with stable IDs and a full history. Built on Japanese government open data — the part that takes weeks is putting it together, not finding it.

Nothing is live yet. I'm building this and want to hear what you'd actually query before I finish the schema.

GET /v1/cities/13113
// Shibuya-ku, Tokyo — 2025 calendar year
{
  "city_code": "13113",
  "city_name_en": "Shibuya",
  "city_name_ja": "渋谷区",
    "transactions": {
    "count": 12,
    "count_with_unit_price": 11,
    "median_price_per_sqm_jpy": 1487000,
    "by_type": [{ "type": "宅地(土地)",
      "count": 6, "median_price_per_sqm_jpy": 1487000 }]
  },
  "districts": [
    { "district_name": "Ebisu",
      "district_code_source": "13113-E",
      "stable_id": "jp-13113-0042",
      "transaction_count": 6 }
  ]
}
// illustrative fixture shape — figures are intentionally fake

What you'd be building if you did this yourself

The source data is free and public. I'm not reselling access to it — you can get an MLIT API key yourself in about a week, and their endpoint already speaks English. What's missing is everything between the raw endpoint and a query you can ship.

Joining the sources

Prices, land valuations and municipal statistics arrive from separate endpoints on separate schedules, keyed differently. Reconciling them to one municipal code is the bulk of the work.

IDs that survive an update

District codes on the source side can change between data releases, with no guaranteed continuity. Query it directly and your time series silently breaks. Every district here gets a stable ID mapped to its historical codes.

History

The government endpoint returns the current release. It has no concept of "what did this district look like in Q2 2026". Snapshots are stored here from day one, so the archive only gets deeper.

What's in the first release

Deliberately narrow. Tokyo's 23 wards, one year, ward and district level, using transaction prices only. Other layers are not in this sample — each government dataset carries its own terms, and I will add a layer only when the pipeline actually produces it.

Free, no email required. This downloadable sample is fixture-derived and uses intentionally fake figures.

Tell me what you'd query

I'll send the API docs and a key when there's something to key into — likely a few months out. If you describe your use case I'll build toward it, and I'll reply to every message while there are few enough of you that I can.

I'll only use your email to contact you about this API. I won't share or sell it, and you can ask me to delete it at any time.