{
  "openapi": "3.0.1",
  "info": {
    "title": "Kakao Scraper | Map Places, Reviews and Phones",
    "description": "Kakao Map scraper (카카오맵, 다음지도) for South Korean places: phone, lot and road address, GPS, rating, review and blog counts, opening hours, menu with prices, nearest subway and reviews. 100 places in 27 seconds, 40 fields each. Search in English or Korean, paste links or place IDs. No login needed.",
    "version": "1.0",
    "x-build-id": "lHlORqTFqwTzSQRdT"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/silentflow~kakao-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-silentflow-kakao-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/silentflow~kakao-scraper/runs": {
      "post": {
        "operationId": "runs-sync-silentflow-kakao-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/silentflow~kakao-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-silentflow-kakao-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": {
          "searchQueries": {
            "title": "🔎 Search terms",
            "type": "array",
            "description": "What to look for, in English or Korean: <code>cafe</code>, <code>restaurant</code>, <code>hotel</code>, <code>맛집</code>, <code>치과</code>, a brand like <code>Starbucks</code>, or a full search like <code>강남 카페</code>. Korean finds the most places; a few English words Kakao Map reads poorly (dentist, vet, hostel) are searched in Korean for you. One search returns up to 500 places.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "📍 Locations",
            "type": "array",
            "description": "Where to search, in English or Korean: a city (<code>Busan</code>, <code>Jeju</code>), a district or a neighborhood (<code>Gangnam</code>, <code>Hongdae</code>, <code>성수동</code>). Each search term runs in each location. Well-known places typed in English (<code>Seongsu</code>, <code>Jamsil</code>, <code>Seomyeon</code>) are searched by their Korean name so they land on the right neighborhood. Leave empty to search the terms as they are, which Kakao Map ranks around central Seoul.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "🔢 Max places per search",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Stop each search (one term in one location) after this many places. Kakao Map lists 500 places at most for one search: add locations or terms to go further. Place links and place IDs always return their place.",
            "default": 100
          },
          "startUrls": {
            "title": "🔗 Kakao Map links",
            "type": "array",
            "description": "Paste Kakao Map links. A place link (<code>https://place.map.kakao.com/22549791</code>, <code>map.kakao.com/?itemId=…</code>, <code>kko.to/…</code> share links) returns that place; a search link (<code>https://map.kakao.com/?q=강남 카페</code>) returns its results.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "placeIds": {
            "title": "🆔 Place IDs",
            "type": "array",
            "description": "Kakao Map place IDs, for example <code>22549791</code>: the <code>id</code> column of a previous run or the number at the end of a place link. One row per place, handy to refresh the places you already track.",
            "items": {
              "type": "string"
            }
          },
          "includeDetails": {
            "title": "📋 Add hours, menu, subway and reviews",
            "type": "boolean",
            "description": "Adds the page of each place found by a search to its row: opening hours by day, the menu with prices, the AI summary Kakao Map writes, the nearest subway station and its walking time, the KakaoTalk channel, and what reviewers praised (taste, value, kindness, mood, parking). Off, a row keeps the search fields: phone, address, rating, counts, amenities and photos. Place links and IDs always get the details.",
            "default": true
          },
          "maxReviews": {
            "title": "💬 Reviews per place",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Adds up to this many Kakao Map reviews to each place (rating out of 5, text, date, author and photos) in a <code>reviews</code> list on the place's row. Up to 3 recommended reviews come at no extra wait; more are read 20 at a time. <code>0</code> for none. Needs the place details for places found by a search.",
            "default": 3
          },
          "reviewsSort": {
            "title": "↕️ Review order",
            "enum": [
              "recommended",
              "latest"
            ],
            "type": "string",
            "description": "Which reviews to keep: the ones Kakao Map recommends first, or the most recent ones, handy to follow what visitors say this week.",
            "default": "recommended"
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}