Naver Blog Sponsored Post Detector (협찬 / 내돈내산)
Pricing
from $3.00 / 1,000 analyzed posts
Naver Blog Sponsored Post Detector (협찬 / 내돈내산)
Detect sponsored Naver Blog (네이버 블로그) posts: label each post as sponsored (협찬, 체험단, 원고료), affiliate (쿠팡 파트너스) or self-paid (내돈내산), with the evidence — campaign platform banners, disclosure sentences, affiliate links and Naver's receipt badge. Check post URLs or keywords.
Pricing
from $3.00 / 1,000 analyzed posts
Rating
0.0
(0)
Developer
Harish Garg
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Find out which Naver Blog posts are sponsored. The detector reads each post and labels it sponsored (협찬, 체험단, 원고료), affiliate (쿠팡 파트너스), verified own purchase (Naver's 내돈내산 receipt badge), claimed own purchase (내돈내산 in the text) or no disclosure found. It also gives the evidence for each label. Check a list of post URLs, or the top Naver Blog posts for a keyword.
Export the results as JSON, CSV, Excel, XML or HTML, or read them from the API.
No Naver account. No login. No coding needed.
What does Naver Blog Sponsored Post Detector do?
Korean bloggers must disclose sponsorship, but they do it in many ways: a banner image from a review-campaign platform, a sentence at the end of the post, a hashtag or an affiliate notice. The detector checks every post for these signals:
- Campaign platform banners — banner images and links of 체험단 platforms such as REVU (레뷰), 리뷰노트, 디너의여왕, 슈퍼멤버스, 서울오빠, 강남맛집, 미블, 포포몬 and 블로그몰.
- Disclosure sentences — for example
상품 및 서비스만을 제공받고 솔직하게 작성된 후기입니다,소정의 원고료를 받아 작성하였습니다or#협찬. - Not a disclosure — sentences that only mention the words are not counted. Examples: offers (
협찬 문의 환영합니다), denials (지원받지 않고 작성했어요), questions (체험단 활동 시 주의할 점이 있나요?) and freebies that every guest gets (서비스로 제공받은 계란찜). - Affiliate links and notices — 쿠팡 파트너스 links (
link.coupang.com,coupa.ng), Olive Young affiliate links, and the commission notice. - Naver receipt badge — the
내돈내산 인증badge that Naver shows when the author verified a visit with a receipt. - 내돈내산 mentions — the author's own statement that they paid.
Each post gets one label. The strongest signal sets the label:
| Label | Meaning |
|---|---|
sponsored | A campaign platform banner or a sponsorship disclosure sentence |
affiliate | An affiliate link or a commission notice (쿠팡 파트너스 and others) |
own_purchase_verified | Naver's 내돈내산 receipt badge, and no sponsorship signal |
own_purchase_claimed | The author writes 내돈내산, and there is no other signal |
no_disclosure_found | No signal |
Use cases
- Brand and market research — Measure how much of the Naver Blog conversation about your product or category is paid.
- Honest consumer research — Keep only self-paid reviews (내돈내산), or remove sponsored posts from your data.
- 체험단 campaign compliance — Check that every post of your review campaign has a disclosure.
- Competitor intelligence — See which campaign platforms your competitors use, and how many sponsored posts they have.
- Influencer vetting — Check the share of sponsored posts on a blogger's posts before you work with them.
- Clean training data — Label Korean review posts as paid or self-paid for analysis and AI models.
How to detect sponsored Naver Blog posts in Apify Console
- Click Try for free and sign in to Apify. A free account is enough.
- In Post URLs, add one Naver Blog post URL per line.
- Or, in Check posts by keyword, add one keyword per line, for example
홍대 카페. - For keywords, set Max posts per keyword. The default is 50.
- Click Start.
- Open the Output tab. View the labels as a table, or download them as JSON, CSV, Excel, XML or HTML.
Input
| Field | Type | Default | Description |
|---|---|---|---|
postUrls | string[] | — | Naver Blog post URLs to check |
keywords | string[] | — | Search keywords. The detector checks the posts that Naver Blog search returns for each keyword, in Naver's relevance order |
maxPostsPerKeyword | integer | 50 | The most posts to check for each keyword, up to 1,000. 0 = all of them |
Give at least one post URL or one keyword. These URL forms all work:
https://blog.naver.com/{blogId}/{logNo}https://m.blog.naver.com/{blogId}/{logNo}https://blog.naver.com/PostView.naver?blogId={blogId}&logNo={logNo}
Input examples
The top 50 posts for one keyword
{"keywords": ["홍대 카페"]}
Two keywords and one post URL
{"keywords": ["홍대 카페", "선크림 추천"],"maxPostsPerKeyword": 100,"postUrls": ["https://blog.naver.com/mingu_u99/224424664977"]}
Output
You get one row for each post. Example:
{"keyword": "홍대 카페","rank": 5,"url": "https://blog.naver.com/mingu_u99/224424664977","blogId": "mingu_u99","logNo": "224424664977","title": "홍대 대형 카페 내면의 발견 커피와 말차라떼 마시며 쉬어가기 좋은 곳","nickName": "새벽샛별","publishedAt": "2026-09-28T03:35:29.706Z","label": "sponsored","isSponsored": true,"receiptVerified": false,"naverOwnPurchaseFlag": false,"campaignPlatforms": ["슈퍼멤버스"],"campaignLinks": ["https://d3i7y4ugnppb9p.cloudfront.net/contract/track/8efc4340-b7fa-11f1-8b2b-1bfcfb09171d/banner-small.png"],"disclosureSentences": [],"affiliateLinks": [],"affiliateSentences": [],"ownPurchaseMentions": [],"contentLength": 3085,"status": "ok","scrapedAt": "2026-10-11T16:30:46.713Z"}
Output fields
| Field | Description |
|---|---|
keyword, rank | For keyword input: the keyword and the post's position in Naver Blog search. null for URL input |
url, blogId, logNo | The post |
title, nickName, publishedAt | The post title, the author and the publish time (ISO 8601, UTC) |
label, isSponsored | The label (see the table above), and true when the label is sponsored |
receiptVerified | true when the post has Naver's 내돈내산 receipt badge |
naverOwnPurchaseFlag | For keyword input: Naver's own 내돈내산 flag in the search results |
campaignPlatforms, campaignLinks | The campaign platforms found, and the banner or link URLs |
disclosureSentences | The sponsorship sentences found in the post |
affiliateLinks, affiliateSentences | The affiliate links and commission notices |
ownPurchaseMentions | The sentences where the author writes 내돈내산 |
contentLength | The length of the post text, in characters |
status | ok, empty (no post body), not_found (deleted or private) or fetch_failed |
scrapedAt | When the post was checked (UTC) |
Use Naver Blog Sponsored Post Detector with the Apify API
Run the detector and read the results from any programming language with the Apify API. Get your API token in Apify Console under Settings → API & Integrations, and replace <YOUR_API_TOKEN> below.
HTTP (cURL) — run the detector and get the labels in one call:
curl -X POST "https://api.apify.com/v2/acts/hgservices~naver-blog-sponsored-post-detector/run-sync-get-dataset-items?format=json" \-H "Authorization: Bearer <YOUR_API_TOKEN>" \-H "Content-Type: application/json" \-d '{ "keywords": ["홍대 카페"], "maxPostsPerKeyword": 30 }'
Change format=json to format=csv or format=xlsx to get a spreadsheet. For many keywords or posts, start the run with POST /v2/acts/hgservices~naver-blog-sponsored-post-detector/runs and read the dataset when the run finishes.
JavaScript / Node.js — count the labels for each keyword:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('hgservices/naver-blog-sponsored-post-detector').call({keywords: ['홍대 카페', '선크림 추천'],maxPostsPerKeyword: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();const counts = {};for (const post of items.filter((p) => p.status === 'ok')) {counts[post.keyword] ??= {};counts[post.keyword][post.label] = (counts[post.keyword][post.label] ?? 0) + 1;}console.table(counts);
Python (apify-client 3.0 or later) — check your campaign posts and list the posts with no disclosure:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("hgservices/naver-blog-sponsored-post-detector").call(run_input={"postUrls": ["https://blog.naver.com/mingu_u99/224424664977","https://blog.naver.com/otherblog/224424425341",],})if run is None:raise RuntimeError("The run was not found.")for post in client.dataset(run.default_dataset_id).iterate_items():if post["status"] == "ok" and post["label"] != "sponsored":print("No sponsorship disclosure:", post["url"], post["label"])
Use sponsored post data in Claude, ChatGPT and other AI assistants
This detector works as a tool for AI assistants through the Apify MCP server. Your assistant can find the detector, read its input options, run it, and use the labels and the evidence in its answer.
Claude (claude.ai or Claude Desktop) — Go to Settings → Connectors, add a custom connector, and enter https://mcp.apify.com. Sign in to Apify when Claude asks.
Claude Code
$claude mcp add --transport http apify https://mcp.apify.com
ChatGPT — Turn on Developer mode in Settings → Apps & Connectors → Advanced settings. Then create a connector with the MCP server URL https://mcp.apify.com.
Cursor, VS Code and other MCP clients — Add https://mcp.apify.com as a remote MCP server. To give the assistant only this detector, use https://mcp.apify.com?tools=hgservices/naver-blog-sponsored-post-detector.
Then ask in plain language:
Use the Naver Blog Sponsored Post Detector to check the top 100 posts for 선크림 추천. What share is sponsored, and which campaign platforms appear most?
Check these 20 campaign posts and tell me which ones have no sponsorship disclosure.
Find the self-paid (내돈내산) reviews among the top 50 posts for 홍대 카페 and summarize them in English.
Integrations and scheduling
Connect the detector to the tools that you already use with Apify integrations: Google Sheets, Slack, Zapier, Make, n8n, Airbyte, Keboola and more. Use webhooks to call your own endpoint when a run finishes.
Use Schedules in Apify Console to run the detector automatically, for example every week on your campaign posts to confirm that the disclosures stay in place.
Pricing
This detector uses pay-per-event pricing. You pay only for the posts that it checks:
- Search page — one charge for each page of up to 30 Naver Blog search results that the detector reads for a keyword. A page that adds no labeled posts to your dataset is free. Post URLs that you give directly have no search pages.
- Post analyzed — one charge for each post that was read and labeled.
The prices of the events are on the Pricing tab. Deleted, private or unreadable posts are in the dataset with their status, and they are free. Use Max posts per keyword to control the cost of a run. Apify's free plan lets you try the detector at no cost.
Good to know
- Read the evidence, not only the label. Each row keeps the platform, link or sentence behind its label, so you can check it or apply your own rules.
- Compare keywords. Run several keywords in a category and compare the share of
sponsoredposts. - Text and links only. The detector reads the post text and the addresses of links and images. It does not read text that is inside photos.
Related Actors
- Naver Blog Search Scraper — Naver Blog posts by keyword, with optional full content.
- Naver Blog Post Scraper — the full content of posts by URL.
- Naver Blog Rank Tracker — the Naver search rank of your blog posts for your keywords.
- Naver Blog Comments Scraper — all the comments and replies of Naver Blog posts.
FAQ
Do I need a Naver account? No. You need only an Apify account. The detector reads the public posts that every visitor can see without an account.
How many posts get a label? It depends on the keyword. In our tests on popular keywords, about 4 of 10 posts had a signal. The other posts had no disclosure.
Does no_disclosure_found mean "not sponsored"?
No. It means that the post shows no disclosure. Some posts are promotional, but they disclose nothing.
Does it read text inside images? No. In our tests, we checked the images of posts with no signal and found no disclosure images. Image text recognition would add almost nothing.
I found a campaign platform that the detector does not know. What do I do? Open an issue on the Issues tab with an example post URL. We add new platforms on request.
Is it legal to analyze Naver Blog posts? The detector reads only publicly available content and never signs in. Use the data in line with Naver's Terms of Service and the laws that apply to you. A label is an automatic result from the post content. It is not a legal finding about the author.
Support
Did you find a bug, or do you need a field that is not here? Open an issue on the Issues tab. Custom solutions are available on request.
This detector is not affiliated with or endorsed by Naver.