문서

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 키

  1. TwitterDown에 로그인하고 API 사용이 가능한 요금제를 활성화합니다.
  2. Dashboard > API Keys를 엽니다.
  3. 앱 또는 환경을 구분할 수 있는 라벨로 키를 생성합니다.

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"
}
상태의미
400Missing or malformed request payload
401Missing or invalid API key
403Plan does not allow the requested operation
422Tweet URL could not be resolved
429Rate limit exceeded
500Unexpected 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 키를 만들어 애플리케이션에 연결하세요.