# Japan Hazard Map Lookup: Flood, Tsunami, Landslide (`japan-open-data/japan-property-hazard-lookup`) Actor

Look up official Japanese hazard-map data for up to 1,000 coordinates per run: river flood depth, storm surge, tsunami and landslide warning zones from GSI open data, in English. Screen property listings in bulk. No API key, flat JSON/CSV via API or MCP. $5 per 1,000 checks.

- **URL**: https://apify.com/japan-open-data/japan-property-hazard-lookup.md
- **Developed by:** [Japan Open Data](https://apify.com/japan-open-data) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 hazard checks

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Japan Hazard Map Lookup: Flood, Tsunami, Landslide

**Check any list of Japanese coordinates against Japan's official hazard maps: river flood depth, flood duration, house-collapse zones, pluvial flooding, storm surge, tsunami and landslide (sediment disaster) warning zones, in English.**
**Source: the Hazard Map Portal Site (ハザードマップポータルサイト) of the Geospatial Information Authority of Japan (GSI), official open data. No API key, no login, no personal data.**
**One flat JSON/CSV row per location (up to 1,000 per run) with a plain-English `hazardSummary`, for $5 per 1,000 hazard checks, via the Apify API or MCP for AI agents.**

> **Screening only.** The Hazard Map Portal's terms say its maps cannot be used by Japanese real-estate brokers for the statutory explanation of important matters (重要事項説明). For official purposes check the municipal hazard map. `none` means "no hazard published at this point", not "no risk".

### Why use it?

| | Official portal (disaportal.gsi.go.jp) | MLIT Real Estate Information Library API (free) | **This Actor** |
|---|---|---|---|
| Language | Japanese only | Japanese docs and responses | **English** (+ original Japanese labels) |
| Access | Browser | API key applied for in Japanese, then reviewed | **No API key; your Apify account** |
| Many locations at once | One point at a time, by hand | One map tile / area per call; you decode it | **Up to 1,000 points per run, one row each** |
| Output | Map image | GeoJSON / vector tiles per layer | **Flat JSON / CSV / Excel rows with a summary sentence** |
| Price | Free | Free | **$0.005 per location** |

Paid alternatives exist in Japan (hazard reports from geotechnical consultancies, price on request; property document investigations from about ¥38,500 per property, which cover much more than hazards). This Actor is the quick screening step before those.

### What can you do with Japan Hazard Map Lookup?

1. **Screen a property list or portfolio in bulk.** Paste the coordinates of up to 1,000 properties (from your CSV, database or geocoded listings, for example from SUUMO, at home or akiya (vacant house) banks) and get flood, tsunami and landslide columns for every one. Objects with `lat`/`lng` plus `label` or `url` are accepted as they are, so each row maps back to your listing.
2. **Due diligence for foreign buyers, funds and lenders.** Screen a portfolio or a shortlist of Japanese properties in English before ordering a full local investigation.
3. **AI agents.** Answer "Is this place in Japan at risk of flooding, tsunami or landslides?" with the ready-made one-sentence `hazardSummary`.

### How to use it

1. Click **Start** to try the default input (a point in Edogawa, Tokyo: river flooding 3 to 5 m and storm surge 3 to 5 m).
2. Replace it with your own coordinates as `"latitude,longitude"` strings in decimal degrees (up to 1,000).
3. Run, then download the rows as JSON, CSV or Excel, or call the Actor via the API.

Need coordinates from addresses? Geocode them first (addresses are not supported yet).

### Input

Only `locations` is required.

```json
{
  "locations": [
    "35.7069,139.8683",
    { "latitude": 35.3080, "longitude": 139.5470, "label": "Listing 42" },
    { "lat": 35.6896, "lng": 139.7006, "url": "https://example.com/listing/43" }
  ]
}
```

| Field | Type | Notes |
|---|---|---|
| `locations` | array, required | Strings `"lat,lon"`, arrays `[lat, lon]` or objects with `latitude`/`longitude` or `lat`/`lng`/`lon`. `label`, `id`, `url` or `name` is copied to the `label` column so you can match rows back. Max 1,000. |

### Output

Real output (2026-10-06) for `"35.7069,139.8683"` (Edogawa, Tokyo), shortened:

```json
{
  "status": "ok",
  "latitude": 35.7069,
  "longitude": 139.8683,
  "hazardSummary": "Hazards at this point: river flooding 3 to 5 m; storm surge 3 to 5 m.",
  "hazardCount": 2,
  "worstInundationDepth": "3 to 5 m",
  "worstInundationSource": "river flooding",
  "inRiverFloodZone": true,
  "inTsunamiZone": false,
  "inStormSurgeZone": true,
  "inSedimentDisasterZone": false,
  "floodDepthMax": "3 to 5 m",
  "floodDepthMaxJa": "3m～5m",
  "floodDepthPlanned": "0.5 to 3 m",
  "floodDuration": "2 weeks or more",
  "houseCollapseOverflowZone": false,
  "houseCollapseErosionZone": false,
  "pluvialFloodDepth": "none",
  "stormSurgeDepth": "3 to 5 m",
  "tsunamiDepth": "none",
  "debrisFlowZone": "none",
  "steepSlopeZone": "none",
  "landslideZone": "none",
  "mapUrl": "https://disaportal.gsi.go.jp/maps/?ll=35.7069,139.8683&z=16&base=pale&vs=c1j0l0u0"
}
```

| Field | Meaning |
|---|---|
| `status` | `ok` (charged) or `error` (free). A point with no published hazard is an `ok` row with `none` values |
| `reason` / `error` | Only on `error` rows: `invalid_input`, `outside_japan`, `source_unavailable` (GSI did not answer; run again later) or `colour_not_in_legend` (a map colour did not exactly match the official legend, usually on a zone edge; `unknownLayers` names the unclear layers), plus one English sentence on how to fix it |
| `hazardSummary` / `hazardCount` | One-sentence summary and number of hazards found |
| `worstInundationDepth` / `worstInundationSource` | Deepest class among river flooding, storm surge, tsunami and pluvial flooding |
| `floodDepthMax` / `floodDepthPlanned` | River flood depth for the maximum assumed rainfall (想定最大規模) and the planned-scale rainfall (計画規模) |
| `floodDuration` | How long the water stays (浸水継続時間) |
| `houseCollapseOverflowZone` / `houseCollapseErosionZone` | Inside a house-collapse zone (家屋倒壊等氾濫想定区域) by overflow or bank erosion |
| `pluvialFloodDepth` | Inland / sewer flooding depth (内水), some municipalities only |
| `stormSurgeDepth` / `tsunamiDepth` | Storm surge (高潮) and tsunami (津波) inundation depth |
| `debrisFlowZone` / `steepSlopeZone` / `landslideZone` | `special_warning_zone` (red zone), `warning_zone` (yellow zone), `..._planned`, `none` or `not_available` (Kyoto Prefecture, see FAQ) |
| `...Ja` | The official Japanese legend label |
| `mapUrl` | Link to the same point on the official portal map |
| `attribution` / `disclaimer` | Source credit and the screening-only notice, on every row |

### How much does it cost?

Pay per event: **$0.005 per `ok` row ("hazard check") = $5 per 1,000 locations**, plus Apify's standard $0.00005 per run. `error` rows (bad coordinates, outside Japan, source down, unclear colour) are **free**.

| Use | Locations | Cost |
|---|---|---|
| One property | 1 | about $0.005 |
| A shortlist | 50 | about $0.25 |
| A full listing export (max per run) | 1,000 | about $5.00 |

Tip: set a **maximum cost per run** in the run options; the Actor stops before it would go over it.

### Use via API & MCP (AI agents)

```bash
curl -X POST "https://api.apify.com/v2/acts/japan-open-data~japan-property-hazard-lookup/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"locations": ["35.7069,139.8683", "35.3080,139.5470"]}'
```

**MCP:** add the Actor through the Apify MCP server (https://mcp.apify.com) with `?tools=japan-open-data/japan-property-hazard-lookup`.

Recommended for agents:

- Call it with `{"locations": ["<lat>,<lon>"]}` and answer from `hazardSummary`; use `mapUrl` as the link to show.
- Always check `status`. On `error`, show the `error` sentence (it says what to fix); it was not charged.
- Send all points in one call (up to 1,000) rather than one call per point. About 2 to 3 seconds per location; use the synchronous endpoint for up to about 50 points and an asynchronous run for more.
- Always tell the user this is screening data, not a legal hazard disclosure.

### FAQ

**Can I use it for the official hazard explanation in a Japanese property sale?** No. The portal's terms exclude that use. Use it to decide which properties need a closer look.

**Does `none` mean the place is safe?** No. It means no hazard is published for that point. Some prefecture-managed rivers, storm surge areas and pluvial flooding maps are not on the portal yet.

**Why not use MLIT's free Real Estate Information Library API?** It is a good source if you read Japanese, can apply for a key and want to decode map tiles yourself. This Actor needs no key, takes a plain list of points and returns one English row per point, ready for a spreadsheet or an AI agent.

**How fresh is the data?** Every run reads the live official map tiles, so you get what the portal shows that day.

**Why do Kyoto points show `not_available` for landslide zones?** Kyoto Prefecture's sediment-disaster data may not be used commercially, so the Actor never reads it. Points in Kyoto Prefecture or within about 1 km of its border or coast get `not_available` for the three sediment layers (flood, storm surge and tsunami are still returned). Osaka, Kobe, Nara and Otsu get normal values.

**How accurate is it?** The Actor reads the zoom-17 map tile (about 1 m per pixel) under each point and reports a class only when the colour exactly matches the official legend; otherwise it returns a free `error` row instead of guessing. Zone boundaries themselves are approximate (1:25,000 to 1:50,000 for sediment zones).

### Known limitations

- Coordinates only; no address geocoding yet.
- `none` can mean "not mapped yet" (some prefecture rivers, storm surge in 18 prefectures, pluvial flooding in about 65 municipalities).
- Points at sea may return `none`; points on a zone edge may return a free `colour_not_in_legend` error row. The house-collapse (overflow) layer is drawn as rings, so a point within about 12 m outside its edge can return that error.
- Reservoir failure, large-scale fill and liquefaction layers are not included (third-party rights).
- The same point sent twice is checked and charged twice.

### Data source and license

- 出典：ハザードマップポータルサイト（https://disaportal.gsi.go.jp/）を加工して作成。Source: Hazard Map Portal Site (GSI), open data under the Public Data License (PDL) 1.0, processed by Japan Open Data. The processed values are not published by the Government of Japan.
- Sediment disaster warning zones: 国土数値情報（土砂災害警戒区域データ）, Ministry of Land, Infrastructure, Transport and Tourism (MLIT), based on prefectural data (CC BY 4.0 with prefecture conditions). Prefectural credits include: Chiba Prefecture (ちば情報マップ, CC BY 4.0), Niigata Prefecture (CC BY 4.0), Fukui Prefecture (福井県オープンデータライブラリ, CC BY 4.0), Nagano Prefecture (信州砂防情報マップ, CC BY 4.0), Aichi Prefecture (マップあいち, CC BY 2.1 JP), Tottori Prefecture (CC BY 2.1 JP), Hiroshima Prefecture (土砂災害ポータルひろしま / DoboX, CC BY), Fukuoka Prefecture (CC BY 2.1 JP), Nagasaki Prefecture (長崎県オープンデータカタログ, CC BY 4.0), Kagoshima Prefecture (CC BY 4.0), and data published by Miyagi, Yamagata, Fukushima, Ishikawa, Shizuoka, Shiga and Kochi Prefectures. Zone positions are approximate and are not legal documents.
- Kyoto Prefecture's sediment-disaster data is never used (not licensed for commercial use).
- Kyoto Prefecture outline: 国土数値情報（行政区域データ）N03, 2025-01-01, MLIT (CC BY 4.0), simplified by Japan Open Data.
- **Not affiliated with or endorsed by GSI, MLIT or any prefecture or municipality.** Provided as is.

### More from Japan Open Data

- [US Flood Zone Lookup by Address (FEMA NFHL)](https://apify.com/japan-open-data/us-flood-zone-lookup) — the US sister: official FEMA flood zones for US addresses or coordinates.
- [UK Flood Risk Lookup by Postcode (England)](https://apify.com/japan-open-data/uk-flood-zone-lookup) — the English sister: Environment Agency flood zones by postcode or coordinates.
- [France Property Risk Lookup by Address (Georisques)](https://apify.com/japan-open-data/france-property-risk-lookup) — the French sister: official Géorisques flood, clay, seismic, radon and industrial risks for any French address.
- [England Protected Site Check: SSSI, AONB & Green Belt](https://apify.com/japan-open-data/england-protected-site-lookup) — official nature and Green Belt designations for England sites.
- [England Listed Building & Conservation Area Check](https://apify.com/japan-open-data/england-heritage-constraint-lookup) — heritage constraints for England postcodes.
- [US Hail History by Location (NOAA NEXRAD Radar)](https://apify.com/japan-open-data/us-hail-history) — past hail at any US address or coordinate.
- [Taiwan Real Estate Sold Prices API in English](https://apify.com/japan-open-data/taiwan-property-sold-prices) — official Taiwan property transaction prices in English.
- [NSW Rent Prices by Postcode (Official Bond Data)](https://apify.com/japan-open-data/nsw-rental-bond-rents) — official rents for New South Wales postcodes.
- [Japan Postal Code & Address in English](https://apify.com/japan-open-data/japan-postal-code-english) — Japanese postal codes and addresses in English/romaji, kanji and kana.
- [Argentina Fuel Prices API by Station (Official)](https://apify.com/japan-open-data/argentina-fuel-station-prices) — last reported prices at every Argentine gas station.
- [France Building Permits API: Construction Leads](https://apify.com/japan-open-data/france-building-permits) — official French building permits (Sitadel) filed by companies, by department, commune or date, with SIREN, project type and floor areas.
- [Korea E-commerce Company Leads (KFTC Register)](https://apify.com/japan-open-data/korea-online-seller-registry) — new Korean e-commerce companies from the official KFTC online seller register (통신판매업), in English with business registration number and store platform.
- [Mexico Gas Prices API by Station (Official CNE)](https://apify.com/japan-open-data/mexico-fuel-station-prices) — today's regular, premium and diesel prices at every Mexican gas station.
- [Poland Building Permits API: Construction Leads](https://apify.com/japan-open-data/poland-building-permits) — new Polish building permits (pozwolenia na budowę) issued to companies and public bodies, with investor, building category and site, from the official GUNB register.
- [TSA Checkpoint Travel Numbers (Daily, Weekly & YoY)](https://apify.com/japan-open-data/tsa-checkpoint-throughput) — daily U.S. TSA airport checkpoint traveler counts as clean JSON.
- [UK HGV Operator Licence Lookup (Official DVSA)](https://apify.com/japan-open-data/uk-hgv-operator-licence) — the official DVSA / Traffic Commissioner register of UK truck and bus operator licences.
- [UK Importers & Exporters by Product (HMRC Data)](https://apify.com/japan-open-data/uk-importer-exporter-directory) — UK companies that imported or exported a product each month, by HS code or keyword, from official HMRC trade data, with new traders flagged for lead lists.
- [UK NHS Organisation Lookup (Official ODS Codes)](https://apify.com/japan-open-data/uk-nhs-organisation-lookup) — GP practices, pharmacies, dentists, hospitals and NHS trusts from the official ODS register, by postcode, type or ODS code (organisations only).
- [UK Visa Sponsor Register Tracker (Daily Changes)](https://apify.com/japan-open-data/uk-visa-sponsor-register) — new, removed and downgraded UK visa sponsor licences from the official Home Office register, or check whether a company can sponsor workers.
- [UK Waste Carrier Licence Check (Environment Agency)](https://apify.com/japan-open-data/uk-waste-carrier-register) — check whether an English business is a registered waste carrier, broker or dealer.
- [US Storm Reports API: Hail, Wind & Tornado (NWS)](https://apify.com/japan-open-data/us-storm-reports-live) — U.S. hail, wind, tornado and flood reports from official NWS Local Storm Reports within hours.

### Feedback

Found a wrong value or need another layer (for example address input)? Open an issue on the **Issues** tab with your input and what you expected.

# Actor input Schema

## `locations` (type: `array`):

Places in Japan to check, one per line, as "latitude,longitude" in decimal degrees (e.g. "35.7069,139.8683"). Via the API you can also pass objects like {"latitude": 35.7069, "longitude": 139.8683, "label": "Listing 42"} (lat/lng/lon also accepted, and id or url is used as the label), so rows scraped from SUUMO, at home or akiya listings can be passed as they are. Up to 1,000 locations per run; each gets one output row, in input order. Addresses are not supported yet.

## Actor input object example

```json
{
  "locations": [
    "35.7069,139.8683"
  ]
}
```

# Actor output Schema

## `results` (type: `string`):

River flood depth, flood duration, house-collapse zones, storm surge, tsunami, pluvial flooding and landslide warning zones for each coordinate. Table view: overview.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "locations": [
        "35.7069,139.8683"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("japan-open-data/japan-property-hazard-lookup").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "locations": ["35.7069,139.8683"] }

# Run the Actor and wait for it to finish
run = client.actor("japan-open-data/japan-property-hazard-lookup").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "locations": [
    "35.7069,139.8683"
  ]
}' |
apify call japan-open-data/japan-property-hazard-lookup --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,japan-open-data/japan-property-hazard-lookup"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/7ew9VyyXOALL8sf2s/builds/XrwM1sp6FGFsI8hD4/openapi.json
