How to use the FUDOSAN DB REST API v1
The FUDOSAN DB API is a REST API that structures and serves data from MLIT's Real Estate Information Library (reinfolib), EDINET annual securities reports, and hazard map datasets. All responses are in JSON format.
All API requests require an API key. Send it via the X-API-Key header.
Get a free API key from the developer page.
Request limits are configured per plan.
| Plan | Monthly Limit | Daily Limit |
|---|---|---|
| Free | 100 | 3,000 |
| Pro | 10,000 | 30,000 |
| Business | 100,000 | 300,000 |
| Code | Description |
|---|---|
| 400 | Invalid request parameters |
| 401 | API key invalid or missing |
| 404 | Resource not found |
| 429 | Rate limit exceeded |
| 500 | Server error |
| Name | Type | Required | Description |
|---|---|---|---|
| municipality_code | string | Required | 5-digit municipality code (e.g., 13101 for Chiyoda Ward) |
| Name | Type | Required | Description |
|---|---|---|---|
| prefecture | string | Optional | Filter by prefecture name |
| q | string | Optional | Search by municipality name |
| page | int | Optional | Page number (default: 1) |
| per_page | int | Optional | Items per page (default: 50, max: 200) |
| Name | Type | Required | Description |
|---|---|---|---|
| municipality_code | string | Required | 5-digit municipality code |
| property_type | string | Optional | Filter by property type (land, pre-owned condo, etc.) |
| Name | Type | Required | Description |
|---|---|---|---|
| municipality_code | string | Required | 5-digit municipality code |
| Name | Type | Required | Description |
|---|---|---|---|
| metric | string | Required | Ranking metric |
| limit | int | Optional | Number of items (default: 20) |
Available metrics: call GET /v1/rankings for the full list
| Name | Type | Required | Description |
|---|---|---|---|
| prefecture | string | Optional | Filter by prefecture name |
Rent estimation using a LightGBM + XGBoost ensemble model (v5), trained on 385K rental listings nationwide with 13 integrated data sources (97 features). Urban MAPE = 2.1%, rural MAPE = 2.6%.
| Name | Type | Required | Description |
|---|---|---|---|
| municipality_code | string | Required | 5-digit municipality code (e.g., 13101 for Chiyoda) |
| area_m2 | number | Required | Exclusive floor area (m²) |
| layout | string | Optional | Layout (1K, 1LDK, 2DK, studio, etc.; default: 1K) |
| build_age_years | integer | Optional | Building age in years (default: 10) |
| walk_min | integer | Optional | Walking minutes to nearest station (default: 5) |
| floor | integer | Optional | Unit floor (default: 3) |
| total_floors | integer | Optional | Total floors of the building (default: 5) |
| category | string | Optional | Property category (condo/apartment, etc.; default: condo) |
Omitted optional fields auto-fill with the same defaults used by the web UI. Applied defaults are returned in input_summary.defaults_applied.
| Model | MAE (¥10K) | MAPE | R² | Coverage |
|---|---|---|---|---|
| v5_noleak_urban | 0.211 | 2.1% | 0.977 | 9 urban prefectures |
| v5_noleak_rural | 0.138 | 2.6% | 0.943 | 38 rural prefectures |
See the accuracy validation page for details.
LightGBM model (phase3_v1) trained on 22 features: macro indicators (CPI, policy rate, housing starts, construction cost, job-openings ratio, FX) plus future population estimates and regional characteristics. Land price change is used as a proxy for rent change (correlation 0.7-0.8 per Japan Real Estate Institute data).
| Name | Type | Required | Description |
|---|---|---|---|
| municipality_code | string | required | 5-digit municipality code (e.g. 13101 = Chiyoda Ward) |
| horizon | integer | optional | Forecast horizon. 1 = 1 year / 3 = 3 years (default 1) |
| Metric | Value | Note |
|---|---|---|
| MAE | 1.577 pp | Mean absolute error (percentage points) |
| Direction accuracy | 82.8% | Up / down direction hit rate |
| Test R² | 0.474 | Trained on 2022-2024, tested on 2025 |
| Training data | 3,635 rows × 915 municipalities | Annual panel of land prices × macro indicators |
Note: not investment advice. Use as a starting point for market sensitivity analysis. Direct rent time-series is not available, so land-price change is used as a proxy.
Combines Phase 2 rent estimation (v5 ensemble, MAPE 2.1%) with Phase 3 land price change forecast to return rent 1 or 3 years out. Useful as a starting point for medium-term yield simulations and investment screens.
| Name | Type | Required | Description |
|---|---|---|---|
| municipality_code | string | required | 5-digit municipality code |
| area_m2 | number | required | Floor area (m²) |
| horizon | integer | optional | 1 or 3 (default 1) |
| layout | string | optional | Layout (default 1K) |
| build_age_years | integer | optional | Building age (default 10) |
| walk_min | integer | optional | Walk-min from station (default 5) |
Cross-sectional search over properties owned by all 73 J-REITs. Returns 80+ fields per property: acquisition price, appraisal value, cap rate, occupancy, rental income, land/floor area, structure, ownership type, acquisition-time appraisal, seller (previous owner), and more.
| Name | Type | Required | Description |
|---|---|---|---|
| reit_name | string | Optional | REIT name (partial match) |
| area | string | Optional | Area (partial match on location/region, e.g., Shibuya) |
| asset_type | string | Optional | Use type (office/residential/retail/logistics/hotel) |
| cap_rate_min | number | Optional | Lower bound of cap rate (%) |
| cap_rate_max | number | Optional | Upper bound of cap rate (%) |
| limit | integer | Optional | Max items (default 100, max 1000) |
| Field | Type | Description |
|---|---|---|
| Property basics | ||
| property_name | string | Property name |
| reit_name | string | REIT name |
| period_end | date | Fiscal period end |
| location / region | string | Location / regional bucket |
| use_type / asset_category | string | Use type / asset category |
| year_built / structure | string | Year built / structure |
| land_area_m2 / total_floor_area_m2 | number | Land / total floor area (m²) |
| zoning / coverage_far | string | Zoning / coverage & FAR |
| ownership_type | string | Ownership type (freehold / trust beneficiary right, etc.) |
| Acquisition | ||
| acquisition_million_yen | number | Acquisition price (million JPY) |
| acquisition_date | string | Acquisition date |
| acquisition_appraisal_million_yen | number | Appraisal at acquisition (million JPY) |
| acquisition_appraisal_date | string | Appraisal date at acquisition |
| acquisition_noi_cap_rate_pct | number | NOI cap rate at acquisition (%) |
| acquisition_price_per_tsubo_yen | number | Acquisition price per tsubo (JPY/tsubo, derived) |
| seller | string | Previous owner (seller) |
| Period-end metrics | ||
| appraisal_million_yen | number | Period-end appraisal (million JPY) |
| book_value_million_yen | number | Book value (million JPY) |
| cap_rate_pct / discount_rate_pct / terminal_cap_rate_pct | number | Direct cap / discount / terminal cap (%) |
| noi_million_yen / noi_cap_rate_pct | number | Appraisal NOI / NOI cap rate |
| rent_income_million_yen | number | Rental revenue (million JPY) |
| rent_per_tsubo_yen | number | Rent per tsubo (JPY/month, derived) |
| rentable_area_m2 | number | Rentable area (m²) |
| occupancy_pct / tenant_count | number | Occupancy / tenant count |
| trustee / appraiser / pm_company | string | Trustee / appraiser / PM company |
Field coverage varies by property. See the property modal on the web UI for per-field fill rates.
Property disposition events extracted from annual securities reports. Includes sale date, sale price, appraisal at sale, book value, gain/loss, and buyer.
| Name | Type | Required | Description |
|---|---|---|---|
| reit_name | string | Optional | REIT name (partial match) |
| property_name | string | Optional | Property name (partial match) |
| use_type | string | Optional | Use type (hotel/residential/office, etc.) |
| period_from | string | Optional | Sale date from (YYYY-MM-DD) |
| period_to | string | Optional | Sale date to (YYYY-MM-DD) |
| limit | integer | Optional | Max items (default 100, max 1000) |
Hotel-property ADR (average daily rate), RevPAR, GOP, and room occupancy, extracted from annual securities reports. Monthly time-series with currency-split (JPY/USD). Covers Invincible, Hoshino Resorts REIT, JHR, and other hotel REITs.
| Name | Type | Required | Description |
|---|---|---|---|
| reit_name | string | Optional | REIT name (partial match) |
| property_name | string | Optional | Property name (partial match) |
| currency | string | Optional | Currency (JPY/USD) |
| month_from | string | Optional | Month from (YYYY-MM) |
| month_to | string | Optional | Month to (YYYY-MM) |
| limit | integer | Optional | Max items (default 500, max 5000) |
Detailed period-level appraisals for J-REIT properties: direct cap price and cap rate, DCF price, discount rate, terminal cap rate, and appraisal NOI.
| Name | Type | Required | Description |
|---|---|---|---|
| reit_name | string | Optional | REIT name (partial match) |
| property_name | string | Optional | Property name (partial match) |
| cap_rate_min | number | Optional | Lower bound of direct cap rate (%) |
| cap_rate_max | number | Optional | Upper bound of direct cap rate (%) |
| period_from | string | Optional | Period from (YYYY-MM-DD) |
| period_to | string | Optional | Period to (YYYY-MM-DD) |
| limit | integer | Optional | Max items (default 200, max 2000) |
Appraiser-level cap rate bias aggregated as deviation from peer median within use_type × region × year. Positive = higher than peer median (conservative), negative = lower (aggressive). Aggregation dimensions: overall / use_type / region / use_type_region.
| Name | Type | Required | Description |
|---|---|---|---|
| appraiser | string | optional | Appraiser name (partial match) |
| dimension | string | optional | overall / use_type / region / use_type_region |
| use_type | string | optional | Office / Residential / Logistics / Retail / Hotel |
| region_category | string | optional | Greater Tokyo / Kansai / Chukyo / Other |
| min_appraisals | integer | optional | Minimum sample size (default 3) |
| limit | integer | optional | Max results (default 100, max 500) |
Time-series detection of appraisal value declines and cap rate spikes for J-REIT properties. alert_level: severe (-10%+ drop), alert (-5%+ drop), watch (-2%+ drop), cap_rate_alert (+0.3pp cap rate), combined_alert (combined signals), suspicious_data (-40%+ drop, likely partial sale or unit mismatch). Intended for activist-investor screening and impairment candidate discovery.
| Name | Type | Required | Description |
|---|---|---|---|
| reit_name | string | optional | REIT name (partial match) |
| property_name | string | optional | Property name (partial match) |
| alert_level | string | optional | severe/alert/watch/cap_rate_alert/combined_alert/suspicious_data |
| use_type | string | optional | Use type (partial match) |
| min_severity | number | optional | Severity score lower bound |
| period_from | string | optional | Period start YYYY-MM-DD |
| period_to | string | optional | Period end YYYY-MM-DD |
| limit | integer | optional | Max results (default 100, max 1000) |
Spatial join of 250m-mesh future population projection (XKT013, 2020-2050, based on Japan Census) with REIT property addresses via GSI geocoding. Quantifies population-decline impact on REIT portfolios. weighted_pop_change_2050 is acquisition-price-weighted 2025→2050 population change. pct_aum_high_risk is AUM-weighted share of high-risk properties.
| Name | Type | Required | Description |
|---|---|---|---|
| reit_name | string | optional | REIT name (partial match) |
| min_pct_high_plus | number | optional | Lower bound for high-risk share (0-1) |
| max_pct_high_plus | number | optional | Upper bound for high-risk share (0-1) |
| sort | string | optional | weighted_pop_change_2050 (default) / pct_high_plus / pct_aum_high_risk / total_aum_million_yen |
| limit | integer | optional | Max rows (default 100, max 500) |
Returns latest-period geocoded coordinates and 250m-mesh population projections (2025/2030/2040/2050) for a specific property. Example: /v1/reit/property/OtemachiFirstSquare/demographic-risk
Top tenant information per J-REIT property: tenant name, industry, leased area, contract form, remaining years. Includes anonymized tenants.
| Name | Type | Required | Description |
|---|---|---|---|
| reit_name | string | Optional | REIT name (partial match) |
| property_name | string | Optional | Property name (partial match) |
| tenant_name | string | Optional | Tenant name (partial match) |
| tenant_industry | string | Optional | Industry (partial match) |
| limit | integer | Optional | Max items (default 200, max 2000) |
J-REIT property acquisition events served in a unified transaction-case format. Includes acquisition date, price, price per tsubo (by floor area and by land area), seller, appraisal at acquisition, acquisition-time NOI cap rate, sponsor-transaction flag, already-sold flag, and holding years.
| Name | Type | Required | Description |
|---|---|---|---|
| reit_name | string | Optional | REIT name (partial match) |
| property_name | string | Optional | Property name (partial match) |
| use_type | string | Optional | Use type (office/residential/retail/logistics/hotel, etc.) |
| seller | string | Optional | Seller name (partial match) |
| is_sold | boolean | Optional | Already-disposed property flag |
| is_sponsor_transaction | boolean | Optional | Acquired from sponsor group |
| price_min / price_max | number | Optional | Acquisition price range (million JPY) |
| cap_rate_min / cap_rate_max | number | Optional | Acquisition-time NOI cap rate range (%) |
| limit | integer | Optional | Max items (default 200, max 2000) |
Master table of J-REIT sponsor companies. Fields include sponsor company name, EDINET code, and match keywords. Used as the reference for sponsor-transaction detection.
| Name | Type | Required | Description |
|---|---|---|---|
| reit_name | string | Optional | REIT name (partial match, omit for all) |
| sponsor_name | string | Optional | Sponsor company name (partial match) |
Normalized master of sellers, buyers, and SPCs that appear in J-REIT transactions. Includes transaction count, related REITs, aliases, and resolved corporate numbers (via the EDINET link, when available). Useful for identifying major buyers/sellers and deduplicating SPCs.
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | Optional | Company name (partial match on the raw, pre-normalized form) |
| role | string | Optional | seller / buyer / both |
| min_transactions | integer | Optional | Minimum transaction count |
| has_corporate_number | boolean | Optional | Has a resolved corporate number |
| limit | integer | Optional | Max items (default 200, max 2000) |
Annual timeline joining each J-REIT sponsor's EDINET consolidated financials (revenue, operating income, net income, ROE, YoY deltas) with related-REIT acquisition and disposition events. Useful for detecting patterns like "properties concentrated to the sponsor during a decline year" (sponsor_in_decline=true) — the kind of read an activist analyst would want to verify.
| Name | Type | Required | Description |
|---|---|---|---|
| sponsor_name | string | Optional | Sponsor company name (partial match) |
| sponsor_edinet_code | string | Optional | EDINET code (exact match) |
| fiscal_year_from / to | integer | Optional | Fiscal year range |
| only_sponsor_to_reit | boolean | Optional | true: only years with sponsor → REIT dispositions |
| only_decline | boolean | Optional | true: only sponsor-decline years |
| limit | integer | Optional | Max items (default 500, max 5000) |
Predicts the likelihood of a sponsor transferring properties to its affiliated J-REITs in the next fiscal year. Calibrated Logistic Regression (v1) trained on the sponsor performance × REIT acquisition timeline. Leave-One-Sponsor-Out evaluation: AUC=0.75 / Brier=0.05 / ECE=0.009. Features: (1) prior-3y sponsor-to-REIT transfer count (2) sponsor net income YoY (3) revenue YoY (4) years since last transfer (5) prior-3y REIT acquisition activity. Returns per-feature contribution (log-odds) and confidence label (high/medium/low). Treat as a "signal score", not a literal probability (only 13 positive training examples). Design doc: docs/ml_sponsor_pipeline_design.md.
| Name | Type | Required | Description |
|---|---|---|---|
| sponsor_name | string | optional | Sponsor company name (partial match) |
| sponsor_edinet_code | string | optional | EDINET code exact match |
| min_score | integer | optional | Minimum score threshold 0-100 |
| confidence | string | optional | high / medium / low |
| limit | integer | optional | Max results (default 50, max 500) |
Municipality-level hazard zone aggregation around J-REIT property locations. BOUSAI DB (area_hazard_risk, 129,102 records) is joined to REIT properties on municipality code. Returns steep-slope, landslide, tsunami, flood, storm-surge, and special alert-zone counts per property. Useful for disaster-risk portfolio screening and BCP analysis. Counts are a municipality-level approximation — the property itself may not sit inside the zone.
| Name | Type | Required | Description |
|---|---|---|---|
| reit_name / property_name | string | Optional | Partial match |
| prefecture / use_type | string | Optional | Filter |
| min_total_zones | integer | Optional | Minimum total hazard zones |
| has_tsunami / has_flood / has_landslide | boolean | Optional | Specific hazard-type flags |
| limit | integer | Optional | default 200, max 2000 |
Facilities owned by listed companies (from the "major facilities" section of annual securities reports), joined with co-located land price (commercial/residential/industrial), 2050 population forecast, and flood / landslide risk. Useful for regional-attribute analysis of a company's real-estate portfolio, unrealized gain/loss estimation, and disaster-risk assessment. Covers 267,164 facilities across 4,322 companies.
| Name | Type | Required | Description |
|---|---|---|---|
| company_name | string | Optional | Company name (partial match) |
| edinet_code | string | Optional | EDINET code (exact match) |
| prefecture / municipality | string | Optional | Location filters |
| facility_name | string | Optional | Facility name (partial match) |
| fiscal_year | integer | Optional | Fiscal year |
| min_land_book_value | number | Optional | Minimum land book value (million JPY) |
| min_commercial_price | number | Optional | Minimum commercial land price (JPY/m²) |
| max_population_change | number | Optional | Max 2050 population change rate (%, negative means decline) |
| min_flood_risk | number | Optional | Minimum flood risk (%) |
| limit | integer | Optional | default 200, max 2000 |
Transaction cases of non-REIT companies (real estate and fixed assets). Gemini structured-extracts the text blocks "plans for new / disposed facilities," "gain on sale of fixed assets," and "loss on sale of fixed assets" from EDINET annual securities reports. Searchable by company, property, location, transaction type, counterparty, and amount.
| Name | Type | Required | Description |
|---|---|---|---|
| company_name | string | Optional | Company name (partial match) |
| edinet_code | string | Optional | EDINET code (exact match) |
| property_name | string | Optional | Property name (partial match) |
| location | string | Optional | Location (partial match) |
| transaction_type | string | Optional | acquired / disposed / planned_acquisition / planned_disposal |
| counterparty_name | string | Optional | Counterparty name (partial match) |
| amount_min / amount_max | number | Optional | Transaction amount range (million JPY) |
| limit | integer | Optional | Max items (default 200, max 2000) |
Note: Structured extraction by Gemini 2.5 Flash. Only transactions with an explicitly named property are retained (aggregate-only notes are skipped). Confidence is returned in the confidence field (high/medium/low).
Returns tenant concentration indicators aggregated from J-REIT disclosures: top-N GFA share (top1/3/5/10), Herfindahl-Hirschman Index (HHI, area-based and industry-based), number of industries, top industry share, area-weighted average remaining contract years, and contract-end peak year. Two scopes: reit (48 REITs) and property (1,535 properties). Useful for evaluating master-lease concentration, comparing tenant diversification across REITs, and forecasting contract renewal peaks.
| Name | Type | Required | Description |
|---|---|---|---|
| reit_name | string | optional | REIT name (partial match). Required when scope=property |
| scope | string | optional | 'reit' (default) or 'property' |
| limit | integer | optional | Max rows (default 100, max 2000) |
Note: Anonymous tenants (is_anonymous=true) are included in aggregates, but top1_named_tenant_name and named entries in top3_tenants are derived from non-anonymous rows only. Weight uses leased_area_m2 when available and falls back to leased_area_ratio_pct. Master-lease extraction is currently incomplete, so HHI is computed at the name-merged tenant level.
Returns one concentration record by property name. Exact match preferred, partial match as fallback.
Returns rent deviation (yen, %), z-score, and outlier flags for a J-REIT property, comparing its monthly rent per tsubo against the peer bucket use_type_norm × prefecture (sample ≥ 10). Falls back to national bucket when the prefecture sample is too small. Returns peer_basis='none' when neither has enough data.
residential / office / retail / logistics / hotel / healthcare / other / _missing (use_type NULL in source)
| Field | Description |
|---|---|
| rent_monthly_per_tsubo_yen | Monthly rent per tsubo for this property (yen) |
| peer_bucket | Peer identifier (e.g. "office_東京都") |
| peer_basis | prefecture / national / none |
| peer_count / peer_median / peer_p25 / peer_p75 / peer_std | Peer distribution stats |
| rent_gap_yen | Property − peer median (yen) |
| rent_gap_pct | Deviation (%) |
| z_score | (property − peer_median) / peer_std |
| is_outlier_high / is_outlier_low | |z_score| > 2 |
Note: Latest period only (time-series is not yet supported). Properties with peer_basis='none' (use_type NULL / other / parking) have all deviation indicators set to NULL. The logistics peer median can be distorted by partial ownership or shared-area inclusions — interpret with care. This is a simple peer-median comparison; the Phase 2 rent model v5 is not applied beyond residential. Asset-class-specific models are a planned extension.
Returns properties priced higher (outlier=high) or lower (outlier=low) than their peer distribution — useful for spotting rent-raise headroom or impairment candidates.
Borrowings-table contents parsed from each REIT's latest securities report and aggregated per REIT. Returns weighted-average interest rate, total outstanding balance, short/long-term split, weighted-average remaining years, share maturing within 1/3 years, and top-3 lender concentration. Useful for screening REITs exposed to rate-hike risk or high lender concentration. 65 REITs covered (latest period).
| Name | Type | Required | Description |
|---|---|---|---|
| reit_name | string | optional | REIT name (partial match) |
| min_balance_bn | number | optional | Min total balance (billions of yen) |
| sort | string | optional | weighted_rate / remaining_years / total_balance / maturity_1y (desc) |
| limit | integer | optional | default 100, max 500 |
Note: 65/69 REITs extracted (94%). 4 REITs have non-standard header layouts and are pending parser enhancement. Rate fill-rate 100%, remaining-years fill-rate 89%. Latest period only.
Per-loan details for a given REIT: lender bank, short/long-term category, begin/end balance, rate, repayment date, purpose, and collateral terms.
FUDOSAN DB supports the Model Context Protocol (MCP). You can connect directly from AI tools such as Claude Desktop.
Add the following to claude_desktop_config.json:
Once configured, ask Claude Desktop things like "What's the real estate market in Shibuya?" or "Estimate the rent for a 25m² 1K unit in Chiyoda" to pull live data.
| Tool | Description |
|---|---|
| search_areas | Search municipalities by area name |
| get_area_profile | Area profile |
| get_price_trends | Price trends |
| get_land_price_trends | Land price trends |
| get_rankings | Rankings |
| list_municipalities | Municipality list |
| estimate_rent | Rent estimation (v5 ensemble, MAPE 2.1–2.6%) |
| simulate_yield | Investment yield simulation |
| predict_rent_change | Rent change forecast (1y/3y, MAE 1.6pp, direction 83%) |
| predict_future_rent | Future rent forecast (Phase 2 × Phase 3 integration) |
| search_reit_properties | Cross-REIT property search |
| get_reit_property_history | Per-property historical metrics |
| get_reit_portfolios | REIT portfolio composition |
| search_reit_sales | J-REIT disposition events |
| get_hotel_performance | Hotel ADR / RevPAR / occupancy (monthly time-series) |
| get_reit_appraisals | Periodic appraisals (direct cap / DCF / NOI) |
| search_reit_tenants | Top-tenant search |
| search_reit_acquisitions | J-REIT acquisition events (unified transaction-case format) |
| get_reit_sponsors | Sponsor master |
| search_reit_counterparties | Counterparty (seller/buyer/SPC) master |
| get_reit_sponsor_performance | Sponsor consolidated financials × REIT events, annual timeline |
| search_reit_hazard_risk | J-REIT property × municipal hazard-zone counts |
| search_corporate_real_estate_holdings | Listed-company facilities × land price × population × hazard |
| search_corporate_real_estate_transactions | Non-REIT corporate real-estate transactions (LLM-extracted) |