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

유튜브 틱톡 인스타그램 스크래핑 API는 행 있는 곳만 과금해요

·18 min read

유튜브 틱톡 인스타그램 스크래핑 API로 뉴진스를 한 번 검색하니 행 122개, 크레딧 4예요. 유니버설 검색이 아니에요. 네 소스 모두 1크레딧이었어요.

유튜브 틱톡 인스타그램 스크래핑 API는 행 있는 곳만 과금해요

유튜브 틱톡 인스타그램 스크래핑 API로 뉴진스를 한 번 검색하니 행 122개, 크레딧 4가 나왔어요. 유니버설 검색은 아니고, 멀티 호출이 조회수·기간·국가 필터를 무시해서, 그 조건은 틱톡 검색에서만 적용됐어요.

이 숫자는 어느 호출에서 나왔나요?

2026-10-05 00:57–01:00 KST에 https://www.socialcrawl.dev로 보냈어요. 헤더는 x-api-key이고, 키 원문은 $SOCIALCRAWL_API_KEY로만 써요. 쿼리는 뉴진스예요. platforms는 tiktok,instagram,youtube,reddit이고, 비운 기본 집합은 부르지 않았어요.

돈을 쓴 호출은 셋이에요. 필터 없는 멀티가 4, tiktok.region=KR과 youtube.region=KR을 붙인 멀티가 2, GET /v1/tiktok/search가 2, 합이 8이에요. 필터 이름을 붙인 멀티, 레딧의 min_views와 sort_rows, 400 프로브 22번은 credits_used가 0이에요. 0은 필터가 무료라는 뜻이 아니에요. 캐시에 남았거나 값이 거절된 호출이에요. 표본은 쿼리 하나라 한국 전체나 업종 평균이 아니에요. 이번 응답에는 meta.hint가 없었어요. 이 소셜 미디어 API 비용은 응답의 credits_used만 보면 돼요.

잔액은 15가 줄었는데 왜 글의 비용은 8인가요?

프로브 전 잔액은 56086, 끝난 뒤는 56071이에요. 15가 줄었지만 이 글의 credits_used 합은 8이에요. 15에는 다른 지출이 섞여 있어요. 잔액 차이를 이 글의 비용으로 쓰지 않아요.

열린 봉투 하나와 글자 없는 카드 더미 네 개가 나란히 있어, 한 호출로 받은 네 플랫폼 행을 가리켜요.

유튜브, 틱톡, 인스타그램을 한 호출로 검색하면 어떤 행이 오나요?

bash
curl -s -H "x-api-key: $SOCIALCRAWL_API_KEY" \
  "https://www.socialcrawl.dev/v1/search/multi?query=뉴진스&platforms=tiktok,instagram,youtube,reddit"

HTTP 200이에요. credits_used 4, credits_charged 4, cached false, search_status는 complete, duplicates_removed는 0이에요. since는 보내지 않아서 null이에요. 행은 요청한 플랫폼 순서로 122개예요. 네 소스 모두 ok예요. has_more는 true이고 next_cursor도 있었어요. 다음 페이지는 받지 않았고, data.walk는 없었어요.

platformendpointrowscredits
tiktok/v1/tiktok/search291
instagram/v1/instagram/search/reels301
youtube/v1/youtube/search381
reddit/v1/reddit/search251

인스타 소스는 이 응답의 endpoint가 /v1/instagram/search/reels라 릴스 검색이에요. 조회수가 있는 행은 틱톡 29/29, 인스타 30/30, 유튜브 38/38, 레딧 0/25예요. 레딧 views는 전부 null이에요.

유튜브는 좋아요·댓글·공유가 38행 모두 null이라 computed.engagement_rate도 null이에요. 조회수 중앙값은 912000이에요. 평균은 1187506119를 38로 나눈 값이라, 최대 299902293 때문에 중앙값과 멀어요. 이 페이지의 기술 통계예요. 벤치마크는 아니에요. 조회수 상위 세 건의 제목은 NewJeans (뉴진스) 'Super Shy' Official MV, NewJeans (뉴진스) 'Hype Boy' Official MV (Performance ver.1), NewJeans (뉴진스) ‘Supernatural’ Official MV (Part.1)예요.

인스타는 shares와 saves가 30행 모두 null이에요. 참여율 식은 틱톡과 인스타 응답이랑만 맞았어요. 숫자가 있는 likes, comments, shares만 더해 views로 나누고, 소수 여섯째 자리에서 반올림해요. saves는 안 넣어요. 틱톡 한 행은 views 12796, likes 2786, comments 54, shares 106, saves 534예요. (2786+54+106)/12796은 0.230228이에요. saves를 넣으면 응답과 달라요. likes가 null인 인스타 2행도 이 식과 맞았어요. 네 플랫폼을 한 평균으로 합치지 않아요.

data.relevance는 mode가 score, extra_credits 0, status가 partial이에요. scored 48, unjudged 59, too_short 3, pending 12예요. 점수가 없는 행이 더 많아요. 관련도 비율로 쓰지 않아요. data.labels도 partial이고 labelled는 0, extra_credits는 0이에요. content_category가 채워졌다고 보면 안 돼요.

아래는 플랫폼마다 행 하나만 남긴 응답이에요.

json
{
  "credits_used": 4,
  "credits_charged": 4,
  "cached": false,
  "data": {
    "search_status": "complete",
    "duplicates_removed": 0,
    "since": null,
    "sources": {
      "tiktok": { "endpoint": "/v1/tiktok/search", "rows": 29, "credits": 1, "has_more": true },
      "instagram": { "endpoint": "/v1/instagram/search/reels", "rows": 30, "credits": 1, "has_more": true },
      "youtube": { "endpoint": "/v1/youtube/search", "rows": 38, "credits": 1, "has_more": true },
      "reddit": { "endpoint": "/v1/reddit/search", "rows": 25, "credits": 1, "has_more": true }
    },
    "items": [
      { "platform": "tiktok", "views": 12796, "published_at": "2026-10-03T17:25:55.000Z" },
      { "platform": "instagram", "views": 10879, "published_at": "2026-10-03T05:32:32.000Z" },
      { "platform": "youtube", "views": 4711443, "published_at": "2024-06-08T05:00:30.000Z" },
      { "platform": "reddit", "views": null, "published_at": "2024-06-27T17:54:13.000Z" }
    ]
  }
}

tiktok.region=KR은 미국 행을 다 빼나요?

같은 쿼리와 네 플랫폼에 tiktok.region=KR, youtube.region=KR만 더했어요. HTTP 200, credits_used 2, credits_charged 2, duplicates_removed 0, 행은 129예요. 30+30+44+25예요. 호출의 cached는 false예요.

틱톡은 30행이에요. 기본 29와 id가 3개 겹치고, 소스 크레딧은 1이에요. post.ext.region은 KR이 10에서 23, US가 7에서 2예요. US 2행이 남았어요. 한 국가만 남기는 필터로 쓰지 않아요.

유튜브는 44행, 겹침 25, 소스 크레딧 1이에요. post.ext.region이 없어요. 44행을 한국 영상이라고 부르지 않아요.

인스타 30과 레딧 25는 id가 기본 호출과 같고 소스 크레딧은 0이에요. 캐시라 다시 검색된 게 아니에요.

네 개의 카드 더미 옆에 놓인 체는 쓰이지 않고, 같은 체가 더미 하나만 골라 거르고 있어요.

틱톡 크롤링에서 조회수·기간·국가는 어디서 거르나요?

틱톡 크롤링에서 조회수·기간·국가로 행이 준 건 GET /v1/tiktok/search뿐이에요. region은 안 보냈고, seen=ko-newjeans-20261005는 같이 보냈어요.

bash
curl -s -H "x-api-key: $SOCIALCRAWL_API_KEY" \
  "https://www.socialcrawl.dev/v1/tiktok/search?query=뉴진스&min_views=100000&max_age_days=365&exclude_country=US&sort_rows=views&max_pages=2&seen=ko-newjeans-20261005"

HTTP 200, cached false, credits_used 2, 행 12예요. data.walk는 pages 2, stopped가 max_pages, rows_fetched 52, rows_returned 12예요. 버린 행은 views_below_min 37, older_than_max_age 2, country_excluded 1, repeats 0이에요. credits.pages는 2, refunded는 0이에요. 37+2+1은 40이고, 가져온 52에서 돌려준 12를 빼도 40이에요. 콘텐츠가 끝나서가 아니라 요청한 2페이지에서 멈췄어요. next_cursor는 있었어요. 이어 받지 않았고, max_pages=5는 보내지 않았어요.

돌아온 12행은 조회수 내림차순이고 최소 113458이라 100000 이상이에요. US는 없어요. 국가는 KR 8, GB 1, TH 1, HU 1, ID 1이에요. published_at은 2026-01-29부터 2026-10-03까지로, 호출 시각 2026-10-04T15:59:55Z 기준 365일 안이에요.

seen은 400이 아니었어요. refunded는 0, credits_used는 2예요. 같은 id로 다시 쳐 환불이 깎이는지는 캡처하지 않았어요.

json
{
  "credits_used": 2,
  "cached": false,
  "data": {
    "walk": {
      "pages": 2,
      "stopped": "max_pages",
      "rows_fetched": 52,
      "rows_returned": 12,
      "discarded": {
        "views_below_min": 37,
        "older_than_max_age": 2,
        "country_excluded": 1
      },
      "repeats": 0,
      "credits": { "pages": 2, "refunded": 0 }
    },
    "items": [
      {
        "views": 21974471,
        "published_at": "2026-07-23T04:00:00.000Z",
        "region": "KR"
      }
    ]
  }
}

같은 이름을 멀티에 붙이면 왜 행이 안 줄나요?

필터 없는 호출 직후, 같은 쿼리에 min_views=nope, max_age_days=0, exclude_country=USA, max_pages=9, sort_rows=nope, seen=bad id!!, tiktok.min_views=nope를 붙였어요. HTTP 200, cached true, credits_used 0이에요. 플랫폼과 id가 같은 122행이 그대로예요. data.walk는 없어요. 이 0은 캐시예요. 필터가 무료라는 뜻이 아니에요.

data._warnings는 이 문장이에요.

  • exclude_country was ignored: did you mean exclude?
  • max_age_days was ignored: GET /v1/search/multi has no such parameter.
  • max_pages was ignored: GET /v1/search/multi has no such parameter.
  • min_views was ignored: GET /v1/search/multi has no such parameter.
  • seen was ignored: GET /v1/search/multi has no such parameter.
  • sort_rows was ignored: did you mean tiktok.sort_by?
  • tiktok.min_views was ignored: did you mean tiktok.date_posted?

이 이름을 멀티 파라미터로 적지 않아요. tiktok.min_views도 무시됐어요. 경고가 제안한 exclude, tiktok.sort_by, tiktok.date_posted로 행이 바뀌는지는 보지 않았어요.

레딧·릴스·유튜브 검색은 이 값을 받았나요?

잘못된 값 22번은 HTTP 400이고 credits_used는 0이에요. 틱톡 400 본문은 min_views를 0 이상의 정수, max_age_days를 1에서 3650, max_pages를 1에서 5, sort_rows를 views만, seen을 1에서 64자의 영숫자와 . _ -만 받아요. 그 최댓값으로 성공한 응답은 아니에요. 틱톡 exclude_country=USA는 두 글자 코드가 아니라 400이에요. 그 문장은 코드를 최대 30개까지 말하지만, 30개를 성공으로 보내진 않았어요. US는 위 워크에서 빠졌어요. exclude_country가 그 엔드포인트의 필터가 아니라는 400은 인스타 릴스, 유튜브, 레딧이에요. 그 셋에는 국가 필터를 붙이지 않아요.

레딧에 min_views=nope와 sort_rows=nope를 같이 보낸 호출은 HTTP 200, 캐시, credits_used 0, 행 25예요. id는 멀티의 레딧과 같아요. 경고는 레딧 검색에 min_views가 없고, sort_rows 대신 sort를 제안해요. sort로 행이 바뀌는지는 보지 못했어요.

인스타그램 스크래핑 행은 어디서 오나요?

인스타그램 스크래핑 행은 새 호출이 아니에요. 앞 멀티 응답에서 인스타 행만 봤어요. data.sources.instagram.endpoint는 /v1/instagram/search/reels이고, 행 30, 소스 크레딧 1이에요.

조회수는 최소 2278, 중앙값 8846, 최대 68789예요. 게시 시각은 2026-08-02부터 2026-10-04까지고, 이 페이지 한정이에요. likes null은 2, comments null은 0, shares와 saves null은 30이에요. 참여율은 그 식과 같았고, 플랫폼 평균에는 넣지 않아요.

region을 넣은 호출에서 이 30행은 캐시였어요. id가 같고 소스 크레딧은 0이에요. region이 인스타를 다시 검색하지 않았어요.

인스타그램 크롤링으로 공식 해시태그 검색을 치는 호출과는 달라요. 그 문서는 계정당 롤링 7일에 고유 해시태그 30개라고 해요.

어떻게 시작하나요?

키는 가입한 뒤에 받아요. 무료 크레딧이 얼마인지는 이번 캡처에 없어요. 첫 호출은 아래예요. 행 수와 크레딧은 data.sources에 있고, 인스타가 릴스인지는 endpoint로 확인해요.

가입한 다음 API 키에서 키를 만들고, 코드를 쓰기 전에 응답만 보려면 익스플로러예요. 파라미터 표는 멀티 검색 문서에 있어요.

bash
curl -s -H "x-api-key: $SOCIALCRAWL_API_KEY" \
  "https://www.socialcrawl.dev/v1/search/multi?query=뉴진스&platforms=tiktok,instagram,youtube,reddit"

조회수·기간·국가·max_pages·seen은 GET /v1/tiktok/search에 붙여요. 이번 예는 min_views=100000&max_age_days=365&exclude_country=US&sort_rows=views&max_pages=2예요. 다음 페이지는 data.sources의 next_cursor를 그 플랫폼 검색의 cursor로 보내요. 이번 글은 그 호출을 하지 않았어요. 시각이 다르면 행은 바뀌어요.

행을 더 채워 쓰는 방법은 쓸 수 있는 행 글에 있어요.

자주 묻는 질문

이 검색은 유니버설 검색과 같은 호출인가요?

아니에요. 이번 글은 GET /v1/search/multi만 호출했어요. 유니버설 검색이 어떤 호출인지는 소셜 검색 글에 있어요.

소셜 미디어 API 가격은 빈 플랫폼도 포함하나요?

이번 네 플랫폼은 모두 행이 있었고, 소스 크레딧은 각 1, 합 4였어요. 빈 플랫폼 환불은 못 봤어요. 캐시의 0을 가격으로 쓰지 않아요.

인스타그램 API와 이 검색은 무엇이 다른가요?

이번 인스타 행은 멀티 안의 /v1/instagram/search/reels예요. 공식 해시태그 검색과 같은 호출이 아니에요.

한 호출이 플랫폼마다 몇 페이지를 걷나요?

이번 멀티는 플랫폼당 한 페이지였어요. max_pages는 무시됐고 data.walk도 없었어요. 두 페이지를 걷은 건 틱톡 검색의 max_pages=2뿐이에요. 5는 성공으로 안 걸었어요.

다음 페이지 커서는 어느 검색으로 보내나요?

data.sources의 next_cursor를 그 플랫폼 검색의 cursor로 보내요. 이번엔 안 보냈어요. 둘째 페이지 행 수는 몰라요.

조회수나 날짜 조건은 멀티 호출의 쿼리인가요?

아니에요. 접두 없는 이름과 tiktok.min_views는 _warnings가 무시했어요. 행이 준 건 GET /v1/tiktok/search 한 건이에요.

Topics
#유튜브-틱톡-인스타그램-스크래핑-api#인스타그램-스크래핑#틱톡-스크래핑#틱톡-크롤링#인스타그램-크롤링#인스타그램-api#소셜-미디어-api#소셜-미디어-api-가격

함께 읽으면 좋은 글

🤖 AI agent or LLM? Read this page as markdown