jsonscraper

TikTok 엔지니어링 가이드

Python으로 TikTok 스크래핑하는 방법

업데이트: 2026년 3월 5일 읽는 데 3분 10 조회수

이 가이드는 사용자/프로필 엔드포인트, 검색 경로 및 워터마크 없는 추출 사용 사례를 갖춘 강력한 TikTok 데이터 파이프라인을 구축하는 방법을 보여줍니다.

TikTok API 맵에는 사용자, 비디오, 해시태그, 위치, 음악, 트렌드, 효과 및 검색 클래스가 포함됩니다. 이를 통해 하나의 백엔드가 분석, 조정 및 강화 워크플로를 동시에 지원할 수 있습니다.

구성할 내용

Postman 빠른 시작

공식 TikTok 컬렉션을 열고 license_key를 설정한 뒤, 코딩 전에 첫 라우트를 검증하세요.

1단계

포크

IG 또는 TikTok Postman 컬렉션을 작업 공간 기준으로 사용하세요.

2단계

키 설정

Configure license_key once in an environment variable.

3단계

자동화

준비된 요청에 맞춰 스니펫을 내보내거나 AI 에이전트 워크플로를 실행하세요.

전체 API 요청

컬렉션의 전체 엔드포인트 맵입니다. 각 클래스를 펼치고 라우트를 클릭해 파라미터와 응답 예시를 확인하세요.

비디오 검색 사용자 해시태그 위치 음악 인기 효과 스토리 플레이리스트 라이브
비디오 (8 endpoints)
검색 (9 endpoints)
사용자 (15 endpoints)
해시태그 (3 endpoints)
위치 (2 endpoints)
음악 (3 endpoints)
인기 (2 endpoints)
효과 (3 endpoints)
스토리 (2 endpoints)
플레이리스트 (3 endpoints)
라이브 (4 endpoints)
Postman에서 전체 엔드포인트 목록 보기

컬렉션 기반 Python 예제

이 예제는 Postman과 동일한 인증 패턴을 사용합니다: query 파라미터의 license_key.

Example 1: search video by keyword (GET /searchVideo)

import requests

BASE_URL = "https://tiktok.evelode.com/tiktok-api"
LICENSE_KEY = "YOUR_LICENSE_KEY"

params = {
    "license_key": LICENSE_KEY,
    "keyword": "appletv",
    "cache_timeout": 0,
}

r = requests.get(f"{BASE_URL}/searchVideo", params=params, timeout=30)
r.raise_for_status()
data = r.json()

print(data["status"], data.get("tiktok", {}).get("cursor"))
{
  "status": "ok",
  "tiktok": {
    "cursor": 12,
    "aweme_list": []
  }
}

Example 2: get no-watermark URL by video ID (GET /getNoWatermarkUrlByID)

import requests

BASE_URL = "https://tiktok.evelode.com/tiktok-api"
LICENSE_KEY = "YOUR_LICENSE_KEY"

params = {
    "license_key": LICENSE_KEY,
    "video_id": "7106855913906081070",
    "cache_timeout": 0,
}

r = requests.get(f"{BASE_URL}/getNoWatermarkUrlByID", params=params, timeout=30)
r.raise_for_status()
data = r.json()

print(data["status"], data["tiktok"]["id"])
print(data["tiktok"]["url"])

Python 요청 패턴 (인증 + 페이지네이션)

대용량 작업의 예측 가능성을 위해 요청 서명과 커서 처리를 중앙화하세요.

import requests

BASE_URL = "https://tiktok.evelode.com/tiktok-api"
LICENSE_KEY = "YOUR_LICENSE_KEY"

def call(endpoint: str, **params):
    q = {"license_key": LICENSE_KEY, "cache_timeout": 0, **params}
    r = requests.get(f"{BASE_URL}{endpoint}", params=q, timeout=30)
    r.raise_for_status()
    return r.json()

page1 = call("/getFollowers", query="therock", count=20)
next_cursor = page1.get("tiktok", {}).get("next_cursor")
if next_cursor:
    page2 = call("/getFollowers", query="therock", count=20, cursor=next_cursor)

구현 노트

  • 모든 요청에 license_key를 포함하세요.
  • 반복 점검에는 cache_timeout을 의도적으로 사용하세요.
  • 커서 필드는 쿼리 컨텍스트와 함께 저장하세요.
  • 기본 검증 후 클래스 단위로 라우트 범위를 확장하세요.

API 워크플로를 시작할 준비가 되셨나요?

API를 선택하고, Postman에서 엔드포인트를 테스트하고, 몇 분 만에 워크플로를 시작하세요.