리셀러 API v2
표준 SMM 패널(v2) 규격이라 기존 패널 프로그램·리셀러 스크립트에 주소와 키만 바꿔 넣으면 바로 연동됩니다. 서비스 목록·주문·상태 확인·리필·취소·잔액 조회를 모두 지원합니다.
| 파라미터 | 설명 |
|---|---|
| API 주소 | https://youtubeget.co.kr/api/v2 |
| HTTP 방식 | POST (GET 도 동일하게 동작) |
| 본문 형식 | application/x-www-form-urlencoded (JSON 본문도 지원) |
| 응답 형식 | JSON |
| 통화 | KRW (포인트 1 = 1원) |
| key | 모든 요청에 필수 — API 메뉴에서 발급한 API 키 |
| action | services · add · status · refill · refill_status · cancel · balance |
주문 금액은 보유 포인트에서 차감되며, 단가는 서버가 계산합니다(회원별 단가가 설정된 경우 그 단가가 적용됩니다). 오류는 규격에 따라 HTTP 200 과 함께 {"error": "..."} 형태로 내려갑니다. 요청은 키당 분당 240회로 제한됩니다. 휴대폰 인증 기능이 켜져 있는 경우 인증된 계정만 API 주문을 넣을 수 있습니다.
| 파라미터 | 설명 |
|---|---|
| key | API 키 |
| action | services |
[
{
"service": 12,
"name": "유튜브 조회수 [고품질]",
"type": "Default",
"category": "[유튜브] 조회수",
"rate": "3500.00",
"min": "100",
"max": "100000",
"refill": true,
"cancel": true,
"currency": "KRW"
}
]rate 는 1,000개당 금액(KRW)입니다. 키워드 입력이 필요한 서비스는 type: "SEO" 로 내려가며 주문 시 keywords 파라미터가 필수입니다.
| 파라미터 | 설명 |
|---|---|
| key | API 키 |
| action | add |
| service | 서비스 번호 (services 응답의 service 값) |
| link | 주문 대상 링크 |
| quantity | 수량 — comments·usernames 목록형 주문 외에는 필수 |
| runs (선택) | 드립피드 — 나눠 실행할 횟수. 총 수량과 과금은 quantity × runs (1~10000) |
| interval (선택) | 드립피드 — 실행 간격(분) |
| keywords (선택) | SEO 타입 — 키워드 목록 (줄바꿈 구분, 해당 서비스는 필수) |
| comments (선택) | 커스텀 댓글 타입 — 댓글 목록 (줄바꿈 구분). quantity 생략 시 줄 수로 과금, 함께 보내면 큰 쪽 기준 |
| usernames (선택) | 멘션 타입 — 사용자명 목록 (줄바꿈 구분). 과금 기준은 comments 와 같음 |
| hashtags (선택) | 멘션(해시태그 병행) 타입 — 해시태그 목록 |
| hashtag (선택) | 멘션(해시태그 수집) 타입 — 수집할 해시태그 |
| username (선택) | 멘션(팔로워 수집)·댓글 좋아요 타입 — 대상 사용자명 |
| media (선택) | 멘션(게시물 좋아요 수집) 타입 — 대상 게시물 링크 |
| answer_number (선택) | 투표 타입 — 답변 번호 |
| groups (선택) | 그룹 초대 타입 — 그룹 목록 (줄바꿈 구분) |
구독형(Subscriptions) 주문 파라미터(min · max · posts · old_posts · delay · expiry)는 지원하지 않습니다 — 보내면 This order type is not supported 오류가 반환됩니다.
curl -X POST "https://youtubeget.co.kr/api/v2" \
-d "key=발급받은키" \
-d "action=add" \
-d "service=12" \
-d "link=https://youtube.com/watch?v=XXXXXXXX" \
-d "quantity=1000"{"order": 23501}| 파라미터 | 설명 |
|---|---|
| key | API 키 |
| action | status |
| order | 주문번호 (단건 조회) |
| orders | 주문번호 목록 — 쉼표 구분, 최대 100개 (다건 조회) |
{
"charge": "3500.00",
"start_count": "1200",
"status": "In progress",
"remains": "400",
"currency": "KRW"
}{
"23501": {
"charge": "3500.00",
"start_count": "1200",
"status": "Completed",
"remains": "0",
"currency": "KRW"
},
"23502": { "error": "Incorrect order ID" }
}상태 값: Pending · In progress · Completed · Partial · Canceled
| 파라미터 | 설명 |
|---|---|
| key | API 키 |
| action | refill |
| order | 주문번호 (단건 신청) |
| orders | 주문번호 목록 — 쉼표 구분, 최대 100개 (다건 신청) |
{"refill": "1"}[
{ "order": 23501, "refill": 1 },
{ "order": 23502, "refill": 2 },
{ "order": 23503, "refill": { "error": "Incorrect order ID" } }
]| 파라미터 | 설명 |
|---|---|
| key | API 키 |
| action | refill_status |
| refill | 리필번호 (단건 조회) |
| refills | 리필번호 목록 — 쉼표 구분, 최대 100개 (다건 조회) |
{"status": "Completed"}[
{ "refill": 1, "status": "Completed" },
{ "refill": 2, "status": "In progress" },
{ "refill": 3, "status": { "error": "Incorrect refill ID" } }
]| 파라미터 | 설명 |
|---|---|
| key | API 키 |
| action | cancel |
| orders | 주문번호 목록 — 쉼표 구분, 최대 100개 |
[
{ "order": 23501, "cancel": 1 },
{ "order": 23502, "cancel": { "error": "Incorrect order ID" } }
]취소는 "신청"이며, 실제 취소 여부는 처리망 상황에 따라 달라질 수 있습니다. 최종 상태는 status 로 확인하세요. 취소가 확정된 주문의 포인트 환불은 확인 후 지급됩니다 — 처리가 늦으면 고객센터로 문의해 주세요.
| 파라미터 | 설명 |
|---|---|
| key | API 키 |
| action | balance |
{"balance": "125000.00", "currency": "KRW"}규격에 따라 오류도 HTTP 200 으로 내려가며, 본문의 error 필드로 판별합니다.
| 파라미터 | 설명 |
|---|---|
| Invalid API key | API 키가 없거나 잘못됨 (재발급·삭제된 키 포함) |
| Too many requests | 분당 240회 요청 한도 초과 — 잠시 후 재시도 |
| Incorrect request | action 이 없거나 지원하지 않는 값 |
| Incorrect service ID | 없는 서비스 번호이거나 판매 중지된 서비스 |
| Service is temporarily unavailable | 서비스 연동이 일시 중단됨 — 잠시 후 재시도 |
| Link is required | link 파라미터 누락 |
| Incorrect quantity | 수량 누락·형식 오류 |
| Incorrect runs | runs 형식 오류 (1~10000 정수) |
| Quantity must be between … | 서비스별 최소·최대 수량 범위 밖 |
| Keywords is required | SEO 타입 서비스에 keywords 누락 |
| This order type is not supported | 구독형(Subscriptions) 파라미터는 지원하지 않음 |
| Phone verification is required … | 휴대폰 인증이 켜진 상태에서 미인증 계정 — 설정에서 인증 후 재시도 |
| Not enough funds | 포인트 부족 — 충전 후 재시도 |
| Order was not accepted | 처리망에서 주문이 접수되지 않음 — 포인트는 자동 반환 |
| Incorrect order ID | 없는 주문번호이거나 내 주문이 아님 |
| Orders limit is 100 · Refills limit is 100 | 다건 조회·신청은 한 번에 최대 100개 |
| Refill is not available for this order | 취소·환불된 주문이거나 리필 연동이 없는 주문 |
| Incorrect refill ID | 없는 리필번호이거나 내 리필이 아님 |
import requests
API_URL = "https://youtubeget.co.kr/api/v2"
API_KEY = "발급받은키"
def api(action, **params):
r = requests.post(API_URL, data={"key": API_KEY, "action": action, **params})
return r.json()
services = api("services") # 서비스 목록
order = api("add", service=12, link="https://...", quantity=1000)
print(order) # {"order": 23501}
print(api("status", order=order["order"])) # 주문 상태
print(api("balance")) # 잔액<?php
function api($action, $params = []) {
$ch = curl_init("https://youtubeget.co.kr/api/v2");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => http_build_query(array_merge([
'key' => '발급받은키',
'action' => $action,
], $params)),
]);
$res = curl_exec($ch);
curl_close($ch);
return json_decode($res, true);
}
$order = api('add', ['service' => 12, 'link' => 'https://...', 'quantity' => 1000]);
$status = api('status', ['order' => $order['order']]);