{
  "openapi": "3.0.1",
  "info": {
    "title": "Naver Blog Scraper – Search, Full Text & Sponsored Post Check",
    "description": "Naver Blog scraper: keyword search, blog feeds and post URLs with full text (Markdown), likes, comments, hashtags, images and blogger profiles. Flags sponsored posts, paid reviews (체험단, 원고료) and Naver's 내돈내산 badge. No login.",
    "version": "1.0",
    "x-build-id": "rL3I1nBIUmWLm4fca"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/openharvest~naver-blog-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-openharvest-naver-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/openharvest~naver-blog-scraper/runs": {
      "post": {
        "operationId": "runs-sync-openharvest-naver-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/openharvest~naver-blog-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-openharvest-naver-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": {
          "searchKeywords": {
            "title": "Search keywords",
            "type": "array",
            "description": "Keywords to search on Naver Blog (Korean or any language), e.g. <code>선크림 추천</code> or <code>강남 맛집</code>. Each keyword returns up to 1,000 posts (Naver's limit). Leave empty if you only want blogs or post URLs.",
            "items": {
              "type": "string"
            }
          },
          "blogs": {
            "title": "Blogs (feeds + profile)",
            "type": "array",
            "description": "Naver blog IDs or blog URLs, e.g. <code>forlongpole</code> or <code>https://blog.naver.com/forlongpole</code>. Returns the blog's newest posts (with likes and comment counts) and one profile row (neighbors, visitors, topic).",
            "items": {
              "type": "string"
            }
          },
          "postUrls": {
            "title": "Post URLs",
            "type": "array",
            "description": "Individual post URLs, e.g. <code>https://blog.naver.com/blogid/224394538527</code> (desktop, mobile and PostView.naver links all work). These are always scraped with full text.",
            "items": {
              "type": "string"
            }
          },
          "maxPostsPerSource": {
            "title": "Max posts per keyword / blog",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of posts for each keyword and each blog. 0 = no limit (keyword searches stop at Naver's 1,000-result cap). You pay per post, so this also caps your cost.",
            "default": 50
          },
          "includeFullText": {
            "title": "Include full post text (Markdown)",
            "type": "boolean",
            "description": "Open every post and add the full text, Markdown, hashtags, images, links, places, comment count and full-text sponsorship analysis (charged as 'post-full-text' instead of 'post'). Strongly recommended for sponsored-post detection: disclosure banners are only visible in the full post.",
            "default": false
          },
          "sortBy": {
            "title": "Sort search results by",
            "enum": [
              "relevance",
              "date"
            ],
            "type": "string",
            "description": "Relevance (Naver's default ranking) or newest first.",
            "default": "relevance"
          },
          "dateFrom": {
            "title": "Only posts newer than",
            "type": "string",
            "description": "Optional. Absolute date (YYYY-MM-DD) or relative period such as <code>7 days</code>, <code>3 months</code>. Applies to keyword searches and blog feeds."
          },
          "dateTo": {
            "title": "Only posts older than",
            "type": "string",
            "description": "Optional. Absolute date (YYYY-MM-DD) or relative period. Combine with 'Only posts newer than' to get a date range. Tip: split a long range into several runs to get more than 1,000 posts per keyword."
          },
          "includeBlogProfiles": {
            "title": "Add a profile row for each blog in 'Blogs'",
            "type": "boolean",
            "description": "One row per blog with name, nickname, neighbor (subscriber) count, today's and total visitors, power-blog flag, topic and description. Charged as 'blog-profile'.",
            "default": true
          },
          "includeAuthorProfiles": {
            "title": "Add profiles of bloggers found by search",
            "type": "boolean",
            "description": "Also add one profile row for every unique blog that appears in your keyword results - handy for finding influencers by topic. Charged as 'blog-profile'.",
            "default": false
          },
          "deduplicatePosts": {
            "title": "Skip duplicate posts",
            "type": "boolean",
            "description": "Save each post only once per run, even if it matches several keywords. You are not charged for skipped duplicates.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Usually not needed. Enable only if you see many HTTP 403/429 warnings on very large runs.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}