{
  "openapi": "3.0.1",
  "info": {
    "title": "Naver Blog Scraper | 네이버 블로그 Full Text by Blogger or Keyword",
    "description": "Scrape Naver Blog (네이버 블로그) posts with full text: every post of the bloggers you name, no key needed, or keyword search through Naver's official Search API with your own free key. Exact publish time, category, comments, body text, images and links. Monitor mode.",
    "version": "0.1",
    "x-build-id": "dWAwPfspsNPn3fjnk"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/themineworks~naver-blog-posts-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-themineworks-naver-blog-posts-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/themineworks~naver-blog-posts-scraper/runs": {
      "post": {
        "operationId": "runs-sync-themineworks-naver-blog-posts-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/themineworks~naver-blog-posts-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-themineworks-naver-blog-posts-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": {
          "bloggers": {
            "title": "Bloggers (블로거 ID or blog link)",
            "type": "array",
            "description": "One per line: a blogger ID (naverofficial), a blog link (https://blog.naver.com/naverofficial, m.blog.naver.com works too) or a single post link (https://blog.naver.com/naverofficial/224428038966). Each blogger's posts come newest first. No key needed. Up to 100 bloggers per run.",
            "items": {
              "type": "string"
            }
          },
          "maxPostsPerBlogger": {
            "title": "Posts per blogger",
            "minimum": 1,
            "maximum": 6000,
            "type": "integer",
            "description": "Most posts to return for each blogger, newest first. The blog's own list shows 30 posts a page, so 6,000 is 200 pages.",
            "default": 20
          },
          "keywords": {
            "title": "Keywords (검색어)",
            "type": "array",
            "description": "One search per line, in Korean or English (강남 맛집, 제주도 여행, dyson). Searched through Naver's official Search API (blog), so it needs your own Naver key below. Up to 100 per run.",
            "items": {
              "type": "string"
            }
          },
          "naverClientId": {
            "title": "Naver Client ID",
            "type": "string",
            "description": "Client ID of your own Naver application. Free: sign in at developers.naver.com, open Application > Register (애플리케이션 등록), add the Search (검색) API, choose the WEB environment with any URL, then copy the Client ID. Stored encrypted; never logged or written to the output. Only needed for keywords."
          },
          "naverClientSecret": {
            "title": "Naver Client Secret",
            "type": "string",
            "description": "Client Secret of the same Naver application. Stored encrypted; never logged or written to the output."
          },
          "maxPostsPerKeyword": {
            "title": "Posts per keyword",
            "minimum": 1,
            "maximum": 1100,
            "type": "integer",
            "description": "Most posts to return for each keyword. The API serves ranks 1 to 1,099 of any search; every 100 results is one call on your key (25,000 free calls a day).",
            "default": 50
          },
          "sort": {
            "title": "Keyword sort",
            "enum": [
              "sim",
              "date"
            ],
            "type": "string",
            "description": "The order Naver ranks keyword results in. Newest first suits daily monitoring. Bloggers are always newest first.",
            "default": "sim"
          },
          "includeFullText": {
            "title": "Full text of each post",
            "type": "boolean",
            "description": "Opens each post's page for the full body text, exact publish time, category, images, links and comment count (one extra page per post). Off returns the list data only: title, date, link and, for keywords, Naver's snippet. With full text on, a post whose page cannot be read is left out and not charged. Post links always open the page.",
            "default": true
          },
          "postedWithinDays": {
            "title": "Only posts from the last N days",
            "minimum": 1,
            "type": "integer",
            "description": "Leave empty for every post. For bloggers the list stops at the first older post; for keywords sorted newest first the search stops at the first page of older posts. Older posts are never charged."
          },
          "onlyNewPosts": {
            "title": "Only posts not returned before",
            "type": "boolean",
            "description": "For scheduled runs. Returns only posts this same input has not returned in an earlier run, and stops reading a blogger at the first list page with nothing new. The first run returns everything. The memory is kept in a key-value store in your account named after this input.",
            "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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}