{"openapi":"3.0.3","info":{"title":"APICK 인스타그램 게시물 목록 수집","version":"1.0.0","description":"인스타그램 공개 계정의 최근 게시물·릴스를 최대 100개까지 수집합니다(좋아요·댓글 수·조회수·캡션·해시태그)."},"servers":[{"url":"https://apick.app"}],"paths":{"/rest/instagram_posts/jobs":{"post":{"summary":"인스타그램 게시물 목록 수집","description":"인스타그램 공개 계정의 최근 게시물·릴스를 최대 100개까지 수집합니다(좋아요·댓글 수·조회수·캡션·해시태그).","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"서비스별 성공·처리 상태 응답","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"job_id":{"type":"string"},"product":{"type":"string"},"status":{"type":"string"},"max_results":{"type":"integer"},"unit_point":{"type":"integer"},"reserved_point":{"type":"integer"},"charged_point":{"type":"integer"},"result_count":{"type":"integer"},"created_at":{"type":"string"},"completed_at":{"type":"string","nullable":true},"result_expires_at":{"type":"string"},"items":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"shortcode":{"type":"string"},"username":{"type":"string"},"caption":{"type":"string"},"content_type":{"type":"string"},"posted_at":{"type":"string"},"likes":{"type":"integer"},"comments":{"type":"integer"},"views":{"nullable":true},"hashtags":{"type":"array","items":{}},"thumbnail_url":{"type":"string"},"image_urls":{"type":"array","items":{"type":"string"}},"video_url":{"type":"string"}}}},"result_expired":{"type":"boolean"}}},"api":{"type":"object","properties":{"success":{"type":"boolean"},"cost":{"type":"integer"}}}}}}}},"default":{"description":"HTTP 상태 및 서비스 오류코드 확인","content":{"application/json":{"schema":{"type":"object"}}}}},"requestBody":{"required":false,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"username":{"type":"string","description":"인스타그램 사용자명 (username 또는 url 중 하나 필수) (string)","example":"natgeo"},"url":{"type":"string","description":"인스타그램 프로필 주소 (string)"},"max_results":{"type":"string","description":"최대 결과 수 1~100 (기본 12). 이 수만큼 포인트를 먼저 예약하고 실제 건수만 차감 (string)","example":"12"},"idempotency_key":{"type":"string","description":"응답을 못 받아 다시 보낼 때 같은 접수로 처리할 키(8~128자, 영문·숫자·_.:-) (string)"}}}}}}}},"/rest/scrape_jobs/5f0c2a9e7b1d4c3a8e6f90a1b2c3d4e5":{"get":{"summary":"인스타그램 게시물 목록 수집","description":"인스타그램 공개 계정의 최근 게시물·릴스를 최대 100개까지 수집합니다(좋아요·댓글 수·조회수·캡션·해시태그).","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"서비스별 성공·처리 상태 응답","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"job_id":{"type":"string"},"product":{"type":"string"},"status":{"type":"string"},"max_results":{"type":"integer"},"unit_point":{"type":"integer"},"reserved_point":{"type":"integer"},"charged_point":{"type":"integer"},"result_count":{"type":"integer"},"created_at":{"type":"string"},"completed_at":{"type":"string","nullable":true},"result_expires_at":{"type":"string"},"items":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"shortcode":{"type":"string"},"username":{"type":"string"},"caption":{"type":"string"},"content_type":{"type":"string"},"posted_at":{"type":"string"},"likes":{"type":"integer"},"comments":{"type":"integer"},"views":{"nullable":true},"hashtags":{"type":"array","items":{}},"thumbnail_url":{"type":"string"},"image_urls":{"type":"array","items":{"type":"string"}},"video_url":{"type":"string"}}}},"result_expired":{"type":"boolean"}}},"api":{"type":"object","properties":{"success":{"type":"boolean"},"cost":{"type":"integer"}}}}}}}},"default":{"description":"HTTP 상태 및 서비스 오류코드 확인","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rest/scrape_jobs/{job_id}":{"get":{"summary":"인스타그램 게시물 목록 수집","description":"인스타그램 공개 계정의 최근 게시물·릴스를 최대 100개까지 수집합니다(좋아요·댓글 수·조회수·캡션·해시태그).","security":[{"bearerAuth":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"서비스별 성공·처리 상태 응답","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"job_id":{"type":"string"},"product":{"type":"string"},"status":{"type":"string"},"max_results":{"type":"integer"},"unit_point":{"type":"integer"},"reserved_point":{"type":"integer"},"charged_point":{"type":"integer"},"result_count":{"type":"integer"},"created_at":{"type":"string"},"completed_at":{"type":"string","nullable":true},"result_expires_at":{"type":"string"},"items":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"shortcode":{"type":"string"},"username":{"type":"string"},"caption":{"type":"string"},"content_type":{"type":"string"},"posted_at":{"type":"string"},"likes":{"type":"integer"},"comments":{"type":"integer"},"views":{"nullable":true},"hashtags":{"type":"array","items":{}},"thumbnail_url":{"type":"string"},"image_urls":{"type":"array","items":{"type":"string"}},"video_url":{"type":"string"}}}},"result_expired":{"type":"boolean"}}},"api":{"type":"object","properties":{"success":{"type":"boolean"},"cost":{"type":"integer"}}}}}}}},"default":{"description":"HTTP 상태 및 서비스 오류코드 확인","content":{"application/json":{"schema":{"type":"object"}}}}}}}},"x-code-tables":[{"title":"Body (data)","columns":["이름","타입","설명"],"rows":[["job_id","String","작업 ID (32자리). 상태·결과 조회에 씁니다"],["product","String","수집 상품 이름"],["status","String","waiting · processing · completed · failed"],["max_results","Integer","요청한 최대 결과 수"],["unit_point","Integer","결과 1건당 포인트(이 작업에 적용된 단가)"],["reserved_point","Integer","현재 예약 중인 포인트. 완료·실패하면 0"],["charged_point","Integer","최종 차감 포인트(완료 시 결과 건수 × 단가)"],["result_count","Integer","받은 결과 수"],["created_at","String","접수 시각 (ISO 8601)"],["completed_at","String","완료 시각. 진행 중이면 null"],["items","Array","수집 결과(완료 시). 각 항목의 필드는 아래 표"],["url","String","게시물 주소"],["shortcode","String","게시물 코드"],["username","String","작성자 사용자명"],["caption","String","캡션"],["content_type","String","Image · Video · Carousel · Reel"],["posted_at","String","게시 시각"],["likes","Integer","좋아요 수. 숨김이면 null"],["comments","Integer","댓글 수"],["views","Integer","조회수(영상)"],["hashtags","Array","해시태그"],["thumbnail_url","String","썸네일 주소"],["image_urls","Array","이미지 주소"],["video_url","String","영상 주소"],["result_expires_at","String","결과 보관 기한(완료 후 72시간)"],["result_expired","Boolean","보관 기한이 지나 결과를 지웠으면 true"],["error","Object","실패 시 { code, message }"]]},{"title":"오류 코드","columns":["HTTP","error_code","설명"],"rows":[["400","SCRAPE_INPUT_INVALID","입력 형식 또는 max_results 범위 오류. 상류를 호출하지 않으며 포인트는 차감되지 않습니다"],["402","SCRAPE_POINTS_INSUFFICIENT","max_results 만큼의 포인트가 부족합니다"],["403","SCRAPE_PAYMENT_REQUIRED","충전 이력이 있는 계정만 이용할 수 있습니다"],["404","SCRAPE_JOB_NOT_FOUND","작업이 없거나 다른 계정의 작업입니다"],["409","SCRAPE_IDEMPOTENCY_CONFLICT","같은 idempotency_key 로 다른 내용을 접수했습니다"],["429","SCRAPE_TOO_MANY_JOBS","진행 중인 작업이 5개입니다. 끝난 뒤 다시 접수해 주세요"],["503","SCRAPE_TEMPORARILY_UNAVAILABLE","일시적으로 접수하지 못했습니다. 포인트는 차감되지 않습니다"],["작업 실패","TARGET_NOT_FOUND · TARGET_PRIVATE · SCRAPE_TIMEOUT · SCRAPE_FAILED","상태 조회의 error.code. 예약한 포인트는 모두 돌려드립니다"]]}],"x-service-errors":[],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}}}