{
  "openapi": "3.0.1",
  "info": {
    "title": "Lamudi Indonesia Scraper with Contacts & Features",
    "description": "Collect structured public property listing records from Lamudi Indonesia  for market research, monitoring, CRM, BI, ETL, and property workflows.",
    "version": "0.1",
    "x-build-id": "JOjDPNKCW5EteJcdZ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fatihtahta~lamudi-id-property-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fatihtahta-lamudi-id-property-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~lamudi-id-property-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fatihtahta-lamudi-id-property-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~lamudi-id-property-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fatihtahta-lamudi-id-property-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": {
            "title": "Set the Lamudi Indonesia Location or Market",
            "type": "string",
            "description": "Enter one city, regency, province, neighborhood, or market supported by Lamudi Indonesia, such as Jakarta, Jawa Tengah, Semarang, Solo, or Bali. Use one focused market per run when you want cleaner price comparisons, recurring monitoring, downstream deduplication, or CRM-ready listing slices."
          },
          "deal_type": {
            "title": "Choose Sale or Rental Listing Mode",
            "enum": [
              "buy",
              "rent"
            ],
            "type": "string",
            "description": "Select whether the structured search should collect Lamudi Indonesia properties listed for sale or for rent. Pair this with location and optional filters when you need comparable market slices for monitoring, CRM enrichment, reporting, or ETL ingestion.",
            "default": "rent"
          },
          "language": {
            "title": "Choose the Lamudi Search Page Language",
            "enum": [
              "id",
              "en"
            ],
            "type": "string",
            "description": "Choose the Lamudi route language used for query-built searches. Indonesian routes use paths such as /jual/ and /sewa/; English routes use /en/for-sale/ and /en/for-rent/. Direct URL entries keep their own language and path.",
            "default": "id"
          },
          "property_type": {
            "title": "Choose Property Categories and Types",
            "uniqueItems": true,
            "type": "array",
            "description": "Choose one or more broad Lamudi property groups or specific property types, such as apartments, houses, commercial spaces, or land. Leave empty to include all property types that match the selected location and listing mode.",
            "items": {
              "type": "string",
              "enum": [
                "gt-apartment",
                "apartments",
                "condo",
                "room",
                "gt-commercial",
                "commercial-space",
                "industrial-unit",
                "warehouse",
                "shop-commercial",
                "office",
                "retail",
                "hotel",
                "gt-house",
                "single-family-house",
                "townhouse",
                "villa",
                "gt-land",
                "land"
              ],
              "enumTitles": [
                "Apartment",
                "Apartments",
                "Condo",
                "Room",
                "Commercial Space",
                "Commercial Space Type",
                "Industrial Unit",
                "Warehouse",
                "Shop or Commercial",
                "Office",
                "Retail",
                "Hotel",
                "House",
                "Single Family House",
                "Townhouse",
                "Villa",
                "Land",
                "Land Type"
              ]
            }
          },
          "sort_by": {
            "title": "Choose How Lamudi Orders Matching Listings",
            "enum": [
              "popularity",
              "newest",
              "price-low",
              "price-high"
            ],
            "type": "string",
            "description": "Choose how Lamudi should order matching listings before collection. Use newest for monitoring recent inventory, or price ordering when reviewing market ranges."
          },
          "min_price": {
            "title": "Set a Minimum Asking Price or Rent",
            "minimum": 1,
            "type": "integer",
            "description": "Set the lowest listing price to include, in IDR. Use with a maximum price when you need a clean budget band for monitoring, dashboards, CRM imports, or market analysis."
          },
          "max_price": {
            "title": "Set a Maximum Asking Price or Rent",
            "minimum": 1,
            "type": "integer",
            "description": "Set the highest listing price to include, in IDR. Leave empty if you only need a lower bound or want Lamudi to return all matching prices above the minimum."
          },
          "bed_count": {
            "title": "Select Bedroom Counts to Include",
            "uniqueItems": true,
            "type": "array",
            "description": "Select one or more bedroom counts to include. Leave empty when bedroom count should not narrow the property search, such as broad commercial or land monitoring.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ],
              "enumTitles": [
                "1",
                "2",
                "3",
                "4",
                "5+"
              ]
            }
          },
          "bathroom_count": {
            "title": "Select Bathroom Counts to Include",
            "uniqueItems": true,
            "type": "array",
            "description": "Select one or more bathroom counts to include. This is most useful for residential searches where room configuration is part of the downstream comparison.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ],
              "enumTitles": [
                "1",
                "2",
                "3",
                "4",
                "5+"
              ]
            }
          },
          "subsidized_housing": {
            "title": "Choose How to Handle Subsidized Housing",
            "enum": [
              "included",
              "excluded",
              "yes"
            ],
            "type": "string",
            "description": "Choose whether subsidized housing listings should be included, excluded, or collected exclusively. Leave empty when subsidized status should not narrow the search."
          },
          "foreclosed_property": {
            "title": "Choose How to Handle Foreclosed Properties",
            "enum": [
              "included",
              "excluded",
              "yes"
            ],
            "type": "string",
            "description": "Choose whether foreclosed Lamudi listings should be included with normal listings, excluded from the search, or collected exclusively. Use this when foreclosure status matters for sourcing, risk review, or investment-screening workflows."
          },
          "min_floor_area": {
            "title": "Set a Minimum Floor Area",
            "minimum": 1,
            "type": "integer",
            "description": "Set the smallest floor area to include, in square meters. Use area filters for more consistent comparison sets in ETL, reporting, or property-review workflows."
          },
          "max_floor_area": {
            "title": "Set a Maximum Floor Area",
            "minimum": 1,
            "type": "integer",
            "description": "Set the largest floor area to include, in square meters. Pair this with minimum floor area when you need a precise size band."
          },
          "min_land_area": {
            "title": "Set a Minimum Land or Plot Area",
            "minimum": 1,
            "type": "integer",
            "description": "Set the smallest land or plot area to include, in square meters. This is useful for lots, warehouses, commercial properties, and land-focused monitoring."
          },
          "max_land_area": {
            "title": "Set a Maximum Land or Plot Area",
            "minimum": 1,
            "type": "integer",
            "description": "Set the largest land or plot area to include, in square meters. Leave empty when larger lots should remain eligible."
          },
          "rent_price_periodicity": {
            "title": "Select Rental Billing Periods",
            "uniqueItems": true,
            "type": "array",
            "description": "Select one or more rent billing periods when a rental search should include only daily, monthly, or yearly price listings. Leave empty when rent period should not narrow the search.",
            "items": {
              "type": "string",
              "enum": [
                "daily",
                "monthly",
                "yearly"
              ],
              "enumTitles": [
                "Daily rent",
                "Monthly rent",
                "Yearly rent"
              ]
            }
          },
          "amenities": {
            "title": "Require Specific Amenities or Property Features",
            "uniqueItems": true,
            "type": "array",
            "description": "Select Lamudi amenities or features that matching listings should include. Leave empty for broader discovery; add amenities when your downstream workflow needs a targeted property profile.",
            "items": {
              "type": "string",
              "enum": [
                "security",
                "guardhouse",
                "cctv",
                "concierge",
                "security-door",
                "alarm",
                "fully-fenced",
                "24-hour-security",
                "roof-garden",
                "swimming_pool",
                "gym",
                "sauna",
                "jacuzzi",
                "tennis-court",
                "multiuse-room",
                "outdoor-entertaining-area",
                "deck",
                "balcony",
                "garden",
                "grill",
                "green-area",
                "courtyard",
                "garage",
                "secure-parking",
                "internet",
                "wi-fi",
                "video-cable",
                "air-conditioning",
                "heating",
                "fireplace",
                "natural-gas",
                "intercom",
                "water-tank",
                "water",
                "hot-water",
                "electricity",
                "tv",
                "telephone",
                "built-in-wardrobe",
                "library",
                "panoramic-view",
                "lift",
                "disabled-access",
                "furnished",
                "equipped-kitchen",
                "integral-kitchen",
                "ensuite",
                "cleaning-room",
                "cellar",
                "storage-room",
                "office"
              ],
              "enumTitles": [
                "Security",
                "Guardhouse",
                "CCTV",
                "Concierge",
                "Security door",
                "Alarm",
                "Fully fenced",
                "24 hours security",
                "Roof garden",
                "Swimming pool",
                "Gym",
                "Sauna",
                "Jacuzzi",
                "Tennis court",
                "Playground",
                "Multipurpose room",
                "Outdoor entertaining area",
                "Terrace",
                "Balcony",
                "Garden",
                "Grill",
                "Green area",
                "Yard",
                "Garage",
                "Secure parking",
                "Internet",
                "WiFi",
                "Video cable",
                "Air conditioning",
                "Heating",
                "Fireplace",
                "Natural gas",
                "Intercom",
                "Water tank",
                "Water",
                "Hot water",
                "Electricity",
                "TV",
                "Telephone",
                "Built-in wardrobe",
                "Library",
                "Panoramic view",
                "Lift",
                "Access for people with disabilities",
                "Furnished",
                "Equipped kitchen",
                "Integral kitchen",
                "Service room",
                "Laundry room",
                "Cellar",
                "Storage room",
                "Office room"
              ]
            }
          },
          "certificate": {
            "title": "Select Indonesian Certificate Types",
            "uniqueItems": true,
            "type": "array",
            "description": "Select one or more Indonesian property certificate types when ownership or legal-status filtering matters for the search. Leave empty when certificate type should not narrow matching listings.",
            "items": {
              "type": "string",
              "enum": [
                "shm",
                "hgb",
                "hak_pakai",
                "hak_sewa",
                "hgu",
                "strata",
                "ppjb"
              ],
              "enumTitles": [
                "SHM",
                "HGB",
                "Hak Pakai",
                "Hak Sewa",
                "HGU",
                "Strata",
                "PPJB"
              ]
            }
          },
          "publication_date": {
            "title": "Choose a Listing Freshness Window",
            "enum": [
              "1",
              "7",
              "30"
            ],
            "type": "string",
            "description": "Choose a recent publication window when you want newly listed properties for monitoring, alerting, lead review, or recurring inventory refreshes. Leave empty when older matching listings should remain eligible."
          },
          "url": {
            "title": "Add Direct Lamudi.co.id URLs (search pages, filtered results, categories, or listings)",
            "type": "array",
            "description": "Paste one supported Lamudi Indonesia URL per line, such as https://www.lamudi.co.id/sewa/jawa-tengah/ or an individual listing page. Use URLs when you need precise repeatability for saved searches, listing monitoring, dashboards, CRM enrichment, or ETL refreshes.",
            "items": {
              "type": "string"
            }
          },
          "enrich_data": {
            "title": "Collect Richer Details from Listing Pages",
            "type": "boolean",
            "description": "Turn this on for CRM enrichment, BI reporting, listing review, data-quality checks, and ETL workflows that benefit from richer property details. Leave it off for faster validation runs, small monitoring checks, or cases where standard search-result fields are enough.",
            "default": true
          },
          "limit": {
            "title": "Set the Maximum Number of Listings to Save",
            "minimum": 1,
            "type": "integer",
            "description": "Choose the maximum number of Lamudi property records to save for this run. Leave empty to collect as many results as the selected URL seeds or location search return within the actor run, or set a smaller number for faster validation and predictable ETL batch sizes."
          },
          "mcpConnectors": {
            "title": "Select Optional MCP Connectors for Listing Handoff",
            "uniqueItems": true,
            "type": "array",
            "description": "Choose user-authorized MCP connectors for optional post-run summary delivery, listing-summary notifications, or workflow handoff. The actor sends saved listing counts, runtime, search and location summaries, enrichment status, and dataset/report/map links when available. It does not send the full Lamudi dataset through MCP by default. Leave empty to only save listings to the Apify dataset and 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}