{
  "data": {
    "id": "Rd3z6T4JbPlEIBdK3",
    "actId": "fXexRpaALarFERLPr",
    "userId": "NL4ThgItAwaoBlffQ",
    "startedAt": "2026-11-01T15:29:25.473Z",
    "finishedAt": "2026-11-01T15:29:29.485Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 3919,
      "runTimeSecs": 3.919,
      "computeUnits": 0.004354444444444445,
      "imageSizeBytes": 359319040
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "zifX0mkAFMHe8CatY",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"Naver Search Scraper Input\",\n  \"description\": \"Search Naver web, blog, cafe, news, image, video, integrated and autocomplete results. Returns exact destination URLs, titles, snippets, dates, thumbnails and vertical-specific fields. No login, cookies or proxy setup required.\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"mode\": {\n      \"title\": \"Search mode\",\n      \"type\": \"string\",\n      \"description\": \"Which Naver result surface to collect.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"webSearch\",\n        \"blogSearch\",\n        \"cafeSearch\",\n        \"newsSearch\",\n        \"imageSearch\",\n        \"videoSearch\",\n        \"integratedSearch\",\n        \"autocomplete\"\n      ],\n      \"enumTitles\": [\n        \"Web documents\",\n        \"Blog posts\",\n        \"Cafe posts\",\n        \"News articles\",\n        \"Images\",\n        \"Videos\",\n        \"Integrated SERP blocks (web, place, AI briefing, ads)\",\n        \"Autocomplete suggestions\"\n      ],\n      \"default\": \"webSearch\",\n      \"prefill\": \"webSearch\"\n    },\n    \"searchQueries\": {\n      \"title\": \"Search queries\",\n      \"type\": \"array\",\n      \"description\": \"One or more Korean or any-language queries, e.g. `비비바` or `서울 맛집`. Duplicates and blank entries are removed. (Legacy `searchQuery` and `query` keys are still accepted.)\",\n      \"editor\": \"stringList\",\n      \"default\": [\n        \"비비바\"\n      ],\n      \"prefill\": [\n        \"비비바\"\n      ]\n    },\n    \"maxItems\": {\n      \"title\": \"Max items\",\n      \"type\": \"integer\",\n      \"description\": \"Hard cap on all normal result records across every query (error records are extra).\",\n      \"minimum\": 1,\n      \"maximum\": 10000,\n      \"default\": 100,\n      \"prefill\": 3\n    },\n    \"maxItemsPerQuery\": {\n      \"title\": \"Max items per query\",\n      \"type\": \"integer\",\n      \"description\": \"Hard cap on normal result records produced by each query.\",\n      \"minimum\": 1,\n      \"maximum\": 1000,\n      \"default\": 100,\n      \"prefill\": 3\n    },\n    \"maxPagesPerQuery\": {\n      \"title\": \"Max pages per query\",\n      \"type\": \"integer\",\n      \"description\": \"Page ceiling for paginated modes (blog, cafe, news, image, video). Collection also stops when Naver runs out of results.\",\n      \"minimum\": 1,\n      \"maximum\": 50,\n      \"default\": 10,\n      \"prefill\": 1\n    },\n    \"sortBy\": {\n      \"title\": \"Sort results by\",\n      \"type\": \"string\",\n      \"description\": \"Relevance or newest first. Applies to blog, cafe, news, image and video modes; web and integrated modes use Naver's default order.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"relevance\",\n        \"date\"\n      ],\n      \"enumTitles\": [\n        \"Relevance\",\n        \"Newest first\"\n      ],\n      \"default\": \"relevance\",\n      \"prefill\": \"relevance\"\n    },\n    \"dateRange\": {\n      \"title\": \"Date range\",\n      \"type\": \"string\",\n      \"description\": \"Only return results published inside this window. Applies to blog, cafe, news, image and video modes; web and integrated modes do not support a date filter.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"any\",\n        \"1d\",\n        \"1w\",\n        \"1m\",\n        \"6m\",\n        \"1y\"\n      ],\n      \"enumTitles\": [\n        \"Any time\",\n        \"Past 24 hours\",\n        \"Past week\",\n        \"Past month\",\n        \"Past 6 months\",\n        \"Past year\"\n      ],\n      \"default\": \"any\",\n      \"prefill\": \"any\"\n    },\n    \"includeAds\": {\n      \"title\": \"Include ads\",\n      \"type\": \"boolean\",\n      \"description\": \"Keep paid blog placements and integrated-search ads, marked with `isAd`. (Blog and integrated modes.)\",\n      \"default\": true,\n      \"prefill\": false\n    },\n    \"includeContent\": {\n      \"title\": \"Include full content\",\n      \"type\": \"boolean\",\n      \"description\": \"Fetch the post or article body, inline images and author for blog and news results. One extra request per result; unavailable bodies are omitted. (Blog and news modes.)\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"includeSerpFeatures\": {\n      \"title\": \"Include SERP features\",\n      \"type\": \"boolean\",\n      \"description\": \"Include place cards and AI briefing blocks from the integrated results page, when Naver shows them. (Integrated mode.)\",\n      \"default\": true,\n      \"prefill\": false\n    },\n    \"containsKeyword\": {\n      \"title\": \"Result keyword filter\",\n      \"type\": \"string\",\n      \"description\": \"Only keep results whose title, snippet, domain, source name, cafe name or suggestion contains this text (case-insensitive).\",\n      \"editor\": \"textfield\"\n    },\n    \"domain\": {\n      \"title\": \"Domain filter\",\n      \"type\": \"string\",\n      \"description\": \"Only keep results from this domain (exact host or suffix, e.g. `naver.com` or `blog.naver.com`).\",\n      \"editor\": \"textfield\"\n    }\n  },\n  \"required\": [\n    \"mode\"\n  ]\n}",
    "readme": "# Naver SERP Harvester: Web, Blog, Cafe, News, Image & Video\n\nSearch **Naver** and collect the exact results a Korean reader sees: web documents, blog posts, cafe posts, news articles, images, videos, integrated result blocks and autocomplete suggestions. Every row carries the query that produced it, its position, the result link, a clean title and a normalized publish date whenever Naver prints one, plus a vertical-specific set of fields. No login, cookies or proxy setup is required.\n\n## What this actor does\n\n- **Eight modes:** `webSearch`, `blogSearch`, `cafeSearch`, `newsSearch`, `imageSearch`, `videoSearch`, `integratedSearch`, `autocomplete`\n- **Batch queries:** pass one or many queries; duplicates and blank entries are removed, and the same result found twice is emitted once\n- **Rank and provenance:** every row has `query`, `resultType`, `rank`, `page` and the search page it came from\n- **Filters:** relevance or newest-first sorting, date windows, paid-result control, and optional full blog/news content\n- **Clean output:** exact destination URLs, normalized dates with a precision label, thumbnails, image dimensions, video duration and views, place details, and AI-briefing text and sources\n- **Empty fields are omitted** — you will not see nulls, empty strings or empty arrays in the dataset\n\n## Output per result\n\nEvery normal row:\n\n- `recordType` — `searchResult`; failed queries produce `error`\n- `resultType` — `web`, `blog`, `cafe`, `news`, `image`, `video`, `place`, `aiBriefing`, `ad` or `suggestion`\n- `query`, `mode`, `rank`, `page`\n- `title`, `url`, `resultUrl` (same value), `domain`, `sourceName`, `snippet`\n- `thumbnailUrl`\n- `date` — the raw date text Naver prints\n- `publishedAt` — ISO 8601 timestamp normalized to Korea time\n- `publishedAtPrecision` — `exact`, `date` or `relative`\n- `publishedAtRaw` — the date token used for normalization\n- `serpUrl`, `sourceUrl` — the search page that produced the row\n- `scrapedAt` — ISO 8601 collection timestamp\n\nMode-specific additions:\n\n- **Web:** `isAiSource` when the result is flagged as an AI source\n- **Blog:** `blogId`, `logNo`, `isAd` for paid placements\n- **Cafe:** `cafeName`, `cafeUrl`, `articleId`, `tags[]`, `commentCount`\n- **News:** `naverNewsUrl`, `pressUrl`, `officeId`, `articleId`, `section`, `sectionId`, `isRelated` for cluster articles\n- **Image:** `imageId` (also `imgId`), `imageUrl`, `originalUrl`, `width`, `height`, `section`, `author`\n- **Video:** `duration`, `durationSeconds`, `views`, `videoId`, `platform`, `profileUrl`\n- **Place:** `placeId`, `category`, `rating`, `reviewCount`\n- **AI briefing:** `aiBriefing` with `text`, `generatedAt` and `sources[]` (each with title, URL, platform and publish time)\n- **Autocomplete:** `suggestion`, plus `answer` when Naver returns an answer box\n- **Full content:** `content`, `contentLength`, `images[]` when `includeContent` is on and the source exposes a body\n\nA failed query adds one error row with `recordType: \"error\"`, `errorType`, `message`, `sourceUrl`, `scrapedAt` and `query`.\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `mode` | string | `webSearch` | `webSearch` / `blogSearch` / `cafeSearch` / `newsSearch` / `imageSearch` / `videoSearch` / `integratedSearch` / `autocomplete` |\n| `searchQueries` | array | `[\"비비바\"]` | One or more Korean or any-language queries (legacy `searchQuery` and `query` keys are still accepted) |\n| `maxItems` | integer | `100` | Hard cap on all normal rows across every query (1–10,000) |\n| `maxItemsPerQuery` | integer | `100` | Hard cap per query (1–1,000) |\n| `maxPagesPerQuery` | integer | `10` | Page ceiling for paginated modes (1–50) |\n| `sortBy` | string | `relevance` | `relevance` or `date`; blog, cafe, news, image and video modes |\n| `dateRange` | string | `any` | `any` / `1d` / `1w` / `1m` / `6m` / `1y`; blog, cafe, news, image and video modes |\n| `includeAds` | boolean | `true` | Keep paid blog placements and integrated-search ads, flagged `isAd` |\n| `includeContent` | boolean | `false` | Fetch blog/news bodies, authors and inline images (one extra request per result) |\n| `includeSerpFeatures` | boolean | `true` | Include place cards and AI briefings in `integratedSearch` |\n| `containsKeyword` | string | – | Keep results whose title, snippet, domain, source name, cafe name or suggestion contains this text |\n| `domain` | string | – | Keep results from this host or suffix, e.g. `blog.naver.com` |\n\n### Example: newest blog posts with full bodies\n\n```json\n{\n    \"mode\": \"blogSearch\",\n    \"searchQueries\": [\"비비바\", \"서울 맛집\"],\n    \"maxItems\": 200,\n    \"maxItemsPerQuery\": 100,\n    \"maxPagesPerQuery\": 5,\n    \"sortBy\": \"date\",\n    \"dateRange\": \"1m\",\n    \"includeAds\": false,\n    \"includeContent\": true\n}\n```\n\n### Example: cafe discussion from the past week\n\n```json\n{\n    \"mode\": \"cafeSearch\",\n    \"searchQueries\": [\"제주도 여행\"],\n    \"maxItems\": 100,\n    \"sortBy\": \"date\",\n    \"dateRange\": \"1w\"\n}\n```\n\n### Example: news and image monitoring for a brand\n\n```json\n{\n    \"mode\": \"newsSearch\",\n    \"searchQueries\": [\"BTS\", \"삼성전자\"],\n    \"maxItems\": 300,\n    \"maxPagesPerQuery\": 10,\n    \"sortBy\": \"date\"\n}\n```\n\n### Example: integrated page with places and AI briefing\n\n```json\n{\n    \"mode\": \"integratedSearch\",\n    \"searchQueries\": [\"비트코인 전망\"],\n    \"maxItems\": 50,\n    \"includeAds\": false,\n    \"includeSerpFeatures\": true\n}\n```\n\n### Example: autocomplete ideas\n\n```json\n{\n    \"mode\": \"autocomplete\",\n    \"searchQueries\": [\"비비\", \"서울 맛집\"],\n    \"maxItems\": 20\n}\n```\n\n## Use cases\n\n- **Korean SEO and rank tracking** — record which pages and blogs rank for a query, in relevance or newest-first order, with stable ranks and exact URLs\n- **Brand and news monitoring** — batch a company or product name, restrict to a date window, and keep publisher, section, headline, snippet and publish time\n- **Content and RAG datasets** — collect full blog and news bodies with authors, images and normalized timestamps\n- **Local and place research** — pull the place pack from integrated results with ratings, review counts, categories and map links\n- **Visual and video research** — collect images with original dimensions and videos with duration, views, channel and platform\n- **Keyword discovery** — expand seed terms with Naver autocomplete suggestions\n\n## FAQ\n\n**Do I need a Naver account, cookies or a proxy?** No. The actor collects public Naver result pages without login, cookies or any proxy configuration.\n\n**Why does `webSearch` return only a handful of rows?** Naver's web-document section on the integrated page currently shows roughly 2–17 documents per query and does not paginate. Use `integratedSearch` to also capture places, ads and AI briefings, or the dedicated blog, cafe, news, image and video modes for deeper verticals.\n\n**How deep can the verticals go?** It depends on the query. Broad Korean queries can return hundreds of blog, cafe, news, image or video rows; narrow or very recent queries return fewer. The actor stops when Naver runs out of results, when a page repeats, or when your `maxPagesPerQuery` / `maxItems` limits are reached. No rows are invented to fill a quota.\n\n**Are paid results included?** Only when `includeAds` is on. Paid blog placements and integrated-search ads are marked `isAd`, and you can switch them off.\n\n**What does `includeContent` add?** For blog and news rows it fetches the post or article body, inline image URLs, the author where available, and an exact publish time. Some posts are media-only or paywalled; those rows keep their card data and simply omit the missing content fields.\n\n**Why are some publish dates relative?** Naver often prints labels such as `3주 전` or `11시간 전`. Those rows keep the raw label in `date` / `publishedAtRaw`, get a computed `publishedAt`, and are marked `publishedAtPrecision: \"relative\"` so you can treat them differently from exact timestamps.\n\n**Why is there no cafe body or comment text?** Naver does not expose cafe bodies or comment threads on public search pages. Cafe rows include the card fields Naver prints, including the comment count.\n\n**Why do some image links look like redirects?** Naver's image tab returns signed bridge links for shopping and clip results. They are the official destination Naver serves at collection time; some merchant or short-link tokens expire later, so keep `imageUrl` / `originalUrl` when you need the media itself.\n\n**What is `integratedSearch`?** It collects the blocks on Naver's main result page: web documents, paid ads, place cards and the AI briefing when Naver generates one. Place and AI rows can be turned off with `includeSerpFeatures`.\n\n**Can I search several queries at once?** Yes. Each row records the query that found it, and a result found by two queries is emitted only once.\n\n**Is this affiliated with Naver?** No. This is an independent actor that reads Naver's public search results; it is not endorsed by or affiliated with NAVER Corporation.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "naver-web-blog-cafe-and-news-results-scraper",
      "title": "Naver SERP Harvester: Web, Blog, Cafe, News, Image & Video",
      "description": "Search Naver web, blog, cafe, news, image, video, integrated and autocomplete results. Get exact URLs, titles, snippets, dates, thumbnails, ranks and vertical fields, with multi-query batches, date sort and date windows. No login or proxy.",
      "version": "1.0",
      "buildTag": "latest",
      "dockerfile": "./Dockerfile",
      "readme": "# Naver SERP Harvester: Web, Blog, Cafe, News, Image & Video\n\nSearch **Naver** and collect the exact results a Korean reader sees: web documents, blog posts, cafe posts, news articles, images, videos, integrated result blocks and autocomplete suggestions. Every row carries the query that produced it, its position, the result link, a clean title and a normalized publish date whenever Naver prints one, plus a vertical-specific set of fields. No login, cookies or proxy setup is required.\n\n## What this actor does\n\n- **Eight modes:** `webSearch`, `blogSearch`, `cafeSearch`, `newsSearch`, `imageSearch`, `videoSearch`, `integratedSearch`, `autocomplete`\n- **Batch queries:** pass one or many queries; duplicates and blank entries are removed, and the same result found twice is emitted once\n- **Rank and provenance:** every row has `query`, `resultType`, `rank`, `page` and the search page it came from\n- **Filters:** relevance or newest-first sorting, date windows, paid-result control, and optional full blog/news content\n- **Clean output:** exact destination URLs, normalized dates with a precision label, thumbnails, image dimensions, video duration and views, place details, and AI-briefing text and sources\n- **Empty fields are omitted** — you will not see nulls, empty strings or empty arrays in the dataset\n\n## Output per result\n\nEvery normal row:\n\n- `recordType` — `searchResult`; failed queries produce `error`\n- `resultType` — `web`, `blog`, `cafe`, `news`, `image`, `video`, `place`, `aiBriefing`, `ad` or `suggestion`\n- `query`, `mode`, `rank`, `page`\n- `title`, `url`, `resultUrl` (same value), `domain`, `sourceName`, `snippet`\n- `thumbnailUrl`\n- `date` — the raw date text Naver prints\n- `publishedAt` — ISO 8601 timestamp normalized to Korea time\n- `publishedAtPrecision` — `exact`, `date` or `relative`\n- `publishedAtRaw` — the date token used for normalization\n- `serpUrl`, `sourceUrl` — the search page that produced the row\n- `scrapedAt` — ISO 8601 collection timestamp\n\nMode-specific additions:\n\n- **Web:** `isAiSource` when the result is flagged as an AI source\n- **Blog:** `blogId`, `logNo`, `isAd` for paid placements\n- **Cafe:** `cafeName`, `cafeUrl`, `articleId`, `tags[]`, `commentCount`\n- **News:** `naverNewsUrl`, `pressUrl`, `officeId`, `articleId`, `section`, `sectionId`, `isRelated` for cluster articles\n- **Image:** `imageId` (also `imgId`), `imageUrl`, `originalUrl`, `width`, `height`, `section`, `author`\n- **Video:** `duration`, `durationSeconds`, `views`, `videoId`, `platform`, `profileUrl`\n- **Place:** `placeId`, `category`, `rating`, `reviewCount`\n- **AI briefing:** `aiBriefing` with `text`, `generatedAt` and `sources[]` (each with title, URL, platform and publish time)\n- **Autocomplete:** `suggestion`, plus `answer` when Naver returns an answer box\n- **Full content:** `content`, `contentLength`, `images[]` when `includeContent` is on and the source exposes a body\n\nA failed query adds one error row with `recordType: \"error\"`, `errorType`, `message`, `sourceUrl`, `scrapedAt` and `query`.\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `mode` | string | `webSearch` | `webSearch` / `blogSearch` / `cafeSearch` / `newsSearch` / `imageSearch` / `videoSearch` / `integratedSearch` / `autocomplete` |\n| `searchQueries` | array | `[\"비비바\"]` | One or more Korean or any-language queries (legacy `searchQuery` and `query` keys are still accepted) |\n| `maxItems` | integer | `100` | Hard cap on all normal rows across every query (1–10,000) |\n| `maxItemsPerQuery` | integer | `100` | Hard cap per query (1–1,000) |\n| `maxPagesPerQuery` | integer | `10` | Page ceiling for paginated modes (1–50) |\n| `sortBy` | string | `relevance` | `relevance` or `date`; blog, cafe, news, image and video modes |\n| `dateRange` | string | `any` | `any` / `1d` / `1w` / `1m` / `6m` / `1y`; blog, cafe, news, image and video modes |\n| `includeAds` | boolean | `true` | Keep paid blog placements and integrated-search ads, flagged `isAd` |\n| `includeContent` | boolean | `false` | Fetch blog/news bodies, authors and inline images (one extra request per result) |\n| `includeSerpFeatures` | boolean | `true` | Include place cards and AI briefings in `integratedSearch` |\n| `containsKeyword` | string | – | Keep results whose title, snippet, domain, source name, cafe name or suggestion contains this text |\n| `domain` | string | – | Keep results from this host or suffix, e.g. `blog.naver.com` |\n\n### Example: newest blog posts with full bodies\n\n```json\n{\n    \"mode\": \"blogSearch\",\n    \"searchQueries\": [\"비비바\", \"서울 맛집\"],\n    \"maxItems\": 200,\n    \"maxItemsPerQuery\": 100,\n    \"maxPagesPerQuery\": 5,\n    \"sortBy\": \"date\",\n    \"dateRange\": \"1m\",\n    \"includeAds\": false,\n    \"includeContent\": true\n}\n```\n\n### Example: cafe discussion from the past week\n\n```json\n{\n    \"mode\": \"cafeSearch\",\n    \"searchQueries\": [\"제주도 여행\"],\n    \"maxItems\": 100,\n    \"sortBy\": \"date\",\n    \"dateRange\": \"1w\"\n}\n```\n\n### Example: news and image monitoring for a brand\n\n```json\n{\n    \"mode\": \"newsSearch\",\n    \"searchQueries\": [\"BTS\", \"삼성전자\"],\n    \"maxItems\": 300,\n    \"maxPagesPerQuery\": 10,\n    \"sortBy\": \"date\"\n}\n```\n\n### Example: integrated page with places and AI briefing\n\n```json\n{\n    \"mode\": \"integratedSearch\",\n    \"searchQueries\": [\"비트코인 전망\"],\n    \"maxItems\": 50,\n    \"includeAds\": false,\n    \"includeSerpFeatures\": true\n}\n```\n\n### Example: autocomplete ideas\n\n```json\n{\n    \"mode\": \"autocomplete\",\n    \"searchQueries\": [\"비비\", \"서울 맛집\"],\n    \"maxItems\": 20\n}\n```\n\n## Use cases\n\n- **Korean SEO and rank tracking** — record which pages and blogs rank for a query, in relevance or newest-first order, with stable ranks and exact URLs\n- **Brand and news monitoring** — batch a company or product name, restrict to a date window, and keep publisher, section, headline, snippet and publish time\n- **Content and RAG datasets** — collect full blog and news bodies with authors, images and normalized timestamps\n- **Local and place research** — pull the place pack from integrated results with ratings, review counts, categories and map links\n- **Visual and video research** — collect images with original dimensions and videos with duration, views, channel and platform\n- **Keyword discovery** — expand seed terms with Naver autocomplete suggestions\n\n## FAQ\n\n**Do I need a Naver account, cookies or a proxy?** No. The actor collects public Naver result pages without login, cookies or any proxy configuration.\n\n**Why does `webSearch` return only a handful of rows?** Naver's web-document section on the integrated page currently shows roughly 2–17 documents per query and does not paginate. Use `integratedSearch` to also capture places, ads and AI briefings, or the dedicated blog, cafe, news, image and video modes for deeper verticals.\n\n**How deep can the verticals go?** It depends on the query. Broad Korean queries can return hundreds of blog, cafe, news, image or video rows; narrow or very recent queries return fewer. The actor stops when Naver runs out of results, when a page repeats, or when your `maxPagesPerQuery` / `maxItems` limits are reached. No rows are invented to fill a quota.\n\n**Are paid results included?** Only when `includeAds` is on. Paid blog placements and integrated-search ads are marked `isAd`, and you can switch them off.\n\n**What does `includeContent` add?** For blog and news rows it fetches the post or article body, inline image URLs, the author where available, and an exact publish time. Some posts are media-only or paywalled; those rows keep their card data and simply omit the missing content fields.\n\n**Why are some publish dates relative?** Naver often prints labels such as `3주 전` or `11시간 전`. Those rows keep the raw label in `date` / `publishedAtRaw`, get a computed `publishedAt`, and are marked `publishedAtPrecision: \"relative\"` so you can treat them differently from exact timestamps.\n\n**Why is there no cafe body or comment text?** Naver does not expose cafe bodies or comment threads on public search pages. Cafe rows include the card fields Naver prints, including the comment count.\n\n**Why do some image links look like redirects?** Naver's image tab returns signed bridge links for shopping and clip results. They are the official destination Naver serves at collection time; some merchant or short-link tokens expire later, so keep `imageUrl` / `originalUrl` when you need the media itself.\n\n**What is `integratedSearch`?** It collects the blocks on Naver's main result page: web documents, paid ads, place cards and the AI briefing when Naver generates one. Place and AI rows can be turned off with `includeSerpFeatures`.\n\n**Can I search several queries at once?** Yes. Each row records the query that found it, and a result found by two queries is emitted only once.\n\n**Is this affiliated with Naver?** No. This is an independent actor that reads Naver's public search results; it is not endorsed by or affiliated with NAVER Corporation.\n",
      "input": {
        "title": "Naver Search Scraper Input",
        "description": "Search Naver web, blog, cafe, news, image, video, integrated and autocomplete results. Returns exact destination URLs, titles, snippets, dates, thumbnails and vertical-specific fields. No login, cookies or proxy setup required.",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "mode": {
            "title": "Search mode",
            "type": "string",
            "description": "Which Naver result surface to collect.",
            "editor": "select",
            "enum": [
              "webSearch",
              "blogSearch",
              "cafeSearch",
              "newsSearch",
              "imageSearch",
              "videoSearch",
              "integratedSearch",
              "autocomplete"
            ],
            "enumTitles": [
              "Web documents",
              "Blog posts",
              "Cafe posts",
              "News articles",
              "Images",
              "Videos",
              "Integrated SERP blocks (web, place, AI briefing, ads)",
              "Autocomplete suggestions"
            ],
            "default": "webSearch",
            "prefill": "webSearch"
          },
          "searchQueries": {
            "title": "Search queries",
            "type": "array",
            "description": "One or more Korean or any-language queries, e.g. `비비바` or `서울 맛집`. Duplicates and blank entries are removed. (Legacy `searchQuery` and `query` keys are still accepted.)",
            "editor": "stringList",
            "default": [
              "비비바"
            ],
            "prefill": [
              "비비바"
            ]
          },
          "maxItems": {
            "title": "Max items",
            "type": "integer",
            "description": "Hard cap on all normal result records across every query (error records are extra).",
            "minimum": 1,
            "maximum": 10000,
            "default": 100,
            "prefill": 3
          },
          "maxItemsPerQuery": {
            "title": "Max items per query",
            "type": "integer",
            "description": "Hard cap on normal result records produced by each query.",
            "minimum": 1,
            "maximum": 1000,
            "default": 100,
            "prefill": 3
          },
          "maxPagesPerQuery": {
            "title": "Max pages per query",
            "type": "integer",
            "description": "Page ceiling for paginated modes (blog, cafe, news, image, video). Collection also stops when Naver runs out of results.",
            "minimum": 1,
            "maximum": 50,
            "default": 10,
            "prefill": 1
          },
          "sortBy": {
            "title": "Sort results by",
            "type": "string",
            "description": "Relevance or newest first. Applies to blog, cafe, news, image and video modes; web and integrated modes use Naver's default order.",
            "editor": "select",
            "enum": [
              "relevance",
              "date"
            ],
            "enumTitles": [
              "Relevance",
              "Newest first"
            ],
            "default": "relevance",
            "prefill": "relevance"
          },
          "dateRange": {
            "title": "Date range",
            "type": "string",
            "description": "Only return results published inside this window. Applies to blog, cafe, news, image and video modes; web and integrated modes do not support a date filter.",
            "editor": "select",
            "enum": [
              "any",
              "1d",
              "1w",
              "1m",
              "6m",
              "1y"
            ],
            "enumTitles": [
              "Any time",
              "Past 24 hours",
              "Past week",
              "Past month",
              "Past 6 months",
              "Past year"
            ],
            "default": "any",
            "prefill": "any"
          },
          "includeAds": {
            "title": "Include ads",
            "type": "boolean",
            "description": "Keep paid blog placements and integrated-search ads, marked with `isAd`. (Blog and integrated modes.)",
            "default": true,
            "prefill": false
          },
          "includeContent": {
            "title": "Include full content",
            "type": "boolean",
            "description": "Fetch the post or article body, inline images and author for blog and news results. One extra request per result; unavailable bodies are omitted. (Blog and news modes.)",
            "default": false,
            "prefill": false
          },
          "includeSerpFeatures": {
            "title": "Include SERP features",
            "type": "boolean",
            "description": "Include place cards and AI briefing blocks from the integrated results page, when Naver shows them. (Integrated mode.)",
            "default": true,
            "prefill": false
          },
          "containsKeyword": {
            "title": "Result keyword filter",
            "type": "string",
            "description": "Only keep results whose title, snippet, domain, source name, cafe name or suggestion contains this text (case-insensitive).",
            "editor": "textfield"
          },
          "domain": {
            "title": "Domain filter",
            "type": "string",
            "description": "Only keep results from this domain (exact host or suffix, e.g. `naver.com` or `blog.naver.com`).",
            "editor": "textfield"
          }
        },
        "required": [
          "mode"
        ]
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "Naver SERP Harvester Output",
        "description": "Naver results across web, blog, cafe, news, image, video, integrated blocks and autocomplete — exact URLs, titles, snippets, dates, thumbnails, ranks and vertical-specific fields.",
        "properties": {
          "results": {
            "type": "string",
            "title": "Naver search results",
            "description": "Dataset containing all collected Naver search results and any query error records.",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "views": {
            "overview": {
              "title": "Naver search results",
              "transformation": {
                "fields": [
                  "query",
                  "resultType",
                  "rank",
                  "title",
                  "url",
                  "date",
                  "sourceName"
                ]
              },
              "display": {
                "component": "table",
                "properties": {}
              }
            }
          }
        }
      },
      "environmentVariables": {}
    },
    "buildNumber": "1.0.2",
    "imageDigest": "c1458055d509c0abb29089ac047774dd1bdd9846e4168e2efafdf89ba0b716e3",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "1.0"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.004354444444444445
    }
  }
}