# Naver Cafe Scraper: Community Search, Posts & Boards (`scrapingmonkey/naver-cafe-scraper`) Actor

Search Naver Cafe communities and posts, collect public community or board listings, and extract publicly readable articles. Export names, descriptions, member counts, post text, images and author details for Korean community research.

- **URL**: https://apify.com/scrapingmonkey/naver-cafe-scraper.md
- **Developed by:** [ScrapingMonkey](https://apify.com/scrapingmonkey) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

**Naver Cafe Scraper** helps you discover Naver Cafe communities and research the posts available to visitors. Search across cafes, review community profiles or collect a public board’s post list, then inspect readable posts with text and images for Korean community and consumer research.

Find communities and discussions around a market or interest, compare cafe descriptions and review readable posts. Organize the results into a focused source list for community and product research.

| At a glance | Details |
|---|---|
| 📥 Input | Search fields or links to the selected items; see the examples below |
| 📤 Output | One row per post or community, depending on the mode |
| 📄 Pagination | Automatic up to `maxResults` for each input, when more results are available |
| 🔐 Login required | No |
| ⚡ Processing | Multiple inputs per run with automatic retries for temporary errors |
| 💾 Delivery | One complete Apify dataset table; CSV, JSON and Excel export |

### What the Naver Cafe scraper collects 📱

Search Naver Cafe communities and posts, collect public community or board listings, and extract publicly readable articles. Export names, descriptions, member counts, post text, images and author details for Korean community research.

| Collection | What you receive |
|---|---|
| Naver Cafe post search scraper | Search Naver Cafe posts across communities. Export titles, public search snippets, source cafes, dates, images and links. |
| Naver Cafe community profiles scraper | Get public Naver Cafe details including the community name, description, canonical address and images. |
| Naver Cafe public post text scraper | Extract complete publicly readable Naver Cafe posts with text, HTML, images, outbound links, authors and visible counters. |
| Naver Cafe board posts scraper | Collect the public post list of a Naver Cafe community or section. Export summaries, authors, dates and visible engagement counts. |
| Naver Cafe community search scraper | Find Naver Cafe communities by keyword. Export community names, descriptions, categories, regions and public member and post counts. |

Data can include:

- Communities: Cafe names, descriptions, source links and images.
- Community context: Available categories, regions, member counts and post counts.
- Search results: Post titles, public snippets, source cafes and dates.
- Board listings: Post summaries, authors and visible engagement counts.
- Readable posts: Available full text, content markup and authors.
- Attachments: Images and outbound links exposed in public posts.

### How to scrape Naver Cafe 🚀

1. Choose **Post Search** in **What to collect**, or select another collection mode.
2. Fill in the search fields, or paste links to the items you want to collect.
3. Set the maximum results and any optional filters.
4. Start the Actor and review the collected rows.
5. Export the dataset or connect it to your application.

#### Naver Cafe post search scraper — input example

```json
{
  "mode": "post_search",
  "searchQueries": [
    "여행"
  ],
  "maxResults": 10
}
```

`maxResults: 10` means up to 10 results for **each input**. It does not guarantee that the website has that many matches. You can set the limit as low as 1.

#### Naver Cafe community profiles scraper — input example

```json
{
  "mode": "cafe_card",
  "cafeUrls": [
    "https://cafe.naver.com/joonggonara"
  ],
  "maxResults": 10
}
```

#### Naver Cafe public post text scraper — input example

```json
{
  "mode": "post_card",
  "postUrls": [
    "https://cafe.naver.com/f-e/cafes/10050146/articles/1133411326"
  ],
  "maxResults": 10
}
```

#### Naver Cafe board posts scraper — input example

```json
{
  "mode": "board_posts",
  "boardUrls": [
    "https://cafe.naver.com/f-e/cafes/10050146/menus/1256"
  ],
  "maxResults": 10
}
```

#### Naver Cafe community search scraper — input example

```json
{
  "mode": "cafe_search",
  "searchQueries": [
    "여행"
  ],
  "maxResults": 10
}
```

### Naver Cafe data fields and complete output 📦

| Field group | Included data |
|---|---|
| Communities | Cafe names, descriptions, source links and images. |
| Community context | Available categories, regions, member counts and post counts. |
| Search results | Post titles, public snippets, source cafes and dates. |
| Board listings | Post summaries, authors and visible engagement counts. |
| Readable posts | Available full text, content markup and authors. |
| Attachments | Images and outbound links exposed in public posts. |

Each collected item is a separate row. `input` identifies the submitted value and `result_type` identifies the selected mode. All returned fields appear in one table; columns that do not apply to a mode can be empty.

A complete JSON result is shown for every collection mode below, in the same order as the input examples. Each example includes every field for its mode; text and lists are not shortened. Values are representative and can change.

#### Naver Cafe post search scraper — complete JSON result

```json
{
  "result_type": "post_search",
  "input": "여행",
  "status": "success",
  "id": "29349320:448290",
  "cafe_id": "29349320",
  "url": "https://cafe.naver.com/wgang/448290",
  "post_id": "448290",
  "menu_id": "13",
  "title": "해외여행 가실때 패키지? 자유?어떻게가세요?",
  "cafe_name": "[우갱] 우아한 갱년기(40대 50대 여성 커뮤니티/성형/패션/뷰티)",
  "cafe_slug": "wgang",
  "snippet": "요즘 시기다보니 방송에 해외여행이 많이나오네요. 여행 어떻게 계획하세요? 패키지그냥예약. 아님 자유여행으로 계획? 전 솔직히 혼자가면 자유여행갈꺼같은데 가족이랑 가려면 간신히 시켜안 찾아보는척!만하고...",
  "published_date_raw": "2026.09.06.",
  "image_count": 0,
  "thumbnail_urls": []
}
```

#### Naver Cafe community profiles scraper — complete JSON result

```json
{
  "result_type": "cafe_card",
  "input": "10050146",
  "status": "success",
  "id": "10050146",
  "cafe_id": "10050146",
  "slug": "joonggonara",
  "url": "https://cafe.naver.com/joonggonara",
  "name": "중고나라",
  "introduction": "거래 상품은 앱에서만 등록되며 카페와 사이트에 노출됩니다.",
  "is_power_cafe": true,
  "image_url": "https://cafeptthumb-phinf.pstatic.net/MjAyMzA1MjVfMTkx/MDAxNjg0OTgzNzM0MDk3.1vPCs_txao5shn_eFMSdr1XkuJmADmQ--qAqAzAycscg.HnwLC_x51hL6Lh0YijcpFGCZozS9fcgLRvwpVm6B_8Yg.PNG/Icon-58X583x.png",
  "mobile_image_url": "https://cafeptthumb-phinf.pstatic.net/MjAyMzA1MjVfMTkx/MDAxNjg0OTgzNzM0MDk3.1vPCs_txao5shn_eFMSdr1XkuJmADmQ--qAqAzAycscg.HnwLC_x51hL6Lh0YijcpFGCZozS9fcgLRvwpVm6B_8Yg.PNG/Icon-58X583x.png"
}
```

#### Naver Cafe public post text scraper — complete JSON result

```json
{
  "result_type": "post_card",
  "input": "10050146/1133411326",
  "status": "success",
  "id": "10050146:1133411326",
  "cafe_id": "10050146",
  "url": "https://cafe.naver.com/f-e/cafes/10050146/articles/1133411326",
  "post_id": "1133411326",
  "menu_id": "1257",
  "title": "이번 주말, 마음 따뜻해질 드라마 추천",
  "text": "이번 주말, 따뜻한 이야기 한 편 어떠세요?\n가족이라서 더 미안했고,\n가족이라서 더 사랑했던 순간이 있으셨나요?\n​\nKBS2 주말드라마 〈사랑이 온다〉는\n깨진 가족의 파편을 모아\n세상에서 가장 따뜻한 인생 한 상을 차려내는\n두 남녀의 이야기를 담은 패밀리 드라마입니다.\n​\n웃음과 감동,\n그리고 누구나 공감할 수 있는 가족 이야기가\n주말 저녁을 따뜻하게 채워드립니다\n​\n📺 방송\n매주 토·일 저녁 7시 55분 KBS2\n​\n👇 보러가기\nhttps://vvd.bz/hQ7N\n​",
  "content_html": "<div class=\"se-viewer se-theme-default\" lang=\"ko-KR\">\n    <!-- SE_DOC_HEADER_START -->\n    <!--@CONTENTS_HEADER-->\n    <!-- SE_DOC_HEADER_END -->\n    <div class=\"se-main-container\">\n                <div class=\"se-component se-text se-l-default\" id=\"SE-f28f9fc2-64e0-4aef-8aa0-76c695504442\">\n                    <div class=\"se-component-content\">\n                        <div class=\"se-section se-section-text se-l-default\">\n                            <div class=\"se-module se-module-text\">\n                                    <!-- SE-TEXT { --><p class=\"se-text-paragraph se-text-paragraph-align-center \" style=\"\" id=\"SE-b00a7357-d1c6-440c-bd0e-74d71af6db2e\"><span style=\"\" class=\"se-fs-fs15 se-ff-   \" id=\"SE-29f0e933-98dd-406c-84ac-b8dfbb247e0c\">이번 주말, 따뜻한 이야기 한 편 어떠세요?</span></p>\n<!-- } SE-TEXT --><!-- SE-TEXT { --><p class=\"se-text-paragraph se-text-paragraph-align-center \" style=\"\" id=\"SE-095958ad-618b-4b7b-a83b-ac2e4255a415\"><span style=\"\" class=\"se-fs-fs15 se-ff-   \" id=\"SE-159a5d4b-52a2-46ea-abc8-08cec5756238\">가족이라서 더 미안했고,</span></p>\n<!-- } SE-TEXT --><!-- SE-TEXT { --><p class=\"se-text-paragraph se-text-paragraph-align-center \" style=\"\" id=\"SE-58bcf93d-37d8-48bd-a763-4deea249b25e\"><span style=\"\" class=\"se-fs-fs15 se-ff-   \" id=\"SE-690db6a3-26a1-4628-a351-aa379972947c\">가족이라서 더 사랑했던 순간이 있으셨나요?</span></p>\n<!-- } SE-TEXT --><!-- SE-TEXT { --><p class=\"se-text-paragraph se-text-paragraph-align-center \" style=\"\" id=\"SE-14a4fa1f-cac9-4187-8fa5-9ac470fdef0f\"><span style=\"\" class=\"se-fs-fs15 se-ff-   \" id=\"SE-fbe5b541-7749-48eb-aef4-244a5c39d536\">​</span></p>\n<!-- } SE-TEXT --><!-- SE-TEXT { --><p class=\"se-text-paragraph se-text-paragraph-align-center \" style=\"\" id=\"SE-4bc7823e-67c6-44dd-bd8c-bed6efa402b1\"><span style=\"\" class=\"se-fs-fs15 se-ff-   \" id=\"SE-161ce508-f52d-4b2c-947f-c8f94194f013\"><b>KBS2 주말드라마 〈사랑이 온다〉</b></span><span style=\"\" class=\"se-fs-fs15 se-ff-   \" id=\"SE-3a353dc0-09eb-4e7a-987b-b7ef0956b592\">는</span></p>\n<!-- } SE-TEXT --><!-- SE-TEXT { --><p class=\"se-text-paragraph se-text-paragraph-align-center \" style=\"\" id=\"SE-0c50e60f-6145-4dbc-815e-79fccd2824fa\"><span style=\"\" class=\"se-fs-fs15 se-ff-   \" id=\"SE-aec6f280-c556-454d-b6dd-f42879e83e44\">깨진 가족의 파편을 모아</span></p>\n<!-- } SE-TEXT --><!-- SE-TEXT { --><p class=\"se-text-paragraph se-text-paragraph-align-center \" style=\"\" id=\"SE-92eeb859-641c-44c5-abe9-4db3a23f4037\"><span style=\"\" class=\"se-fs-fs15 se-ff-   \" id=\"SE-e69571e6-6f39-46f0-a787-60ac8afb0a51\">세상에서 가장 따뜻한 인생 한 상을 차려내는</span></p>\n<!-- } SE-TEXT --><!-- SE-TEXT { --><p class=\"se-text-paragraph se-text-paragraph-align-center \" style=\"\" id=\"SE-748b707e-4f62-433e-bb16-467c7c015104\"><span style=\"\" class=\"se-fs-fs15 se-ff-   \" id=\"SE-f3ef1b91-7243-41ac-8952-87a5b1dfc1f0\">두 남녀의 이야기를 담은 패밀리 드라마입니다.</span></p>\n<!-- } SE-TEXT --><!-- SE-TEXT { --><p class=\"se-text-paragraph se-text-paragraph-align-center \" style=\"\" id=\"SE-6e852663-04ba-4e23-bac3-2f4ba15b5edf\"><span style=\"\" class=\"se-fs-fs15 se-ff-   \" id=\"SE-5be0624d-6b23-4d11-a767-52a6533018bb\">​</span></p>\n<!-- } SE-TEXT --><!-- SE-TEXT { --><p class=\"se-text-paragraph se-text-paragraph-align-center \" style=\"\" id=\"SE-cec584d2-c73e-4548-924f-47351b5397b8\"><span style=\"\" class=\"se-fs-fs15 se-ff-   \" id=\"SE-107399c8-4794-45fb-9265-6ec864c9957a\">웃음과 감동,</span></p>\n<!-- } SE-TEXT --><!-- SE-TEXT { --><p class=\"se-text-paragraph se-text-paragraph-align-center \" style=\"\" id=\"SE-b58ed004-a212-4e84-9cb5-798069ba799f\"><span style=\"\" class=\"se-fs-fs15 se-ff-   \" id=\"SE-37030d0b-089e-4230-a996-c271f71f6044\">그리고 누구나 공감할 수 있는 가족 이야기가</span></p>\n<!-- } SE-TEXT --><!-- SE-TEXT { --><p class=\"se-text-paragraph se-text-paragraph-align-center \" style=\"\" id=\"SE-cab44732-4983-4adb-b2e9-af0b50d1f856\"><span style=\"\" class=\"se-fs-fs15 se-ff-   \" id=\"SE-15cb7556-5eac-4d18-b103-780e3bc77433\">주말 저녁을 따뜻하게 채워드립니다</span></p>\n<!-- } SE-TEXT --><!-- SE-TEXT { --><p class=\"se-text-paragraph se-text-paragraph-align-center \" style=\"\" id=\"SE-bbdb56da-3eac-462a-b867-9cfcc23b0867\"><span style=\"\" class=\"se-fs-fs15 se-ff-   \" id=\"SE-2fe7d130-fed3-48f7-9db1-ac84b24ea222\">​</span></p>\n<!-- } SE-TEXT -->\n                            </div>\n                        </div>\n                    </div>\n                    <script type=\"text/data\" class=\"__se_module_data\" data-module-v2='{\"type\": \"v2_text\", \"id\": \"SE-f28f9fc2-64e0-4aef-8aa0-76c695504442\", \"data\": {\"ctype\": \"text\"  }}'></script>\n                </div>                <div class=\"se-component se-image se-l-default\" id=\"SE-c3166bf5-c448-4d42-89f1-445010b9edba\">\n                    <div class=\"se-component-content se-component-content-extend\">\n                        <div class=\"se-section se-section-image se-l-default se-section-align-center\" >\n                                <div class=\"se-module se-module-image\" style=\"\">\n                                    <a href=\"#\" class=\"se-module-image-link-use se-module-image-link __se_image_link __se_link\" style=\"\" onclick=\"return false;\" data-linktype=\"img\" data-linkdata='{\"id\" : \"SE-c3166bf5-c448-4d42-89f1-445010b9edba\", \"src\" : \"https://cafeptthumb-phinf.pstatic.net/MjAyNjA4MTRfMTMx/MDAxNzg2Njg0NDc5MDMw.rdVTvcwfsv6IdFisC2UkeGRPTyI2qgi4LnlmZj56qxgg.TJ1KeEkPRMRop97rXazBQtDvO6n_gcCStryvZ1wZoicg.JPEG/KBS_%EC%A2%85%EB%A3%8C%EB%B0%B0%EB%84%88_8%EC%9B%94.jpg\", \"originalWidth\" : \"840\", \"originalHeight\" : \"1400\", \"linkUse\" : \"true\", \"link\" : \"https://vvd.bz/hQ7N\", \"fileSize\": \"312402\" }'>\n                                        <img src=\"https://cafeptthumb-phinf.pstatic.net/MjAyNjA4MTRfMTMx/MDAxNzg2Njg0NDc5MDMw.rdVTvcwfsv6IdFisC2UkeGRPTyI2qgi4LnlmZj56qxgg.TJ1KeEkPRMRop97rXazBQtDvO6n_gcCStryvZ1wZoicg.JPEG/KBS_%EC%A2%85%EB%A3%8C%EB%B0%B0%EB%84%88_8%EC%9B%94.jpg?type=w1600\" alt=\"\" class=\"se-image-resource\" />\n                                    </a>\n                                </div>\n                        </div>\n                    </div>\n                    <script type=\"text/data\" class=\"__se_module_data\" data-module-v2='{\"type\": \"v2_image\", \"id\": \"SE-c3166bf5-c448-4d42-89f1-445010b9edba\", \"data\": {\"ctype\": \"image\", \"ai\": \"false\", \"fileSize\": \"312402\" }}'></script>\n                </div>\n                <div class=\"se-component se-text se-l-default\" id=\"SE-4f4221b6-56ea-4f12-ad4d-d804dcbe0801\">\n                    <div class=\"se-component-content\">\n                        <div class=\"se-section se-section-text se-l-default\">\n                            <div class=\"se-module se-module-text\">\n                                    <!-- SE-TEXT { --><p class=\"se-text-paragraph se-text-paragraph-align-center \" style=\"\" id=\"SE-b3372c14-bff8-491e-bf5c-dea3c970e9b0\"><span style=\"\" class=\"se-fs-fs15 se-ff-system   \" id=\"SE-ea74ba32-b3e8-4c6a-abd3-513227af51b3\">📺</span><span style=\"\" class=\"se-fs-fs15 se-ff-   \" id=\"SE-f3ef8794-5624-4cc9-affc-40f67939b8f1\"> 방송</span></p>\n<!-- } SE-TEXT --><!-- SE-TEXT { --><p class=\"se-text-paragraph se-text-paragraph-align-center \" style=\"\" id=\"SE-84091bf2-6574-4d32-a4c4-65ba52062dc0\"><span style=\"\" class=\"se-fs-fs15 se-ff-   \" id=\"SE-661320f4-010b-43e9-b401-fc9623f0d2c1\">매주 토·일 저녁 7시 55분 KBS2</span></p>\n<!-- } SE-TEXT --><!-- SE-TEXT { --><p class=\"se-text-paragraph se-text-paragraph-align-center \" style=\"\" id=\"SE-390c85b8-96a4-4631-af7c-eb53ab38e7ff\"><span style=\"\" class=\"se-fs-fs15 se-ff-   \" id=\"SE-038de9f6-136e-4ebc-929f-38cb1a4c3901\">​</span></p>\n<!-- } SE-TEXT --><!-- SE-TEXT { --><p class=\"se-text-paragraph se-text-paragraph-align-center \" style=\"\" id=\"SE-7cb075cf-413a-4764-9aa7-50e90b4b258c\"><span style=\"\" class=\"se-fs-fs15 se-ff-system   \" id=\"SE-2cab5e17-cff2-4f0d-baf9-c23689735357\">👇</span><span style=\"\" class=\"se-fs-fs15 se-ff-   \" id=\"SE-f4e919ba-baab-4dbc-8e8b-f0e8dc3220e7\"> 보러가기</span></p>\n<!-- } SE-TEXT --><!-- SE-TEXT { --><p class=\"se-text-paragraph se-text-paragraph-align-center \" style=\"\" id=\"SE-e44086ff-d79f-47e8-be64-9372042d9b14\"><span style=\"\" class=\"se-fs- se-ff-   \" id=\"SE-88591e46-1213-4cb7-b483-4ad67571f194\"><a href=\"https://vvd.bz/hQ7N\" class=\"se-link __se_link\" data-linktype=\"text\" data-linkdata='{\"id\": \"SE-88591e46-1213-4cb7-b483-4ad67571f194\", \"link\": \"https://vvd.bz/hQ7N\"}' target=\"_blank\">https://vvd.bz/hQ7N</a></span></p>\n<!-- } SE-TEXT --><!-- SE-TEXT { --><p class=\"se-text-paragraph se-text-paragraph-align-center \" style=\"\" id=\"SE-b04d2cd4-eb41-4985-b3e0-8dc1e403b3df\"><span style=\"\" class=\"se-fs- se-ff-   \" id=\"SE-6ca2c20d-1f1b-4b1b-9870-9f18e7aefc7d\">​</span></p>\n<!-- } SE-TEXT -->\n                            </div>\n                        </div>\n                    </div>\n                    <script type=\"text/data\" class=\"__se_module_data\" data-module-v2='{\"type\": \"v2_text\", \"id\": \"SE-4f4221b6-56ea-4f12-ad4d-d804dcbe0801\", \"data\": {\"ctype\": \"text\"  }}'></script>\n                </div>    </div>\n</div>\n",
  "image_urls": [
    "https://cafeptthumb-phinf.pstatic.net/MjAyNjA4MTRfMTMx/MDAxNzg2Njg0NDc5MDMw.rdVTvcwfsv6IdFisC2UkeGRPTyI2qgi4LnlmZj56qxgg.TJ1KeEkPRMRop97rXazBQtDvO6n_gcCStryvZ1wZoicg.JPEG/KBS_%EC%A2%85%EB%A3%8C%EB%B0%B0%EB%84%88_8%EC%9B%94.jpg?type=w1600"
  ],
  "outbound_urls": [
    "https://vvd.bz/hQ7N"
  ],
  "author_name": "중고나라광고",
  "author_member_key": "IC_WusN3C6lXpRatT8MFkEE5ILJ08xbrLHeTVKqKRu4",
  "published_at": "2026-08-14T05:15:19.380000Z",
  "view_count": 13830,
  "comment_count": 32,
  "repost_count": 0,
  "scrap_count": 0,
  "is_open": true,
  "is_search_open": true,
  "is_readable": true
}
```

#### Naver Cafe board posts scraper — complete JSON result

```json
{
  "result_type": "board_posts",
  "input": "https://cafe.naver.com/f-e/cafes/10050146/menus/1256",
  "status": "success",
  "id": "10050146:1134437468",
  "cafe_id": "10050146",
  "url": "https://cafe.naver.com/f-e/cafes/10050146/articles/1134437468",
  "image_url": "https://cafeptthumb-phinf.pstatic.net/MjAyNjA5MDJfMTg4/MDAxNzg4MzI5MDM3OTc3.pzL0Obt8ucgjEhxFziB2Zj2iJuOosIW5IwvwUqvqXCkg.zCTy3ozsf8ASNX1_4sn0KGcsDCeA4DrCHpRzI-XQUE0g.PNG/260827_%25EB%25AC%25B8%25EC%2595%259E%25ED%2583%259D%25EB%25B0%25B0_%25ED%2583%259D%25EB%25B0%25B0%25EB%25B9%2584_%25ED%258E%2598%25EC%259D%25B4%25EB%25B0%25B1.png",
  "post_id": "1134437468",
  "menu_id": "1256",
  "title": "[필독] 중고나라 문앞택배 배송비 무제한 무료!",
  "author_name": "중고나라카페스탭",
  "author_member_key": "xWuoPEvgt4CbT2BjYggEscYKlGD3Dz9Krwd2SFT3dzQ",
  "published_at": "2026-09-02T06:04:33.210000Z",
  "view_count": 2932,
  "comment_count": 0,
  "is_open": true,
  "summary": "중고나라 문앞택배 런칭기념!\n문앞택배로 판매등록하면 배송비 무제한 무료!\n혜택 자세히보기>\n※ 본 게시물은 광고성 정보를 포함하고 있습니다.",
  "like_count": 11,
  "is_restricted_menu": false,
  "is_market_post": false
}
```

#### Naver Cafe community search scraper — complete JSON result

```json
{
  "result_type": "cafe_search",
  "input": "여행",
  "status": "success",
  "id": "15057835",
  "cafe_id": "15057835",
  "slug": "taesarang",
  "url": "https://cafe.naver.com/taesarang",
  "name": "태사랑- 태국,방콕,치앙마이,파타야,푸켓,카오산,동남아자유여행",
  "introduction": "태국여행 방콕 치앙마이 파타야 푸켓 카오산 아유타야 빠이 후아힌 쑤린 동남아 자유여행 배낭여행 지도",
  "is_power_cafe": true,
  "image_url": "https://cafeptthumb-phinf.pstatic.net/20160616_20/thailove_1466045237790W2ROw_PNG/%C5%C2%BB%E7%B6%FB%B7%CE%B0%ED%B9%E8%B0%E6%BA%B8%B6%F32.png?type=f72_72_mask",
  "member_count": 797538,
  "article_count": 705340,
  "new_article_count": 56,
  "category": "동남아시아",
  "region": "태국"
}
```

Images, tags and other lists stay with their parent result instead of creating extra rows. Invalid or unavailable inputs, inputs with no results, and requests that fail after all retries produce a row with `status: failed`. At most one failed row is saved per input; it includes `error_code` and `error_message` explaining the outcome. A normal end of pagination after collected results does not add a failed row.

### Input requirements and collection settings ⚙️

| Setting | What to enter |
|---|---|
| **What to collect** (`mode`) | Choose the information to collect. |
| **Maximum results per search or link** (`maxResults`) | Collect up to this many results for each search or link. Minimum: 1. |
| **Search keywords** (`searchQueries`) | Enter one search phrase per line. For Post Search, Search. |
| **Cafe links** (`cafeUrls`) | Paste one link per line. Example: https://cafe.naver.com/joonggonara For Details. |
| **Post links** (`postUrls`) | Paste one link per line. Example: https://cafe.naver.com/f-e/cafes/10050146/articles/1133411326 For Post Details. |
| **Board links** (`boardUrls`) | Paste one link per line. Example: https://cafe.naver.com/f-e/cafes/10050146/menus/1256 For Posts. |

| Collection mode | Fields to use |
|---|---|
| Details | **Cafe links** |
| Post Details | **Post links** |
| Post Search | **Search keywords** |
| Posts | **Board links** |
| Search | **Search keywords** |

The result limit applies separately to each search or supplied link. Collection ends earlier when no more matching results are available.

### Naver Cafe scraping use cases 🎯

#### Community discovery

Find cafes covering a consumer interest, profession or local topic.

#### Consumer discussion research

Search posts for product questions and purchasing experiences.

#### Community benchmarking

Compare cafe descriptions and visible membership or activity figures.

#### Topic monitoring

Collect public board listings to follow discussion themes.

#### Source documentation

Export readable posts with their images and outbound references for research.

### Pricing and saved-result behavior 💰

See the Actor's **Pricing** tab for the active pricing model and current rate. Store settings may change, so this README does not claim a fixed cost.

Under dataset-item pricing:

- Each collected item saved in the dataset is one result.
- Images, tags and other values attached to that item do not create additional rows.
- Automatic retry attempts do not create extra dataset rows.
- A saved `failed` row is also one billable dataset item, including invalid inputs, unavailable items, no results, or exhausted retries. At most one failed row is saved per input, including when some results were already collected.
- `maxResults` caps all saved rows for each input, including its failed row. Repeated copies of the same input are processed once. More inputs or a higher limit can produce more saved results.

### Naver Cafe scraper API and integrations 🔌

Replace `$ACTOR_ID` with the ID shown in the Actor API tab and `$APIFY_TOKEN` with your token.

```bash
curl -X POST "https://api.apify.com/v2/acts/$ACTOR_ID/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"mode":"post_search","searchQueries":["여행"],"maxResults":10}'
```

Use schedules for recurring collection, webhooks for completion notifications, and Apify integrations for Google Sheets, Make, Zapier, cloud storage, a CRM or your own application.

### Reliability, retries, and public-data limits ⚠️

Temporary connection errors, timeouts and access restrictions are retried automatically, up to five attempts. Invalid inputs save a failed row without an HTTP request; confirmed unavailable items save a failed row without unnecessary retries. Exhausted retries also save a failed row. Results already collected remain available if a later request fails, and normal pagination completion adds no error row. Collection also stops after two consecutive fully processed pages add no new results, even if the website provides another cursor. Required detail lookups are completed before checking a page; new results reset the counter, and independent reply branches are checked separately. Failures while initializing the Actor, saving data or scheduling requests stop the run instead of being reported as a failed website result.

Membership-only posts are unavailable; search snippets do not imply that the full post is publicly readable.

Naver Cafe controls which information is publicly available. Removed, private or restricted items may be unavailable, and optional values can be null or empty. A run can still fail if the results cannot be saved.

### Frequently asked questions ❓

#### Does it require an account on Naver Cafe?

No. You do not need to provide an account, password or login cookies. Only publicly available information is collected.

#### How does maxResults work?

It limits the number of saved results separately for every input. The minimum is 1. With maxResults set to 10, each input returns at most 10 available results. A detail lookup normally returns one record per input.

#### Can the actor read members-only cafe posts?

No. Post Card collects only posts readable to visitors.

#### Can I search across different cafes?

Yes. Post Search finds public results across communities, while Board Posts targets a selected cafe or section.

#### Why are some fields empty?

The website may not publish that value, or the field may belong to a different collection mode. Missing values remain null or empty instead of being guessed.

#### Can I export the results to a spreadsheet?

Yes. Download CSV, Excel or JSON from the Apify dataset. All returned fields are included in the same results table.

### Support and responsible use 🛟

For a reproducible issue, share the run ID, selected mode, result limit and a safe public example through the support channel. Never disclose access tokens, passwords or proxy credentials.

Use public Naver Cafe information lawfully and responsibly. Follow applicable privacy, copyright, data-protection, contractual and platform requirements when storing, analyzing or redistributing results.

# Actor input Schema

## `mode` (type: `string`):

Choose the information to collect.

## `maxResults` (type: `integer`):

Collect up to this many results for each search or link. Minimum: 1.

## `searchQueries` (type: `array`):

Enter one search phrase per line. For Post Search, Search.

## `cafeUrls` (type: `array`):

Paste one link per line. Example: https://cafe.naver.com/joonggonara For Details.

## `postUrls` (type: `array`):

Paste one link per line. Example: https://cafe.naver.com/f-e/cafes/10050146/articles/1133411326 For Post Details.

## `boardUrls` (type: `array`):

Paste one link per line. Example: https://cafe.naver.com/f-e/cafes/10050146/menus/1256 For Posts.

## Actor input object example

```json
{
  "mode": "post_search",
  "maxResults": 10,
  "searchQueries": [
    "여행"
  ],
  "cafeUrls": [
    "https://cafe.naver.com/joonggonara"
  ],
  "postUrls": [
    "https://cafe.naver.com/f-e/cafes/10050146/articles/1133411326"
  ],
  "boardUrls": [
    "https://cafe.naver.com/f-e/cafes/10050146/menus/1256"
  ]
}
```

# Actor output Schema

## `results` (type: `string`):

Collected entities and failed input outcomes, with all available fields and error explanations in one dataset.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "mode": "post_search",
    "maxResults": 10,
    "searchQueries": [
        "여행"
    ],
    "cafeUrls": [
        "https://cafe.naver.com/joonggonara"
    ],
    "postUrls": [
        "https://cafe.naver.com/f-e/cafes/10050146/articles/1133411326"
    ],
    "boardUrls": [
        "https://cafe.naver.com/f-e/cafes/10050146/menus/1256"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapingmonkey/naver-cafe-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "mode": "post_search",
    "maxResults": 10,
    "searchQueries": ["여행"],
    "cafeUrls": ["https://cafe.naver.com/joonggonara"],
    "postUrls": ["https://cafe.naver.com/f-e/cafes/10050146/articles/1133411326"],
    "boardUrls": ["https://cafe.naver.com/f-e/cafes/10050146/menus/1256"],
}

# Run the Actor and wait for it to finish
run = client.actor("scrapingmonkey/naver-cafe-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "mode": "post_search",
  "maxResults": 10,
  "searchQueries": [
    "여행"
  ],
  "cafeUrls": [
    "https://cafe.naver.com/joonggonara"
  ],
  "postUrls": [
    "https://cafe.naver.com/f-e/cafes/10050146/articles/1133411326"
  ],
  "boardUrls": [
    "https://cafe.naver.com/f-e/cafes/10050146/menus/1256"
  ]
}' |
apify call scrapingmonkey/naver-cafe-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapingmonkey/naver-cafe-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/vJoQWNE4CRhrvLVy6/builds/BGxzHgmVEGNzth3YI/openapi.json
