레딧 API, 검색 1크레딧에 25건이 온다
레딧 API 검색은 1크레딧에 약 7건이 아니라 25건이에요. 한국어 '기계식 키보드'는 22건이고, 댓글은 5크레딧에 647개예요. 2026-09-05에 13크레딧으로 쟀어요.
레딧 API 검색은 1크레딧에 25건이 와요. 예전 약 7건이 아니에요. 한국어 기계식 키보드를 sort=new로 치면 22건이 오고 1크레딧이 빠져요. 댓글 한 호출은 flatten 647개, 5크레딧이에요. 측정일은 2026-09-05이고, 이번 수확은 13크레딧이에요. 페이지 크기는 호출마다 달라서 items.length를 읽어요.
호출은 HTTP예요. 헤더는 x-api-key고, 경로는 GET /v1/reddit/*예요. 공식 Reddit OAuth 앱은 필요 없어요.
측정 전에 뭐가 필요한가요?
다시 치려면 이 정도면 돼요.
- SocialCrawl API 키. 헤더는
x-api-key. Reddit 개발자 허브 OAuth 앱은 필요 없어요. - curl, 또는 Python
requests. 공식 래퍼 PRAW는 이 재현에 안 썼어요. 키는 환경 변수SOCIALCRAWL_API_KEY에 두고 코드에 붙이지 마세요. - 읽을 값: 목록은
data.items.length, 댓글은 트리 flatten, 응답의credits_used. - 재현 쿼리:
best mechanical keyboard,기계식 키보드+sort=new, r/technology 목록에서 고른 큰 스레드.
가입 보너스와 팩 단가는 가격에 있어요. 캐시 히트와 빈 페이지 환불은 0이에요. 크레딧이 빠지는 순간도 같이 보면 돼요.
레딧 검색 API는 1크레딧에 몇 건이 오나요?
레딧 검색 API GET /v1/reddit/search는 성공하면 1크레딧이에요. 2026-09-05에 영문 쿼리 3개를 쳤고, 세 번 모두 data.items.length가 25, credits_used가 1이었어요. 2026-09-03 발표치의 약 7건 페이지와 비교하면 같은 1크레딧에서 행이 늘었어요. 25를 고정값으로 코딩하면 안 돼요. 이번 런에서 본 최대예요.
세는 법은 이거예요.
page_len = Array.isArray(data.items) ? data.items.length : 0
| 쿼리 | page_len | credits_used | cached | has_more |
|---|---|---|---|---|
best mechanical keyboard | 25 | 1 | false | true |
python web scraping | 25 | 1 | false | true |
best programming languages | 25 | 1 | false | true |
25 / 7 ≈ 3.57배처럼 보이지만, 분모 약 7은 오늘 다시 잰 값이 아니에요. 비교는 25 vs 약 7로 봐요. 페이지가 매번 가득 찬다는 가정에서만, 175건을 받으려면 호출이 25회에서 7회로 줄어요. 가정이에요. 이번 런에서 trim=true로 쳐도 같은 쿼리가 25라, trim 때문에 7이 25가 된 건 아니에요.
공식 Reddit Data API의 GET /search는 페이지 크기 표를 안 줘요. reddit api 문서에도 한 페이지가 몇 건인지 없어요. 레딧 검색 API 크레딧당 행은 아래 호출의 len(items)예요.
import os
import requests
BASE = "https://www.socialcrawl.dev"
r = requests.get(
f"{BASE}/v1/reddit/search",
params={"query": "best mechanical keyboard"},
headers={"x-api-key": os.environ["SOCIALCRAWL_API_KEY"]},
timeout=60,
)
r.raise_for_status()
payload = r.json()
items = payload["data"]["items"]
pag = payload.get("pagination") or {}
print(len(items), payload.get("credits_used"), pag.get("has_more"))이번 레딧 API 수확에서 출력은 25 1 True였어요. 같은 GET을 curl로 치면 이래요.
curl -sS --get "https://www.socialcrawl.dev/v1/reddit/search" \
--data-urlencode "query=best mechanical keyboard" \
-H "x-api-key: $SOCIALCRAWL_API_KEY"첫 행을 잘라 보면 본문·아바타·upvote ratio·플레어·언어가 이미 붙어 있어요. engagement.shares는 검색 행에서 null이었어요.
{
"id": "1w4c63y",
"author": { "username": "freecoinsbabyhe" },
"engagement": { "likes": 6, "comments": 36, "shares": null },
"ext": {
"subreddit": "keyboards",
"title": "What's The Best Mechanical Keyboard In 2026? (Price, Switches)",
"upvote_ratio": 0.875,
"flair": "Discussion",
"content_language": "en"
}
}
한국어로 레딧 검색하면 결과가 오나요?
와요. 같은 엔드포인트에 query=기계식 키보드, sort=new를 넣으면 22건이 오고 1크레딧이 빠져요. has_more=false라 이 결과는 한 페이지가 끝이에요. 예전 한국어·비라틴 검색은 빈 페이지였고, 빈 페이지는 0으로 환불됐어요. 공짜 프로브로 쓰던 코드는 이제 비용이 생겨요.
공식 API가 한글 q=를 거절한다는 말은 Reddit Data API 위키에 없어요. 막혔던 건 우리 검색 페이지예요.
r = requests.get(
f"{BASE}/v1/reddit/search",
params={"query": "기계식 키보드", "sort": "new"},
headers={"x-api-key": os.environ["SOCIALCRAWL_API_KEY"]},
timeout=60,
)
r.raise_for_status()
payload = r.json()
items = payload["data"]["items"]
print(len(items), payload.get("credits_used"), (payload.get("pagination") or {}).get("has_more"))curl -sS --get "https://www.socialcrawl.dev/v1/reddit/search" \
--data-urlencode "query=기계식 키보드" \
--data-urlencode "sort=new" \
-H "x-api-key: $SOCIALCRAWL_API_KEY"출력은 22 1 False였어요. 제목에 한글이 들어간 행은 22건 중 19건이에요. 빈 페이지가 아닌데도 최신 sort=new 행은 얇아요. content_language는 ko 5, en 7, null 10이에요. 아바타와 upvote ratio도 22 중 15만 채워져 있어요. 필드 빈칸과 빈 페이지는 다른 이야기예요.
{
"credits_used": 1,
"pagination": { "has_more": false, "page_size": 22 },
"data": {
"items": [
{
"id": "1vo4hxh",
"ext": {
"title": "Human Fall Flat 콜라보 제품으로 마그네틱 스위치의 탑재로작동점과 래피드 트리거 모드 설정이 가능한 기계식 키보드 #기계식키보드",
"upvote_ratio": null,
"flair": null,
"content_language": null
}
}
]
}
}
레딧 댓글 API는 한 스레드에 몇 개가 오나요?
레딧 댓글 API GET /v1/reddit/post/comments는 advanced 5크레딧이에요. 1이 아니에요. 이번 웨이브가 가격을 바꾸지 않았어요. 표본은 r/technology의 Xbox Cloud 스레드고, 목록 행 num_comments 힌트는 1,320이었어요.
댓글 트리를 펼치면 flatten 647, 최상위 data.items는 480, ext.depth 최대는 9예요. data.truncated는 false, next_cursor는 null이었어요.
| 항목 | 값 |
|---|---|
목록 행 num_comments 힌트 | 1,320 |
top-level data.items | 480 |
| flatten | 647 |
ext.depth 최대 | 9 (0–9: 479 / 62 / 44 / 19 / 18 / 12 / 5 / 4 / 3 / 1) |
credits_used | 5 |
data.truncated | false |
next_cursor | null |
| 마크다운 | **bold** 8개, [label](url) 2개 |
647은 1,320이 아니에요. Reddit 쪽 카운트는 삭제·필터 댓글을 넣어서, 목록이 다 안 줘요. truncated false여도 전부가 아니에요. 체인지로그가 말한 약 4배·깊이 8은 다른 스레드 발표치예요. 한 스레드 168→687도 오늘 재측정이 아니에요. 이번 런 숫자는 647, 깊이 9예요. 647/168 ≈ 3.85배를 이번 런 비율로 단정하지 마세요.
큰 스레드에서 새 응답은 예전 응답의 상위집합이 아니에요. 양쪽 다 부분 응답이고 멈추는 지점이 달라요. 예전에 있던 댓글 77–103개가 새 응답에 없을 수 있어요. 빠진 댓글을 기능 회귀로 보지 마세요.
comment.text에는 Reddit 원본 마크다운이 남을 수 있어요. 예전 flatten 본문과 달라요. 이번 런 예는 You'll just **also** have to pay $20/hr to play it. (p7pz30q, depth 2). 첫 댓글은 @HG21Reaper의 "And that is the end of cloud gaming.", likes 7,568, depth 0이었어요.
def flatten_comments(nodes):
found = []
def walk(items):
for node in items or []:
found.append(node)
walk(node.get("replies") or [])
walk(nodes)
return found
r = requests.get(
f"{BASE}/v1/reddit/post/comments",
params={
"url": "https://www.reddit.com/r/technology/comments/1w6p54w/microsoft_announces_big_changes_to_xbox_cloud/"
},
headers={"x-api-key": os.environ["SOCIALCRAWL_API_KEY"]},
timeout=60,
)
r.raise_for_status()
payload = r.json()
items = payload["data"]["items"]
flat = flatten_comments(items)
print(
len(items),
len(flat),
payload.get("credits_used"),
payload["data"].get("truncated"),
)이번 수확 출력은 480 647 5 False였어요.
curl -sS --get "https://www.socialcrawl.dev/v1/reddit/post/comments" \
--data-urlencode "url=https://www.reddit.com/r/technology/comments/1w6p54w/microsoft_announces_big_changes_to_xbox_cloud/" \
-H "x-api-key: $SOCIALCRAWL_API_KEY"truncated=true인데 next_cursor가 없으면, 스레드가 불완전하고 이 엔드포인트로는 나머지를 더 가져올 수 없어요. 이번 스레드에서는 그 패턴이 안 나왔어요. 그래도 한 호출이 목록 힌트 전체를 주는 건 아니에요.
{
"credits_used": 5,
"data": { "truncated": false },
"sample": {
"id": "p7orkjh",
"author": "HG21Reaper",
"text": "And that is the end of cloud gaming.",
"likes": 7568,
"ext": { "depth": 0 }
}
}레딧 데이터 API 행에 어떤 필드가 붙나요?
레딧 데이터 API 검색 행에는 본문, 작성자 아바타, 이미지·영상, upvote ratio, 플레어, content language가 붙어요. 크레딧은 그대로 1이에요. 링크 포스트는 selftext가 null인 게 정상이에요. include_body=true는 그대로 동작하고, 본문이 이미 있으면 거의 필요 없어요. 가져올 본문이 없으면 추가 크레딧은 전액 환불돼요.
영문 best mechanical keyboard 25행, 이번 런 라이브 기준이에요.
| 필드 | non-null / 비어 있지 않음 |
|---|---|
ext.selftext | 23 / 25 |
author.avatar_url | 25 / 25 |
content.media_urls | 7 / 25 |
ext.upvote_ratio | 25 / 25 |
ext.flair | 23 / 25 |
ext.content_language | 25 / 25 |
검색의 content.media_urls는 배열이고, 이미지 포스트 한 행에 URL 14개가 붙은 적도 있어요. 서브레딧 목록의 같은 키는 문자열이라 r/technology는 기사 URL, r/MechanicalKeyboards는 갤러리 URL이 와요. 검색 행마다 이미지가 있는 건 아니에요.
서브레딧 목록은 왜 행을 안 늘렸나요?
서브레딧 목록은 행을 안 늘렸어요. GET /v1/reddit/subreddit?subreddit=technology는 19건, MechanicalKeyboards는 24건, 둘 다 1크레딧, has_more=true예요. 예전 약 15–25 밴드 안에 있어요. 검색처럼 25로 점프한 값이 아니에요. 서브레딧 행 수를 검색처럼 최대 25로 보지 마세요.
페이지를 넓히면 프로모티드 포스트가 유기 순위에 섞이고, 구분 필드가 없어요. 그래서 이미 읽는 목록과 순서는 그대로 두고, 행에 아바타·미디어·upvote ratio·플레어·content language만 붙였어요.
curl -sS --get "https://www.socialcrawl.dev/v1/reddit/subreddit" \
--data-urlencode "subreddit=technology" \
-H "x-api-key: $SOCIALCRAWL_API_KEY"items.length는 19 근처예요. 검색 25와 같은 숫자가 아니에요. 이미 아는 r/name 피드 길이고, 프로필·댓글 검색·서브레딧 발견은 레딧 프로필 API에서 따로 쟀어요. 엔드포인트 목록은 레딧 플랫폼 페이지, 필드 설명은 레딧 문서에 있어요.
레딧 게시물 API는 뭐가 달라졌나요?
레딧 게시물 API GET /v1/reddit/post는 형태와 가격이 그대로예요. 성공하면 1크레딧이고, 더 안정적으로 와요. 검색 행 1w4c63y를 상세로 치면 engagement.shares가 14, likes 6, comments 36, selftext 535자, upvote_ratio 0.875, flair Discussion, language en이었어요.
이 응답의 shares는 이제 공유 수예요. 예전엔 크로스포스트 수였어요. 필드는 같은데 지표가 바뀌었어요. 검색 행의 같은 키는 이번 런 전부 null이라, 검색 페이지에서 합치면 안 돼요. 숫자 14는 상세에서만 읽어요.
레딧 스크래퍼를 직접 돌린 값이 아니에요. 아래 URL 한 건을 친 응답이에요.
r = requests.get(
f"{BASE}/v1/reddit/post",
params={
"url": "https://www.reddit.com/r/keyboards/comments/1w4c63y/whats_the_best_mechanical_keyboard_in_2026_price/"
},
headers={"x-api-key": os.environ["SOCIALCRAWL_API_KEY"]},
timeout=30,
)
r.raise_for_status()
post = r.json()["data"]
print(r.json().get("credits_used"), post["engagement"]["shares"])출력은 1 14였어요.
어떤 부분에서 막힐 수 있을까요?
- 25로 코딩함. 한국어 검색은 22예요. 영문 3쿼리가 25였다고 다음 호출도 25가 아니에요.
items.length를 읽어요. - 댓글을 1크레딧으로 예산. advanced 5예요. 웨이브가 가격을 안 바꿨어요.
- 목록 1,320 = 받은 댓글. flatten은 647이었어요. truncated false여도 전부가 아니에요.
truncated=true인데next_cursor없음. 스레드가 불완전하고, 이 엔드포인트로 나머지를 더 가져올 수 없어요. 이번 런은 truncated false예요.- 한국어가 0건일 줄 알고 환불을 기대함. 예전 빈 페이지 경로예요. 지금은 결과가 오면 1크레딧이 빠져요. 최신 행 필드 빈칸은 빈 페이지가 아니에요.
- 검색 행
shares를 집계. 이번 런 검색 페이지는 전부 null이었어요. 상세에서만 숫자가 와요.
같은 밀도 측정을 틱톡에서도 보려면?
같은 방식으로 1크레딧 페이지를 잰 글은 틱톡 API 1크레딧 측정이에요. 레딧 필드는 문서, 호출 목록은 플랫폼 페이지, 크레딧은 가격에서 보면 돼요.
자주 묻는 질문
레딧 API 1크레딧에 검색 결과는 몇 건인가요?
영문 3쿼리(best mechanical keyboard, python web scraping, best programming languages)는 모두 25건, 1크레딧이었어요. 예전 발표치는 약 7건이고, 25는 이번 런 최대예요. 고정이 아니에요.
레딧 검색 API 페이지 크기는 항상 25인가요?
아니요. 이번 영문은 25, 한국어 기계식 키보드 sort=new는 22예요. 코드는 25를 넣지 말고 data.items.length를 읽어요.
한국어로 레딧 검색이 되나요?
돼요. query=기계식 키보드, sort=new에서 22건이 왔고 1크레딧이 빠졌어요. has_more=false였어요. 예전 빈 페이지는 0으로 환불됐어요.
레딧 댓글 API는 몇 크레딧인가요?
5크레딧(advanced)이에요. 1이 아니에요. 이번 런 Xbox Cloud 스레드는 flatten 647, 최상위 480, 깊이 9, truncated=false였어요. 웨이브가 이 가격을 바꾸지 않았어요.
레딧 크롤링 대신 API로 받으면 한 페이지에 몇 건인가요?
검색은 이번 런 영문 25, 한국어 22예요. 서브레딧 목록은 r/technology 19, r/MechanicalKeyboards 24예요. 크롤 튜토리얼이 아니라, 호출 1회의 items.length예요.
레딧 댓글이 잘리면 나머지를 더 가져올 수 있나요?
data.truncated=true이고 next_cursor가 없으면 이 엔드포인트로는 나머지를 더 가져올 수 없어요. 이번 스레드는 truncated false, next_cursor null이었어요. 그래도 flatten 647은 목록 힌트 1,320의 전부가 아니에요.
레딧 API 검색을 다시 치려면 GET /v1/reddit/search?query=best%20mechanical%20keyboard에 x-api-key를 붙이면 돼요. len(items)와 credits_used가 나와요. 중간 20건대가 오고, 매번 25는 아니에요. 한글 쿼리에 sort=new를 붙이면 행이 오고 1크레딧이 빠져요.
함께 읽으면 좋은 글
SNS 댓글 분석: 이미 물은 질문 120개
SNS 댓글 분석으로 나열한 질문 120개 중 109개가 댓글이에요. 누가, 무엇, 왜, 어떻게, 비교로 묶었어요. 댓글 언어는 나라가 아니에요. 표는 아래예요.
best tiktok analytics tools, 공개 데이터에 없던 지표 5개
2026년 10월 17일, 계정 18개의 게시물 180개를 봤어요. 지표 16개 중 5개는 확인한 행이 전부 비었어요. 사운드 제목과 조회수 밖의 재생 수는 포스트만 비었고 나머지 셋은 프로필과 포스트가 비었어요.
facebook groups api alternative로 공개 그룹을 찾아요
공개 그룹은 키워드로 고르고 멤버 수와 공개 여부는 include=details가 채워요. 같은 키로 블루스카이 게시물은 한 페이지만 받아요. facebook groups api alternative의 2026-10-17 sourdough 예시는 봉투 합 8크레딧이에요.
