Naver Post details API
API health
Health data cannot be read right now, so this API's recent state is unknown. That does not mean it is down.
Open a single Naver Blog or Cafe post by its url to get the full text, author, category, tags, image links and any places mentioned in it. Only what the post page shows comes back; private content cannot be recovered.
Naver Post details reads one Naver Blog or Cafe post from its url and returns the full text, the title, the author's name and profile link, the Cafe name for Cafe posts, the category, tags, like and comment counts, the publish time, and flags for video and sponsored content. It answers what a particular Korean blog or community post says, for marketers reviewing influencer and seeding posts, researchers reading consumer opinion in Korea, and teams turning search hits into full text for analysis.
Pass the post's own link, such as https://blog.naver.com/hyemi35/224360992457, or a Cafe article link; Naver Place business pages are not accepted, and their visitor reviews come from the Naver Reviews capability. Check is_sponsored before you treat a post as independent opinion, since Naver carries many promotional posts. tags is an empty list, not null, when a post has none, and a null like or comment count means the figure was not disclosed.
Price $1.39 per 1,000 requests ($0.001389 per call). Failed calls and empty results are not charged. Synchronous. For slow jobs add "mode": "async" to the body, take the job_id and poll.
AI prompt
Paste this into your AI assistant. It already holds this endpoint's parameters, response fields and an example request, so the assistant can ask what you need and then write the scraper.
Please help me write a data collection script with the EveryInfra Naver Post details endpoint (naver/post).
Endpoint contract:
- Request: POST https://api.everyinfra.com/api/v1/social with the header Authorization: Bearer <API key>. Read the key from the EVERYINFRA_API_KEY environment variable and never hard-code it.
- In the request body, set platform to naver and action to post, and put the parameters inside params.
- Required parameters:
- url: Specifies the target URL for Naver requests. The post and comments actions accept specific Blog or Cafe post URLs, whereas the reviews action requires Naver Place merchant links containing /restaurant/MERCHANT_ID or /pla…
- Returns one object. Main fields: source, title, url, text, author_name, author_url, cafe_name, category, like_count, comment_count, posted_at, has_video; 16 fields in total, full list at https://api.everyinfra.com/api/v1/social/catalog?platform=naver.
- Example request body:
{
"platform": "naver",
"action": "post",
"params": {
"url": "https://blog.naver.com/hyemi35/224360992457"
}
}
- Price: $1.39 per 1,000 requests; failed and empty results are not charged.
- For dozens or hundreds of targets, add "mode": "async" to the body: you get a job_id at once and poll GET https://api.everyinfra.com/api/v1/jobs/{job_id} for the result.
- On 422, fix the request using the suggested parameter names and allowed values in the error; on 429 or 503, wait for Retry-After and try again.
Before writing code, ask me which targets I need, how many, which fields, and what output format I want; then confirm the plan and the rough cost with me.Request parameters
| Name | In | Type | Required | Default | Description |
|---|---|---|---|---|---|
Authorization | header | string | Yes | - | Bearer followed by your API key. Create it in the console; never put it in a URL or a code repository. |
platform | body | string | Yes | naver | Platform identifier, fixed value. |
action | body | string | Yes | post | Capability identifier, fixed value. |
url | body.params | Not declared | Yes | - | Specifies the target URL for Naver requests. The post and comments actions accept specific Blog or Cafe post URLs, whereas the reviews action requires Naver Place merchant links containing /restaurant/MERCHANT_ID or /place/MERCHANT_ID paths. |
Code samples
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
-H "Authorization: Bearer $EVERYINFRA_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"platform": "naver",
"action": "post",
"params": {
"url": "https://blog.naver.com/hyemi35/224360992457"
}
}'[OpenAPI definition (JSON)]Samples read the key from the EVERYINFRA_API_KEY environment variable; copied code never contains your key.
Response example
Captured September 26, 2026 at 08:56 (UTC) by calling this API with the parameters in the code sample above. results and count are that call's real response with personal information (names, handles, avatars, profile links, contact details) removed. id, billing and quota differ on every call, so only their shape is shown.
{
"id": "req_…",
"platform": "naver",
"action": "post",
"results": {
"source": "blog",
"title": "구리시민으로써 구리카페 매주리커피",
"url": "https://blog.naver.com/hyemi35/224360992457",
"text": "매주리커피\n\n기본정보\n\n⏰️10:00~20:30(월~일)\n\n20:00(라스트오더)\n\n🚇8호선 동구릉역 3번출구\n\n🅿️동구릉 공영주차장(유료)\n\n📞(已隐去)\n\n📍고유가피해지원금 사용가능\n\n구리시 안에 있기는 하지만 아무래도 집에서 거리가 있는 곳이라서 이쪽까지는 거의 갈일이 없어서 어쩌다보니 처음 가본 카페인데요.\n\n지난 주말 너무 집에만 있는 것 같아서 커피라도 마시자해서 롯데백화점 가서 점심먹고 구리카페 매주리커피로 가봤어요.\n\n위치정보\n\n8호선 동구릉역 3번출구에서 도보로는 10분정도 걸리…",
"author_name": "(已隐去)",
"author_url": "https://blog.naver.com/hyemi35",
"like_count": 6,
"comment_count": 1,
"posted_at": "2026-07-28T22:46:00",
"has_video": false,
"platform": "naver",
"image_urls": [
"https://postfiles.pstatic.net/MjAyNjA3MjhfMjMx/MDAxNzg1MjQzOTUwOTY5.YzNXX8BcPYPXbwYuV3tvQdHTZul9yq0DToFjxw0RCFgg.QTBADsyGbUaSW8Ra5O90xoD9ghkiN82lWQhtFAuAVoAg.JPEG/900_20260726_150149.jpg",
"https://postfiles.pstatic.net/MjAyNjA3MjhfMTA4/MDAxNzg1MjQzOTUyOTk1.h19RSw7RXri_02fjgNMgNjSVOG5vgbt9UKw3BdQBCD8g.0yez_4BPVf_Mo3cTZTRDWWMI5qmN5NVJWOzcvlBJ0Twg.JPEG/900_20260726_150137.jpg",
"https://postfiles.pstatic.net/MjAyNjA3MjhfNDcg/MDAxNzg1MjQzOTUxNTY4.t6ryPA6Y2ScVLqv_KCvK8pKktr3V585msL6NkbRAbPMg.JI9kW_o17wX2pBWQzYncbUR_rrT9Z_FpcFPRHNbvlPcg.JPEG/900_20260726_150139.jpg"
],
"mentioned_places": [
{
"name": "매주리커피 구리",
"address": "경기도 구리시 동구릉로 199-1 2층 매주리커피 구리",
"tel": "(已隐去)",
"latitude": "37.6166873",
"longitude": "127.1374647",
"place_id": "(已隐去)"
}
]
},
"billing": {
"charged": …,
"charged_usd": …,
"balance_after_usd": …,
…
},
"quota": { … }
}Response fields
Business data is in results. The table lists the fields a record can contain; values the platform does not show are never made up.
| Field | Meaning |
|---|---|
source | Keeps the platform's own meaning |
title | Title. null when the platform has no titles (for example text-only posts). |
url | Link to the record on the platform. |
text | Body text with HTML removed, returned in full and never cut short (on a few platforms the list results themselves carry only an excerpt; the platform's field notes say so). |
author_name | Author's display name. |
author_url | Link to the author's profile on the platform. |
cafe_name | Keeps the platform's own meaning |
category | Category name in the platform's own taxonomy, not normalized across platforms. |
like_count | Likes. null means the platform or this capability does not disclose it; it is not 0. |
comment_count | Comments. null means not disclosed, not 0. |
posted_at | Publish time in ISO 8601, UTC (for example 2026-08-07T12:34:56+00:00). Non-standard strings from the platform are passed through as is, so parse defensively. null means the platform does not disclose it. |
has_video | Keeps the platform's own meaning |
is_sponsored | Keeps the platform's own meaning |
platform | Source platform identifier, the same as platform in the request (for example xiaohongshu, tiktok). |
tags | Array of tags. An empty array, not null, when there are none. |
image_urls | Array of image links in the platform's display order; absent when there are no images. |
mentioned_places | Keeps the platform's own meaning |
FAQ
Which Naver links can I pass as url?
The link of one Naver Blog post or Cafe article, such as https://blog.naver.com/hyemi35/224360992457. Naver Place business links are not accepted by Naver Post details. Rows from the Naver Search capability carry Blog and Cafe post links, which you can pass straight through to read the full post.
How do I tell sponsored posts from independent ones?
Read is_sponsored, which flags promotional content. Promotional posts are common on Naver, so separate them before you measure sentiment or count organic mentions of a brand. Keep the flagged posts in their own set if you study paid campaigns, rather than discarding them.
Can I get the comments on a Naver post?
Not from Naver Post details, which returns the post itself along with its comment_count. Pass the same Blog or Cafe link to the Naver Comments capability to read the comments. A null comment_count means the count was not disclosed, so it is worth calling Comments even when the count is missing.
Errors and billing
- 401
- Missing or invalid key. Authentication runs before parameter checks, so unauthenticated requests never see the parameter schema.
- 422
- Wrong parameter name or value. The error lists the parameters and allowed values this capability accepts and the closest match; it happens before any charge.
- 402
- Insufficient balance. Top up first.
- 429
- The account's per-minute request limit was reached (all of its API keys count together; a key's own lower limit applies first). Wait for Retry-After and try again; a rate package in the console raises the limit.
- 503
- Could not complete right now. Any charge for the call goes back to your balance automatically, and the billing receipt in the response states the actual outcome, including when it is not yet known. Do not resend blindly.
- 200 empty
- The request completed without data and is not charged (billing.reason = empty_result_refunded).