문서
TwitterDown API v1
하나의 POST /twitter 엔드포인트로 Twitter/X 동영상 리소스를 조회할 수 있습니다. 모든 응답은 구조화된 JSON이며 명확한 rate limit 헤더를 제공합니다.
개요
TwitterDown API는 자동화, 미디어 아카이브, 콘텐츠 운영, 내부 도구를 위해 Twitter/X 동영상 추출 기능을 개발자에게 제공합니다.
- Base URL: https://twitterdown.com/api/v1
- 인증: Bearer token (API 키)
- 응답 형식: application/json
인증
모든 요청에는 Authorization 헤더에 유효한 API 키가 포함되어야 합니다. 키는 계정에 연결되며 대시보드에서 언제든지 폐기할 수 있습니다.
Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxx
API 키
- TwitterDown에 로그인하고 API 사용이 가능한 요금제를 활성화합니다.
- Dashboard > API Keys를 엽니다.
- 앱 또는 환경을 구분할 수 있는 라벨로 키를 생성합니다.
API 키는 한 번만 표시됩니다. 페이지를 떠나기 전에 비밀 관리 도구에 저장하세요.
핵심 엔드포인트
POST /twitter
POST /twitter는 공개 Tweet URL을 해석하고 썸네일, 동영상 버전, 텍스트, 사용자명, 상태 ID를 반환합니다.
POST https://twitterdown.com/api/v1/twitter
Content-Type: application/json
Authorization: Bearer sk-xxxx
{
"url": "https://x.com/username/status/1234567890123456789"
}성공 응답 (200):
{
"code": 0,
"message": "ok",
"data": {
"thumbnail": "https://pbs.twimg.com/...jpg",
"videos": [
{ "resolution": "720p", "quality": "HD", "url": "https://video.twimg.com/..." },
{ "resolution": "360p", "quality": "SD", "url": "https://video.twimg.com/..." }
],
"text": "Tweet text",
"username": "username",
"statusId": "1234567890123456789",
"processed_at": "2024-01-01T12:00:00.000Z"
}
}GET /twitter
통합, SDK 초기화, 운영 점검에 사용할 엔드포인트 메타데이터를 반환합니다.
속도 제한
- 분당 60 요청
- 시간당 1,000 요청
- 일당 10,000 요청
각 응답의 X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset 값을 확인하세요. 한도를 초과하면 API는 HTTP 429와 Retry-After를 반환합니다.
오류 처리
모든 오류는 숫자 코드와 읽을 수 있는 메시지가 포함된 JSON으로 반환됩니다.
{
"code": -1,
"message": "Readable error message"
}| 상태 | 의미 |
|---|---|
| 400 | Missing or malformed request payload |
| 401 | Missing or invalid API key |
| 403 | Plan does not allow the requested operation |
| 422 | Tweet URL could not be resolved |
| 429 | Rate limit exceeded |
| 500 | Unexpected server-side failure |
예제
아래 예제를 백엔드 통합, 자동화 스크립트, 내부 개발 도구의 시작점으로 사용할 수 있습니다.
JavaScript (fetch)
const res = await fetch("https://twitterdown.com/api/v1/twitter", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer sk-xxxx"
},
body: JSON.stringify({ url })
});
const data = await res.json();Python (requests)
resp = requests.post(
"https://twitterdown.com/api/v1/twitter",
headers={
"Authorization": "Bearer sk-xxxx",
"Content-Type": "application/json",
},
json={"url": tweet_url},
)
print(resp.json())더 많은 구현 아이디어가 필요하다면 블로그의 API 가이드 에서 통합 패턴, 릴리스 노트, 워크플로 예제를 확인하세요.
API
다음 단계
참고 문서에서 실제 요청 테스트로 이동하거나, API 키를 만들어 애플리케이션에 연결하세요.
