100 크레딧 무료, 카드 등록 없이지금 시작하기
Logo
Back to blog

레딧 API, 검색 1크레딧에 25건이 온다

By SocialCrawl Research··20 min read

레딧 API 검색은 1크레딧에 약 7건이 아니라 25건이에요. 한국어 '기계식 키보드'는 22건이고, 댓글은 5크레딧에 647개예요. 2026-09-05에 13크레딧으로 쟀어요.

레딧 API, 검색 1크레딧에 25건이 온다

레딧 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는 1크레딧에 몇 건이 오나요?

레딧 검색 API GET /v1/reddit/search는 성공하면 1크레딧이에요. 2026-09-05에 영문 쿼리 3개를 쳤고, 세 번 모두 data.items.length25, credits_used가 1이었어요. 2026-09-03 발표치의 약 7건 페이지와 비교하면 같은 1크레딧에서 행이 늘었어요. 25를 고정값으로 코딩하면 안 돼요. 이번 런에서 본 최대예요.

세는 법은 이거예요.

page_len = Array.isArray(data.items) ? data.items.length : 0
쿼리page_lencredits_usedcachedhas_more
best mechanical keyboard251falsetrue
python web scraping251falsetrue
best programming languages251falsetrue

25 / 7 ≈ 3.57배처럼 보이지만, 분모 약 7은 오늘 다시 잰 값이 아니에요. 비교는 25 vs 약 7로 봐요. 페이지가 매번 가득 찬다는 가정에서만, 175건을 받으려면 호출이 25회에서 7회로 줄어요. 가정이에요. 이번 런에서 trim=true로 쳐도 같은 쿼리가 25라, trim 때문에 7이 25가 된 건 아니에요.

공식 Reddit Data APIGET /search는 페이지 크기 표를 안 줘요. reddit api 문서에도 한 페이지가 몇 건인지 없어요. 레딧 검색 API 크레딧당 행은 아래 호출의 len(items)예요.

python
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로 치면 이래요.

bash
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이었어요.

json
{
  "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 위키에 없어요. 막혔던 건 우리 검색 페이지예요.

python
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"))
bash
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만 채워져 있어요. 필드 빈칸과 빈 페이지는 다른 이야기예요.

json
{
  "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는 한 스레드에 몇 개가 오나요?

레딧 댓글 API GET /v1/reddit/post/commentsadvanced 5크레딧이에요. 1이 아니에요. 이번 웨이브가 가격을 바꾸지 않았어요. 표본은 r/technology의 Xbox Cloud 스레드고, 목록 행 num_comments 힌트는 1,320이었어요.

댓글 트리를 펼치면 flatten 647, 최상위 data.items는 480, ext.depth 최대는 9예요. data.truncatedfalse, next_cursor는 null이었어요.

항목
목록 행 num_comments 힌트1,320
top-level data.items480
flatten647
ext.depth 최대9 (0–9: 479 / 62 / 44 / 19 / 18 / 12 / 5 / 4 / 3 / 1)
credits_used5
data.truncatedfalse
next_cursornull
마크다운**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이었어요.

python
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였어요.

bash
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가 없으면, 스레드가 불완전하고 이 엔드포인트로는 나머지를 더 가져올 수 없어요. 이번 스레드에서는 그 패턴이 안 나왔어요. 그래도 한 호출이 목록 힌트 전체를 주는 건 아니에요.

json
{
  "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.selftext23 / 25
author.avatar_url25 / 25
content.media_urls7 / 25
ext.upvote_ratio25 / 25
ext.flair23 / 25
ext.content_language25 / 25

검색의 content.media_urls는 배열이고, 이미지 포스트 한 행에 URL 14개가 붙은 적도 있어요. 서브레딧 목록의 같은 키는 문자열이라 r/technology는 기사 URL, r/MechanicalKeyboards는 갤러리 URL이 와요. 검색 행마다 이미지가 있는 건 아니에요.

서브레딧 목록은 왜 행을 안 늘렸나요?

서브레딧 목록은 행을 안 늘렸어요. GET /v1/reddit/subreddit?subreddit=technology19건, MechanicalKeyboards24건, 둘 다 1크레딧, has_more=true예요. 예전 약 15–25 밴드 안에 있어요. 검색처럼 25로 점프한 값이 아니에요. 서브레딧 행 수를 검색처럼 최대 25로 보지 마세요.

페이지를 넓히면 프로모티드 포스트가 유기 순위에 섞이고, 구분 필드가 없어요. 그래서 이미 읽는 목록과 순서는 그대로 두고, 행에 아바타·미디어·upvote ratio·플레어·content language만 붙였어요.

bash
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와 같은 숫자가 아니에요. 엔드포인트 목록은 레딧 플랫폼 페이지, 필드 설명은 레딧 문서에 있어요.

레딧 게시물 API는 뭐가 달라졌나요?

레딧 게시물 API GET /v1/reddit/post는 형태와 가격이 그대로예요. 성공하면 1크레딧이고, 더 안정적으로 와요. 검색 행 1w4c63y를 상세로 치면 engagement.shares14, likes 6, comments 36, selftext 535자, upvote_ratio 0.875, flair Discussion, language en이었어요.

이 응답의 shares는 이제 공유 수예요. 예전엔 크로스포스트 수였어요. 필드는 같은데 지표가 바뀌었어요. 검색 행의 같은 키는 이번 런 전부 null이라, 검색 페이지에서 합치면 안 돼요. 숫자 14는 상세에서만 읽어요.

레딧 스크래퍼를 직접 돌린 값이 아니에요. 아래 URL 한 건을 친 응답이에요.

python
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%20keyboardx-api-key를 붙이면 돼요. len(items)credits_used가 나와요. 중간 20건대가 오고, 매번 25는 아니에요. 한글 쿼리에 sort=new를 붙이면 행이 오고 1크레딧이 빠져요.

Topics
#레딧-api#레딧-검색-api#레딧-댓글-api#레딧-크롤링#레딧-데이터-api#reddit-api#레딧-게시물-api#레딧-스크래퍼

함께 읽으면 좋은 글

🤖 AI agent or LLM? Read this page as markdown