{"openapi":"3.0.3","info":{"title":"APICK 유튜브 검색","version":"1.0.0","description":"키워드로 유튜브 영상·쇼츠·채널·재생목록을 검색합니다. 정렬(관련도·업로드일·조회수·평점)과 업로드 시기·종류·길이 조건을 지정할 수 있습니다."},"servers":[{"url":"https://apick.app"}],"paths":{"/rest/youtube_search":{"post":{"summary":"유튜브 검색","description":"키워드로 유튜브 영상·쇼츠·채널·재생목록을 검색합니다. 정렬(관련도·업로드일·조회수·평점)과 업로드 시기·종류·길이 조건을 지정할 수 있습니다.","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"서비스별 성공·처리 상태 응답","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"query":{"type":"string","description":"검색어"},"count":{"type":"integer","description":"결과 수"},"results":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"항목 종류video: 영상short: 쇼츠channel: 채널playlist: 재생목록"},"id":{"type":"string","description":"영상 ID(11자리)·채널 ID(UC…)·재생목록 ID"},"url":{"type":"string","description":"항목 주소"},"title":{"type":"string","description":"제목(채널은 채널 이름)"},"description":{"type":"string","nullable":true,"description":"설명 일부. 없으면 null"},"duration":{"type":"integer","description":"영상 길이(초). 영상·쇼츠만, 모르면 null","nullable":true},"view_count":{"type":"integer","description":"조회수. 영상·쇼츠만, 모르면 null","nullable":true},"live_status":{"nullable":true,"type":"string","description":"라이브 상태(is_live·was_live 등). 일반 영상은 null"},"published_at":{"nullable":true,"type":"string","description":"게시 시각(ISO 8601). 목록에서 제공하지 않으면 null"},"channel":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"url":{"type":"string"},"handle":{"type":"string"}},"description":"올린 채널 {id, name, url, handle}. 영상·쇼츠·재생목록"},"thumbnail":{"type":"string","description":"대표 썸네일 주소"},"handle":{"type":"string","description":"채널 핸들. 채널 항목만"},"follower_count":{"type":"integer","description":"구독자 수. 채널 항목만"},"is_verified":{"type":"boolean","description":"인증 채널 여부. 채널 항목만"},"video_count":{"type":"integer","description":"영상 수. 재생목록 항목만, 모르면 null","nullable":true}}},"description":"검색 결과 목록"},"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":{"query":{"type":"string","description":"검색어 (1~200자) (string)","example":"파이썬 기초 강좌"},"count":{"type":"string","description":"결과 수 1~50 (기본 10) (integer)","example":"2"},"sort":{"type":"string","description":"정렬: relevance(관련도, 기본)·date(업로드일)·views(조회수)·rating(평점) (string)","enum":["relevance","date","views","rating"]},"type":{"type":"string","description":"결과 종류 (기본 any) (string)","enum":["any","video","channel","playlist","movie"],"example":"video"},"upload_date":{"type":"string","description":"업로드 시기 (기본 any) (string)","enum":["any","hour","today","week","month","year"]},"duration":{"type":"string","description":"길이: short(4분 미만)·medium(4~20분)·long(20분 초과) (string)","enum":["any","short","medium","long"]}},"required":["query"]}}}}}}},"x-code-tables":[{"title":"HTTP 상태 코드","columns":["HTTP","상황","설명"],"rows":[["400","입력 오류","query, count, sort, type, upload_date, duration 값을 확인하세요."],["408","시간 초과","처리 시간이 초과됐습니다. 과금하지 않습니다."],["424","조회 불가","일시적으로 가져오지 못했습니다. 잠시 후 다시 시도해 주세요. 실패한 호출은 과금하지 않습니다."]]}],"x-service-errors":[],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}}}