{"openapi":"3.0.3","info":{"title":"APICK 유튜브 재생목록 조회","version":"1.0.0","description":"유튜브 공개 재생목록의 제목·채널·영상 수와 수록 영상 목록을 조회합니다."},"servers":[{"url":"https://apick.app"}],"paths":{"/rest/youtube_playlist":{"post":{"summary":"유튜브 재생목록 조회","description":"유튜브 공개 재생목록의 제목·채널·영상 수와 수록 영상 목록을 조회합니다.","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"서비스별 성공·처리 상태 응답","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"playlist_id":{"type":"string","description":"재생목록 ID"},"url":{"type":"string","description":"재생목록 주소"},"title":{"type":"string","description":"재생목록 제목"},"description":{"type":"string","description":"재생목록 설명"},"channel":{"type":"object","properties":{"id":{"type":"string","description":"채널 ID"},"name":{"type":"string","description":"채널 이름"},"url":{"type":"string","description":"채널 주소"},"handle":{"type":"string","description":"채널 핸들(@아이디). 없으면 null","nullable":true}},"description":"채널 정보. 없으면 null","nullable":true},"video_count":{"type":"integer","description":"재생목록 전체 영상 수. 모르면 null","nullable":true},"view_count":{"type":"integer","description":"재생목록 조회수. 모르면 null","nullable":true},"modified_date":{"type":"string","description":"마지막 수정일 (YYYY-MM-DD). 모르면 null","nullable":true},"count":{"type":"integer","description":"이번 응답에 담긴 영상 수"},"videos":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"id":{"type":"string"},"url":{"type":"string"},"title":{"type":"string"},"description":{"nullable":true},"duration":{"type":"integer"},"view_count":{"type":"integer"},"live_status":{"nullable":true},"published_at":{"nullable":true},"channel":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"url":{"type":"string"},"handle":{"type":"string"}}},"thumbnail":{"type":"string"}}},"description":"영상 목록. 항목 형식은 유튜브 검색 결과의 video·short 항목과 같습니다."},"success":{"type":"integer","description":"과금 여부0: 실패1: 성공"}},"description":"조회 데이터"},"api":{"type":"object","properties":{"success":{"type":"boolean","description":"API 서버 정상 응답 여부"},"cost":{"type":"integer","description":"API 호출 요금"},"pl_id":{"type":"integer","description":"API 결제 로그 ID"},"ms":{"type":"integer","description":"API 응답 시간"}},"description":"API 호출 공통 데이터"}}}}}},"default":{"description":"HTTP 상태 및 서비스 오류코드 확인","content":{"application/json":{"schema":{"type":"object"}}}}},"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"재생목록 URL(list= 포함) 또는 재생목록 ID (예: PL...) (string)","example":"https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH"},"count":{"type":"string","description":"가져올 영상 수 1~200 (기본 50) (integer)","example":"2"}},"required":["url"]}}}}}}},"x-code-tables":[{"title":"HTTP 상태 코드","columns":["HTTP","상황","설명"],"rows":[["400","입력 오류","재생목록 주소·ID와 count 값을 확인하세요."],["404","재생목록 없음","삭제·비공개 재생목록이거나 잘못된 주소입니다."],["408","시간 초과","처리 시간이 초과됐습니다. 과금하지 않습니다."],["424","조회 불가","일시적으로 가져오지 못했습니다. 잠시 후 다시 시도해 주세요. 실패한 호출은 과금하지 않습니다."]]}],"x-service-errors":[],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}}}