{
  "openapi": "3.0.1",
  "info": {
    "title": "Indonesia Government Auction (Lelang DJKN) Scraper",
    "description": "Extract live property, vehicle and asset auction lots from lelang.go.id, Indonesia's official state auction portal (DJKN). Search the full catalogue, filter by category, scope to any of the 71 KPKNL offices, or pull lot detail with reserve price, deposit and ownership documents.",
    "version": "0.0",
    "x-build-id": "xxdhKaKiABXiQ2eNN"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fanndev~lelang-djkn-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fanndev-lelang-djkn-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/fanndev~lelang-djkn-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fanndev-lelang-djkn-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/fanndev~lelang-djkn-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fanndev-lelang-djkn-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",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "catalog",
              "kpknl",
              "detail",
              "feed",
              "reference"
            ],
            "type": "string",
            "description": "\"catalog\" browses/searches every live auction lot nationwide. \"kpknl\" scopes the same catalogue to one or more KPKNL offices (this is the ONLY way to filter geographically -- the catalogue endpoint silently ignores province/city params). \"detail\" fetches full detail for specific lot IDs/URLs. \"feed\" pulls a curated feed (hot / ending soon / live now). \"reference\" lists the live category and KPKNL office tables you need to drive the other modes.",
            "default": "catalog"
          },
          "search": {
            "title": "Search text",
            "type": "string",
            "description": "\"catalog\" / \"kpknl\" mode: free-text search over lot names (e.g. \"toyota\", \"rumah jakarta\"). Leave blank to list everything."
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "\"catalog\" / \"kpknl\" mode: restrict to one or more asset categories. Multi-select is supported (the filter is OR'ed upstream). Run mode=reference for the live list.",
            "items": {
              "type": "string",
              "enum": [
                "Tanah",
                "Rumah",
                "Ruko",
                "Pabrik",
                "Hotel dan Villa",
                "Mobil",
                "Motor",
                "Bongkaran",
                "Kapal",
                "Besi Tua",
                "Elektronik",
                "Kayu",
                "Inventaris",
                "UMKM",
                "Gudang",
                "Toko",
                "Apartemen",
                "Lain-lain"
              ]
            }
          },
          "umkmOnly": {
            "title": "UMKM lots only (catalog mode)",
            "type": "boolean",
            "description": "\"catalog\" mode only -- use the portal's separate UMKM (small-business asset) catalogue instead of the general one.",
            "default": false
          },
          "office": {
            "title": "KPKNL office",
            "type": "string",
            "description": "\"kpknl\" mode: a KPKNL office name (partial, case-insensitive -- e.g. \"Denpasar\") or its UUID. Run mode=reference to see all 71 offices with their province and city."
          },
          "offices": {
            "title": "KPKNL offices",
            "type": "array",
            "description": "\"kpknl\" mode: several offices to process in one run.",
            "items": {
              "type": "string"
            }
          },
          "lotId": {
            "title": "Lot ID or URL",
            "type": "string",
            "description": "\"detail\" mode: a lot UUID, or any lelang.go.id URL containing one (the UUID is extracted automatically)."
          },
          "lotIds": {
            "title": "Lot IDs or URLs",
            "type": "array",
            "description": "\"detail\" mode: several lot IDs/URLs to fetch in one run.",
            "items": {
              "type": "string"
            }
          },
          "feed": {
            "title": "Feed (feed mode)",
            "enum": [
              "hot",
              "ending-soon",
              "live"
            ],
            "type": "string",
            "description": "\"feed\" mode only -- which curated feed to pull.",
            "default": "hot"
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Max lots to return per catalogue/office/feed. Pagination is followed automatically until this cap or the end of the result set. The portal carried ~11,900 live lots at build time, so raise this to pull the whole country.",
            "default": 200
          },
          "maxConcurrency": {
            "title": "Max concurrent workers",
            "minimum": 1,
            "maximum": 16,
            "type": "integer",
            "description": "\"detail\" mode only -- how many lot IDs to fetch in parallel.",
            "default": 4
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy configuration. Not required -- api.lelang.go.id returned clean 200s with no WAF, no TLS impersonation and no headers during recon (see CRAWLING_METHOD.md) -- but kept on by default for production robustness against rate limiting on a government host.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}