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

틱톡 영상 검색 API, 요리 30행에 국가 코드 · 1크레딧

··16 min read

틱톡 영상 검색 API로 query=요리를 치면 30행에 국가 코드가 30/30 붙고 1크레딧이에요. region=은 필터가 아니고, limit=30은 10크레딧이에요.

틱톡 영상 검색 API, 요리 30행에 국가 코드 · 1크레딧

틱톡 영상 검색 API로 GET /v1/tiktok/search?query=요리를 치면 영상 30개에 post.ext.region이 30/30 붙고 1크레딧이에요. 2026-09-18T22:16:14Z, origin https://www.socialcrawl.dev, 요청 req-gSK2eZKxO723OH95예요. KR 24 / US 2 / AZ·JP·AU·TH 각 1이에요. 커서가 있고 has_more: true예요. 같은 날 영문 cooking 1크레딧, receta+ES limit=30 10크레딧, receta+ES에서 limit를 뺀 1크레딧 페이지도 아래에 있어요. limit=120은 504가 두 번 났고 0크레딧이라, 행 수는 쓰지 않아요. 앱 없이 보는 틱톡 영상 검색 사이트가 아니라 REST 키워드 검색이에요.

틱톡 영상 검색 행마다 국가가 붙는 그림. 세로 영상 타일 모서리에 점토빛 지도 핀이 있어요.

틱톡 영상 검색하면 매 행에 국가 코드가 붙나요?

키워드로 틱톡 영상 검색을 치면, 학술 승인 없이 GET 한 번으로 매 행에 ISO 3166-1 alpha-2가 붙어요. 1크레딧 ~30행 페이지 가격은 그대로예요.

bash
curl -s --max-redirs 0 \
  -H "x-api-key: $SOCIALCRAWL_API_KEY" \
  -H "Cache-Control: no-cache" -H "Pragma: no-cache" \
  "https://www.socialcrawl.dev/v1/tiktok/search?query=요리"

같은 호출의 KR 행 하나예요. ksdeov, id 7685417766442028295, 팔로워 11,325.

json
{
  "id": "7685417766442028295",
  "url": "https://www.tiktok.com/@ksdeov/video/7685417766442028295",
  "author": { "username": "ksdeov", "display_name": "ksdeov" },
  "ext": {
    "region": "KR",
    "author_id": "6733480308853195778",
    "author_followers": 11325,
    "download_count": 15
  }
}

30행이 왔고 region은 30/30이었어요. credits_used는 1, dropped는 0, X-Cache: MISS예요. 고유 유저네임은 24개고, 그중 KR로 거르면 고유 KR 크리에이터 19명이에요. 캡션 언어(computed.language)는 ko 26, en 2, ja 1, th 1이었어요. 틱톡 영상 검색 한 페이지에 KR이 24/30(80%)이었어요.

같은 날 query=cooking(req-bwS0R7rf6fSolozv, 22:07:19Z)도 영상 30개, region 30/30, 1크레딧, 커서였어요. US 24 / CA 2 / BE·DK·IT·GB 각 1이고 ES는 0이었어요. 가격과 region 잎이 같아요.

post.ext.region은 영상이 등록된 나라예요. 보통 게시 당시 계정 국가고, 시청자 나라나 국적, 캡션 언어가 아니에요. 같은 요리 페이지의 nickybay2004는 한글 캡션인데 region은 US예요 (7686794713109679390).

틱톡 영상 검색을 나라로 거르는 그림. 부채처럼 펼친 영상 타일 앞에 점토빛 지도 핀이 있어요.

틱톡 키워드 검색에서 region=은 그 나라만 주나요?

틱톡 키워드 검색의 region=은 프록시 나라만 바꿔요. 그 나라 영상만 나오지는 않아요. 나라로 남기려면 클라이언트가 post.ext.region을 걸러요.

bash
curl -s --max-redirs 0 \
  -H "x-api-key: $SOCIALCRAWL_API_KEY" \
  -H "Cache-Control: no-cache" -H "Pragma: no-cache" \
  "https://www.socialcrawl.dev/v1/tiktok/search?query=receta&region=ES&limit=30"

req-ucdIYc9pt7XQPkIf(22:07:42Z)는 HTTP 200, 영상 30개, region 30/30, 10크레딧, 커서 없음, has_more: false였어요. ES 25 / CO 2 / PL 1 / DE 1 / US 1이었어요. ES 비율은 25/30(83.3%)예요. 고유 유저네임은 27개, 고유 ES 크리에이터는 22명이었어요.

이 비-ES 5행이 필터가 아니라는 증거예요.

usernameregionvideo id
rubi.chefCO7617623218760862996
isabellarodriguezuCO7632395980767366418
officialepiceatsPL7672057190374460705
tagesrezeptDE7643897506845248800
nurysuleUS7584637852428897550

limit를 뺀 query=receta&region=ES(req-BDe1R2pa5B09A6xA)는 영상 30개, 1크레딧, 커서였어요. ES 26, 비-ES 4(MX 2, US 1, CO 1)예요.

요리 호출은 region=을 안 보냈는데도 비-KR이 6행이었어요. 틱톡 키워드 검색은 그날 그 페이지일 뿐이에요. 나라 비율은 쿼리와 시각, 프록시에 따라 움직여요.

usernameregion캡션 언어
polins___angelsAZen
okazawa_cookingJPja
geoff.garlicAUen
nickybay2004USko (두 영상)
onemeal_a_dayTHth

틱톡 검색 API의 region=과 유저 검색 country=는 같은 칸이 아니에요.

영상 검색 /v1/tiktok/search유저 검색 /v1/tiktok/search/users
단위영상 행계정 행
국가 잎post.ext.region (라벨, 클라이언트에서 거름)author.location (서버 필터 결과)
요청 파라미터region= = 프록시, 필터 아님country= = 계정 지역 필터
1크레딧limit 생략 ~30행, cursorcountry 생략 글로벌 페이지
유료limit= (ceil(n/4)+2, 관측 30→10)매칭 행당 5크레딧

계정만 그 나라로 받고 싶다면 틱톡 유저 검색, KR 3건 전부 한국 · 15크레딧을 보세요. country=는 그 글에서 다뤄요. 이번엔 search/users를 호출하지 않았어요.

공식 Query Videos는 서버에서 region_code IN [...]로 걸러요. 학술 승인, POST, 30일 창, 한 번에 최대 100건이에요. Getting Started curl은 쿼리에 나라를 넣어요. 필터를 안 걸어도 매 행에 라벨이 붙고, 클라이언트에서 걸러요. 필드가 없어서가 아니라 호출 모델이 달라요.

limit= 대량 페이지는 1크레딧 페이지와 뭐가 다른가요?

limit를 빼면 약 30행 1크레딧이고 커서로 이어져요. limit=은 대량 라벨 한 장이에요. 1크레딧 페이지 가격은 그대로예요.

호출제품 주장관측 credits_used
limit 없음, query=요리~30행 1크레딧1
limit 없음, query=cooking~30행 1크레딧1
limit 없음, query=receta&region=ES~30행 1크레딧1
limit=30 receta+ESceil(30/4)+2 = 1010
limit=120 receta+ES문서 ceil(n/4)+2관측 못 함 (504 두 번, 환불 0)

오늘 라이브에서 HTTP 200을 받은 limit은 30뿐이고, 관측 10이 ceil(n/4)+2와 맞아요. 체인지로그는 limit을 30·60·90·120으로 올리고 각각 10·17·25·32크레딧이라고 해요. 이번엔 60/90/120을 HTTP 200으로 못 받아서 영수증처럼 안 적어요.

커서는 limit 없을 때만 있어요 (has_more: true). limit=30은 next_cursor가 없고 has_more: false예요.

limit=120은 오늘 라이브에서 HTTP 200을 못 받았어요. req-UCkQA3eOkYqcSEJH와 req-7WXb1xv9LVXb8ljT 둘 다 HTTP 504 UPSTREAM_ERROR, credits_used: 0이었어요. 고유 영상 수·ES 수·고유 ES 크리에이터 수는 측정하지 못했어요. 문서상 중복 제거로 120 미만일 수 있지만, 그건 이번 관측이 아니에요.

안 채워진 슬롯 환불은 limit=30이 30/30이라 이번엔 못 봤어요. 504는 0크레딧으로 환불됐어요.

잎요리 1crcooking 1crreceta ES limit=30receta ES 1cr
post.author.username30/3030/3030/3030/30
post.ext.author_id30/3030/3030/3030/30
post.ext.author_followers30/3030/3030/3030/30
post.ext.author_following키 없음 0/30키 없음30/30키 없음
post.ext.download_count30/3030/3030/3030/30
post.ext.region30/3030/3030/3030/30

author_following은 limit=30에서만 30/30이었어요. 1크레딧 세 번은 키 자체가 없어요.

post.ext.region이 KR인 행만 남긴 뒤 username을 유니크하면 요리 페이지에서 고유 KR 19명이 나와요. receta limit=30은 ES 25 → 고유 ES 22예요. 유저 검색(행당 5크레딧) 없이 그 나라 크리에이터 목록이 나와요. KR 24/30, ES 25/30은 그날 그 페이지 스냅샷이지 전수가 아니에요.

limit=30 경로에 following이 있는 행 하나예요. sofiatecocina, 팔로워 417,506, following 91.

json
{
  "id": "7684609864760364320",
  "url": "https://www.tiktok.com/@sofiatecocina/video/7684609864760364320",
  "author": { "username": "sofiatecocina" },
  "ext": {
    "region": "ES",
    "author_id": "6862032819960693766",
    "author_followers": 417506,
    "author_following": 91,
    "download_count": 1
  }
}

틱톡 해시태그 검색은 GET /v1/tiktok/search/hashtag예요. 다른 제품이에요. search/top의 limit=은 이번엔 호출하지 않아서 단정하지 않아요. 나라의 급상승 게시물, 사운드, 해시태그, Google 검색어는 틱톡 트렌드 API 호출이에요.

어떻게 시작하나요?

SocialCrawl에서 x-api-key를 받은 뒤, 가장 작은 호출부터 치면 돼요. 첫 호출은 query=요리 1크레딧 페이지예요.

bash
curl -s --max-redirs 0 \
  -H "x-api-key: $SOCIALCRAWL_API_KEY" \
  -H "Cache-Control: no-cache" -H "Pragma: no-cache" \
  "https://www.socialcrawl.dev/v1/tiktok/search?query=요리"

다시 치면 행 수와 핸들은 바뀌어요. 모양은 같아야 해요. 약 30행, 매 행 post.ext.region, credits_used: 1, 커서예요. origin은 https://www.socialcrawl.dev예요.

코드 한 줄 쓰기 전에 데이터를 먼저 확인하려면 비주얼 익스플로러에 같은 경로를 넣어 보세요. 엔드포인트 목록은 틱톡 허브에, 호출 방법은 문서에 있어요. 2026-09-18 라벨·limit=은 체인지로그에 적혀 있어요. 크레딧 밀도는 틱톡 API 1크레딧에 팔로워 150명, 댓글 48개가 온다에서 다뤄요. 같은 검색에 label=sponsored를 붙여 협찬 게시물을 가려내는 방법은 뒷광고 찾기 API에 있어요. 이 글은 영상 검색 국가 라벨만 말해요.

공식 Display API는 동의한 계정 나열이지 키워드 검색이 아니에요. 공식 API 없이 데이터를 가져오는 경로는 틱톡 크롤링: API 없이 데이터 가져오는 법에 있어요.

자주 묻는 질문

틱톡 영상 검색 API는 매 영상에 국가 코드가 붙나요?

이번 HTTP 200 네 번 모두 post.ext.region이 30/30이었어요. 요리 1크레딧, cooking 1크레딧, receta limit=30, receta에서 limit를 뺀 페이지 모두 그랬어요. 값은 ISO 3166-1 alpha-2고, 필터를 걸지 않아도 빈 칸 없이 라벨이 붙어요.

region= 쿼리가 국가 필터인가요?

아니요. 프록시만 바꿔요. receta에 region=ES와 limit=30을 붙인 30행 중 5행이 ES가 아니었어요. 요리 호출은 region=을 안 보냈는데도 비-KR이 6행이었어요. 나라로 남기려면 post.ext.region을 클라이언트에서 걸러요.

limit를 안 넣으면 크레딧이 오르나요?

아니요. 요리·cooking·receta에서 limit를 뺀 페이지는 모두 1이었어요. 1크레딧 ~30행 페이지 가격은 그대로고, 커서로 이어져요. 오른 건 limit=을 붙인 대량 한 장뿐이고, 관측된 limit=30은 10크레딧이었어요.

limit=120은 항상 120행인가요?

오늘 라이브에서 HTTP 200을 못 받았어요. 504가 두 번 났고 credits_used는 0이었어요. 문서상 중복 제거로 120 미만일 수 있지만 관측하지 못했어요. 항상 120이라고 쓰지 않아요.

유저 검색 country=와 같은 제품인가요?

아니요. 영상 검색은 GET /v1/tiktok/search에 post.ext.region 라벨이에요. 유저 검색은 GET /v1/tiktok/search/users?country=이고 매칭 행당 5크레딧이에요. 이번엔 유저 검색을 호출하지 않았어요. 그 제품은 틱톡 유저 검색, KR 3건 전부 한국 · 15크레딧에 있어요.

Topics
#틱톡-영상-검색-api#틱톡-영상-검색#틱톡-키워드-검색#틱톡-검색-api#틱톡-api#틱톡-해시태그-검색#틱톡-동영상-찾기#틱톡-검색

함께 읽으면 좋은 글

🤖 AI agent or LLM? Read this page as markdown