{
  "openapi": "3.0.1",
  "info": {
    "title": "Suumo.jp Scraper with Contacts",
    "description": "Extract Suumo Japan property listings at scale with rich rental detail, agency contacts, pricing, transport access, layouts, amenities and full media. Built for enterprise-grade Japan real estate intelligence, lead enrichment, market monitoring and automated analytics pipelines.",
    "version": "0.0",
    "x-build-id": "s6y7JFYiCOEiSuQ7B"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fatihtahta~suumo-japan-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fatihtahta-suumo-japan-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/fatihtahta~suumo-japan-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fatihtahta-suumo-japan-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/fatihtahta~suumo-japan-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fatihtahta-suumo-japan-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "location_region": {
            "title": "Select One Japanese Prefecture or Major City",
            "enum": [
              "hokkaido_",
              "hokkaido_/sa_sapporo",
              "aomori",
              "iwate",
              "akita",
              "miyagi",
              "miyagi/sa_sendai",
              "yamagata",
              "fukushima",
              "tokyo",
              "kanagawa",
              "kanagawa/sa_kawasaki",
              "kanagawa/sa_yokohama",
              "kanagawa/sa_sagamihara",
              "chiba",
              "chiba/sa_chiba",
              "saitama",
              "saitama/sa_saitama",
              "ibaraki",
              "tochigi",
              "gumma",
              "yamanashi",
              "nagano",
              "ishikawa",
              "niigata",
              "niigata/sa_niigata",
              "toyama",
              "fukui",
              "aichi",
              "aichi/sa_nagoya",
              "shizuoka",
              "shizuoka/sa_shizuoka",
              "shizuoka/sa_hamamatsu",
              "gifu",
              "mie",
              "osaka",
              "osaka/sa_osaka",
              "osaka/sa_sakai",
              "hyogo",
              "hyogo/sa_kobe",
              "kyoto",
              "kyoto/sa_kyoto",
              "shiga",
              "nara",
              "wakayama",
              "ehime",
              "kagawa",
              "kochi",
              "tokushima",
              "okayama",
              "okayama/sa_okayama",
              "hiroshima",
              "hiroshima/sa_hiroshima",
              "shimane",
              "tottori",
              "yamaguchi",
              "fukuoka",
              "fukuoka/sa_fukuoka",
              "fukuoka/sa_kitakyushu",
              "saga",
              "nagasaki",
              "kumamoto",
              "kumamoto/sa_kumamoto",
              "oita",
              "miyazaki",
              "kagoshima",
              "okinawa"
            ],
            "type": "string",
            "description": "Choose the market for the generated search, such as 東京都 (Tokyo), 大阪府 (Osaka Prefecture), 大阪市 (Osaka City), or 京都市 (Kyoto City). Select a city when you want that major-city scope instead of the wider prefecture."
          },
          "deal_type": {
            "title": "Choose Rental or Purchase Listing Categories",
            "uniqueItems": true,
            "type": "array",
            "description": "Select one or more categories for the generated regional search. “Rent | All rental homes” includes every rental subtype, and “Buy | All supported sale listings” includes every supported purchase subtype; choosing subtypes alongside the matching all option is redundant. These selections do not affect supplied URLs.",
            "items": {
              "type": "string",
              "enum": [
                "rent_all",
                "rent_mansion",
                "rent_apartment",
                "rent_house",
                "buy_all",
                "new_condo",
                "used_condo",
                "new_house",
                "used_house",
                "land"
              ],
              "enumTitles": [
                "Rent | All rental homes",
                "Rent | Condominiums and apartment buildings",
                "Rent | Low-rise apartments",
                "Rent | Houses and other homes",
                "Buy | All supported sale listings",
                "Buy | New condominiums",
                "Buy | Pre-owned condominiums",
                "Buy | New houses",
                "Buy | Pre-owned houses",
                "Buy | Land"
              ]
            },
            "default": [
              "rent_all"
            ]
          },
          "min_price": {
            "title": "Set the Minimum Monthly Rent or Purchase Price (JPY)",
            "minimum": 0,
            "type": "integer",
            "description": "Set the inclusive lower price bound in Japanese yen using 5,000 JPY increments. SUUMO interprets this as monthly rent for rental categories and purchase price for sale categories. Pair it with a maximum when you need a comparable market slice for monitoring, dashboards, or downstream analysis."
          },
          "max_price": {
            "title": "Set the Maximum Monthly Rent or Purchase Price (JPY)",
            "minimum": 5000,
            "type": "integer",
            "description": "Set the exclusive upper price bound in Japanese yen using 5,000 JPY increments. SUUMO interprets this as monthly rent for rental categories and purchase price for sale categories. Leave it empty when the generated search should have no configured upper price bound."
          },
          "floor_plan": {
            "title": "Select One or More Floor-Plan Groups",
            "uniqueItems": true,
            "type": "array",
            "description": "Choose the layouts to include, from studio through 5K or larger. This filter narrows residential listings and is ignored when the generated search contains only land.",
            "items": {
              "type": "string",
              "enum": [
                "studio",
                "1k_1dk_1ldk",
                "2k_2dk_2ldk",
                "3k_3dk_3ldk",
                "4k_4dk_4ldk",
                "5k_or_more"
              ],
              "enumTitles": [
                "Studio",
                "1K / 1DK / 1LDK",
                "2K / 2DK / 2LDK",
                "3K / 3DK / 3LDK",
                "4K / 4DK / 4LDK",
                "5K or more"
              ]
            }
          },
          "min_area": {
            "title": "Set the Minimum Floor or Land Area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Set the inclusive minimum size in square metres. SUUMO applies the value to floor area for homes and to the relevant land-area field for land searches."
          },
          "max_area": {
            "title": "Set the Maximum Floor or Land Area (m²)",
            "minimum": 1,
            "type": "integer",
            "description": "Set the exclusive maximum size in square metres. Leave it empty when the generated search should have no configured upper area bound."
          },
          "max_distance_from_station": {
            "title": "Set the Maximum Walking Time From a Station",
            "enum": [
              "within_1_minute",
              "within_3_minutes",
              "within_5_minutes",
              "within_7_minutes",
              "within_10_minutes",
              "within_15_minutes"
            ],
            "type": "string",
            "description": "Limit the generated search to listings within the selected advertised walking time from a station. Shorter times create a more transit-focused dataset; leave this empty when station distance should not narrow results."
          },
          "building_age": {
            "title": "Choose New Construction or a Maximum Building Age",
            "enum": [
              "new",
              "within_1_year",
              "within_3_years",
              "within_5_years",
              "within_7_years",
              "within_10_years",
              "within_15_years",
              "within_20_years",
              "within_25_years"
            ],
            "type": "string",
            "description": "Choose new construction or the oldest building age to include. Use this for age-specific housing research or monitoring; it is ignored when the generated search contains only land."
          },
          "newly_published": {
            "title": "Include Only Listings Marked Newly Published",
            "type": "boolean",
            "description": "Enable this to narrow the generated query to listings SUUMO currently marks as newly published. Keep it off for broader inventory snapshots and enable it for recurring new-listing monitoring or alerts.",
            "default": false
          },
          "keyword": {
            "title": "Search Listing Text for a Keyword or Phrase",
            "maxLength": 100,
            "type": "string",
            "description": "Optionally add a Japanese keyword or short phrase, such as ペット可 (pets allowed), to the generated search. Use focused terms to create repeatable segments for review, CRM enrichment, or monitoring."
          },
          "startUrls": {
            "title": "Add SUUMO Search, Category, Borough, or Listing URLs",
            "type": "array",
            "description": "Paste one public SUUMO URL per line. Use result-page URLs for repeatable market collection or direct listing URLs for known properties, for example https://suumo.jp/chintai/tokyo/sc_chiyoda/ or https://suumo.jp/chintai/jnc_000107533873/. Supplied URLs remain separate from the structured query builder.",
            "items": {
              "type": "string"
            }
          },
          "enrich_data": {
            "title": "Visit Individual Listings for Richer Property Records",
            "type": "boolean",
            "description": "Keep this enabled for detailed ETL, CRM enrichment, BI reporting, or AI-agent review. Turn it off for faster exploratory and schema-validation runs when standard search-result fields are sufficient; unavailable detail fields remain optional.",
            "default": true
          },
          "limit": {
            "title": "Set the Maximum Number of Listings to Save",
            "minimum": 10,
            "type": "integer",
            "description": "Choose the maximum number of listing records to save across this run. Start with 10 or 25 to validate the selected market and output, then increase the value for broader collection after confirming the configuration.",
            "default": 50000
          },
          "mcpConnectors": {
            "title": "MCP Delivery Connectors",
            "uniqueItems": true,
            "type": "array",
            "description": "Choose user-authorized MCP connectors for optional post-run summary delivery or workflow handoff. The payload contains listing totals, runtime, search scope, coverage and enrichment status, warnings, and dataset/report links. It does not send the full property dataset through MCP. Leave empty to only save listings to the Apify dataset and run artifacts to the key-value store.",
            "default": []
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}