Street imagery × VLM descriptions — open API

Read the city, one coordinate at a time.

michiyomi turns crowdsourced Mapillary street imagery into structured, queryable descriptions using vision-language models (VLMs). Search 588,220 scenes across parts of Tokyo’s 23 wards by latitude and longitude—no signup or API key required. Each photograph captures the street as it looked in its own capture year, so every record states when it was captured and which AI generation described it. The interface and documentation are available in English; authoritative scene narratives returned by the API remain in their original Japanese.

One image → structured language data
Real scene A narrow school route in Shibuya, captured in 2018, with green edge lines, a school-route sign, and pedestrians
Captured in 2018 · 39 m from Jinnan Elementary School© Mapillary contributors
Sidewalk
Edge lanes, both sides 0.45m
Roadway
Approx. 3.2m
Road marking
Direction arrow · 35% worn
Risk cue
Narrow signed school route with limited, discontinuous pedestrian space
Example interpretation of a scene captured in 2018. All numeric values are image-based estimates with confidence scores, not field measurements.
View this observation as raw API data — /v1/scenes/1580655655467339 ↗
588,220described scenes
2,522adjudicated changes over time
3 layersFacts, computation, and interpretation kept separate
REST + MCPFor people and AI agents
Breakdown: cloud VLM 77,676 + local VLM 510,544 (processing basis) / release 2026-08-22-r1 / coverage includes parts of Tokyo’s 23 wards
Examples

API examples

The same API powers two experiences: a map and a walking AI demo. Both call the live API available at the bottom of this page. Records of change over time (Change Map) are available as a sub-map from the Overview Map.

Overview Map

See the distribution of all 588,220 described scenes at a glance. Explore lenses for walkable width, marking wear, and green-view ratio; street-level views; featured places; and change-over-time records. Coverage density is shown honestly, including where observations are sparse.

Open the Overview Map →
What is michiyomi

How a photograph becomes structured language data.

The starting point is a single street photograph published on Mapillary.

The AI (VLM) describes only what is visible in the photograph, producing statements such as "Sidewalk: present on the left (separated sidewalk)." No external knowledge is injected: if something is not visible, the model cannot claim it. That constraint is the foundation of the data’s trustworthiness.

Capture year included Street photograph Mapillary / CC BY-SA 4.0 No external knowledge added Left sidewalk: separated Tactile paving present AI reads (VLM) Visible content only Language data (3 layers) Observationmetadata Computationmachine Interpretationanalysis Open API michiyomi.dev GET /v1/scenes/nearby 200 OK · provenance No signup · read-only

Note: Numeric values such as widths are image-based estimates with confidence scores; they are not field measurements.

How it works

Where facts end and AI interpretation begins.

AI prose that mixes facts with interpretation is not reliable enough to use. The data model enforces their separation.

One photograph METADATA Observed facts Capture year · corrected coordinates Kept separate MACHINE Deterministic computation Travel bearing (99.6% valid) · green-view ratio Kept separate ANALYSIS AI interpretation "Left sidewalk: separated · width ~4 m (estimated); tactile paving present." FactsAI interpretation

Three layers that keep facts, computation, and interpretation separate

Each record keeps observed facts (metadata), deterministic computation (machine), and AI interpretation (analysis) in three separate layers. The API returns them separately, allowing AI claims to be checked against the record’s own evidence.

N Previous frame This photograph Next frame Travel bearing = geometry from adjacent coordinates (99.6% valid) Fire hydrant at front right AI reports image-relative position only Camera × travel bearing → absolute direction Fire hydrant approx. 30 m northeast (example) Transient details (such as people counts) are excluded

Direction is computed, not guessed by AI

A photograph does not show where north is. The AI reports only image-relative positions; absolute direction is computed geometrically from adjacent frame coordinates and then combined with that description. Transient details such as passers-by are excluded from the prompt from the start.

Capture year Description gen2 | local VLM Release 2026-08-22-r1 One language-data record Trace to the source photograph by image ID gen1 cloud VLM 77,676 records gen2 local VLM 510,544 records

Every record names when it was captured and which AI described it

Every one of the 588,220 records includes its capture year, the AI generation that described it, and the data release. Every description can be traced back to the source photograph by image ID.

Open by license

Built from public contributions, shared for everyone.

The source material is public Mapillary street photography contributed by people. Because it is available under CC BY-SA 4.0, the AI-derived data can be shared in full under the same terms. The complete 588,220-record dataset is available on Hugging Face.

Contribute again CC BY-SA 4.0 Attribution · share alike People capture Public photos | Mapillary Captured 2003–2026 | 99.95% since 2014 AI descriptions | michiyomi Open API michiyomi.dev Government, research, and the public use it
Live explorer

Try the live API yourself.

Enter a latitude and longitude to call the production GET /v1/coverage and GET /v1/scenes/nearby endpoints and inspect their raw JSON. No signup or API key is required. Start with the Ginza preset.

Enter latitude from -90 to 90, longitude from -180 to 180, and an integer radius from 1 to 1,000 metres.
Submit coordinates to display the production API response here.