{
  "openapi": "3.0.1",
  "info": {
    "title": "Lamudi Indonesia Property Scraper",
    "description": "[💰 $1.0 / 1K] Extract property listings from Lamudi Indonesia (lamudi.co.id) — houses, apartments, land, and commercial for sale or rent, with prices in IDR, beds, baths, area, photos, geolocation, and agent and agency details. Search by city and filters, or paste Lamudi URLs directly.",
    "version": "1.0",
    "x-build-id": "MV0fit0dvMUbC36tm"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~lamudi-co-id-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-lamudi-co-id-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/solidcode~lamudi-co-id-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-lamudi-co-id-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/solidcode~lamudi-co-id-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-lamudi-co-id-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": {
          "purpose": {
            "title": "Buy or Rent",
            "enum": [
              "for-sale",
              "for-rent"
            ],
            "type": "string",
            "description": "Are you looking for properties for sale or for rent? Ignored when Start URLs are provided.",
            "default": "for-sale"
          },
          "location": {
            "title": "City / Region",
            "type": "string",
            "description": "City or region to search, e.g. \"Jakarta\", \"Bandung\", \"Surabaya\", \"Bali\", \"Tangerang\". Leave as \"Indonesia\" to search the whole country. Ignored when Start URLs are provided.",
            "default": "jakarta"
          },
          "propertyType": {
            "title": "Property Type",
            "enum": [
              "any",
              "house",
              "apartment",
              "villa",
              "land",
              "commercial",
              "office"
            ],
            "type": "string",
            "description": "Filter by property category. Choose 'Any' to include all types.",
            "default": "any"
          },
          "searchQuery": {
            "title": "Keyword",
            "type": "string",
            "description": "Optional keyword — area, project, or development name, e.g. \"BSD City\", \"Kemang\", \"Pantai Indah Kapuk\". Leave empty for no keyword filter."
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Power-user input. Paste Lamudi search-result URLs (e.g. https://www.lamudi.co.id/en/for-sale/jakarta/house/) or individual property URLs directly. When provided, these override the Buy/Rent, City, Property Type, Keyword, and Filters settings above.",
            "items": {
              "type": "string"
            }
          },
          "priceMin": {
            "title": "Minimum Price (IDR)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include listings at or above this price in Indonesian Rupiah (e.g. 1000000000 for 1 billion IDR). Leave empty for no minimum. Note: the price range is applied after listings are retrieved (Lamudi has no price filter in the URL), so very tight price ranges may need a higher Max Results to fill a page."
          },
          "priceMax": {
            "title": "Maximum Price (IDR)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include listings at or below this price in Indonesian Rupiah. Leave empty for no maximum. Applied after listings are retrieved (see Minimum Price note)."
          },
          "bedroomsMin": {
            "title": "Minimum Bedrooms",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Only include properties with at least this many bedrooms (0 = studio). Leave empty for any. Ignored for Land and most Commercial searches."
          },
          "bathroomsMin": {
            "title": "Minimum Bathrooms",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Only include properties with at least this many bathrooms. Leave empty for any."
          },
          "areaMin": {
            "title": "Minimum Area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include properties at or above this floor or land area in square meters. Leave empty for no minimum."
          },
          "areaMax": {
            "title": "Maximum Area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include properties at or below this area in square meters. Leave empty for no maximum."
          },
          "sort": {
            "title": "Sort Order",
            "enum": [
              "most-relevant",
              "newest",
              "price-asc",
              "price-desc"
            ],
            "type": "string",
            "description": "How Lamudi orders results before we collect them.",
            "default": "most-relevant"
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of properties to collect across all searches and URLs. Set 0 for unlimited. Results are collected in full pages, so the final page may overshoot this cap by a few records. Very large or unlimited runs are bounded by a built-in safety ceiling of roughly 60,000 properties per search, well above any normal search's inventory.",
            "default": 50
          },
          "fetchDetails": {
            "title": "Fetch full details (slower)",
            "type": "boolean",
            "description": "Open each listing's own page to collect the full photo gallery, land area, and the agent's phone number. This visits one extra page per property, so runs take longer. Leave off for faster runs that still include the cover photo, price, beds, baths, area, location, and agency.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}