{
  "openapi": "3.0.1",
  "info": {
    "title": "Naver Map Scraper - Places, Reviews & Blog Posts (No Login)",
    "description": "Scrape Naver Map (네이버 지도) places by keyword or link: name, category, phone, address, coordinates, rating, review counts, hours status. Add every visitor review (full list, not the first page) and the blog reviews of each place, or search Naver Blog posts by keyword. No login.",
    "version": "1.0",
    "x-build-id": "mn6nGWEcOVF8W5xkO"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/benthepythondev~naver-map-reviews-blog-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-benthepythondev-naver-map-reviews-blog-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/benthepythondev~naver-map-reviews-blog-scraper/runs": {
      "post": {
        "operationId": "runs-sync-benthepythondev-naver-map-reviews-blog-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/benthepythondev~naver-map-reviews-blog-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-benthepythondev-naver-map-reviews-blog-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": "Place searches",
            "type": "array",
            "description": "What you would type into Naver Map, in Korean for best results, e.g. 강남역 맛집, 부산 호텔, 홍대 카페. Each search returns up to 300 places, ranked as Naver ranks them.",
            "items": {
              "type": "string"
            }
          },
          "placeUrls": {
            "title": "Place links or ids",
            "type": "array",
            "description": "Naver Map or Naver Place links (map.naver.com/p/entry/place/31110991, m.place.naver.com/restaurant/31110991/home) or bare place ids. Use this to read the reviews of places you already know.",
            "items": {
              "type": "string"
            }
          },
          "maxPlacesPerQuery": {
            "title": "Places per search",
            "minimum": 1,
            "maximum": 300,
            "type": "integer",
            "description": "How many places to save for each search. Naver shows at most 300 per search.",
            "default": 20
          },
          "latitude": {
            "title": "Search center latitude",
            "type": "number",
            "description": "Optional. Rank places by distance from this point, like a phone user standing there (e.g. 37.4979 for Gangnam Station). Needs longitude too."
          },
          "longitude": {
            "title": "Search center longitude",
            "type": "number",
            "description": "Optional. Longitude of the search center (e.g. 127.0276)."
          },
          "visitorReviewsPerPlace": {
            "title": "Visitor reviews per place",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "0 = none. Visitor reviews (방문자 리뷰) of each place, newest first: stars, text, visit date, voted keywords, owner reply, photos. The whole list is reachable, not only the first page.",
            "default": 0
          },
          "blogReviewsPerPlace": {
            "title": "Blog reviews per place",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "0 = none. Naver Blog and Cafe posts that Naver links to each place (블로그 리뷰): title, text preview, link, date. Naver links about 110 at most per place.",
            "default": 0
          },
          "reviewsSince": {
            "title": "Only reviews since",
            "type": "string",
            "description": "Optional, YYYY-MM-DD. Skip visitor and blog reviews older than this day; good for a weekly monitoring run."
          },
          "blogKeywords": {
            "title": "Naver Blog keyword search",
            "type": "array",
            "description": "Search Naver Blog posts by keyword (e.g. 성수동 카페, 다이어트 식단). Each keyword returns up to 1,000 posts with title, snippet, link, blog name and date.",
            "items": {
              "type": "string"
            }
          },
          "maxPostsPerKeyword": {
            "title": "Blog posts per keyword",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "How many blog posts to save per keyword. Naver shows at most 1,000.",
            "default": 30
          },
          "blogSort": {
            "title": "Blog sort",
            "enum": [
              "relevance",
              "recent"
            ],
            "type": "string",
            "description": "Order of blog search results.",
            "default": "relevance"
          },
          "blogStartDate": {
            "title": "Blog posts from",
            "type": "string",
            "description": "Optional, YYYY-MM-DD. Only blog posts published on or after this day."
          },
          "blogEndDate": {
            "title": "Blog posts until",
            "type": "string",
            "description": "Optional, YYYY-MM-DD. Only blog posts published on or before this day."
          },
          "language": {
            "title": "Language of place data",
            "enum": [
              "ko",
              "en"
            ],
            "type": "string",
            "description": "Korean gives Naver's original names and addresses; English gives Naver's English names and categories where they exist.",
            "default": "ko"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}