100 크레딧 무료, 카드 등록 없이지금 시작하기
Logo
체인지로그

SocialCrawl의 새로운 소식

새 플랫폼, 새 엔드포인트, 제품 업데이트를 출시 순서대로 정리했어요. 지금은 플랫폼 68개, 엔드포인트 648개를 지원해요.

2026년 10월

  1. 개선

    여러 플랫폼 검색에 끝 날짜를 넣을 수 있고, 플랫폼마다 그 기간 안에서 찾아요

    GET /v1/search/multi에 이제 since와 함께 until도 넣을 수 있어서, 한 번의 호출로 한 달 단위 기간을 정할 수 있어요. 전에는 until이 경고와 함께 무시됐어요. 기간 밖의 행은 모든 플랫폼에서 빠지고, 시간 없이 날짜만 넣으면 그날 하루 전체가 들어가요. 플랫폼마다 그 플랫폼의 날짜 필터도 함께 보내요. X에는 검색어에 since:와 until:을 붙이고 Facebook과 Threads에는 start_date와 end_date를 넣어요. TikTok, YouTube, Reddit에는 since까지 닿는 가장 좁은 기간 옵션을 골라 드려요. reddit.timeframe=month처럼 직접 넣은 필터는 그대로 두고, 달이 끝나고 한참 뒤에 부를 때 그 달의 결과를 촘촘하게 받으려면 이렇게 직접 넣으면 돼요. since만 보내던 호출에도 이제 이 필터가 붙어서 전과 다른 행이 올 수 있어요. 새 data.window에서는 플랫폼별로 어떤 필터를 보냈는지와 기간 밖이라 빠진 행 수를 볼 수 있고, 기간 옵션이 너무 넓어 시작일까지 닿지 못하면 _warnings에 남겨요. 2026년 10월 14일 프로덕션에서 다섯 개 플랫폼에 9월 기간을 걸었더니 날짜가 있는 행 중 9월 밖의 행은 하나도 없었고, 4크레딧이 들었어요. 가격은 그대로예요.

  2. 개선

    TikTok 검색에 limit을 30 이하로 넣으면 이제 10크레딧이 아니라 1크레딧이에요

    전에는 GET /v1/tiktok/search에 limit을 넣기만 해도 대량 수집 방식으로 바뀌어서 limit=10에 10크레딧이 들었어요. 그런데 돌아오는 건 1크레딧짜리 기본 페이지와 같은 30개 행이었고, 커서도 없었어요. 이제 limit이 30 이하면 기본 페이지를 limit개로 잘라 1크레딧에 돌려드리고, next_cursor도 그대로 넣어 드려요. 커서는 30개짜리 페이지 전체 다음부터 이어지기 때문에 잘린 행은 건너뛴다는 점을 _warnings에 적어 둬요. limit이 30보다 크면 지금처럼 한 번에 더 많은 행을 모으고, 가격도 그대로예요(60개에 17크레딧, 120개에 32크레딧). GET /v1/utility/estimate도 같은 금액으로 알려 줘요. 2026년 10월 14일 프로덕션에서 limit=10은 행 10개와 커서를 1크레딧에 돌려줬어요.

  3. 개선

    브랜드 언급 요약이 이제 요청한 기간의 숫자로 말해요

    include=digest를 붙인 GET /v1/prism/brand-mentions의 요약 문장이 전체 기간 합계를 그대로 써서, 9월을 요청했는데 실제로는 517건인 기간을 29,790건이라고 적는 경우가 있었어요. 이제 요약은 date_from부터 date_to까지의 언급 수와 감성을 말하고, 전체 기간 숫자에는 전체 기간이라고 밝혀요. 그래도 요약이 전체 기간 숫자를 요청 기간 숫자처럼 쓰거나 기간 밖 날짜를 적으면, 숫자로 다시 만든 요약으로 바꾸고 _warnings에 digest_rewritten을 남겨요. 응답에는 computed.windowed_sentiment_breakdown과, computed.trajectory.window 안의 requested_from, requested_to가 새로 들어가요. 2026년 10월 14일 프로덕션에서 9월의 "Aruba luxury resort"는 기간 안 520건, 전체 기간 29,800건으로 나왔고 50크레딧이 들었어요. 가격은 그대로예요.

  4. 개선

    Instagram 해시태그는 대소문자가 달라도 캐시를 함께 쓰고, 키워드 검색은 릴스로 안내해요

    GET /v1/instagram/search/hashtag가 이제 캐시에서 Aruba와 aruba를 같은 해시태그로 봐요. 그래서 캐시된 결과가 남아 있는 동안 대소문자만 바꿔 다시 부르면 무료로 캐시에서 받아요. 전에는 거의 같은 게시물이 오는데도 5크레딧짜리 새 호출이 됐어요. 이 엔드포인트 설명에도 페이지마다 5크레딧 고정이고 limit과 max_items는 받지 않는다고 적어 뒀어요. 주제로 게시물을 찾을 때 작업에 Instagram을 적으면, GET /v1/utility/find가 이제 해시태그보다 instagram/search/reels(페이지당 1크레딧, 조회수 포함)를 먼저 추천해요. 계정, 해시태그, 장소 이름을 찾는 GET /v1/instagram/search는 결과가 없을 때 404에서 그 점을 밝히고 instagram/search/reels?query=를 안내해요. 2026년 10월 14일 프로덕션에서 Aruba는 5크레딧이 들었고, 이어서 부른 aruba는 같은 게시물 28개를 캐시에서 0크레딧에 돌려줬어요.

  5. 개선

    잘못 쓴 파라미터, 필드, 경로를 이제 바로잡아 알려 드려요

    설명 없이 실패하던 요청 네 가지가 이제 원래 무엇을 보내려 했는지 짚어 줘요. 검색어 파라미터가 keyword인 GET /v1/google_news/search는 keyword 없이 query를 보내도 받아 주고, 검색어가 빠진 400에는 실제로 보낸 파라미터 이름이 나와요. "You sent term; this endpoint takes keyword"처럼요. GET /v1/linkedin/search, /v1/facebook/search, /v1/twitter/search처럼 경로를 줄여 부르면 지금처럼 무료 404가 오지만, 이제 details.retry_with에 보낸 파라미터를 그대로 담은 게시물 검색 URL이 들어가요. /v1/linkedin/search/posts?query=ai+agents 같은 식이에요. 검색어가 Query:, Search:, Keywords: 같은 프롬프트 라벨로 시작하면 라벨을 떼고 검색한 뒤 _warnings에 남기고, subreddit: 같은 검색 연산자는 그대로 둬요. fields=에 없는 경로를 넣으면 맞는 경로를 권해요. post.caption에는 post.content.text를, post.likes_count에는 post.engagement.likes를 알려 주고, 넣은 경로가 모두 없으면 그 엔드포인트의 필드를 볼 수 있는 GET /v1/utility/endpoint?url=로 안내해요. 2026년 10월 14일 프로덕션에서 확인했고, 모두 무료예요.

  6. 개선

    Amazon 리뷰를 미국을 포함한 모든 마켓플레이스에서 다시 받을 수 있어요

    06/10/2026부터 환불된 시간 초과나 빈 404로 돌아오던 GET /v1/amazon/reviews 호출이 이제 상품의 상위 리뷰를 보통 10개씩, 5크레딧에 돌려드려요. 리뷰마다 본문 전체, 별점, 작성자, 구매 인증 여부, 도움이 됐어요 수, 작성일, 작성자 국가가 담겨요. review.id는 예전과 같은 Amazon 리뷰 id라서, 저장해 둔 리뷰와 그대로 맞춰 볼 수 있어요. country의 마켓플레이스 13곳 모두 되고, 작성일과 국가는 그 나라 스토어 문구 그대로 읽어요. amazon.de의 "Bewertet in Deutschland am 8. September 2026"은 2026-09-08과 DE가 돼요. review.author.avatar_url은 이제 null로 와요. 멕시코(MX)는 판매 중인 상품에도 가끔 환불된 404를 돌려주는데, 다시 부르면 대개 리뷰가 와요. 리뷰가 없는 상품이나 없는 ASIN은 환불돼요.

  7. 개선

    Instagram, Facebook, X, TikTok 영상 자막을 이제 10분 길이까지 받을 수 있어요

    GET /v1/instagram/media/transcript, GET /v1/facebook/post/transcript, GET /v1/twitter/tweet/transcript, 그리고 use_ai_as_fallback=true를 붙인 GET /v1/tiktok/post/transcript가 이제 10분(600초) 길이 영상까지 받아 적어요. 전에는 2분(TikTok 대체 전사는 30초)이 넘는 영상에 환불된 400이 돌아왔는데, 이제는 엔드포인트 가격 10크레딧으로 자막을 돌려드려요. 10분이 넘는 영상은 400 INVALID_REQUEST와 error.details.reason: video_too_long, max_seconds, 길이를 알 때는 duration_seconds를 함께 돌려드리고 0크레딧이에요. video_too_long, no_speech, no_captions처럼 자막이 없다는 최종 답은 한 시간 동안 캐시돼서, 같은 URL을 다시 부르면 바로 돌아오고 여전히 0크레딧이에요. Facebook에서는 2분이 넘는 영상의 post_id가 null로 와요. 대시보드 활동 기록에도 이제 API 응답과 같은 이유와 메시지가 보여요. Facebook 광고 라이브러리 자막은 2분 제한 그대로이고, YouTube 자막은 바뀌지 않았어요.

  8. 개선

    TikTok 비슷한 계정에서 빈 목록이 돌아오던 크리에이터도 이제 계정을 받을 수 있어요

    전에는 0크레딧으로 빈 목록이 돌아오던 GET /v1/tiktok/similar 호출에서도 이제 5크레딧으로 계정을 받을 수 있어요. 호출은 지금처럼 TikTok이 직접 추천하는 계정을 먼저 돌려드려요. 크리에이터에게 그런 추천 목록이 없으면, 이 엔드포인트가 지금까지 돌려드린 TikTok 추천 목록 가운데 그 크리에이터가 들어 있는 목록을 찾아요. 그 크리에이터를 추천한 계정을 먼저 돌려드리고, 같은 목록에 함께 오른 계정은 여러 목록에 자주 오를수록 앞에 둬요. 이렇게 찾은 결과에는 author.ext.similar_source 값 tiktok_graph와, 그 크리에이터를 목록에 올린 계정을 담은 author.ext.similar_via가 붙어요. 엔드포인트가 쓰일수록 찾을 수 있는 범위도 넓어져요. 남은 자리는 같은 크리에이터에게 Instagram이 추천하는 계정을 TikTok 계정과 맞춰 채워요. 이제 이 매칭은 TikTok 소개란에 연결하거나 적어 둔 Instagram 계정에서 시작하고, 표시 이름이 Instagram 계정과 겹치면 팔로워 1,000명부터 남겨요. 가격은 호출당 5크레딧 그대로이고, 목록이 비어 있으면 0크레딧이에요.

  9. 개선

    YouTube 목록이 크리에이터가 직접 쓴 제목을 돌려주고, 채널 라이브 목록에는 라이브만 와요

    GET /v1/youtube/search, /search/hashtag, /channel/videos, /channel/shorts, /channel/lives가 이제 post.content.text에 크리에이터가 직접 쓴 제목을 담아 돌려줘요. YouTube 목록 화면은 영어가 아닌 제목을 영어 기계 번역으로 보여 줄 때가 많아서, 한국어로 검색해도 제목 대부분이 영어로 오고 computed.language도 en으로 나왔어요. 정확한 게시 시각을 가져오던 무료 영상별 조회가 이제 원래 제목도 함께 가져오고, channel/videos에서는 원래 설명까지 가져와요. computed.language도 바뀐 제목을 따라가요. 제목을 확인하지 못한 행에는 post.ext.title_maybe_translated: true가 붙고, exact_dates=false를 보내면 조회를 건너뛰고 목록에 보이던 제목을 그대로 두면서 같은 표시를 붙여요. 이 조회는 이제 최대 100행인 검색 페이지를 끝까지 확인해요. 2026년 10월 10일 프로덕션에서 확인했어요. 한국어 검색은 42개 제목이 모두 원래 제목이었고, 한국 채널의 동영상 30개와 Shorts 48개도 모두 원래 제목으로 왔어요. 이와 별개로, 라이브 방송이 없는 채널에서 channel/lives가 그 채널의 Shorts를 라이브로 표시해 돌려주던 문제도 고쳤어요. 이제는 0크레딧으로 빈 목록이 와요. 가격은 페이지당 1크레딧 그대로예요.

  10. 개선

    Instagram 릴스 검색이 country 때문에 크리에이터 조회가 붙으면 응답에서 알려줘요

    country를 붙인 GET /v1/instagram/search/reels는 그 나라에서 활동하는 크리에이터의 릴스만 남기고, 나라는 크리에이터마다 프로필에서 읽어 와요. include=creator와 같은 조회라 가격도 같아요. 페이지에 1크레딧, 조회한 크리에이터마다 2크레딧이 붙어 페이지당 최대 61크레딧이고, 15분 안에 조회한 크리에이터는 무료예요. 이제 include 없이 country만 보낸 호출에는 data.hydration.implied_by: "country"가 붙고, credits_used 가운데 조회에 쓴 몫은 data.hydration.extra_credits에서 볼 수 있어요. 가격 안내와 country 설명도 이제 최대 61크레딧이라는 점부터 알려 드려요. 조회 없이 검색 지역만 맞추려면 지금처럼 region만 보내면 되고, 페이지당 1크레딧이에요. 2026년 10월 10일 프로덕션에서 country=KR 호출에는 61크레딧과 함께 implied_by가 붙었고, include=creator만 보낸 호출에는 붙지 않았어요.

  11. 개선

    utility/find와 utility/plan이 검색에 쓸 수 없는 값은 비워 두고 다시 물어봐요

    GET /v1/utility/find와 GET /v1/utility/plan은 요청에 쓴 말로 query나 keywords 같은 검색 파라미터를 채워요. 전에는 "for a medical keyword"에서 keywords: "medical keyword"처럼 자리 표시 말을 채우거나, query: "Korea"처럼 나라 이름을 넣거나, Naver나 샤오홍슈에 영어 문구를 넣거나, 문장 대부분을 그대로 넣기도 했어요. 이제 이런 값은 비워 두고 missing에, 플랜에서는 ask에도 올리면서 이유를 메모로 알려 드려요. Naver에 보내는 한국어 키워드나 miraDry처럼 로마자로 쓴 브랜드는 그대로 채워요. 주제를 여러 개 적은 요청에는 topics가 붙고, plan은 검색 단계를 주제마다 한 번씩 넣은 뒤 그 전부를 기준으로 가격을 매겨요. 나라를 여러 개 적은 요청에는 ISO 코드로 된 markets가 붙고 uncertain이 돼요. 레시피 목록에는 지식iN, 네이버 카페와 블로그 글(페이지당 100개), 12개월 검색 관심도, 한국어 YouTube 영상을 묶은 korea-community-research가 새로 생겼고, korea-consumer-pulse도 이제 지식iN을 읽어요. 두 엔드포인트 모두 계속 무료예요.

  12. 개선

    web/extract가 페이지에 없는 값은 null로 돌려줘요

    이제 GET /v1/web/extract가 돌려주는 값을 하나하나 페이지 본문과 맞춰 봐요. "Not specified"나 "/" 같은 빈 자리 표시, 링크가 아닌 필드에 들어간 링크 경로, 페이지에 적혀 있지 않은 값은 null로 와요. 비운 필드는 새로 생긴 data.page.extraction_check.removed에 원래 값, 이유(placeholder 또는 not_on_page)와 함께 남고, 다른 언어로 적혀 있어도 페이지에 있는 값은 그대로 둬요. 확인하지 못한 값은 받은 그대로 돌려주고 extraction_check.unverified와 _warnings로 알려 드려요. 가격은 페이지당 5크레딧 그대로예요.

  13. 개선

    네이버 지식iN·웹문서 결과도 게시물 객체로 받고, 지식iN은 질문별로 묶을 수 있어요

    /v1/naver/kin/search와 /v1/naver/webkr/search의 각 행은 title, link, description을 그대로 두고, 블로그·카페·뉴스 행처럼 post와 computed도 함께 담아요. post.ext.title과 post.content.text에서는 Naver의 <b> 강조 태그를 걷어 냈어요. 지식iN 행은 어떤 질문의 몇 번째 답변인지 post.ext.question_id와 post.ext.answer_no로 알려 줘요. Naver는 지식iN을 답변마다 한 행씩 보내는데, group=question을 보내면 질문마다 한 행만 남기고 answers_on_page로 답변 수를 알려 드려요. 페이지 넘기기와 1크레딧 가격은 그대로예요.

  14. 개선

    Reddit 게시물 댓글에 받은 댓글 수가 함께 와요

    /v1/reddit/post/comments는 트리 구조로 와요. items[]에는 최상위 댓글만 있고 답글은 부모 댓글의 comment.replies[] 아래에 들어 있어서, items.length만 세면 스레드가 실제보다 작아 보여요. 새로 생긴 data.comments_returned는 답글까지 모두 세어 응답에 담긴 댓글 수를 알려 줘요. Reddit 링크로 /v1/prism/comments를 부를 때 삭제된 댓글이 빈 행으로 섞여 오던 문제도 고쳤어요.

  15. 개선

    차단 페이지나 CAPTCHA, 로그인 화면이 돌아오면 web/scrape 크레딧이 나가지 않아요

    사이트가 /v1/web/scrape 요청에 자체 오류·차단 페이지(HTTP 400 이상)를 돌려주면 페이지는 그대로 받아 볼 수 있지만 크레딧은 나가지 않아요. page.status_code와 page.page_state가 어떤 페이지인지 알려 주고, data._warnings에 다음에 해 볼 방법을 적어 드려요. 기본 형식인 마크다운에서 페이지 점검이 CAPTCHA, 로그인 화면, 요청 제한 안내, 내용 없는 빈 화면을 찾아낸 경우에도 마찬가지로 크레딧이 들지 않아요. 본문이 프레임 안에서 열려 스크랩할 수 없는 PC용 네이버 카페 글 링크는 page_state.value: "empty_shell"로 돌아오고, 이때도 크레딧이 들지 않아요. proxy=auto와 proxy=enhanced는 max_age를 따로 보내지 않으면 캐시 대신 페이지를 새로 읽어 와요. 실패한 페이지의 캐시 사본은 그대로 내주지 않고 다시 가져와요. proxy=auto, proxy=enhanced, pdf_parse=true는 5크레딧을 먼저 잡아 두고 실제로 쓴 만큼만 차감해서, 일반 요청으로 읽히는 페이지라면 1크레딧이에요.

  16. 개선

    X 키워드 검색, 답글, 계정 게시물을 X에 있는 만큼 끝까지 넘겨 볼 수 있고, 자주 쓰는 조회마다 두 번째 소스가 받쳐 줘요

    GET /v1/twitter/search/tweets는 어떤 검색어든 두 페이지, 게시물 40개쯤에서 멈췄어요. 이제는 X에 맞는 게시물이 있는 한 계속 넘겨 볼 수 있어요. GET /v1/twitter/tweet/replies도 두 페이지에서 끝났는데, 이제는 대화가 끝날 때까지 이어져요. GET /v1/twitter/user/tweets는 게시물이 많은 계정에서 소스가 빈 페이지를 보내면 거기서 끝나 버렸어요. 이제는 그런 페이지를 건너뛰고 다음 페이지로 이어 가요. 기본 소스가 실패하면 두 번째 소스가 계정 게시물과 답글의 첫 페이지를 대신 가져와 드려요. 계정 게시물이나 최신순 키워드 검색을 넘기다가 2페이지 이후에서 실패해도, 마지막으로 받은 게시물 바로 아래부터 두 번째 소스가 이어서 가져와 드려요. 이어 받은 페이지는 모든 게시물이 그 게시물보다 오래됐을 때만 보내 드려서, 같은 게시물이 두 번 오지 않아요. 지금까지는 이런 호출이 실패하고 환불됐어요. sort=top으로 인기순 정렬한 검색은 날짜순이 아니라서 기본 소스에서만 이어져요. 2026년 10월 9일에 확인해 보니, nike는 40개에서 멈추던 검색이 4페이지 80개를 넘어 계속 이어졌고, 한 게시물의 답글은 61개에서 94개로, 게시물이 많은 계정은 38개에서 8페이지 156개로 늘었어요. 페이지당 가격은 그대로 1크레딧이에요. 다만 has_more가 false가 될 때까지 넘기는 반복문은 이제 더 멀리 가고, 늘어난 페이지마다 1크레딧이 나가요. 필요한 지점에서 멈추려면 since에 날짜를 넣어 보세요. 키워드 검색에서는 max_pages도 쓸 수 있어요.

  17. 개선

    키워드 검색량이 비어 있는 이유를 알려 드리고, 구글이 마지막으로 공개한 수치도 함께 보여 드려요

    구글은 2023년 12월부터 '대상포진'이나 'shingles' 같은 건강 관련 키워드 상당수의 검색량을 공개하지 않아요. 지금 수치를 어디서도 구할 수 없는 키워드예요. 이제 GET /v1/google/keyword-volume에서 search_volume이 null인 행에는 null_reason이 붙어요. 구글이 공개를 막은 키워드는 withheld, 구글에 수치가 아예 없는 키워드는 no_data예요. withheld 행에는 구글이 마지막으로 검색량을 공개한 달이 last_reported로 함께 와요. 미국의 'shingles'라면 2023년 11월 673,000이에요. 이런 행의 monthly_searches는 비어 있어요. 전에는 12개월이 모두 0으로 채워져 있어서 아무도 검색하지 않은 것처럼 보였어요. 지금 수치가 있는 키워드가 하나도 없으면 여전히 크레딧 차감 없이 404가 오고, 메시지에 마지막으로 공개된 수치가 담겨요. 공개가 막힌 키워드의 관심도 흐름은 GET /v1/google_trends/explore로, 한국이라면 GET /v1/naver/search-trend로 확인해 보세요. 가격은 그대로예요.

  18. 새 기능

    한국어 주제도 여러 플랫폼에서 한 번에: 통합 검색과 오디언스 질문에 네이버가 들어와요

    GET /v1/search/everywhere에 새 소스 naver가 생겼어요. 네이버 블로그, 카페, 지식iN을 한 번에 검색해요. 검색어에 한글이 있으면 자동으로 함께 돌고, 다른 검색어라도 sources=naver를 보내면 쓸 수 있어요. 네이버에서 온 행에는 어느 서비스의 글인지 metadata.corpus에 적혀 있어요. GET /v1/prism/audience-questions는 platforms에 naver를 넣으면 한국의 질문 사이트인 지식iN을 읽어요. 한글로 쓴 주제는 이제 기본값이 naver,youtube예요. Reddit 검색이 한국어 키워드에 엉뚱한 글을 돌려줬기 때문이에요. '다한증'으로 불러 보니 지식iN 질문 82개가 왔고, 답변이 여러 개 달린 질문도 한 번만 세요. 한국어 브랜드나 이름으로 prism/brand-mentions나 prism/mentions를 부르기 전에는 GET /v1/utility/estimate가 이 소스에 한국어 데이터가 적다고 미리 알려 드리고, 대신 쓸 네이버 검색을 짚어 드려요. 통합 검색에서 '3년 전'처럼 월이나 연 단위 표기로 날짜를 정한 YouTube 행은 이제 date_confidence: "low"예요. 새 레시피 korea-site-research와 korea-clinic-prices도 생겼어요. site: 검색으로 특정 한국 커뮤니티의 글을 읽는 방법과, 시술의 공개 가격을 찾는 방법을 담았어요. 가격은 그대로예요.

  19. 개선

    TikTok이 비슷한 계정을 추천하지 않을 때, 관련 없는 계정이 더는 끼어들지 않아요

    TikTok이 비슷한 계정을 추천하지 않는 크리에이터를 GET /v1/tiktok/similar로 부르면, 전에는 관련 없는 계정 하나가 돌아오고 5크레딧이 나갔어요. 짧은 목록 끝에 같은 계정이 붙어 오기도 했고요. 이제 그 행은 빠져요. TikTok 추천이 없는 크리에이터는 같은 크리에이터에게 Instagram이 추천하는 계정을 TikTok 계정과 맞춰 만든 목록을 대신 받고, 그것마저 비어 있으면 0크레딧이에요. 수정 전에 캐시된 목록은 더 이상 돌려 드리지 않아요.

  20. 개선

    YouTube 목록과 자체 날짜 필터가 새는 검색에서도 기간이 정확하게 지켜져요

    YouTube 목록에서 since와 until은 이제 영상마다 정확한 게시일로 판단해요. 전에는 '4개월 전' 같은 표기로만 날짜를 짐작한 영상을 그 추정치로 남기거나 빼서, GET /v1/youtube/search/hashtag에 publish_time=yesterday를 보내도 1월 영상이 섞여 올 수 있었어요. GET /v1/facebook/search/posts, GET /v1/facebook/search/videos, GET /v1/threads/search, GET /v1/youtube/search/advanced에서는 보내 주신 시작일이나 종료일(start_date, published_after 등)을 모든 행에 한 번 더 적용해요. 플랫폼이 자체 필터를 참고용으로만 쓰기 때문이에요. 광고 라이브러리의 날짜는 광고가 집행된 기간을 뜻해서 그대로 뒀어요. 가격은 그대로예요.

  21. 새 기능

    댓글, 리뷰, 게시물 목록 어디서나 since와 until로 기간을 정할 수 있어요

    행에 날짜가 있는 목록이라면 이제 어디서나 since와 until을 쓸 수 있어요. 모든 플랫폼의 댓글, 답글, 리뷰, 게시물, 뉴스 목록 150개가 대상이에요. YYYY-MM-DD 형식의 날짜나 전체 타임스탬프를 보내면, since보다 이전이거나 until보다 이후에 올라온 행은 페이지마다 빠져요. until에 날짜만 보내면 그날 하루 전체가 포함돼요. 최신순으로 읽을 수 있는 목록 23개에서는 since가 최신순 정렬을 맞추고, 지정한 날짜에 닿으면 pagination.stopped_at: since와 함께 넘겨 보기를 멈춰요. 필요한 페이지만큼만 크레딧이 나가요. YouTube 영상 댓글, Instagram과 TikTok 게시물 댓글, LinkedIn 게시물 댓글과 회사 게시물, Reddit 서브레딧·검색·프로필 게시물, X 검색, Trustpilot·TripAdvisor·Google Play·App Store 리뷰, Naver 뉴스, 그리고 크리에이터 피드 8곳이에요. Facebook이나 Reddit 게시물 댓글처럼 날짜순이 아닌 목록은 페이지마다 걸러 주고, 다음 페이지 커서는 그대로 남겨 둬요. 다른 엔드포인트에서 쓰던 이름도 그대로 통해요. published_after, start_date, from_date는 since로, published_before, end_date, to_date는 until로 읽고, publish_time=yesterday나 max_age_days=730은 그만큼 거슬러 올라간 since가 돼요. 추천 목록이나 프로필 목록처럼 행에 날짜가 없는 목록에 날짜를 보내면 크레딧 차감 없이 400이 와서, 날짜가 조용히 무시되는 일이 없어요. 페이지 가격은 바뀌지 않았어요.

  22. 개선

    언어 태그에 힌디어, 벵골어, 타밀어, 텔루구어 등 인도 언어 10개가 더해졌어요

    게시물, 프로필, 댓글의 computed.language가 이제 두 글자 코드 31개에서 40개로 늘었어요. 힌디어(hi), 벵골어(bn), 타밀어(ta), 텔루구어(te), 칸나다어(kn), 말라얄람어(ml), 구자라트어(gu), 펀자브어(pa), 오디아어(or), 우르두어(ur)를 각 언어의 문자로 알아보고, 글이 짧아도 태그가 붙어요. "எனக்கு பிடித்த பாடல்" 같은 짧은 타밀어 댓글도 전에는 null이었지만 이제 ta로 읽혀요. 마라티어와 네팔어는 힌디어와 같은 데바나가리 문자를 써서 hi로 태그돼요. 라틴 문자로 적은 힌디어는 아직 null이에요. 이 필드는 모든 호출에 별도 크레딧 없이 채워져요.

  23. 새 플랫폼

    경제 데이터: 가계 소비와 여행 지출, 미국 연방 지출과 계약, 미국 기업의 수입 기록을 가져와요

    새 economy 플랫폼에 엔드포인트 5개가 생겼어요. GET /v1/economy/consumer-spend는 Eurostat이 집계한 나라별, 항목별 연간 가계 소비를 돌려줘요. 항목은 food, housing, transport, restaurants_hotels, insurance_financial 같은 COICOP 대분류와 total이고, 단위는 백만 유로, 1인당 유로, 전체 대비 비중 중에서 고를 수 있어요. 나라마다 발표된 마지막 해까지 담기고, 독일의 가계 교통비는 2025년 307,393백만 유로였어요. 노르웨이, 영국, 아이슬란드, 알바니아, 북마케도니아, 코소보는 Eurostat의 이전 데이터셋에서 가져오고, source_note에 그 데이터셋이 적혀 있어요. GET /v1/economy/tourism-spend는 거주자의 여행 지출을 교통, 숙박, 식당 같은 항목으로 나누고, 개인 여행인지 출장인지, 국내인지 해외인지도 골라서 볼 수 있어요. GET /v1/economy/government-spend는 업종 코드나 품목 코드, 키워드로 미국 연방 지출을 주, 카운티, 나라별로 합산하고 1인당 금액도 함께 담아요. 기간을 정하지 않으면 끝난 지 90일이 지난 가장 최근 회계연도를 써요. GET /v1/economy/government-contracts는 그 지출에 해당하는 계약을 구매 주문까지 하나하나 돌려주고, 실제 검색 건수는 data.total에 담겨요. 5만 번째 결과까지 넘겨 볼 수 있고, 그 뒤 페이지를 요청하면 크레딧 차감 없이 400이 와요. 이 4개는 호출당 1크레딧이고, 발표된 데이터가 없으면 차감되지 않아요. GET /v1/economy/imports?company=는 미국 수입 기업의 통관 기록을 돌려줘요. 주요 해외 공급사, 주요 품목, 최근 선적, 그리고 같은 기업이 쓰는 다른 이름(matches)까지 담겨요. 호출당 20크레딧이고 보통 8~14초가 걸려요. Estée Lauder처럼 악센트가 들어간 이름도 찾아 드리고, 기록이 없는 기업은 0크레딧으로 404가 와요.

  24. 새 엔드포인트

    기업 재고와 매출원가, 나라별 Google 검색량, 마켓별 TikTok Shop 판매량을 가져와요

    GET /v1/finance/fundamentals?keyword=TGT는 SEC 공시에서 매출, 매출원가, 매출총이익, 재고, 재고 증감, 매입채무를 최신순으로 돌려줘요. 기본은 분기별이고 period=annual을 보내면 연도별로 와요. 한 번에 최대 40개 기간까지 받을 수 있어요(limit 1~40). 회계연도와 분기는 기업마다의 회계 달력을 따르고 16주짜리 분기도 그대로 읽어서, Kroger 같은 유통 기업도 분기가 빠지지 않아요. Target의 2026년 8월 1일까지 분기를 보면 재고가 132억 4,900만 달러로 9억 3,200만 달러 늘었고, 매출원가는 176억 300만 달러였어요. 호출당 1크레딧이에요. IFRS로 보고하는 해외 기업처럼 최근 US GAAP 공시가 없는 티커는 0크레딧으로 404가 와요. GET /v1/google/keyword-volume?keywords=lip gloss,lip oil&location=GB는 한 나라에서 키워드 최대 20개의 월간 검색량, 클릭당 비용, 경쟁도, 12개월 추이를 돌려주고, 키워드 수와 상관없이 16크레딧이에요. "lip gloss"는 영국에서 한 달에 27,100번, 미국에서 90,500번 검색돼요. GET /v1/tiktokshop/sales?query=lip gloss&regions=US,GB,MY는 마켓마다 TikTok Shop 첫 검색 페이지를 합산해서 상품 수, 누적 판매량, 마켓 통화 기준 추정 매출, 판매량 상위 상품을 돌려줘요. 마켓은 최대 8곳까지 고를 수 있어요. 마켓 하나에 1크레딧이고, 15분 안에 같은 호출을 다시 하면 0크레딧이에요. dry_run=true를 보내면 호출 한 번에 들 수 있는 최대 크레딧을 미리 알려 드려요. 같은 호출이라도 TikTok이 첫 페이지를 다르게 줄 수 있어서, 시장 전체 합계가 아니라 한 번의 호출 안에서 마켓끼리 비교하는 용도로 써 주세요.

  25. 개선

    Amazon 검색 결과에 마켓플레이스마다 지난달 구매 수가 담겨요

    GET /v1/amazon/product-search의 각 상품에 Amazon이 붙이는 지난달 구매 배지가 담겨요. product.ext.bought_past_month_label에는 Amazon이 쓴 문구가 그대로, product.ext.bought_past_month에는 배지가 말하는 최소 구매 수가 정수로 들어가요. 이 엔드포인트가 지원하는 마켓플레이스 13곳 모두 그 나라 문구 그대로 읽어요. amazon.de의 "2000+ Mal im letzten Monat gekauft"는 2000, amazon.co.jp의 "過去1か月で1万点以上購入されました"는 10000, amazon.com.br의 "Mais de 4 mil compras no mês passado"는 4000이 돼요. 구매 수가 없는 "New on Amazon" 배지는 숫자가 null이고, depth로 부른 페이지에는 문구 없이 숫자만 담겨요. price.current를 곱하면 상품별, 마켓플레이스별 월 매출을 가늠할 수 있어요. 호출 가격은 바뀌지 않았어요.

  26. 개선

    EU에 노출된 Facebook 광고에 나라별, 연령대별, 성별 도달 수가 담겨요

    GET /v1/facebook/adlibrary/ad는 EU에 노출된 광고에 post.ext.ad.eu_total_reach와 post.ext.ad.eu_reach_breakdown을 담아 돌려줘요. EU 나라마다 도달 수가 18-24세부터 65세 이상까지 연령대별로, male, female, unknown으로 나뉘어 와요. 광고주가 정한 타깃은 target_ages, target_gender, target_locations로 볼 수 있어요. Facebook이 EU 투명성 규정에 따라 공개하는 수치라서, EU에 노출된 적 없는 광고는 null이에요. 2026년 10월 2일 Courir 광고 하나는 EU 도달 수가 8,465,668이었고, 프랑스의 25~34세 여성 1,964,265명, 남성 1,118,198명에게 닿았어요. 호출 가격은 그대로 5크레딧이에요. GET /v1/facebook/adlibrary/company/ads에 include=audience를 보내면 한 번의 호출로 페이지의 모든 광고에 같은 정보가 붙어요. 페이지에 5크레딧, 정보가 채워진 광고마다 1크레딧이라 최대 35크레딧이에요. EU 데이터가 없는 광고는 차감하지 않고, EU에 노출된 적 없는 광고만 있는 페이지는 5크레딧이며 캐시 기간 안에 다시 부르면 0크레딧이에요. 응답의 hydration 블록에 행 수, 조회 수, 크레딧, 걸린 시간이 담겨요.

  27. 개선

    캐시로 응답한 멀티 플랫폼 검색은 0크레딧으로 표시되고, dry_run이 실제 최대 비용을 알려 줘요

    GET /v1/search/multi나 GET /v1/tiktokshop/sales를 다시 호출해 캐시로 응답하면, 이제 그 호출에 든 비용 그대로 표시돼요. data.credits_charged와 플랫폼별, 마켓별 credits는 0, request_id는 null이고 data.cached_page는 true예요. 전에는 캐시를 채운 호출의 차감 내역과 요청 ID가 그대로 보였어요. 첫 호출은 바뀌지 않았어요. 두 엔드포인트 모두 dry_run=1을 보내면 플랫폼이나 마켓 하나하나를 각자의 호출 가격으로 계산해서 expected_max를 알려 줘요. 플랫폼 3개로 search/multi를 부르면 3, 마켓 8곳으로 tiktokshop/sales를 부르면 8이에요. 각 호출이 따로 과금되기 때문에 hold는 그대로 0이에요. include= 조인이 캐시로 응답할 때는 data.hydration.credits_held가 0으로 표시돼요. 응답 데이터와 호출 가격은 바뀌지 않았어요.

  28. 새 엔드포인트

    TikTok 비슷한 계정: 핸들 하나로 닮은 크리에이터를 찾아요

    GET /v1/tiktok/similar?handle=에 크리에이터 핸들을 보내면 그 크리에이터와 비슷한 계정을 30개 안팎으로 돌려줘요. 목록은 크리에이터마다 달라요. 셰프를 넣으면 다른 셰프와 요리 크리에이터가, 스트리머를 넣으면 다른 스트리머가 와요. 계정마다 username, 표시 이름, 프로필 사진, 프로필 URL, 소개글, 인증 여부, 비공개 여부, 팔로워 수, 팔로잉 수, 영상 수, 좋아요 수가 담겨서 따로 조회하지 않아도 규모를 바로 가늠할 수 있어요. 호출 한 번에 5크레딧이에요. 빈 목록은 환불해 드리고, TikTok에 없는 핸들은 0크레딧으로 404가 와요. 15분 안에 같은 호출을 다시 하면 0크레딧이에요. TikTok 자체 추천을 읽을 수 없을 때는 같은 크리에이터에게 Instagram이 추천하는 계정을 TikTok 계정과 맞춰서 목록을 만들어 드려요. 이때는 인증된 계정이거나 팔로워가 1만 명 이상인 계정만 남겨요. 이렇게 만든 행에는 author.ext.similar_source가 instagram으로 담기고, author.ext.instagram_username도 함께 와요. 이 엔드포인트의 author.location은 null이에요. 한 계정의 지역은 GET /v1/tiktok/profile에서 확인해 보세요.

  29. 개선

    Reddit, Instagram, TikTok, X, Google, 웹 호출이 첫 소스가 막혀도 두 번째 소스로 응답해요

    여러 엔드포인트가 이제 첫 소스가 요청 한도에 걸리거나 멈췄을 때 두 번째 소스로 응답해요. reddit/search/comments와 reddit/profile/posts는 기본 정렬의 첫 페이지에 두 번째 소스가 생겼어요. GET /v1/reddit/post는 URL에 제목이 빠진 /r/{sub}/comments/{id}/ 링크에도 게시물을 돌려줘요. 전에는 있는 게시물인데도 404가 왔어요. instagram/post/comments와 tiktok/profile/videos는 요청 한도에 걸려도 2페이지부터 계속 넘겨 볼 수 있어요. 이미 보낸 댓글을 되풀이하는 Instagram 페이지나, 이전 페이지의 마지막 게시물보다 오래되지 않은 게시물이 섞인 TikTok 페이지는 보내지 않고 환불해 드려요. GET /v1/instagram/music/trending은 다시 30곡 차트를 5크레딧에 돌려줘요. 응답마다 Instagram에서 차트를 읽은 시각이 data.fetched_at에 담기고, data.stale로 지금 읽은 차트인지 알 수 있어요. 바로 읽은 차트면 false이고, 호출 때 Instagram이 차트를 주지 않아 마지막으로 받은 차트(최대 6시간 전)를 대신 보내 드리면 true예요.search/everywhere에서 Instagram을 고르면 여러 단어로 된 검색어에도 릴스가 와요. tiktokshop/product의 SG, MY, TH, VN, PH 상품은 새 소스에서 가져와요. twitter/search/users는 첫 페이지에 두 번째 소스가 생겼고, twitter/search/tweets는 처음 요청 한도에 걸리는 순간 두 번째 소스로 넘어가요. google/business/info를 keyword로 조회하면 새로 들인 첫 소스가 답하고, 이전 소스가 그 뒤를 받쳐요. 가격은 그대로 1크레딧이고, cid나 place_id로 하는 조회는 바뀌지 않았어요. location_name 없이 폴란드 우편번호나 폴란드어 글자가 든 검색어를 보내면 뉴욕이 아니라 폴란드에서 찾아요. location_name을 보내면 언제나 그 값이 우선이에요. google_news/search는 타밀어, 텔루구어, 말라얄람어, 마라티어, 구자라트어, 칸나다어, 펀자브어, 우르두어 검색을 인도 기준으로 찾아 드려요. google_play/app-info와 app_store/app-info는 첫 소스가 제시간에 답하지 않으면 두 번째 소스로 넘어가요. prism/reputation에 업체 이름을 보내면 Google 장소와 리뷰까지 함께 와요. web/scrape는 첫 스크래퍼가 거절한 페이지를 두 번째 스크래퍼로 다시 읽어요. /v1/tavily/extract에도 두 번째 소스가 생겼어요. 두 번째 소스가 답해도 응답 형태는 같고, 아무것도 채우지 못한 호출은 환불해 드려요. 두 번째 소스가 채운 행에는 비어 있는 필드가 있어요. Reddit 댓글 페이지에서는 ext.post_title, ext.post_url, ext.subreddit_subscribers, ext.post_score, ext.post_comment_count, ext.post_author, ext.post_published_at, ext.post_flair, ext.content_language, author.avatar_url이 null로 오고, ext.subreddit는 채워져요. Reddit 게시물 페이지에서는 author.avatar_url과 ext.content_language가 null이고, 두 번째 소스가 답한 Reddit 페이지에는 다음 커서가 없어요. Google keyword 조회에서는 place.ext.attributes, ext.people_also_search, ext.status가 null이에요. 호출마다 가격은 바뀌지 않았어요.

  30. 개선

    결과 없는 통합 검색, 읽을 수 없는 페이지, 붙여 넣은 핸들에 더 분명하게 답해요

    GET /v1/search/everywhere에서 어느 플랫폼에도 결과가 없으면 이제 502 ZERO_RESULTS 대신 items: []가 담긴 200이 오고, 크레딧은 차감되지 않아요. 한 플랫폼만 검색할 때는 그 플랫폼에 25초를 써요. GET /v1/web/scrape는 두 스크래퍼 모두 읽지 못한 페이지에 다시 시도해 보라는 502 대신 404 RESOURCE_NOT_FOUND를 0크레딧으로 돌려줘요. details.reason: "site_not_supported"와 retry_will_succeed: false가 함께 담기고, Facebook, Instagram, Reddit, TikTok, YouTube, X, LinkedIn, Threads 링크라면 그 링크를 읽는 엔드포인트를 details.suggestion으로 알려 드려요. Instagram과 TikTok 핸들은 복사하면서 딸려 온 글자가 있어도 받아요. instagram/profile, profile/posts를 비롯한 Instagram 핸들 엔드포인트와 tiktok/profile, profile/videos에는 앞뒤 공백, 끝의 / 하나, ?lang=en, 맨 앞의 @, 프로필 URL(instagram.com/{handle}, tiktok.com/@{handle}?lang=en)을 그대로 보내도 돼요. N/A 같은 잘못된 값은 지금처럼 크레딧 차감 없이 400이 와요. reddit/profile에 서브레딧을 보내면 맞는 엔드포인트를 알려 주는 무료 400이 와요. 예를 들면 "r/aircanada is a subreddit, not a user. Use /v1/reddit/subreddit/details?subreddit=aircanada for its details or /v1/reddit/subreddit?subreddit=aircanada for its posts."처럼 나와요. POST /v1/monitors는 이제 handle에 프로필 URL을 적은 모니터도 받고, 그 모니터는 그대로 실행돼요. 실패한 실행의 skip_reason에는 HTTP 상태와 오류 코드가 담겨요. 예를 들면 "Run failed with HTTP 400 INVALID_REQUEST. ... not charged."처럼 나와요. instagram/search/popular는 Instagram에 그 검색어의 인기 페이지가 없으면 한 번 더 조회하지 않고 바로 0크레딧 404로 답해요. tiktokshop/product의 GB, ID 상품에는 503 SERVICE_UNAVAILABLE과 Retry-After: 3600이 바로 오고, 크레딧은 차감되지 않아요. 메시지에는 지원하는 마켓이 적혀 있어요. 전에는 504가 왔어요. US 상품은 바뀌지 않았어요.

  31. 개선

    LinkedIn 프로필 게시물은 50개를 넘으면 받은 게시물 수만큼 과금하고, 요청 한도에 걸려도 응답해요

    GET /v1/linkedin/profile/posts의 가격이 하나 바뀌었어요. limit이 50을 넘는 호출은 이제 돌려받은 게시물 하나에 2크레딧이에요. 호출할 때 limit x 2만큼 먼저 잡아 두고(limit 최댓값 100이면 200), 실제로 온 게시물 수만큼만 남기고 돌려드려요. 5크레딧 아래로는 내려가지 않아요. 게시물이 60개인 멤버라면 limit을 얼마로 보내든 120크레딧이에요. 전에는 모든 호출이 5크레딧이었어요. limit을 보내지 않거나 50 이하로 보내면 지금처럼 5크레딧이고, 어느 소스가 답하든 가격은 같아요. LinkedIn 기본 소스가 요청 한도에 걸리면 profile/posts는 이제 503 대신 두 번째 소스로 답해요. 게시물과 순서, ID, 숫자는 모두 같아요. profile/stats도 같은 5크레딧으로 두 번째 소스가 생겼고, profile/skills도 두 번째 소스가 생겼어요. limit 50 이하에서 두 번째 소스가 채운 행에는 회사 작성자의 팔로워 수(post.ext.author_followers)가 빠질 수 있고, 50을 넘는 호출에서는 동영상 게시물의 content.duration_seconds가 빠질 수 있어요.

  32. 새 기능

    Instagram 릴스 검색, 이제 나라별로 찾고 크리에이터 정보까지 한 번에

    GET /v1/instagram/search/reels에 선택 파라미터 세 가지가 생겼어요. 이름은 TikTok 검색과 같아요. region(ES, MX, DE, BR, KR, FR)을 보내면 그 나라 결과 위주로 찾아 드려요. Instagram은 검색하는 사람이 있는 나라로 순위를 매기지 않아서, 검색어 뒤에 그 나라를 부르는 현지 이름을 붙여요. fitness는 fitness españa가 되고, 실제로 보낸 검색어는 data.region.query_sent에서 확인할 수 있어요. 추가 크레딧은 없어요. include=creator를 보내면 릴스마다 크리에이터의 '이 계정 정보' 내용이 붙어요. post.ext.author_country, author_followers, author_following, author_posts_count, author_public_email, author_public_phone이 담기고, 크리에이터 한 명을 조회할 때마다 2크레딧이에요. 같은 크리에이터의 릴스가 여러 개여도 조회는 한 번이고, 찾지 못한 크리에이터는 환불되며, 최근 15분 안에 조회한 크리에이터는 무료예요. country는 그 나라를 밝힌 크리에이터의 릴스만 남기고, 걸러 낸 수를 data.country로 알려 드려요. 크리에이터 정보도 함께 붙고, 조회 비용은 릴스가 남았는지와 상관없이 차감돼요. 크리에이터마다 한 번씩 부르던 호출이 이제 한 번으로 끝나요. 지원하지 않는 나라 코드나 세 파라미터의 오타는 크레딧 차감 없이 400으로 알려 드려요. 이 엔드포인트의 과금 방식도 하나 바뀌었어요. 전에는 max_pages를 보내도 첫 페이지에서 멈추고 한 페이지만 차감됐는데, 이제는 요청한 페이지 수만큼 넘겨 보고 넘긴 페이지마다 차감돼요. 크리에이터 조회는 한 번의 호출 안에서 크리에이터당 한 번이에요.

  33. 개선

    엔드포인트가 받지 않는 파라미터는 모니터도 만들 때 막고, 빈 페이지는 차감하지 않아요

    POST /v1/monitors가 이제 모니터로 돌릴 엔드포인트와 똑같이 파라미터를 확인해요. 엔드포인트가 400으로 돌려보낼 값이면 모니터를 만들 때 바로 막고, 엔드포인트와 같은 안내 문구를 보여 드려요. 크레딧은 차감되지 않아요. 전에는 모니터가 월 예상 비용과 함께 만들어진 뒤 실행할 때마다 실패했어요. 결과가 하나도 없는 페이지가 온 실행도 이제 차감되지 않아요. skip_reason과 함께 failed로 남고 크레딧은 전부 돌려드려요. 그때의 total 0은 추적하는 대상이 아니라 빈 페이지를 가리키는 값이라 저장하지 않아요. 2026년 10월 1일 프로덕션에서 확인했어요. 엔드포인트가 받지 않는 핸들은 잔액 변화 없이 400이 왔고, 일반 핸들은 그대로 만들어졌고, 빈 페이지 실행은 0크레딧의 failed로 남았어요.

2026년 9월

  1. 개선

    Instagram 사운드, 끝까지 넘어가는 페이지와 릴스 수, 재업로드를 묶는 ID, 트렌딩 여부까지

    GET /v1/instagram/audio/reels가 사운드에 따라 릴스를 1~3개만 돌려주고, 첫 페이지에 다음이 있다고 나와도 다음 페이지가 비어 있는 경우가 많았어요. 이제 한 페이지에 릴스가 최대 12개 오고, next_cursor로 이어서 넘겨 볼 수 있어요. 첫 페이지에는 세 가지가 더해졌어요. data.total은 Instagram 사운드 페이지에 보이는 릴스 수예요. data.is_trending은 지금 Instagram이 이 사운드를 릴스 트렌딩으로 표시하는지 알려 줘요. data.sound에는 곡 제목, 아티스트, 길이, Spotify 트랙 ID가 담기고, 오리지널 사운드라면 처음 만든 계정과 만든 날짜, 처음 쓰인 릴스까지 담겨요. 모든 릴스에는 post.ext.audio_cluster_id가 붙어요. 같은 사운드를 여러 번 올린 업로드를 Instagram이 하나로 묶는 ID예요. 이 클러스터 ID를 audio_id로 보내면 클러스터 안의 모든 업로드를 한 번에 셀 수 있어요. GET /v1/instagram/profile/reels도 include=stats를 붙이면 클러스터 ID를 함께 돌려드려요. 가격은 페이지당 1크레딧 그대로이고, 빈 페이지는 차감되지 않아요. 2026년 9월 30일 프로덕션에서 확인했어요. 라이선스 음원 하나가 릴스 12개와 릴스 수 427,714, 12개 모두에 클러스터 ID를 돌려줬고, 다음 페이지에서는 다른 릴스 12개가 왔고, 클러스터 ID로 부르자 릴스 수 1,733이 왔어요.

  2. 개선

    모니터가 잘못 적은 숫자 경로를 만들 때 바로 잡고, 아무것도 기록하지 못한 실행은 차감하지 않아요

    POST /v1/monitors의 track.metrics에 적은 경로를 이제 저장한 요청이 실제로 돌려주는 숫자와 맞춰 확인해요. 없는 경로를 적으면 가장 가까운 실제 경로를 알려 주는 400이 오고, 예를 들면 "Did you mean 'total'?"처럼 나와요. 크레딧은 차감되지 않아요. 글자나 true/false 값이 담긴 필드를 적으면, 모니터는 숫자만 기록할 수 있다는 400이 와요. 전에는 둘 다 그대로 만들어져서 실행할 때마다 아무것도 기록되지 않았어요. 응답 형태가 정해져 있지 않은 Prism 요청은 지금처럼 만들어지고, 첫 실행의 숫자를 확인해 보라는 경고가 함께 와요. Instagram 사운드를 쓴 릴스 수를 하루에 한 번 기록하는 레시피도 새로 추가했어요. GET /v1/instagram/audio/reels에서 total을 추적하는 모니터 하나면 되고, 늘어나면 알림도 받을 수 있어요. 하루 2크레딧이에요. TikTok은 GET /v1/tiktok/song의 post.engagement.views로 똑같이 할 수 있어요. 이제 추적하는 숫자가 하나도 오지 않은 실행은 차감되지 않아요. 그 실행은 skip_reason과 함께 failed로 남고, 크레딧은 전부 돌려드려요. 다음 실행과 비교하는 기준으로도 쓰이지 않아서 알림이 잘못 울리지 않아요. 실행마다 legs에는 엔드포인트의 소스 순서 가운데 어느 쪽이 응답했는지가 rung(primary 또는 fallback)과 rung_index로 담겨요. 2026년 9월 30일 프로덕션에서 확인했어요. totl은 추천 경로와 함께 400이 왔고, total은 경고 없이 만들어졌어요. 사운드 릴스 수를 기록하는 모니터를 24번 실행하자 매번 1,733이 2크레딧으로 기록됐고, 숫자 없이 돌아온 실행은 0크레딧의 failed로 남았어요.

  3. 개선

    YouTube 채널 이메일, 잘못된 오류 없이 처음 읽는 주소도 한 번에

    GET /v1/youtube/channel/about에서 성공해야 할 호출이 실패하는 경우가 있었어요. 비즈니스 이메일을 공개하지 않는 채널은 다시 불러도 매번 502가 왔는데, 이제는 author.ext.public_email이 null인 성공 응답이 오고 크레딧도 차감되지 않아요. YouTube의 '이메일 주소 보기' 버튼 뒤에 있는 주소는 처음 읽을 때 몇 분이 걸리는데, 호출이 45초쯤에서 먼저 끝나 버렸어요. 이제는 최대 5분까지 기다렸다가 주소를 돌려드려요. HTTP 타임아웃은 300초 이상으로 잡아 주세요. 그래도 주소가 준비되지 않으면 503 SERVICE_UNAVAILABLE과 Retry-After: 300이 오고, 크레딧은 차감되지 않아요. 그 시간이 지난 뒤 같은 호출을 다시 보내면 보통 주소가 와요. 가격은 그대로예요. 주소가 오면 25크레딧, 오지 않으면 0크레딧이에요. 2026년 9월 28일 프로덕션에서 확인했어요. 매번 실패하던 채널 8개는 모두 0크레딧으로 200을 돌려줬고, 처음 읽는 채널은 253초에 503이 왔고, 다시 부르자 주소가 왔어요.

  4. 개선

    Home Depot 검색에 클리어런스 표시, 정확한 선택 매장, 실제 재고

    GET /v1/home_depot/search와 /product가 이제 Home Depot의 할인 표시를 product.ext.promotion으로 돌려줘요. label(Clearance, Special Buys 같은 값)과 amount_off, percent_off가 함께 오고, 가격이 장바구니에서만 보이는 상품에는 product.ext.price_note가 붙어요. store_id를 보내면 is_selected_store가 요청한 매장 하나만 표시해요. 전에는 택배 발송 창고까지 함께 표시됐어요. 검색 결과가 모두 OutOfStock으로 나오던 문제도 고쳤어요. 이제 재고는 실제 배송·픽업 재고를 따라가요. store_id는 재고와 픽업을 바꿀 뿐 가격은 바꾸지 않아요. 가격은 어느 매장이든 Home Depot 온라인 가격이고, 문서에도 그렇게 적었어요. 2026년 9월 28일 프로덕션에서 확인했어요. 두 매장에서 행마다 선택 매장이 하나씩(각 24개 중 24개), 24개 중 23개가 재고 있음으로 나왔고, Clearance와 Special Buys 표시가 할인 금액과 함께 왔어요.

  5. 개선

    Instagram 프로필 게시물 수, 계정 크기와 상관없이 정확하게

    GET /v1/instagram/profile과 /profile/full의 author.posts_count에 계정 전체 게시물 수가 다시 담겨요. 게시물이 12개 이상인 계정은 null로 오고, 12개보다 적은 계정 중 일부는 틀린 값이 왔어요. Instagram 웹 프로필이 페이지에 실린 게시물만 세기 때문이었어요. 이제 페이지 숫자를 믿을 수 없을 때는 다른 소스에서 정확한 수를 채워 드려요. 가격은 그대로 1크레딧이에요. 2026년 9월 27일 프로덕션에서 실제 핸들 100개로 확인했어요. 존재하는 계정 92개는 모두 정확한 수를 돌려줬고, 없는 계정 8개는 0크레딧으로 404가 왔어요.

  6. 개선

    더 안정적인 X 검색, /v1/x/* 경로, 플랫폼별 검색과 똑같은 멀티 검색

    GET /v1/twitter/search/tweets의 첫 페이지에 두 번째 소스가 생겨서, 기본 소스가 실패해도 호출은 실패하지 않아요. 출시 후 첫 한 시간 동안 1페이지 5xx가 약 27%에서 31건 중 2건으로 줄었어요. /v1/x/* 경로는 이제 /v1/twitter/*와 똑같이 동작해요. 전에는 추천 경로와 함께 404가 왔어요. GET /v1/search/multi는 이제 플랫폼마다 그 플랫폼의 검색을 그대로 호출해서, 플랫폼 엔드포인트와 같은 결과를 돌려줘요. 비어 있다고 나오던 Threads에도 결과가 오고, 플랫폼마다 각자의 요청으로 한 번씩만 과금돼요. reddit/search에서 여러 단어 검색어가 단어 중 하나만 맞춰질 때는 따옴표로 묶은 검색어를 _warnings로 알려드려요. youtube/search의 Shorts 결과에도 채널과 작성자 이름이 담겨요. 2026년 9월 26일 프로덕션에서 확인했어요.

  7. 개선

    무시된 파라미터와 거절 사유를 알려주고, 힌트 두 가지가 늘었어요

    엔드포인트가 받지 않는 쿼리 파라미터는 지금까지 아무 말 없이 빠졌어요. 이제는 빠진 파라미터마다 data._warnings에 한 줄이 붙어요. 그 엔드포인트가 받는 파라미터, 같은 일을 하는 무료 label= 프리셋을 알려주거나, 그런 파라미터가 없다고 적어줘요. tiktok/profile에 zzqx를 보내면 zzqx was ignored: GET /v1/tiktok/profile has no such parameter.가 와요. handle 대신 보낸 username처럼 저희가 받아서 바꿔 쓰는 별칭에는 줄이 붙지 않고, 요청 자체는 바꾸지 않아요. 허용되지 않는 값을 보내면 크레딧 없이 400이 오고, error.details에 allowed_values, 올바른 example 하나, did_you_mean이 담겨요. 한 글자 오타(label=spma)에는 spam을, relevance에 검색어를 넣으면 relevant_to를 알려줘요. 한 API 키로 같은 이유의 거절을 UTC 하루에 100번째 받으면 details.repeated_today에 횟수가 적히고, 메시지가 요청을 바꾸라고 알려줘요. meta.hint도 두 가지 늘었어요. 한 검색에서 나온 게시물 다섯 개 이상의 댓글을 label= 없이 열면 comment_labels가 와서, 댓글마다 이미 붙어 있는 라벨과 prism/comments를 가격과 함께 알려줘요. 같은 검색의 1페이지를 나중에 다시 부르면 search_repeat가 seen=과 날짜 필터를 알려줘요. 힌트는 패턴마다 키 하나에 하루 한 번까지만 오고, 오류 응답에는 붙지 않아요. X-SocialCrawl-Hints: off를 보내면 꺼져요. 모두 2026년 9월 25일 프로덕션에서 확인했어요.

  8. 새 기능

    문서에 자주 하는 작업 추가, 엔드포인트까지 찾는 문서 검색

    문서에 '자주 하는 작업' 페이지가 생겼어요. 브랜드 언급 지켜보기, 크리에이터 검증, 댓글에서 구매 의사 찾기, 영상 자막 받기처럼 고객이 실제로 들고 오는 작업 13개를 모았어요. 작업마다 호출 순서, 단계별로 복사해 쓸 요청, 한 번 실행하는 가격이 나와요. 가격은 API가 과금하는 레지스트리에서 바로 계산해요. llms.txt의 Common Agent Tasks에도 같은 작업이 맨 앞에 와요. 문서 검색은 이제 가이드뿐 아니라 엔드포인트 페이지와 작업 하나하나까지 찾아요. watch a brand는 그 작업으로, creator card는 prism/creator-card 엔드포인트 페이지로 바로 이어져요. 2026년 9월 25일 프로덕션에서 확인했어요.

  9. 새 엔드포인트

    Bluesky 키워드 검색

    GET /v1/bluesky/search는 공개 Bluesky 게시물을 키워드로 검색해 1크레딧에 돌려주고, 사용자의 게시물 목록과 같은 게시물 형식으로 줘요. sort는 latest 또는 top이고, since, until, lang, author로 범위를 좁혀요. 형식이 잘못된 날짜는 0크레딧 400이에요. 호출마다 게시물 100개까지 요청해요. 이 경로는 한 페이지예요. 커서가 없어서 더 오래된 게시물은 받은 것 중 가장 오래된 published_at을 until에 넣어 다시 부르는 방식이고, post.id로 중복을 걸러야 해요. 로그인 없는 검색은 IP마다 제한되어서 몰아서 부르면 Retry-After와 함께 503이 올 수 있고 크레딧은 환불돼요. 2026년 9월 23일 프로덕션에서 확인했어요. query=espresso&sort=latest가 게시물 100개를 1크레딧에 돌려줬어요.

  10. 새 기능

    이미 쓰는 호출이 계산하는 숫자: 사운드 확산, 포맷 버킷, 전환 사례

    GET /v1/tiktok/song이 이미 돌려주던 사용 수를 라벨링해요. post.ext.use_count가 그 사운드를 쓴 영상 수이고, post.ext.use_count_unit은 videos예요. GET /v1/tiktok/song/videos는 data.adoption을 더해요. 날짜별 영상 수, 날짜가 없는 행 수, 오래된 사운드의 첫 페이지가 대부분 최근 사흘에 몰려 있으면 returning이에요. use=1을 붙이면 립싱크, 튜토리얼, 전후 비교, 카드 공개로 나눈 data.adoption.uses가 더해져요. GET /v1/tiktok/profile/videos에 format=stationery를 붙이면 data.format_buckets가 와요. 결혼, 생일, 출산, 조의, 시즌 인사말별 개수와 묶이지 않은 비율이고, 페이지가 하루를 넘으면 날짜별 개수도 담겨요. 하루치면 window_too_short예요. GET /v1/search/everywhere, GET /v1/reddit/search/comments, GET /v1/twitter/search/tweets에 switch_from=을 붙이면 data.switch_receipts가 와요. 링크, 그대로 옮긴 인용, 이유, 옮겨간 곳이 담기고, 비율 대신 headline은 null이에요. 2026년 9월 23일 프로덕션에서 확인했어요. 사용 수가 engagement.views와 같고 단위는 videos였고, 히스토그램은 페이지 합계와 맞았고, use=1은 분류를 더했고, format=stationery는 웨딩 버킷과 묶이지 않은 비율을 돌려줬고, 세 검색 모두 headline 없이 사례를 돌려줬어요.

  11. 새 기능

    하고 싶은 일을 말하면 필요한 호출 목록을 무료 엔드포인트가 알려줘요

    GET /v1/utility/plan?query=에 문장을 넣으면 그 일에 필요한 호출을 순서대로 돌려줘요. 각 단계에 메서드, 경로, 입력한 말에서 채운 값, 아직 비어 있는 값, 크레딧 가격, curl, 그리고 ready, after_approval, blocked 중 실행 상태가 담겨요. 계획하는 일은 네 가지예요. 브랜드 지켜보기, 크리에이터 한 명, 주제 검색, 모니터에 저장하는 검색이에요. 호출 하나에 대한 질문이면 그 호출과 가장 가까운 대안을 돌려주고, 그 밖의 질문은 추측한 연결 대신 uncertain과 빈 단계 목록을 돌려줘요. 계획은 호출을 실행하지 않고 캐시되지도 않아요. 팔로워 이력, 새 게시물마다 오는 알림, 엔드포인트가 표현할 수 없는 기간을 요청하면 cannot 아래에 적혀요. query는 필수이고 빠지면 0크레딧 400이에요. 어시스턴트에서는 같은 객체가 카드로 보이고, "이 단계 실행"은 첫 ready 호출을 입력창에 넣으며 결제 전 확인 카드는 그대로 남아요. 답변 아래 제안 질문은 계획에 있는 경로로만 쓰이고, 붙여넣은 오류는 여덟 가지 원인 중 하나로 읽어서 원인마다 작성된 답을 줘요. 2026년 9월 23일 프로덕션에서 확인했어요. TikTok nike의 creator_profile은 단계 두 개를 돌려줬고 계획 자체는 0크레딧이었고, 영상 생성 프롬프트는 단계 없이 uncertain: true를 돌려줬어요.

  12. 개선

    의도별로 묶인 오디언스 질문과 크리에이터 본인의 이메일

    GET /v1/prism/audience-questions가 이제 매 호출마다 묶어서 돌려주고, 묶는 단계에 생성형 호출이 필요 없어졌어요. 각 묶음의 label은 who, what, why, how, vs, other 중 하나이고, 질문의 text는 작성된 그대로이며, methodology_version은 audience-questions-v3예요. 가격은 30크레딧 그대로이고 새 파라미터는 없어요. instagram/profile, youtube/channel, youtube/channel/about에 contact_email=1을 붙이면 소개 글에 주소가 두 개 이상일 때 author.ext.contact_email이 더해져요. 처음 찾은 주소가 아니라 크리에이터 본인 주소를 골라요. public_email은 그대로이고, 파라미터 없이 부르면 호출도 그대로이며, 1이 아닌 값은 0크레딧 400이에요. 소개 글 40개를 확인해 기준을 확정할 때까지는 선택 기능으로 남아요. 2026년 9월 23일 프로덕션에서 확인했어요. 오디언스 질문 호출은 46개 질문을 다섯 개 의도 묶음으로 30크레딧에 돌려주고 경고가 없었고, contact_email=1은 1크레딧에 그 필드를 돌려줬어요.

  13. 새 기능

    모니터가 웹훅 없이 원하는 숫자를 보관할 수 있어요

    POST /v1/monitors가 track을 받아요. 저장한 요청이 돌려주는 응답 안에서 숫자가 있는 경로를 적으면, 실행마다 그 숫자를 행별로 저장하고 지난 실행과의 차이도 남겨요. 웹훅을 설정하면 페이지도 전달돼요. 이제 track을 보내면 webhook_url은 없어도 돼요. 모니터 개수 상한은 계정의 가장 높은 크레딧 팩을 따라요. Free 3, Starter 10, Growth 25, Pro 100, Enterprise 500이에요. track이 없는 모니터는 그대로이고, 웹훅도 track도 없는 생성은 여전히 400이에요. 2026년 9월 23일 프로덕션에서 확인했어요. track과 웹훅 없이 만든 모니터는 201과 row_key post.id, max_rows 100을 돌려줬고, 같은 track이 조회에서 돌아왔고, 삭제는 204 뒤 404였어요.

  14. 개선

    이름을 바꾼 YouTube 채널과 삭제된 채널, 조용한 Instagram 계정과 사라진 계정을 구분해요

    없는 핸들로 GET /v1/youtube/channel을 부르면 0크레딧 404 account_gone이 오고, error.details.suggestion이 이미 저장해 둔 UC... id를 channelId에 넣어 같은 엔드포인트를 다시 부르라고 알려줘요. 그 호출이 200이면 채널 이름이 바뀐 것이고 author.username이 새 핸들이에요. 다시 404면 채널이 사라진 거예요. 이미 channelId로 조회한 경우에는 이유만 오고 제안은 없어요. GET /v1/instagram/profile은 프로필 페이지에 이미 있던 최신 게시 시각을 author.last_post_at으로 더해요. 가격은 1크레딧 그대로이고, 비공개 계정이거나 읽을 게시물 목록이 없으면 null이에요. GET /v1/prism/handle-audit는 프로필 조회의 이유를 platforms.<platform>.evidence.profile.not_found_reason에 account_gone, account_private, handle_unresolved 중 하나로 옮겨요. region_blocked 값은 없어요. 2026년 9월 23일 프로덕션에서 확인했어요. 저장한 channelId는 1크레딧 200을 돌려줬고, 없는 핸들은 0크레딧 404였고, nasa는 last_post_at 2026-09-22T15:52:05.000Z를 담고 있었고, 비공개 계정은 그 필드가 null이었어요.

  15. 새 기능

    크리에이터의 떡상 영상을 찾아주는 무료 페이지

    /tools/outlier-video-finder와 한국어 페이지에 Instagram, TikTok, YouTube 핸들을 넣으면 최근 게시물 중에서 그 크리에이터 자신의 중간 조회수의 두 배 이상인 글과, 절반 이하인 글 세 개까지 보여줘요. 48시간이 안 된 게시물과 고정 게시물은 빠지고, 견줄 게시물이 여덟 개보다 적으면 비율 대신 결과가 부족하다고 알려줘요. 방문자는 청구되지 않아요. 한 번 실행에 하우스 키로 1크레딧, 첫 페이지에 견줄 게시물이 여덟 개보다 적으면 2크레딧이 들어요. 게시물 목록이 돌려주는 것과 같은 크리에이터 기준선을 읽어서, 그 호출들의 computed.vs_creator와 숫자가 같아요. 2026년 9월 23일 https://www.socialcrawl.dev에서 확인했어요. 두 페이지 모두 해당 언어의 제목으로 200을 돌려줬어요. 점수가 매겨진 실행은 제출되지 않았어요.

  16. 개선

    Instagram 상위 댓글과 TikTok 최신 댓글을 여러 페이지에서 받아요

    GET /v1/instagram/post/comments가 scan_pages=1..3을 받아요. 그 만큼 같은 경로의 페이지를 순회하면서 중복 댓글 id를 지우고, 남은 행을 좋아요순이나 날짜순으로 정렬해 전부 돌려주면서 data.scan(pages_requested, pages_walked, pages_billed, comments_scanned, order, complete, stopped)에 상태를 적어줘요. 앞 페이지 댓글만 반복한 페이지는 청구되지 않아요. GET /v1/tiktok/post/comments는 sort=recent|top과 같은 scan_pages를 받아서, 이미 돈을 낸 페이지를 TikTok의 관련도 순서 대신 최신순으로 받을 수 있어요. 순회가 스레드 끝에 닿지 못하면 응답이 읽은 범위에서 가장 최신이라고 알려줘요. 두 파라미터 모두 보내지 않으면 호출은 그대로예요. Instagram 5크레딧, TikTok 1크레딧이고 data.scan은 없어요. 2026년 9월 23일 프로덕션에서 확인했어요. scan_pages=2는 Instagram 댓글 16개를 좋아요 내림차순으로 10크레딧에 돌려줬고, sort=recent만으로는 TikTok 댓글 50개를 최신순으로 1크레딧에 돌려줬고, sort=recent&scan_pages=3은 댓글 149개를 최신 2026년 5월 11일까지 3크레딧에 돌려줬어요.

  17. 개선

    게시물 목록은 이미 가진 지점에서 멈추고, 응답이 놓친 호출을 알려줘요

    GET /v1/instagram/profile/posts와 /reels, tiktok/profile/videos, youtube/channel/videos와 /shorts, facebook/profile/posts, twitter/user/tweets, threads/user/posts에 since=<ISO 날짜>와 stop_at_id=<게시물 id>를 붙일 수 있어요. 날짜보다 오래된 첫 게시물이나 이미 가지고 있는 게시물에서 순회가 멈추고, pagination.stopped_at이 since, known_id, end 중 무엇인지 알려줘서 동기화 루프가 끝난 이유를 알아요. 고정 게시물은 날짜 순서 밖에 있어서 순회를 끝내지 않아요. 실제로 지나간 페이지만 청구되고 페이지 가격은 그대로예요. 읽을 수 없는 날짜는 0크레딧 400이에요. 따로, 한 키의 같은 세션 호출이 하나의 패턴을 완성하면 응답에 meta.hint가 붙어 그 일을 대신할 호출 하나를 알려줘요. 예를 들어 플랫폼 검색 세 번은 GET /v1/search/multi를, 프로필 조회 세 번은 prism/creator-card를 가리켜요. 패턴마다 키마다 하루 한 번이고, 오류 응답에는 붙지 않으며, X-SocialCrawl-Hints: off로 끌 수 있어요. 2026년 9월 23일 프로덕션에서 확인했어요. instagram/profile/posts?handle=nasa 일반 호출에는 stopped_at이 없고, stop_at_id는 같은 페이지 가격으로 known_id에서 순회를 끝냈으며, 한 검색어를 TikTok과 Instagram 릴스, YouTube에서 차례로 검색하자 search_multi 힌트가 붙었어요.

  18. 개선

    검색 결과를 서버에서 걸러 받고, 중복 행은 크레딧이 들지 않아요

    조회수와 날짜를 이미 돌려주는 검색에 min_views, max_age_days, sort_rows=views, max_pages(1에서 5, 기본 1)를 붙일 수 있어요. country와 exclude_country는 행에 이미 있는 국가를 읽고, TikTok 키워드 검색과 상위 검색에서 쓸 수 있어요. 서버가 정한 페이지 상한까지 순회하면서 조건을 통과한 행만 돌려주고, 지나간 페이지마다 그 엔드포인트의 평소 가격으로 청구해요. 따로, seen=<id>를 붙이면 그 id로 이 계정이 최근 24시간 안에 이미 받은 행이 빠져요. 페이지 가격은 새 행의 비율만큼 내려가요. 페이지 크레딧 곱하기 새 행 수를 페이지의 행 수로 나눈 값을 올림해서, 중복만 있는 페이지는 0크레딧이고 환불은 seen_rows 원장 행으로 남아요. 파라미터를 보내지 않거나 max_pages=1만 보내면 호출은 그대로예요. 2026년 9월 23일 프로덕션에서 확인했어요. TikTok 스킨케어에 min_views=500000&max_age_days=365&exclude_country=IN&max_pages=2를 붙이자 57개를 받아 12개를 2크레딧에 돌려줬고, Reddit의 중복 25개 페이지는 credits_used 0에 1크레딧이 환불됐고, YouTube는 45개 중 37개가 중복이어도 올림 때문에 1크레딧이었어요. max_pages=9는 0크레딧 400이었어요.

  19. 새 엔드포인트

    게시물까지 담는 배치, 수천 개를 맡기는 비동기 작업, 여러 플랫폼 검색

    POST /v1/prism/profiles에 include: "posts"를 붙이면 프로필 25개까지 돌려주면서 각 핸들의 게시물 목록 첫 페이지를 더해요. 실제로 돌아온 게시물만큼만 청구되고, 게시물을 줄 수 없는 플랫폼은 항목마다 그렇다고 표시해요. POST /v1/prism/jobs는 핸들이나 게시물 주소 5,000개까지 받아서 가격을 미리 잡고 작업 id를 돌려줘요. GET /v1/prism/jobs/{job_id}는 무료이고, 작업이 끝나면 쓰지 않은 금액은 환불되며, 같은 Idempotency-Key와 같은 본문은 0크레딧으로 다시 실행되고 다른 본문은 0크레딧 422예요. GET /v1/search/multi는 플랫폼마다 자기 검색 결과를 통합 응답 형식으로, 요청한 순서대로, 중복 주소를 지우고, 각 플랫폼의 필터를 그대로 넘겨서 돌려줘요. 플랫폼 페이지마다 청구돼요. TikTok, Instagram, YouTube, Reddit, Threads, X, Facebook은 1크레딧, LinkedIn은 5크레딧이고, 행을 돌려준 플랫폼만 청구돼요. search/everywhere는 20크레딧 그대로이고, 자막과 클러스터링, 판단을 더하는 상품으로 남아요. 2026년 9월 23일 프로덕션에서 확인했어요. include=posts는 TikTok과 Instagram 게시물을 돌려줬고, TikTok 프로필 작업 하나는 1크레딧을 잡아 1크레딧을 청구했으며, matcha latte를 TikTok, Reddit, YouTube에서 검색하자 행을 돌려준 세 플랫폼만 청구됐어요.

  20. 개선

    YouTube 게시 시각이 일반 호출에서도 정확해졌어요

    youtube/search, youtube/search/hashtag, youtube/channel/videos, youtube/channel/lives가 일반 호출에서도 정확한 게시 시각을 초 단위로 돌려줘요. 추가 크레딧은 없어요. "4개월 전" 같은 상대 표기에서 온 날짜는 초 단위로 다시 확인하고, exact_dates=false를 보내면 예전 추정값이 그대로 오며 post.ext.published_precision에 표시돼요. 2026년 9월 23일 프로덕션에서 확인했어요. 일반 검색은 14개 중 0개가 추정값이었고 같은 호출을 다시 보내면 0크레딧으로 캐시에서 왔으며, exact_dates=false는 14개 모두 추정값으로 남겼고, 채널의 라이브 탭은 30개 모두 정확했어요.

  21. 개선

    개발 도구 펄스가 그 도구의 저장소만 담아요

    repo= 없이 GET /v1/prism/devtool-pulse를 부르면, 이름에 글자가 겹치는 첫 GitHub 저장소를 dossier에 넣었어요. "React Native"가 react/react로 오고, "SvelteKit"이 폼 라이브러리로 올 수 있었어요. 이제는 상위 다섯 저장소를 읽고, 그 도구가 개발되는 저장소일 때만 dossier를 채워요. 다섯 개 안에 없으면 dossier는 비어 있고, Hacker News와 Reddit, 블로그 결과는 그대로 와요. repo=를 주면 검색을 건너뛰어요. 호출은 20크레딧이에요. 2026년 9월 23일 프로덕션에서 "React Native"는 react/react-native가 20크레딧에 돌아왔고, "SvelteKit"은 빈 dossier가 20크레딧에 돌아왔어요.

  22. 새 플랫폼

    Product Hunt 출시 목록과 샤오홍슈 노트를 받을 수 있어요

    GET /v1/producthunt/launches는 공개 출시 목록을 약 50개, 1크레딧에 돌려줘요. topic에는 artificial-intelligence 같은 토픽 슬러그를 넣어요. 모르는 토픽은 빈 목록이고, data._warnings에 그 슬러그가 적히며, 크레딧이 들지 않아요. 투표 수, 순위, 댓글 수, 제품 사이트는 비어 있고 다음 페이지도 없어요. GET /v1/xiaohongshu/search, trending, post, profile, profile/posts, post/comments는 같은 키와 같은 게시물 모양으로 샤오홍슈를 읽어요. 검색과 크리에이터 노트는 짧은 요약이고 post.ext.text_truncated가 true예요. 노트 한 건은 본문을 돌려주고 그 표시를 false로 둬요. 돌아온 행마다 5크레딧이에요. 없는 노트는 0크레딧으로 404이고, 조회수는 null이에요. 2026년 9월 23일 프로덕션에서 artificial-intelligence가 50개 출시를 1크레딧에 돌려줬고, 노트 1건 검색은 잘린 요약을 5크레딧에 돌려줬어요.

  23. 새 엔드포인트

    공개 Facebook 그룹을 찾고, 핸들을 언급한 글을 볼 수 있어요

    GET /v1/facebook/search/groups는 키워드로 공개 그룹을 찾아요. 한 행이 그룹 하나이고, author.ext.search_hit.match가 그룹 페이지인지 그룹 안 게시물인지 말해요. 그 주소는 facebook/group과 facebook/group/posts에 그대로 넣으면 돼요. 한 페이지는 1크레딧이에요. include=details는 같은 호출에서 멤버 수와 공개 범위를 채우고, 채워진 그룹마다 1크레딧이 더 들어요. GET /v1/prism/mentions는 핸들이나 링크가 실제로 들어 있는 게시물과 댓글의 첫 페이지를 돌려줘요. handle이나 url을 넘기면 돼요. 기본은 X와 Reddit 검색 두 쪽이고, 행을 남긴 페이지만 청구해요. Instagram 태그와 웹 검색은 따로 켜요. 미리 알지 못하는 게시물의 Instagram, TikTok 댓글은 찾지 못해요. Facebook, Threads, TikTok 검색은 not_covered에 적히고 호출하지 않아요. 2026년 9월 23일 프로덕션에서 vintage cars가 그룹 10개를 1크레딧에 돌려줬고, include=details는 10개 모두 멤버 수와 공개 범위를 11크레딧에 채웠어요. X에서 handle=nasa는 언급 19건을 1크레딧에 남겼어요.

  24. 개선

    자막에 질문을 하면 답이 있는 구간이 오고, 조인은 같은 계정일 때만 프로필을 복사해요

    GET /v1/youtube/video/transcript와 GET /v1/tiktok/post/transcript에 q를 붙이면 영상에게 300자 안의 질문을 할 수 있어요. 응답의 data.moments에는 그 답이 적힌 구간이 와요. 종류는 answers_query이고, 시작과 끝은 자막 시간이며, 인용은 자막에 있는 한 줄이에요. 주제만 같은 구간은 빠지고, 영상이 답하지 않으면 빈 목록이에요. 질문이 비어 있거나 300자를 넘거나 moments와 함께 오면 자막을 가져오기 전에 거절되고 크레딧이 들지 않아요. 질문 자체는 크레딧을 더하지 않아요. TikTok 자막은 캡션 파일 하나라서 moments가 구간을 붙이지 못했는데, 이제는 그 시간을 읽어서 브랜드, 협찬, 제품 시연, 행동 유도 구간이 다시 붙어요. 2026년 9월 23일 프로덕션에서 확인했어요. YouTube는 답이 있는 구간 6개를 3크레딧에 돌려줬고, 캐시된 같은 호출은 0크레딧이었어요. TikTok 피자 영상은 78.2초 구간에 "7 3. It's not bad at all,"를 10크레딧으로 돌려줬어요. 따로, 핸들로 프로필을 붙이는 조인은 행의 핸들과 찾아온 프로필의 핸들을 비교해요. @, 대소문자, URL 인코딩은 무시해요. 같으면 프로필을 복사하고 더 판단하지 않아요. 다르면 같은 계정일 때만 복사해요. 아니면 그 행은 자기 값을 유지하고, 그 행은 과금되지 않으며, data._warnings에 resolved_to_different_handle로 두 핸들이 적혀요. TikTok과 Threads 사용자 검색의 include=profile, Instagram 비슷 계정의 include=profile, Instagram 프로필 검색의 include=about, 핸들로 연 YouTube 채널의 동영상, Shorts, 라이브에 붙는 include=channel이 여기 해당해요. 조인 가격은 그대로예요. Threads 사용자 검색 5행은 5행 모두 채워졌고 6크레딧이었어요.

  25. 새 엔드포인트

    키워드 없이 나라별 트렌드 보드를 받을 수 있어요

    GET /v1/prism/trend-board?country_code=DE는 그 나라에서 지금 오르는 것을 이번 호출 기준으로 돌려줘요. 작성자가 평소 받는 조회수의 3배가 넘는 TikTok 영상, 그 지역 피드에서 가장 많이 쓰인 사운드, TikTok 해시태그 보드, Google 트렌드의 지금 인기 검색이에요. period는 7 또는 30이고, limit은 구간마다 1에서 10까지예요. Google 트렌드가 다루지 않는 나라는 400이고 크레딧이 들지 않아요. 보드는 호출할 때마다 계산하고, 호출 사이에 기록을 남기지 않아요. 15분 안의 같은 호출은 캐시로 와요. 30크레딧이고, 이 가격은 아직 확정 전이에요. 2026년 9월 23일 프로덕션에서 독일, limit=3을 확인했고, 급등 영상 2개, 사운드 3개, 해시태그 3개, 검색어 3개가 30크레딧에 캐시 없이 돌아왔어요.

  26. 개선

    마지막 페이지를 넘기면 이유를 알려 주고, 엔드포인트 안내에 필드가 채워진 비율이 나와요

    date_posted를 넣은 GET /v1/instagram/search/reels는 11페이지에서 멈춰요. 12페이지는 400이고, error.details.reason이 page_limit이에요. 마지막 페이지, 요청한 페이지, 다른 릴스를 보려면 어떤 값을 바꿔야 하는지가 같이 와요. 크레딧은 환불되고 error.retryable은 false예요. 잔액이 부족할 때의 402는 잔액이 바뀌기 전에는 같은 요청을 다시 보내도 되지 않는다고 말해요. threads/search는 안내된 크레딧이 상한일 때, limit을 줄이거나 expand=false로 그 상한을 낮출 수 있다고 말해요. GET /v1/utility/endpoint에는 quality가 붙어요. 표본 기간 동안 각 필드가 값과 함께 돌아온 비율이고, 일부러 비우는 필드는 그 비율에서 빼요. 첫 기간은 2026년 9월 23일 하루예요. 둘 다 같은 날 프로덕션에서 확인했어요. 페이지 한도 호출은 0크레딧이었고, TikTok 프로필 안내에는 측정된 필드 13개가 0크레딧으로 왔어요.

  27. 개선

    YouTube 연락처 이메일이 채널 소개와 링크와 함께 와요

    GET /v1/youtube/channel/about는 정보 탭의 '이메일 주소 보기' 뒤에 있는 주소를 author.ext.public_email로 돌려주고, 같은 응답에 소개 글, 아바타, 국가, 프로필 링크를 같이 담아요. 주소가 그 버튼 뒤에만 있는 채널은 소개 글은 있는데 이메일이 비어 0크레딧이거나, 이메일은 있는데 소개 글이 비어 25크레딧이었어요. 이제는 한 응답에 같이 와요. 주소가 왔을 때만 25크레딧이고, 공개된 주소가 없으면 0크레딧이에요. 없는 채널은 여전히 0크레딧으로 404예요. 2026년 9월 22일 프로덕션에서 @bikewithoutborders를 확인했고, 주소와 소개 글, 링크 7개가 25크레딧에 캐시 없이 돌아왔어요.

  28. 개선

    LinkedIn 멤버의 프로필 전체를 한 번의 호출로, 없는 멤버에는 과금하지 않아요

    GET /v1/linkedin/profile/all은 멤버의 공개 프로필 전체를 한 번의 호출로, 5크레딧에 돌려줘요. author는 /v1/linkedin/profile과 같은 객체이고 팔로워 수와 커넥션 수가 채워져 있어요. 여기에 verified와 계정 생성일도 함께 들어가요. background에는 소개 글, 경력, 학력, 추천 수가 붙은 보유 기술, 받은 추천서, Featured, 자격증, 수상, 언어, 프로젝트, 출판물, 봉사, 수강 이력, 특허, 소속 단체, 관심 분야, 대표 기술, 현재 직무, 대표 학력이 담겨요. background.interests는 Top Voices, 회사, 그룹, 학교, 뉴스레터로 나뉘어 오고, similar_profiles에는 '이 프로필을 본 사람들이 함께 본' 멤버가 최대 20명 담겨요. 이 여섯 가지는 각각 5크레딧짜리 별도 호출이었어요. 파싱하기 전에 확인할 것이 세 가지 있어요. section_totals는 LinkedIn이 세는 섹션별 개수인데, 긴 섹션은 원본에서 잘려 오기 때문에 옆에 있는 배열보다 클 수 있어요. 개수는 배열 길이가 아니라 section_totals로 세 주세요. author.ext.followers_approximate는 팔로워 수가 반올림된 값으로 왔을 때 true예요. 정확한 정수가 필요하면 /v1/linkedin/profile을 쓰세요. background.skills[].endorsements_is_floor는 LinkedIn이 99+ 형태로 표시했을 때 true이고, 이때 숫자는 최솟값이에요. background.given_recommendations는 이 호출에 없어요. 작성한 추천서는 /v1/linkedin/profile/complete에 그대로 있어요. 그리고 존재하지 않는 멤버를 요청하면 이제 /v1/linkedin/profile, /profile/experiences, /profile/educations, /profile/all 모두 0크레딧으로 404를 돌려줘요. 이전에는 200과 함께 5크레딧이 청구됐고, 섹션 호출 두 개는 빈 목록을 돌려줘서 아무것도 등록하지 않은 멤버처럼 보였어요. 같은 엔드포인트에 urls를 쓰면 프로필 URL을 한 번에 10개까지 보내고 {items, total} 형태로 받을 수 있어요. 비용은 실제로 돌려받은 프로필 1개당 5크레딧이라, 같은 멤버가 중복으로 들어가면 한 번만 청구되고 조회되지 않은 프로필은 청구되지 않아요. 하나도 조회되지 않으면 0크레딧으로 404를 돌려줘요.

  29. 개선

    키워드 하나로 LinkedIn 게시물을 한 번에 200개까지, 멤버의 전체 이력도 한 번에 받을 수 있어요

    GET /v1/linkedin/search/posts?query=lead gen&limit=200은 한 번의 호출로 게시물을 최대 200개까지, 중복을 제거하고 관련도 순으로 돌려줘요. 비용은 돌려받은 게시물 5개당 1크레딧이라 200개면 40크레딧이고, 게시물이 더 적은 키워드는 실제로 받은 만큼만 청구돼요. 같은 호출을 2분 안에 다시 보내면 캐시에서 바로 돌려주기 때문에 크레딧이 들지 않아요. 페이지는 저희가 알아서 넘기고 한쪽 소스가 응답하지 않아도 계속 모으기 때문에, 중간에 멈추지 않아요. limit을 빼면 기존과 똑같이 10개, 5크레딧, 같은 커서예요. limit은 page나 cursor와 함께 쓸 수 없고, 1에서 200을 벗어나면 과금 전에 거절돼요. 그리고 GET /v1/linkedin/profile/complete는 /v1/linkedin/profile과 같은 author 객체에 더해 background를 함께 줘요. 여기에는 소개 글, 회사와 기간이 담긴 경력, 학력, 보유 기술, 받은 추천과 작성한 추천이 각각 해당 /v1/linkedin/profile/* 엔드포인트와 같은 형태로 들어 있어요. GET /v1/linkedin/profile/with-posts는 팔로워와 커넥션 수, 그리고 /v1/linkedin/profile/posts 형태의 최근 게시물까지 더해 줘요. 둘 다 10크레딧이고, 따로 호출하던 다섯 번을 대신해요.

  30. 개선

    라벨이 붙는 호출의 비용을 미리 보고, 라벨의 근거 문장까지 받을 수 있어요

    어제 배포한 라벨과 관련도 레인에 제어 옵션 네 가지가 생겼고, 잘못된 경로 안내도 친절해졌어요. dry_run=1을 붙이면 크레딧 범위만 돌려주고 페이지는 가져오지 않아요. data.estimate에 그 페이지가 담을 수 있는 결과 수, 그중 이미 라벨이 붙어 무료인 수, 추가 라벨 크레딧의 최소와 최대, 그리고 페이지 자체 가격이 들어 있어요. 이 호출은 0크레딧이에요. label=과 함께 label_evidence=1을 쓰면 각 라벨의 근거가 된 문장을 본문에서 그대로 복사해 결과에 붙여줘요. 라벨 값은 바뀌지 않고 크레딧도 늘지 않아요. 게시물 레인의 label=quality는 게시물에 확인 가능한 정보가 얼마나 담겼는지, 좋아요를 노린 글인지, 화를 돋우려고 쓴 글인지, 남의 소식을 옮기기만 한 글인지, 그리고 그 글이 주로 무엇을 하려는 글인지 알려줘요. exclude=engagement_bait를 붙이면 낚시성 게시물을 빼고 그 id를 알려줘요. label=injection은 AI 에이전트에게 지시하려는 문구를 표시하고, 결과를 빼거나 고쳐 쓰지 않아요. 두 라벨 모두 다른 선택 라벨과 같이 새로 판단한 결과 25개마다 1크레딧이에요. fit=goal을 goal=과 함께 보내면 목적에 필요한 결과와 필드, 판단이 애매한 결과, 그리고 첫 블록과 마지막 블록을 남기고 나머지는 축약해요. 보류한 id는 data.held_back에서 볼 수 있어요. 이 파라미터를 빼면 지금 쓰던 페이지 그대로예요. 마지막으로 잘못된 경로는 이제 답을 주는 엔드포인트를 알려줘요. GET /v1/instagram/posts는 여전히 404이고 비용도 들지 않지만, 이제 /v1/instagram/profile/posts를 안내해요.

  31. 개선

    지금 쓰는 목록과 검색 호출에 라벨, 관련도, 입장이 무료로 붙어요

    지금 쓰고 있는 호출이 새 파라미터 없이, 같은 가격으로 더 많은 정보를 돌려줘요. 댓글 엔드포인트 10개는 모든 댓글의 items[].computed.labels에 감정, 질문, 구매 의사, 불만을 점수로 붙여요. 게시물 엔드포인트 11개와 TikTok, YouTube, Threads, LinkedIn 키워드 검색은 모든 게시물에 협찬 여부, 작성 의도, 니치를 붙여요. 리뷰 엔드포인트 22개는 본문에서 읽은 감정과 주요 문제를 알려주고, 별점과 내용이 어긋나면 표시해요. 키워드 검색 9개는 모든 결과에 검색어와의 관련도 점수를 붙여요. search/everywhere는 게시물마다 입장과 관련도를 주고, 입장은 근거 id와 함께 data.stance_split에 집계해요. search/forums는 스레드마다 관련도를 매겨요. search/news는 같은 사건을 다룬 기사를 data.stories로 묶어요. search/creators는 계정이 개인인지, 브랜드인지, 매체인지, 팬 페이지인지 알려줘요. 기존 필드와 결과, 순서는 그대로이고 빠지는 결과도 없어요. data.labels와 data.relevance에서 무엇이 실행됐는지 볼 수 있고, 제시간에 판단하지 못한 결과는 null로 왔다가 다음 호출에서 채워져요. 크레딧은 그대로예요. judgments=off(또는 label=none)를 보내면 예전 응답과 똑같이 돌아와요. 직접 입력이 필요한 옵션은 지금처럼 새로 판단한 결과 25개마다 1크레딧이에요. label=mention&brand=, offer=, label=reports&reports=, relevant_to=, 그리고 댓글의 스팸, 유해, 저품질 라벨이 여기에 해당해요. 검색어 기준 relevance=filter는 무료이고, 크리에이터 검색의 brief=는 2크레딧이 더 들어요. 새 엔드포인트도 있어요. GET /v1/prism/comment-leads는 열어볼 만한 TikTok 게시물의 댓글에서 구매 의사가 있는 사람을 찾아요. GET /v1/prism/adverse-screen은 한 사람의 공개 프로필에서 사람이 검토해야 할 게시물을 표시하고, 25크레딧부터 시작해요. 바로잡은 점도 있어요. prism/review-integrity, product-reviews, reputation, app-reviews, apps-lookup은 첫 번째 검색 결과 대신 상위 5개 중 요청과 맞는 항목을 골라요. 맞는 항목이 없으면 그 소스는 빼고 _warnings에 적어요. prism/audience-questions는 물음표 없는 질문과 한국어 질문까지 세기 때문에 질문 수가 달라져요.

  32. 개선

    Prism 복합 엔드포인트가 결과를 하나씩 읽고 집계해요

    Prism 복합 엔드포인트 11개가 결과를 하나씩 판단한 뒤 집계해요. 지금 읽고 있는 필드는 그대로 나오고, 가격도 그대로예요. prism/leads는 실제 구매 의사가 있는 사람을 위로 올리고, 이름만 같은 다른 제품 이야기는 빼면서 그 id를 알려줘요. 파는 것을 설명하는 offer=도 받아요. 따로 조정하지 않은 경쟁사 두 곳에서 상위 20개에 들어간 실제 구매자가 5명 중 0명에서 5명으로 늘었어요. prism/ai-visibility는 노출 점유율과 함께 각 브랜드가 얼마나 자주 추천되는지, 어떤 평가를 받는지, 몇 번이나 첫 번째로 꼽히는지 알려줘요. prism/brand-mentions는 언급마다 우리 브랜드 이야기인지, 감정과 어떤 측면을 말하는지, 작성자가 실제로 써 봤는지 붙여요. prism/share-of-voice는 이름만 겹치는 언급을 뺀 점유율을 기존 수치 옆에 함께 보여줘요. Notion을 검색하면 노래와 DJ까지 포함해 참여 수가 2억 4,650만이었는데, 제품 이야기만 보면 3,560만이에요. prism/creator-card에 verify=true를 붙이면 찾은 계정이 같은 크리에이터인지와 그 근거를 알려줘요. prism/creator-vet은 브랜드 안전성 검사와 형식적인 댓글 비율, 뉴스 보도와 부정적 뉴스 건수를 더해요. prism/app-reviews, prism/product-reviews, prism/reputation은 리뷰를 주제별로 분류하고 정확히 세는데, 120개에서 600개까지 늘었어요. prism/handle-audit에 relevant_to=를 붙이면 그 계정이 내 주제를 얼마나 다루는지 기존 점수 옆에 나와요. prism/voice와 prism/devtool-pulse는 라벨 뒤의 어조 분포를 보여주고, prism/answers는 엔진들이 질문마다 얼마나 의견이 같은지 점수로 매기고 갈리는 쌍만 설명해요. prism/employer-brand는 점수를 카테고리별로 나눠 보여줘요.

  33. 새 기능

    코호트가 키워드뿐 아니라 주제로도 게시물을 찾아요

    POST /v1/cohorts/{cohortId}/queries가 topics와 match를 받아요. topics에는 주제를 1개에서 10개까지 넣고, 각 주제마다 직접 정한 id와 그 주제를 설명하는 문장을 적어요. match는 기본값인 keywords, 키워드로 찾은 결과 중 실제로 그 주제를 다루는 것만 남기는 topics, 둘 다 쓰는 both 중에 고를 수 있어요. 결과마다 어떤 주제에 걸렸는지 알려주는 matched_topics와 mention_type이 붙어요. 키워드만 쓰는 기존 요청은 예전과 똑같이 동작해요. 저희 테스트 세트에서 키워드로만 찾은 게시물은 30%만 주제에 맞았는데, 주제 매칭을 쓰면 93%로 올라가면서 주제에 맞는 게시물을 놓치지도 않았어요. 키워드로는 1개만 걸리던 피드에서 주제로는 5개가 걸렸고, apple이라는 단어가 없는 iPhone 이야기도 찾았어요.

  34. 새 엔드포인트

    LinkedIn에 도메인으로 회사 찾기, 회사 검색, Pulse 아티클, 채용 담당자, 멤버 조회가 더해졌어요

    회사: GET /v1/linkedin/company/by-domain?domain=microsoft.com은 /v1/linkedin/company와 같은 레코드를 주고, 다른 회사 호출에 넣는 숫자 author.id도 담겨 있어요. /v1/linkedin/search/companies는 규모, 업종, 지역, 채용 중 여부로 회사 페이지를 검색하고, company/also-viewed와 company/employees-count도 새로 생겼어요. 사람과 채용: profile/similar, profile/activity, profile/interests/schools, /newsletters, /top-voices, profile/position-skills, profile/top-position, search/people/by-url, 그리고 공고의 채용 담당자를 보여주는 job/hiring-team이 있어요. 담당자를 공개하지 않는 공고가 많아서 빈 목록일 수 있어요. Pulse: profile/articles, 작성자와 날짜, 반응 수, 본문 전체를 주는 article, 그리고 article/comments, article/reactions예요. post/with-comments는 게시물과 댓글을 한 번에 줘요. profile/about에는 LinkedIn이 보여줄 때 is_verified가 붙어요. 대부분 5크레딧이고, 회사 검색, URL로 사람 검색, 묶음 프로필 호출은 10크레딧이에요. LinkedIn이 찾지 못하는 도메인은 502이고 환불돼요. 게시물, 댓글, 반응 목록은 첫 페이지에 두 번째 소스가 붙어서 실패가 줄었어요.

  35. 개선

    TikTok 영상 검색이 행마다 국가를 알려주고, 한 번에 최대 120개까지 가져와요

    GET /v1/tiktok/search와 /v1/tiktok/search/top의 영상마다 post.ext.region이 붙어요. 영상이 등록된 나라의 ISO 국가 코드예요. 예전과 같은 1크레딧, 약 30개짜리 페이지이고 cursor로 넘겨요. 한 나라만 남기려면 이 필드로 걸러 주세요. region 파라미터는 여전히 검색을 어디서 하는지만 정하고, 결과를 거르지는 않아요. 행마다 크리에이터도 post.author.username과 post.ext.author_followers로 붙어 있어서, 거른 페이지가 곧 그 나라 크리에이터 목록이 돼요. 한 번에 더 많이 받고 싶으면 limit을 30에서 120 사이로 넣으면 돼요. 30, 60, 90, 120 단위로 올림되고 각각 10, 17, 25, 32크레딧이에요. 소스가 못 채운 칸은 환불돼요. 같은 영상이 두 번 나오면 하나만 남기기 때문에 120개 페이지가 조금 적게 올 수 있어요. limit을 빼면 예전처럼 1크레딧 페이지예요. /v1/tiktok/search/users의 country=와는 달라요. 그쪽은 계정 지역이 맞는 크리에이터만 돌려줘요.

  36. 개선

    Instagram 프로필 검색에서 계정 국가, 가입한 달, 공개 연락처를 채울 수 있어요

    GET /v1/instagram/search/profiles?include=about은 예전과 같은 키워드 페이지에서 시작하고, Instagram이 보여주는 계정 국가(author.ext.country), 가입한 달, 공개 이메일과 전화를 각 행에 채워요. 채워진 계정마다 2크레딧이 더 들고, 못 채운 칸은 환불돼요. 기본은 상위 8명(17크레딧을 잡아 둠)이고, limit=12면 페이지 전체를 사요. include를 빼면 예전처럼 1크레딧 페이지예요. 국가 필터는 아니에요. 요가 검색이 한국 계정을 안 띄우면, 붙여도 한국 계정이 생기지는 않아요. 장소에 태그된 게시물은 /v1/instagram/search/location 다음에 /v1/instagram/location/posts를 쓰면 돼요. 모르는 include 값은 400이고 청구되지 않아요.

  37. 개선

    Facebook 사람 검색을 도시 안으로 한정할 수 있어요

    GET /v1/facebook/search/people?location_uid=는 사람 탭을 Facebook 위치 id로 한정해요. /v1/facebook/search/pages가 이미 하던 것과 같아요. 한 페이지에 약 7명, 1크레딧이에요. 다음 페이지는 pagination.next_cursor를 cursor로 보내면 돼요. location_uid를 빼면 예전처럼 전 세계 페이지예요. 이 id는 Facebook 위치 id이지 국가 코드도, 지명도 아니에요. /v1/facebook/search/locations 같은 호출은 없어요.

  38. 개선

    크리에이터 검색에 YouTube, X, Facebook 사람을 넣을 수 있어요

    GET /v1/search/creators는 sources를 빼면 예전처럼 TikTok, Threads, Instagram만 합치고, 순위도 같고, 10크레딧이에요. sources=youtube, twitter, facebook을 넣으면 (또는 tiktok,threads,instagram,youtube,twitter,facebook 여섯 개 중 원하는 조합) 그 프로필 검색이 같이 들어가요. YouTube는 채널 검색이에요. Facebook은 사람 탭이고, 도시 한정은 /v1/facebook/search/people?location_uid=에 남아 있어요. 이 합친 호출에 country=는 없어요. 받지 않는 소스는 400이고 청구되지 않아요. 요청한 소스의 절반 미만이 쓸 수 있는 페이지를 주면 10크레딧의 절반이 돌아오는 환불은 그대로예요.

  39. 개선

    TikTok 사용자 검색에서 크리에이터 국가로 걸러볼 수 있어요

    GET /v1/tiktok/search/users에 country로 KR, US, DE 같은 ISO 국가 코드를 넣을 수 있어요. 공개 계정 지역이 그 나라인 크리에이터만 나오고, 핸들, 이름, 아바타, 프로필 URL, 인증, 수치, 소개, author.location이 행에 이미 붙어 있어요. 기본 8명, limit으로 최대 20명이에요. 나온 계정마다 5크레딧이고, 못 채운 칸은 환불돼요. 받지 않는 코드는 400이고 청구되지 않아요. country를 빼면 예전처럼 전 세계 검색이 1크레딧이에요.

  40. 개선

    TikTok Shop 리뷰 사진이 리뷰에 남고, EU 검색 가격이 샵에 보이는 금액 그대로 나옵니다

    GET /v1/tiktokshop/product/reviews는 샵에 사진이 있는 리뷰에서도 review.images를 빈 배열로 돌려줬습니다. 문자열 URL로 온 사진은 이제 배열에 남고, 사진이 없는 리뷰는 빈 배열 그대로입니다. GET /v1/tiktokshop/search의 이탈리아와 다른 EU 지역 가격은 소수점과 천 단위 구분 기호를 잘못 읽어서 49999, 1.299, 1.44999처럼 나왔습니다. 이제 499.99, 1299, 1449.99유로처럼 샵에 보이는 금액으로 나옵니다. 스토어 상품 목록과 크리에이터 쇼케이스에도 같은 가격 읽기가 적용됩니다. 요금은 그대로입니다.

  41. 개선

    Instagram 릴스: include=stats로 한 페이지에 모든 수치를, 영상마다 쓰인 사운드, 미디어 종류와 슬라이드 수, 리믹스 수, 그리고 고정 게시물을 빼고 날짜에서 멈추는 피드

    GET /v1/instagram/profile/reels?include=stats는 페이지에 있는 모든 릴스의 수치를 한 번에 돌려주고, 페이지당 2크레딧입니다. 조회수, 좋아요, 댓글, 공유, 저장, 리포스트, 리믹스 수가 담기고, post.ext.music_id에 오리지널 사운드와 라이선스 음악 모두의 정확한 오디오 id가 곡 제목과 아티스트와 함께 들어갑니다. 이 id는 GET /v1/instagram/audio/reels가 받는 값이라, 사운드마다 그 사운드를 쓴 다른 릴스로 넓혀갈 수 있어요. 페이지는 이 호출이 돌려주는 커서로 넘기고, 일반 조회에서 받은 커서는 과금 전에 거절됩니다. profile/posts와 profile/reels에 include=audio를 붙이면 페이지의 모든 영상 행에 사운드가 채워지고, 채워진 영상마다 1크레딧이며 사진과 캐러셀은 추가 비용이 없습니다. profile/posts, profile/reels, post/stats의 모든 게시물 행에 post.ext.media_type이 image, video, carousel 중 하나로 들어가고, 캐러셀에는 post.ext.carousel_count, 릴스에는 post.ext.remix_count가 붙습니다. exclude_pinned=true는 profile/posts와 profile/reels 페이지에서 고정 게시물을 빼고, recent_days=N은 최근 N일 안의 게시물만 남기며 페이지가 더 오래된 게시물에 닿으면 페이지 넘김을 알아서 끝냅니다. 페이지당 가격은 그대로예요. 릴스에 대한 post/stats는 Instagram 응답에 저장 수와 리포스트 수가 들어 있으면 그대로 돌려주고, include=saves는 여전히 확실한 경로로 남아 수치가 이미 있으면 5크레딧으로 정산됩니다. 사진과 캐러셀은 어느 경로에서도 저장 수와 공유 수가 없어서 그 필드는 비어 있고 따로 조회하지 않습니다.

  42. 새 엔드포인트

    Instagram 화면 텍스트: 사진, 캐러셀의 각 슬라이드, 릴스 커버 프레임에 적힌 글자를 읽습니다

    GET /v1/instagram/media/screen-text?url=은 게시물 링크를 받아 그 위에 적힌 글자를 돌려줍니다. TikTok 화면 텍스트 엔드포인트의 Instagram판이에요. 사진은 사진에 적힌 글자를, 캐러셀은 앞 10장의 슬라이드를 순서대로 돌려주며 images 아래에 슬라이드별 글자가, texts에 전체가 함께 담기고, 슬라이드가 더 있으면 전체 장수를 경고로 알려줍니다. 릴스는 커버 프레임의 글자를 읽고, 영상 뒷부분에만 나오는 글자는 읽지 않습니다. 호출마다 5크레딧입니다. 없는 게시물은 404로 환불되고, 이미지를 하나도 읽지 못한 게시물도 환불되며, 글자가 없는 게시물은 빈 목록을 돌려줍니다.

  43. 개선

    post-stats 배치의 Instagram 게시물이 이제 하나에 2크레딧이고, profile/posts가 돌려주는 링크를 그대로 받으며, 리포스트와 저장 수를 담고, 읽을 수 없는 링크는 환불합니다

    POST /v1/prism/post-stats는 한 번에 게시물 URL을 최대 100개 받아 각각의 조회수, 좋아요, 댓글, 공유, 저장, 리포스트를 돌려줍니다. Instagram 게시물은 이제 5크레딧이 아니라 2크레딧이고, 단건 GET /v1/instagram/post/stats는 5크레딧 그대로예요. 배치는 profile/posts가 돌려주는 링크를 핸들이 붙은 형태 그대로 받습니다. 전에는 /p/ 형태만 받았고, 그런 링크 하나에 배치 전체가 실패했어요. 없는 게시물 링크는 0크레딧으로 not_found가 돌아오고 환불되며, 전에는 전부 null인 블록에 과금됐습니다. 모든 행에 reposts가 참여 지표에 함께 들어가고, 릴스에는 저장 수가 담깁니다.

  44. 개선

    Instagram 팔로워 목록이 끝까지 내려가고, 게시물 좋아요 목록이 약 10배 깊어지고, 계정 상세 정보의 월 한도가 없어졌습니다

    followers나 following을 그냥 끝까지 넘기면 예전에는 프로필에 표시된 수의 3분의 2쯤에서 멈췄습니다. 이제는 대부분의 계정에서 목록 끝까지 내려가고, 한 페이지에 약 47개가 아니라 46개에서 74개가 담깁니다. 크레딧은 5크레딧 그대로라서 계정 하나당 0.106크레딧에서 0.068에서 0.102크레딧으로 내려갑니다. coverage=full은 여전히 페이지당 10크레딧으로 잡아 두지만, 한 번의 읽기로 페이지 전체를 채운 경우에는 5크레딧으로 정산합니다. 그래서 이 모드의 제값이 청구되는 것은 Instagram이 모든 경로를 약 50개에서 끊는 대형 인증 계정뿐입니다. post/likers는 같은 5크레딧으로 약 100행이 아니라 약 1,000행을 돌려주고, 각 행에 계정의 실제 표시 이름이 들어갑니다. stories의 크리에이터, post/stats와 tagged의 작성자도 마찬가지입니다. profile/about은 월 한도가 없어졌고 약 2초 만에 국가, 가입한 달, 전체 게시물 수를 돌려줍니다. 투명성 정보를 가져오지 못하면 호출이 실패하지 않고 나머지 프로필 정보를 그대로 돌려줍니다. 비공개 계정, 없는 핸들, 커서, 공개된 파라미터는 모두 예전과 똑같이 동작합니다.

  45. 개선

    Instagram 엔드포인트 11개에 두 번째 경로가 생겼고, 그중 4개는 지금까지 경로가 하나뿐이었습니다

    tagged, similar, audio/reels, highlights는 Instagram으로 가는 경로가 하나뿐이어서, 그 경로가 불안정하면 호출이 그대로 실패했습니다. 이제 경로가 둘입니다. post, post/stats, profile, profile/posts, profile/reels, post/comments, search/hashtag에는 기존 경로 앞에 더 빠른 중간 경로가 하나 더 추가됐습니다. 평소에는 달라지는 것이 없습니다. 같은 곳에서 같은 가격으로 같은 필드를 돌려줍니다. 차이가 나타나는 것은 첫 번째 경로가 멈춘 날이고, 그때는 호출이 실패하는 대신 응답이 돌아옵니다. region, download_media, 댓글의 sort=recent, 해시태그 검색의 type=recent와 type=clips를 붙인 호출은 지금 쓰던 경로를 그대로 씁니다. 새 경로는 그 필터를 표현하지 못하는데, 조용히 무시하는 것보다 비켜서는 쪽이 맞기 때문입니다. 가격은 하나만 움직였고 내려가는 방향입니다. post/stats?include=saves는 저장 수와 리포스트 수가 이미 응답에 들어 있으면 9크레딧이 아니라 5크레딧으로 정산되고, 릴스에서는 이런 경우가 많습니다.

  46. 새 엔드포인트

    TikTok 해시태그와 인기 동영상 트렌드 보드가 국가와 기간별로 돌아오고, 모든 업종 보드를 한 번에 읽을 수 있습니다

    TikTok이 트렌드 보드를 새 페이지로 옮기면서 규모를 줄였고, 이제 GET /v1/tiktok/hashtags/popular와 GET /v1/tiktok/videos/popular가 그 페이지를 읽습니다. 해시태그 보드는 독일을 포함한 27개 시장에서 7일, 30일, 90일 기준으로 제공되고, TikTok은 보드마다 상위 해시태그 3개를 공개합니다. 보드는 전체 보드 하나와 업종별 보드로 나뉩니다. industry로 15개 업종 중 하나를 고를 수 있고, industry=all은 16개 보드를 한 번에 읽어 해시태그마다 한 행으로 돌려주며, post.ext.trend.boards에 그 해시태그가 오른 모든 보드와 보드별 순위가 담깁니다. 각 행에는 해시태그, 게시물 수, 동영상 조회수, 일별 인기 추이, 대표 크리에이터가 들어 있습니다. 해시태그 보드는 돌려준 해시태그마다 2크레딧이고 최소 6크레딧이라, 보드 하나는 6크레딧, industry=all은 96크레딧을 잡아 두었다가 실제로 돌려준 해시태그 수만큼만 차감하며 보통 88에서 92크레딧입니다. 인기 동영상 보드는 미국, 일본, 베트남, 태국, 인도네시아에서만 7일이나 30일 기준으로 공개되고, 조회수, 참여, 6초 조회수 순으로 정렬해 최대 20개를 돌려주며, 보드당 25크레딧에 동영상마다 1크레딧이 붙습니다. 두 엔드포인트 모두 원본 보드 대신 표준 게시물 형태로 응답합니다. TikTok이 더 이상 제공하지 않는 값은 과금 전에 이유와 함께 거절됩니다. 120일 기간, newOnBoard, 없어진 업종 3개, 그리고 위 5개 시장이 아닌 곳의 동영상 보드가 여기에 해당합니다. TikTok에서 노래 보드가 사라져 GET /v1/tiktok/songs/popular는 계속 중단 상태이고, 크리에이터 보드는 TikTok에 준비 중으로 표시되어 GET /v1/tiktok/creators/popular는 다시 공개될 때까지 중단합니다.

  47. 개선

    Instagram 장소 게시물이 과거까지 페이지를 넘기며 이어지고, 음악 차트가 실제 차트를 돌려줍니다

    GET /v1/instagram/location/posts는 지금까지 게시물 60개 정도의 한 페이지에서 멈췄고, 붐비는 장소에서는 하루나 이틀 치에 불과했습니다. 이제 응답마다 pagination.next_cursor가 있어서 이 값을 cursor로 다시 보내면 다음 페이지, 즉 더 오래된 게시물을 한 번에 60개 정도씩, 페이지당 5크레딧으로 has_more가 false가 될 때까지 받을 수 있습니다. 함부르크 슈테른샨체에서 한 번 이어서 받아 보니 20페이지에 게시물 1,146개가 1월까지 거슬러 올라갔고, 그 뒤로도 페이지가 남아 있었습니다. Instagram은 장소 게시물을 만들어진 시각 순서로 정렬하므로, 나중에 게시된 예약 게시물은 오래된 게시물 사이에 놓이고 published_at에는 실제 게시 시각이 표시됩니다. 특정 기간을 모으려면 한 페이지 전체가 시작 시각보다 오래될 때까지 넘기고 published_at으로 거르면 됩니다. 형식이 잘못된 커서는 과금 전에 거절됩니다. GET /v1/instagram/music/trending은 이제 라이선스가 있는 음악 차트만 돌려줍니다. Instagram이 차트 대신 저작권 무료 사운드 라이브러리를 주면 다시 요청하고, 끝내 차트를 받지 못하면 503으로 환불합니다. 차트는 Instagram이 보여 주는 계정의 시장을 따르고 직접 고를 수 없어서, 두 Instagram 트렌딩 엔드포인트 모두 지역 값을 받지 않습니다. 지역 단위로는 장소를 검색한 뒤 그 장소의 게시물을 가져오면 됩니다.

  48. 개선

    콘텐츠 분석 필터가 이제 요약, 감성, 평점, 트렌드 엔드포인트의 결과를 실제로 좁힙니다

    GET /v1/content_analysis/summary, /sentiment, /rating-distribution, /phrase-trends, /category-trends의 filters는 받기만 하고 결과에 반영되지 않아서, 국가 필터를 걸어도 필터가 없을 때와 같은 전 세계 수치가 나왔습니다. 카드와 인사말 카테고리에 독일 필터를 걸었을 때 주마다 독일 비중이 10% 정도에 그쳤습니다. 이제 필터가 적용되어 같은 요청이 독일 인용만 돌려줍니다. GET /v1/content_analysis/search는 원래 필터를 적용해 왔고 달라진 점이 없습니다. 파라미터, 응답 형태, 요금은 모두 그대로입니다.

  49. 개선

    Facebook 게시물, 사진, 이벤트 목록이 같은 호출 안에서 공유 수와 릴스 조회수, 사진 참여 수치, 이벤트 상세를 채웁니다

    GET /v1/facebook/profile/posts는 게시물마다 본문, 반응 수, 댓글 수, 첨부 미디어, 게시 시각을 돌려주지만 post.engagement.shares는 모든 행에서 null이었습니다. Facebook이 공유 수를 피드가 아니라 게시물 화면에서만 공개하기 때문이고, 릴스의 정확한 조회수와 길이도 같은 이유로 비어 있었습니다. include=engagement를 붙이면 모든 행이 같은 호출 안에서 게시물 단위 조회와 합쳐져 각 행에 공유 수가 채워지고, 릴스에는 정확한 조회수와 길이가 채워집니다. 페이지 1크레딧에 새로 조회해 채운 행마다 1크레딧이 붙고 피드가 한 페이지에 게시물 3개를 주므로 최대 4크레딧입니다. 이미 캐시에 있는 행은 무료이고, 채우지 못한 행은 환불되며, 캐시가 유효한 동안 같은 호출을 다시 하면 0크레딧입니다. 게시물이 아니라 이벤트로 연결되는 행은 조회하지 않고, 피드가 이미 준 반응 수와 게시 시각은 덮어쓰지 않습니다. GET /v1/facebook/profile/photos는 include=details를 받습니다. 사진 목록에 한 번도 없던 값, 즉 페이지 이름과 프로필 이미지, 숫자 페이지 id, 반응 수, 댓글 수, 공유 수, 게시 시각이 모든 사진에 채워집니다. 채운 사진마다 1크레딧이고 한 페이지가 사진 8개라 최대 9크레딧입니다. 단독으로 올린 사진은 그 게시물의 수치를 갖고, 여러 장짜리 게시물 안의 사진은 자기 수치를 가지며 보통 훨씬 낮습니다. 사진에는 조회수가 없어서 engagement.views는 계속 null입니다. GET /v1/facebook/profile/events와 GET /v1/facebook/events도 같은 값을 받아 각 행을 이벤트 단위 조회와 합칩니다. 설명, 도로명 주소, 좌표, 주최자 목록과 한 줄 주최자 표기, 카테고리, 공개 범위, 참석 수, 커버 이미지, 관심 수와 참여 수가 각 이벤트에 채워지고, 도시 탐색 목록에는 도시와 취소 여부도 함께 채워집니다. 채운 이벤트마다 1크레딧이라 페이지 자체 이벤트는 한 페이지 8개로 최대 9크레딧, 도시 목록은 한 페이지 12개로 최대 13크레딧입니다. 이벤트에는 조회수와 좋아요가 없으므로 engagement.views가 관심 수를, engagement.likes가 참여 수를 담고, 같은 값이 post.ext.event.interested_count와 going_count에도 들어갑니다. 두 이벤트 목록의 published_at은 이벤트 시작 시각이라 예정된 이벤트에서는 미래 시각입니다. 두 목록은 include 없는 기본 호출에서도 원래 행에 있었지만 응답에서 빠져 있던 값을 돌려줍니다. 표시용 시간 문구, 장소 이름, 시작 타임스탬프, 지난 이벤트 여부, 온라인 여부가 두 목록 모두에 나오고, 도시와 취소 여부는 페이지 자체 이벤트에 나옵니다. 함께 정정한 것이 하나 있습니다. 페이지 이벤트 설명에는 기본 호출에서 커버 이미지와 관심 수, 참여 수가 온다고 적혀 있었지만 실제로는 온 적이 없습니다. 이 값들은 include=details로만 옵니다. 채워진 응답에는 data.hydration 블록이 있어 조회한 행, 채운 행, 캐시로 채운 행, 잡아 둔 크레딧과 실제 쓴 크레딧, 추가된 밀리초를 알 수 있습니다. 네 엔드포인트 모두 include 없는 호출은 응답 모양과 요금이 그대로이고, 모르는 include 값은 과금 전에 거절됩니다.

  50. 개선

    Pinterest 검색과 보드 행이 저장 수, 반응 수, 댓글 수, 공유 수를 스스로 채우고, 핀에 날짜가 붙고, URL 저장 수가 다시 나옵니다

    GET /v1/pinterest/search는 핀의 퍼머링크, 이미지, 작성자, 날짜만 돌려줬습니다. 검색 화면 자체에 수치가 없어서 문서에는 저장 수가 온다고 적혀 있었지만 post.engagement.saves, .likes(반응), .comments, .shares가 모두 null이었습니다. include=engagement를 붙이면 모든 행이 같은 호출 안에서 핀 단위 조회와 합쳐져 네 가지 수치가 각 행에 채워집니다. GET /v1/pinterest/board도 같은 값을 받습니다. 보드 행에는 저장 수, 댓글 수, 공유 수는 있지만 날짜가 아예 없었는데, 이 조회가 모든 핀의 날짜를 채우고 보드에 없던 반응 수도 함께 채웁니다. 두 곳 모두 페이지 1크레딧에 새로 조회해 채운 행마다 1크레딧이 붙어서 검색 한 페이지는 최대 26크레딧, 보드 한 페이지는 최대 16크레딧입니다. 이미 캐시에 있는 행은 무료이고, 채우지 못한 행은 환불되며, 전부 채워진 페이지는 같은 호출을 다시 하면 캐시에서 0크레딧으로 나옵니다. limit=N은 상위 N행만 돌려주고 추가 크레딧도 그만큼으로 제한합니다. 채워진 응답에는 data.hydration 블록이 있어 조회한 행과 채운 행, 잡아 둔 크레딧과 실제 쓴 크레딧, 추가된 밀리초를 알 수 있습니다. 플래그 없이 바로 좋아지는 것도 세 가지입니다. GET /v1/pinterest/pin이 이제 핀을 올린 날짜를 돌려줍니다. 지금까지는 모든 핀에서 null이었습니다. post.content.text는 설명이 비어 있으면 핀 제목으로 채워지고, 핀과 검색, 보드 호출 모두 같습니다. 검색 행에는 썸네일과 함께 원본 크기 이미지가 붙습니다. GET /v1/pinterest/url-stats도 다시 동작합니다. 이 엔드포인트 뒤의 소스가 06/09부터 모든 요청에 응답하지 않았는데, 이제 두 번째 소스가 뒤를 받칩니다. 수치는 여전히 URL 문자열과 정확히 일치하는 기준으로 세고, 기본 호출은 URL 10개까지 1크레딧입니다. include 없는 호출은 1크레딧 그대로이고, 모르는 include 값은 과금 전에 거절됩니다. 검색 결과에는 조회수가 공개되지 않고, 제목과 설명이 모두 없는 핀은 content.text가 계속 null입니다.

  51. 개선

    Instagram 프로필 분석에 팔로워 기준 참여율이 추가되고, 옮길 말이 없을 때 그 이유를 정확히 알려주며, 좋아요 수가 Instagram 자체 수치로 정리됩니다

    GET /v1/instagram/profile/full은 사진을 주로 올리는 계정에서 computed.avg_engagement_rate를 null로 돌려주면서 이유를 알려주지 않았습니다. 이 평균은 게시물의 참여를 조회수로 나누는데, Instagram은 사진과 캐러셀에 조회수를 공개하지 않아서 사진 계정에서는 값이 나올 수 없습니다. 이제 응답에 computed.avg_engagement_rate_by_followers가 함께 옵니다. 해당 구간의 평균 좋아요와 댓글을 팔로워 수로 나눈 값이고, profile 엔드포인트가 쓰는 것과 같은 계산이라 사진 계정에도 참여율이 생깁니다. 나머지는 _warnings 두 줄이 설명합니다. 하나는 조회수 기준 평균이 빈 이유를 알려주며 팔로워 기준 값을 가리키고, 다른 하나는 posts로 요청한 수보다 적게 온 경우를 알려줍니다. 한 번의 호출은 최근 게시물 한 페이지(Instagram은 12개)를 읽고, 응답의 posts_cursor를 cursor로 넘기면 다음 페이지를 읽습니다. include=computed는 응답에서 원본 posts 배열만 빼는 값이고, 지표는 어느 쪽이든 같은 게시물로 계산됩니다. 문서에도 이제 그렇게 적혀 있습니다. GET /v1/instagram/media/transcript는 말소리가 없는 릴스에 "영상을 찾을 수 없습니다(삭제되었거나 비공개이거나 존재하지 않음)"라고 답했는데 사실과 달랐습니다. 릴스는 그대로 있고 옮길 말이 없을 뿐입니다. 이제 no_speech와 그 뜻을 담은 메시지가 오고, 사진 게시물은 no_video_or_gone이 오며, 2분을 넘는 영상은 30초 뒤 시간 초과가 아니라 1.5초 안에 400으로 분명히 돌아옵니다. 세 경우 모두 과금되지 않습니다. 마지막으로 post.engagement.likes와 .comments가 모든 호출에서 Instagram 자체 수치로 옵니다. Facebook에도 함께 공유된 게시물은 어떤 호출에서는 Facebook의 좋아요와 댓글이 더해진 값이 왔고 어떤 호출에서는 아니어서, 같은 게시물이 한 번은 850, 다음은 43으로 나오기도 했습니다. 이제 Facebook 쪽 수치를 빼서 instagram.com에 표시되는 숫자와 맞춥니다. Facebook에 공유하지 않은 게시물은 그대로이고, 함께 공유된 게시물은 부풀려진 값보다 낮게 나옵니다. 큰 계정은 몇 퍼센트, 도달이 주로 Facebook에 있는 크리에이터는 그보다 훨씬 큽니다. 좋아요를 숨긴 계정은 Instagram이 보내는 자리표시 값 대신 null이 옵니다.

  52. 개선

    YouTube 목록이 같은 호출 안에서 조회수, 좋아요, 댓글 수와 정확한 게시 시각, 구독자 수를 채웁니다

    GET /v1/youtube/playlist과 GET /v1/youtube/playlist/items는 영상마다 제목, 채널, 게시일만 돌려줬습니다. YouTube 재생목록 화면에 조회수나 좋아요 수가 없기 때문입니다. include=engagement를 붙이면 모든 행에 조회수, 좋아요 수, 댓글 수, 길이, 정확한 게시 시각, 채널 id가 같은 호출 안에서 영상 단위 조회로 채워집니다. GET /v1/youtube/search, GET /v1/youtube/search/hashtag, GET /v1/youtube/channel/lives에서도 같습니다. 이 세 곳은 좋아요와 댓글 수가 비어 있었고 게시일도 "3주 전" 같은 표현에서 계산한 값이었는데, 이제 정확한 시각이 붙습니다. include=channel을 붙이면 각 행에 채널 구독자 수가 post.ext.author_followers로 붙고, 비어 있던 채널 이름, 아바타, 핸들도 채워집니다. 이 값은 앞의 다섯 곳과 함께 GET /v1/youtube/channel/videos, /channel/shorts, /videos/trending, /shorts/trending, /search/advanced에서 쓸 수 있습니다. 두 값은 include=engagement,channel로 함께 쓸 수 있습니다. Shorts 검색 결과에 채널을 붙이는 방법이 이것입니다. Shorts 결과에는 채널이 없어서 영상 조회가 먼저 채널 id를 채우고, 채널 조회가 그 id를 씁니다. 각 값은 새로 채운 영상이나 채널마다 1크레딧이고 50개당 최대 5크레딧입니다. 50행 페이지는 값 하나당 최대 5크레딧이고, 한 채널의 영상, Shorts, 라이브 목록은 모든 행이 같은 채널이라 1크레딧입니다. 채우지 못한 항목은 환불되고, 전부 채워진 페이지는 같은 호출을 다시 하면 캐시에서 0크레딧으로 나옵니다. 채워진 응답에는 data.hydration 블록이 있어 조회한 행과 채운 행, 잡아 둔 크레딧과 실제 쓴 크레딧, 추가된 밀리초를 알 수 있습니다. include 없는 호출은 그대로이고, 모르는 값은 과금 전에 거절됩니다. 공유 수와 저장 수는 모든 YouTube 호출에서 계속 null이고, 좋아요를 숨긴 영상은 likes가 null이며, 커뮤니티 게시물은 그대로입니다.

  53. 개선

    LinkedIn 인물 검색, 회사 구성원, 게시물 반응이 같은 호출 안에서 정확한 팔로워 수와 인맥 수를 채웁니다

    GET /v1/linkedin/search/people, GET /v1/linkedin/company/people, GET /v1/linkedin/post/reactions는 각 구성원의 이름, 헤드라인, 지역, 프로필 URL을 돌려주지만, 팔로워 수는 일부 행에만 LinkedIn이 반올림한 값으로 나오고 나머지는 비어 있었으며 인맥 수는 모든 행에서 비어 있었습니다. 39,000으로 표시된 행은 실제로 39,278명이고, 2,000으로 표시된 행은 2,344명입니다. 실제 숫자를 받으려면 구성원마다 GET /v1/linkedin/profile을 한 번씩 불러야 했습니다. include=profile을 붙이면 페이지의 모든 행이 같은 호출 안에서 그 조회와 합쳐집니다. 반올림된 값은 정확한 팔로워 수로 바뀌고, 채워진 모든 행에서 author.ext.followers_approximate가 false로 표시되며, 인맥 수가 author.following에 채워지고, 지역, 가입일, 국가, 웹사이트, 커버 이미지와 크리에이터, 인플루언서, 구직 중, 채용 중, 톱보이스, 프리미엄 표시가 행에 없던 자리에 채워집니다. 페이지 10크레딧에 새로 조회해 채운 구성원마다 4크레딧이 붙어 최대 50크레딧이고, 이미 캐시에 있는 구성원은 무료이며 채우지 못한 구성원은 환불됩니다. 새 limit 파라미터(1~10)는 상위 N행만 돌려주고 추가 크레딧도 그만큼으로 제한해서 limit=3&include=profile은 최대 22크레딧입니다. 채워진 응답에는 data.hydration 블록이 있어 조회한 행, 채운 행, 캐시로 채운 행, 잡아 둔 크레딧과 실제 쓴 크레딧, 추가된 밀리초를 알 수 있습니다. include 없는 호출은 10크레딧 그대로이고, 모르는 include 값은 과금 전에 거절됩니다. 별도로 LinkedIn 구성원과 회사 URL이 이제 표준형으로 정리됩니다. linkedin.com/in/name?trk=..., http://uk.linkedin.com/in/name, https://www.linkedin.com/in/name/은 세 번 과금되는 호출이 아니라 하나의 캐시 기록입니다. LinkedIn에서 구성원의 following 값은 인맥 수를 뜻합니다.

  54. 개선

    Threads 계정 검색이 팔로워 수와 소개글을, 두 게시물 목록이 조회 수를 같은 호출 안에서 채웁니다

    GET /v1/threads/search/users는 모든 행에 핸들, 이름, 프로필 이미지, 인증 여부를 돌려주고 팔로워 수, 소개글, 비공개 여부, 소개 링크는 비어 있었습니다. 계정 색인이 신원 정보만 담기 때문입니다. include=profile을 붙이면 페이지의 모든 계정이 같은 호출 안에서 GET /v1/threads/profile 조회와 합쳐져 네 값이 각 행에 채워집니다. 페이지 1크레딧에 새로 조회해 채운 계정마다 1크레딧이 붙어 최대 13크레딧이고, 이미 캐시에 있는 계정은 무료이며 채우지 못한 계정은 환불됩니다. 새 limit 파라미터(1~12)는 상위 N개만 돌려주고 추가 크레딧도 그만큼으로 제한해서 limit=5&include=profile은 최대 6크레딧입니다. 팔로워 수와 소개글을 요청하던 기존 방식인 include_details=true도 이제 같은 조회를 실행합니다. 기본 호출과 같은 계정을 돌려주고, 예전에 잡아 두던 20크레딧 대신 최대 13크레딧이며, 30초 가까이 걸리던 응답이 몇 초로 줄었습니다. 게시물 쪽에서는 GET /v1/threads/user/posts와 GET /v1/threads/search의 engagement.views가 비어 있었습니다. Threads가 조회 수를 단일 게시물 화면에서만 공개하기 때문입니다. include=engagement를 붙이면 각 행이 GET /v1/threads/post와 합쳐져 조회 수가 있는 행마다 조회 수가 채워지고, 사용자 게시물에는 작성자 표시 이름이, 검색에는 고정 여부가 함께 채워지며, 조회 수로 계산하는 computed 블록도 함께 채워집니다. 채운 게시물마다 1크레딧이 붙어 사용자 게시물은 최대 16크레딧이고, 검색은 앞선 20개 게시물을 대상으로 최대 20크레딧이 추가되며 limit이 20을 넘으면 이 옵션은 받지 않습니다. Threads는 조회 수가 생긴 뒤에야 공개하기 때문에 올라온 지 몇 분 안 된 게시물은 이 엔드포인트에서도 GET /v1/threads/post에서도 조회 수 없이 옵니다. 검색에서는 그런 행도 고정 여부는 채워지고 요금은 붙지 않습니다. 조회 수나 표시 이름이 실제로 채워진 행에만 크레딧이 부과되기 때문입니다. 채워진 응답에는 data.hydration 블록이 있어 조회한 행, 채운 행, 캐시로 채운 행, 잡아 둔 크레딧과 실제 쓴 크레딧, 추가된 밀리초를 알 수 있습니다. include 없는 호출은 1크레딧 그대로이고, 모르는 include 값은 과금 전에 거절됩니다.

  55. 개선

    Reddit 커뮤니티 검색이 같은 호출 안에서 커뮤니티 활동 지표를 채우고, 서브레딧 상세는 캐시 응답에서도 구독자 수를 유지합니다

    GET /v1/reddit/subreddits/search는 모든 행에 커뮤니티 이름, 구독자 수, 설명, 아이콘을 돌려주고 개설일, 주간 활성 사용자, 주간 게시 활동, 규칙, 언어는 비어 있었습니다. 그 화면이 앞의 네 가지만 공개하기 때문입니다. 나머지를 받으려면 커뮤니티마다 GET /v1/reddit/subreddit/details를 한 번씩 불러야 했습니다. include=details를 붙이면 페이지의 모든 커뮤니티가 같은 호출 안에서 그 조회와 합쳐져 개설일, 주간 활성 사용자, 주간 게시 활동, 규칙, 언어가 각 행에 채워집니다. 페이지 1크레딧에 새로 조회해 채운 커뮤니티마다 1크레딧이 붙어 최대 26크레딧이고, 이미 캐시에 있는 커뮤니티는 무료이며 채우지 못한 커뮤니티는 환불됩니다. 새 limit 파라미터(1~25)는 상위 N개만 돌려주고 추가 크레딧도 그만큼으로 제한해서 limit=5&include=details는 최대 6크레딧입니다. 채워진 응답에는 data.hydration 블록이 있어 조회한 행, 채운 행, 캐시로 채운 행, 잡아 둔 크레딧과 실제 쓴 크레딧, 추가된 밀리초를 알 수 있습니다. include 없는 호출은 1크레딧 그대로이고, 모르는 include 값은 과금 전에 거절됩니다. 별도로 GET /v1/reddit/subreddit/details는 이제 캐시에서 읽을 때도 구독자 수와 커뮤니티 언어를 돌려줍니다. 그동안 캐시 응답에서는 이 두 값이 null로 나왔습니다. 규칙을 두지 않은 커뮤니티는 규칙이 계속 비어 있습니다.

  56. 개선

    TikTok 계정 검색이 모든 행에 소개글과 지역을, 광고 라이브러리 검색이 브랜드와 랜딩 페이지를 같은 호출 안에서 채웁니다

    GET /v1/tiktok/search/users는 모든 행에 팔로워, 팔로잉, 영상, 좋아요 수를 돌려주지만 소개글, 지역, 소개 링크, 계정 카테고리는 없었습니다. 검색 화면이 그 값을 공개하지 않기 때문입니다. include=profile을 붙이면 모든 행이 같은 호출 안에서 프로필 조회와 합쳐져 소개글, author.location의 ISO 지역 코드, 소개 링크, 계정 카테고리가 채워집니다. 페이지 1크레딧에 새로 조회해 채운 행마다 1크레딧이 붙어 최대 31크레딧이고, 이미 캐시에 있는 행은 무료이며 채우지 못한 행은 환불됩니다. GET /v1/tiktok/adlibrary/search도 include=ad로 같은 방식입니다. 등록된 브랜드명, 랜딩 페이지, 광고주의 TikTok 프로필 링크와 아바타가 모든 광고에 붙고, 채운 광고마다 1크레딧이 붙어 최대 17크레딧입니다. 새 limit 파라미터(계정 검색 1~30, 광고 라이브러리 1~12)는 상위 N행만 돌려주고 추가 크레딧도 그만큼으로 제한하며, 채워진 응답에는 data.hydration 블록이 있어 조회한 행, 채운 행, 캐시로 채운 행, 잡아 둔 크레딧과 실제 쓴 크레딧, 추가된 밀리초를 알 수 있습니다. include 없는 호출은 그대로이고, 모르는 include 값은 과금 전에 거절됩니다. 별도로 GET /v1/tiktok/profile은 이제 캐시에서 읽을 때도 author.location을 돌려줍니다. 9월 9일부터 캐시 응답에서는 이 값이 빠져 있었습니다.

  57. 개선

    Instagram 인기 검색과 유사 계정 목록이 같은 호출 안에서 좋아요, 댓글, 공유, 팔로워 수를 채웁니다

    GET /v1/instagram/search/popular은 릴스마다 재생수만 돌려줬습니다. 그 화면이 좋아요와 댓글 수를 공개하지 않기 때문입니다. include=engagement를 붙이면 페이지의 모든 행에 좋아요, 댓글, 공유, 조회수, 정확한 게시 시각, 길이가 같은 호출 안에서 게시물 단위 조회로 채워집니다. 페이지 1크레딧에 새로 조회해 채운 행마다 1크레딧이 붙어 최대 13크레딧입니다. 이미 캐시에 있는 행은 무료이고, 채우지 못한 행은 환불됩니다. GET /v1/instagram/similar도 include=profile로 같은 방식입니다. 모든 계정에 정확한 팔로워, 팔로잉 수와 소개글이 붙고, 채운 계정마다 1크레딧입니다. 게시물 수는 게시물이 12개 미만인 계정에만 붙습니다. 그 위로는 소스가 정확한 합계를 주지 않습니다. 기본은 상위 20개 계정(최대 25크레딧)이고 limit=80이면 전체 80개(최대 85크레딧)입니다. GET /v1/instagram/post/stats에는 include=saves가 생겨 게시물 하나에 저장 수와 리포스트 수가 4크레딧으로 붙고, 읽지 못하면 환불됩니다. 채워진 응답에는 data.hydration 블록이 있어 조회한 행, 채운 행, 캐시로 채운 행, 잡아 둔 크레딧과 실제 쓴 크레딧, 추가된 밀리초를 알 수 있습니다. 새 limit 파라미터(인기 검색 1~12, 유사 계정 1~80)는 페이지 상위 N행만 돌려주고 추가 크레딧도 그만큼으로 제한합니다. include 없는 호출은 그대로이고, 모르는 include 값은 과금 전에 거절됩니다. 목록 호출에서 저장 수는 여전히 null이고, 사진의 조회수도 null이며, 좋아요를 숨긴 계정은 likes가 null입니다.

  58. 개선

    Google 검색은 첫 소스가 비어도 이어서 찾고, 비즈니스 프로필 id 조회가 더 빨라졌습니다

    GET /v1/google/search는 기본 소스가 안 되거나 빈 페이지를 줄 때도 이어서 결과를 찾습니다. 타임아웃이나 빈 응답이 바로 404로 끝나지 않습니다. title, URL, 스니펫은 그대로이고, 순위 위치는 공개 필드가 아닙니다. GET /v1/google/business/info는 cid나 place_id로 조회할 때 더 빨리 붙고, 기본 소스가 실패해도 이어서 조회됩니다. 상호만으로 찾는 조회(id 없음)는 그대로입니다. 영업시간, 별점, 주소, 인증 여부는 같은 Place 객체에 있습니다. 요금은 그대로입니다.

  59. 개선

    TikTok Shop 쇼케이스 상품이 검색과 같은 상품 객체가 됐고, 상품 상세에 공식 샵 정보가 붙습니다

    GET /v1/tiktokshop/user/showcase는 크리에이터가 걸어 둔 상품을 게시물로 돌려줘서, 상품인데도 좋아요·댓글·조회수가 매번 null이었습니다. 이제 GET /v1/tiktokshop/products와 GET /v1/tiktokshop/search가 이미 주는 것과 같은 product 객체로 나옵니다. 제목, 가격, 별점, 판매량, 이미지, SKU id, 그리고 요청한 핸들이 product.ext.tiktokshop.creator_handle에 붙습니다. 이 호출만 응답 모양이 바뀝니다. GET /v1/tiktokshop/products 스토어 목록에도 검색에 이미 있던 product.ext.tiktokshop.discount_percent가 붙습니다. GET /v1/tiktokshop/product에는 공식 샵 여부, 상점 성과 백분위, 긍정 피드백 비율, 24시간 응답률, product.ext.seller_reputation(피드백 비율과 누적 판매량)이 붙습니다. 상품 조회는 GB, ID, MY, TH, SG, VN, PH에서도 됩니다. 그 외 리전은 과금 전에 400입니다. GET /v1/tiktokshop/search는 기본 소스가 안 될 때도 이어서 상품을 돌려줍니다. 그 복구 페이지에는 신뢰 등급·발송지·배지 같은 부가 정보가 빠질 수 있고, 복구의 2페이지는 없습니다. 크리에이터 쇼케이스는 여전히 미국 리전에서만 조회됩니다. 요금은 그대로입니다.

  60. 개선

    Facebook 프로필과 게시물, 댓글이 두 번째 호출 없이 필요한 필드를 돌려줍니다

    GET /v1/facebook/profile/full은 이미 5크레딧 한 번에 페이지와 게시물을 가져왔는데, 같은 본문의 프로필에 아바타가 있어도 게시물마다 post.author.avatar_url이 null이었습니다. 이제 그 페이지가 쓴 글에는 이미 받은 프로필에서 아바타와 페이지 ID가 붙습니다. 공유 글은 원래 작성자를 유지합니다. GET /v1/facebook/post는 게시물 목록이 이미 주던 post.ext.author_id를 돌려주므로, 게시물을 페이지에 연결하려고 프로필을 한 번 더 부를 필요가 없습니다. GET /v1/facebook/profile/posts, GET /v1/facebook/profile/reels, GET /v1/facebook/group/posts는 GET /v1/facebook/post/comments가 이미 받던 post.ext.feedback_id를 만들어 주므로 목록에서 바로 댓글로 갈 수 있습니다. 댓글마다 comment.post_id와 comment.ext.reaction_counts가 붙습니다. GET /v1/facebook/group에는 관리자와 모더레이터 목록, 최근 활동, 공개 범위 설명이 포함됩니다. GET /v1/facebook/profile은 고유 주소에서 가져온 핸들을 author.username에 넣고(facebook.com/NASA면 NASA), 소스가 주면 author.verified와 author.following도 채웁니다. GET /v1/facebook/profile/reels는 트랙이 있을 때 post.ext.music.id와 post.ext.music.track_title을 줍니다. 요금은 그대로입니다. 고유 주소가 없는 개인 프로필과 그룹은 username이 여전히 null입니다. 페이지 팔로워 수는 반올림된 표시값이라 게시물마다 정확한 수인 것처럼 복사하지 않습니다.

  61. 개선

    LinkedIn 전체 프로필이 조회 전에 500으로 끊기지 않습니다

    GET /v1/linkedin/profile/full은 LinkedIn URL마다 500을 돌려줬습니다. 개인이든 회사이든 1초도 안 걸려서, 프로필을 실제로 조회하지 못한 상태였습니다. LinkedIn URL로 부른 GET /v1/prism/lookup도 같았습니다. 단건 조회는 정상이었습니다. GET /v1/linkedin/profile과 GET /v1/linkedin/company는 이미 답을 주고 있었습니다. 이제 전체 프로필도 그 조회와 같은 소스를 씁니다. 9월 8일에 붙인 두 번째 소스도 포함합니다. 앞 소스가 못 주는 호출이 뒤 소스를 시도하기 전에 서버 오류로 끝나지 않습니다. 없는 프로필이나 회사는 예전처럼 찾을 수 없음입니다. 두 소스가 모두 실패하면 예전처럼 502이고 환불됩니다. 요금은 그대로입니다.

  62. 개선

    만료된 Facebook 답글 토큰은 23초짜리 502가 아니라 400입니다

    GET /v1/facebook/post/comment/replies는 바로 앞의 /v1/facebook/post/comments 페이지에서 받은 feedback_id와 expansion_token을 받습니다. 이 토큰은 만료됩니다. 형식은 맞지만 더 이상 쓸 수 없는 토큰은 약 23초 동안 재시도한 뒤 502를 줬습니다. 장애처럼 보이고 30초 뒤에 다시 시도하라는 안내가 붙었습니다. 토큰 자체가 문제라 재시도는 통하지 않았습니다. 이제는 바로 400을 주고, expansion_token을 지목하며, /v1/facebook/post/comments의 comment.ext.expansion_token에서 새 값을 받으라고 안내합니다. 크레딧은 환불됩니다. 잘린 토큰은 원래부터 400이었고, 없는 댓글은 원래부터 404였습니다. 방금 받은 토큰은 예전처럼 답글 목록을 줍니다. 빈 목록으로 바꾸지 않습니다. 답글이 없는 댓글과, 더 이상 쓸 수 없는 토큰은 다른 답입니다.

  63. 개선

    YouTube 검색과 채널 조회에서 비어 있던 필드가 채워집니다

    GET /v1/youtube/search?type=channels는 이름, 핸들, 아바타, URL이 없는 빈 행 20개를 영상으로 표시해 돌려줬습니다. 이제는 채널 이름, 핸들, 아바타, 인증 여부, URL, 구독자 수(post.ext.author_followers)를 주고 행을 채널로 표시합니다. 요금은 그대로 1크레딧입니다. 측정한 한 행에는 구독자 218,000이 담겼습니다. type=playlists는 재생목록 URL과 영상 수, 소유 채널을 주고 행을 재생목록으로 표시합니다. GET /v1/youtube/channel/playlists는 작성자 이름이 View full playlist로 나오던 문제를 고쳤고, 빠지던 행을 유지하며 첫 영상의 썸네일을 붙입니다. 채널이 있는 YouTube 목록은 모두 post.ext.channel_id에 채널 id를 실어 줍니다. 재생목록 안 영상도 같습니다. 채널 영상과 쇼츠에는 post.ext.categoryTitle로 카테고리가 붙습니다. GET /v1/youtube/channel에는 누적 조회수(author.ext.total_views)와 가입 시각(author.ext.joined_at_timestamp)이 들어갑니다. 측정한 한 채널은 조회수 2,510,027,091이었습니다. GET /v1/youtube/channel/about는 이메일 옆에 아바타, 소개, URL, 가입일, 조회수, 키워드, 링크를 같이 줍니다. 공개된 주소가 없으면 여전히 0크레딧이고, 주소가 오면 여전히 25크레딧입니다. 영상 댓글은 두 소스 모두에서 작성자 이름과 영상 id를 줍니다. 요금은 그대로입니다. 영상 행에는 구독자 수가 없습니다. YouTube 영상 목록에 그 값이 없기 때문입니다. 구독자 수는 1크레딧짜리 GET /v1/youtube/channel과, 50개당 5크레딧인 POST /v1/youtube/channels에 있습니다.

  64. 개선

    Reddit 프로필이 팔로워 수를 돌려주고, 비어 있던 조회가 동작합니다

    GET /v1/reddit/profile이 공개 팔로워 수를 author.followers로 돌려줍니다. 이전에는 모든 계정에서 null이었습니다. 2026년 9월 9일 측정에서 크리에이터 계정 하나는 33899, 팔로워가 없는 계정은 0이었습니다. 0은 값이 빠진 것이 아니라 실제 0입니다. 같은 호출이 프로필 URL을 author.url로 돌려주고, GET /v1/reddit/subreddit/details는 커뮤니티 URL을 돌려줍니다. GET /v1/reddit/subreddit 각 행의 post.author.display_name이 프로필이 주는 Reddit 계정 ID와 같아져서, 그 목록에서 사람과 글을 이을 수 있습니다. GET /v1/reddit/search를 다음 페이지로 넘길 때 이전 페이지에 이미 있던 글을 다시 과금하지 않습니다. 측정한 2페이지는 25개 중 8개가 겹쳤습니다. GET /v1/reddit/profile/posts?sort=top은 인기글 목록을 돌려줍니다. 문서에 있던 그 호출은 빈 페이지였습니다. GET /v1/reddit/post/transcript는 v.redd.it URL을 받습니다. 이 레인은 자막이 실제로 올 때만 차감합니다. 이 항목의 요금은 그대로입니다.

  65. 개선

    TikTok 지역 조회에 팔로워 수가 붙고, 사운드 영상도 다음 페이지로 넘어갑니다

    GET /v1/tiktok/profile/region은 그대로 1크레딧이고, 국가 코드도 그대로 줍니다. 이제 같은 호출에서 팔로워, 팔로잉, 게시물, 좋아요 수와 이름, 아바타, 소개, 인증 여부까지 같이 옵니다. 계정 하나를 맞추려고 프로필을 한 번 더 부를 필요가 없습니다. GET /v1/tiktok/song/videos의 2페이지는 예전엔 48초쯤 기다리다가 타임아웃이 났습니다. 이제는 다음 페이지가 오고, 더 없으면 빈 페이지가 오며 그때는 크레딧이 나가지 않습니다. GET /v1/tiktok/post는 인증된 계정이 예전엔 verified: false로 오던 경우가 있었는데, 이제는 verified: true로 옵니다. 요금은 그대로입니다. 국가 코드만은 그 소스가 내려가면 빠질 수 있습니다. 나머지 프로필은 그대로 돌려줍니다. 사운드 영상 1페이지는 바뀌지 않았습니다.

  66. 개선

    LinkedIn 프로필과 글, 검색에서 따로 부르던 필드가 같은 호출에 담깁니다

    GET /v1/linkedin/company/insights가 다시 응답합니다. Microsoft를 포함해 모든 회사에서 not found가 났고, 실제 본문에는 구성원 분포 7개가 들어 있었습니다. 이제 breakdowns로 오며 요금은 그대로 5크레딧입니다. GET /v1/linkedin/post의 동영상은 재생 시간을 초 단위로 주고, 재생 URL은 content.media_urls에 담깁니다. 같은 영상이 여기에서는 161800(밀리초)으로, 동영상 탭에서는 161초로, 피드에서는 null로 오던 불일치가 없어집니다. 기사 공유는 미리보기 이미지와 제목, 출처, URL이 들어 있는 ext.article을 줍니다. 회사 글은 author.username에 회사 슬러그가 붙고, 팔로워 수는 ext.author_followers에 옵니다. GET /v1/linkedin/post/reposts의 공유 글에도 고유 링크가 붙습니다. GET /v1/linkedin/profile은 가입일과 웹사이트, 국가, 크리에이터 플래그를 줍니다. 이 값들은 각각 5크레딧인 /profile/about과 /profile/contact를 한 번 더 불러야 했습니다. 글에는 ext.author_id, author_urn, author_headline, author_type이 붙어 프로필이나 회사와 다시 부르지 않고 연결할 수 있습니다. 댓글 좋아요 수는 행에 이미 있던 리액션 합계입니다. 응답 모양이 바뀌는 엔드포인트는 두 곳입니다. GET /v1/linkedin/post/reactions는 사람 검색과 같은 작성자 목록이고, 리액션 종류는 author.ext.reaction_type에 있습니다. GET /v1/linkedin/search/posts는 회원 피드와 같은 글 목록이고, 본문은 content.text, 수치는 engagement에 있습니다. 요금은 그대로입니다. 회원 프로필의 author.verified는 이 호출이 값을 주지 않아 null입니다.

  67. 개선

    Instagram 유사 계정에 표시 이름이 들어가고, 게시물 목록에 작성자 ID가 붙습니다

    GET /v1/instagram/similar이 이제 모든 행에 author.display_name을 넣습니다. 이전에는 목록 전체가 그 값이 null이라 사용자 이름만 있고 표시 이름은 없었습니다. 5크레딧 호출은 그대로입니다. 팔로워 수, 팔로잉 수, 게시물 수는 이 목록에서 계속 null입니다. 추천 목록 행에 그 숫자가 없기 때문입니다. 숫자는 author.username을 GET /v1/instagram/profile에 넘기면 1크레딧에 받을 수 있고, 계정 50개까지는 POST /v1/prism/profiles로 묶어 계정당 1크레딧입니다. GET /v1/instagram/profile/posts와 GET /v1/instagram/profile/reels는 모든 행에 post.ext.author_id를 담습니다. 작성자 블록이 빠지던 얇은 행에도 들어갑니다. 핸들을 먼저 찾지 않고 작성자 ID로 프로필을 조회하면 됩니다. 둘 다 1크레딧입니다. GET /v1/instagram/post/comments와 GET /v1/instagram/post/comment/replies는 요청에 넣은 게시물 주소에서 comment.post_id와 comment.url을 채웁니다. 이전에는 둘 다 null이었습니다. 공유 수는 5크레딧짜리 /full 목록과 GET /v1/instagram/post/stats에만 있고, 1크레딧 게시물·릴스 목록에는 없습니다. engagement.saves는 Instagram 모든 엔드포인트에서 null입니다.

  68. 개선

    X 계정 검색에 팔로워 수가 붙고, 트윗 행에 작성자 규모가 담깁니다

    GET /v1/twitter/search/users는 계정 열 개 안팎만 주고, 바이오와 팔로워·팔로잉·트윗 수, 가입일이 전부 null이었습니다. 다음 페이지도 없었습니다. 이제는 한 페이지에 스무 개 안팎의 계정과 그 다섯 필드가 채워져 오고, pagination.next_cursor를 cursor로 다시 보내 has_more가 false가 될 때까지 이어받습니다. 페이지당 1크레딧은 그대로입니다. 측정한 NASA 행에는 팔로워 9,200만, 바이오, 2007년 가입일이 담겼고, 예전에는 전부 null이었습니다. 같은 1크레딧으로 GET /v1/twitter/search/tweets, GET /v1/twitter/user/tweets, GET /v1/twitter/user/media, GET /v1/twitter/tweet 행에도 작성자의 팔로워·팔로잉·트윗 수가 post.ext.author_followers, author_following, author_posts_count로 붙습니다. 그 세 숫자를 보려 작성자마다 프로필을 한 번 더 부를 필요가 없습니다. 리트윗 행의 바깥 숫자는 예전처럼 0이고, 원글은 post.ext.retweeted_post에 실제 좋아요, 조회 수, 본문 전체, 미디어와 함께 옵니다. 측정한 한 행은 바깥이 좋아요 0에 140자였고, 원글은 좋아요 4,640, 조회 110만, 302자였습니다. GET /v1/twitter/tweet/replies에는 답글 작성자의 숫자와 언어, 조회 수, 북마크, 인용 수가 comment.ext에 담깁니다. GET /v1/twitter/profile은 계정이 위치를 적어 두면 그 위치를 주고, 트윗 단건에는 post.flags.nsfw가 옵니다. 요금은 그대로입니다. 두 가지는 그대로 비어 있습니다. author.likes_count는 X 호출마다 null입니다. X가 받은 좋아요 합계를 공개하지 않기 때문입니다. 그리고 GET /v1/twitter/profile/full은 여전히 5크레딧이고, 트윗 한 페이지 스무 개 안팎으로 평균을 냅니다. posts=100은 그 페이지를 자를 뿐 더 깊이 내려가지 않습니다. trim=true는 계정 글과 트윗 단건에서 받아 주지만 무시됩니다.

  69. 개선

    Threads 사용자 글을 더 깊게 받고, 계정 검색에서 팔로워 수를 받을 수 있습니다

    GET /v1/threads/user/posts는 기본 1크레딧에 최근 글 약 15개를 그대로 돌려줍니다. 이 짧은 창에서는 조회수가 null입니다. limit를 15보다 크게, 최대 50까지 보내면 같은 피드를 더 깊게 모읍니다. 그 호출에서는 engagement.views와 post.author.display_name이 채워집니다. 요금은 받은 글 하나당 3크레딧이라, 공개 글이 20개인 계정은 limit를 얼마나 올려도 60크레딧입니다. 2026년 9월 9일 @zuck 기준으로 기본 호출은 15개, limit=50은 최상위 글 32개였고 2025년 9월 25일까지 닿았습니다. GET /v1/threads/search/users는 기본 1크레딧에 계정 검색 결과를 그대로 돌려주고, 팔로워 수와 소개글은 null입니다. include_details=true를 보내면 같은 행에 author.followers와 author.bio가 채워지며, 받은 계정 하나당 2크레딧입니다. GET /v1/threads/post/comments는 기본 1크레딧에 묶음 창 약 20개를 그대로 줍니다. limit를 25보다 크게, 최대 50까지 보내면 1단계 답글을 더 모으고, 받은 답글 5개당 1크레딧입니다. 각 댓글에는 이제 comment.post_id가 붙습니다. 이 세 경로는 여전히 커서가 없습니다. limit는 한 번에 모으는 값입니다. 팔로잉 수와 게시물 수는 Threads 모든 표면에서 null입니다. Threads가 그 값을 공개하지 않기 때문입니다. 새 파라미터를 보내지 않으면 가격과 응답 형태는 이전과 같습니다. 키워드 검색은 바뀌지 않았습니다.

  70. 새 엔드포인트

    YouTube 크리에이터 연락처 이메일을 25크레딧에, 주소를 받았을 때만 차감합니다

    GET /v1/youtube/channel/about는 YouTube 채널이 공개한 연락처 이메일을 author.ext.public_email로 돌려줍니다. 채널 페이지에는 없고 '정보' 탭의 '이메일 주소 보기'를 눌러야 나오는 주소까지 포함합니다. 채널에 적힌 국가는 author.ext.country로 오고, 채널 ID와 핸들, 이름, 구독자 수, 영상 수도 함께 담깁니다. 25크레딧이고, 주소를 실제로 받았을 때만 차감합니다. 공개된 주소가 없는 채널은 0크레딧이고, 존재하지 않는 채널은 404에 차감이 없습니다. 먼저 저렴한 쪽을 확인하세요. GET /v1/youtube/channel은 1크레딧이고, 크리에이터가 소개글에 주소를 적어 두면 이미 author.ext.public_email을 줍니다. 채널 12개 표본에서 17%가 여기에 해당했습니다. 그 값이 null일 때만 이 엔드포인트를 부르면 됩니다. 작업량을 잡기 전에 두 가지를 알아두세요. 네 채널 중 하나꼴로 주소를 여러 개 공개하는데, 이때는 크리에이터 본인의 업무용 주소일 가능성이 가장 높은 것을 고릅니다. 먼저 찾은 주소를 그냥 쓰거나 무료 메일이 아닌 쪽을 고르지 않습니다. 회사 도메인이 크리에이터가 아니라 외부 대행사인 경우가 많기 때문입니다. 그리고 중소 규모 크리에이터는 대형 채널보다 주소를 훨씬 덜 공개합니다. 받을 이메일 수가 아니라 조회할 채널 수를 기준으로 예산을 잡으세요. 한 번 조회하면 보통 3초쯤 걸립니다. 이 엔드포인트는 소스 두 곳을 읽지만, 몇 곳을 거치든 차감은 한 번입니다.

  71. 새 플랫폼

    중국 숏폼 네트워크 더우인이 추가됐습니다

    더우인 엔드포인트 8개가 열렸습니다. 더우인은 틱톡과 별개의 네트워크라 크리에이터도 콘텐츠도 인기 흐름도 다릅니다. 중국 계정이나 쿠키, VPN은 필요하지 않습니다. GET /v1/douyin/search는 중국어와 영어, 혼합 질의로 영상을 찾고 정렬, 게시 기간, 영상 길이 조건을 지원합니다. GET /v1/douyin/profile은 팔로워 수, 받은 좋아요, 영상 수, IP 지역을 돌려주며 영상을 가져오지 않아 팔로워 추적에 가장 저렴합니다. GET /v1/douyin/profile/posts는 업로드 목록을 주고, exclude_pinned을 켜면 오래된 고정 영상이 최근 활동을 가리지 않습니다. GET /v1/douyin/post는 음악과 해상도, 태그한 장소까지 포함해 영상 하나를 돌려줍니다. GET /v1/douyin/post/comments는 최상위 댓글을 건당 1크레딧으로, 작성자 IP 지역과 함께 줍니다. GET /v1/douyin/comment/replies는 답글마다 comment.parent_id가 붙어 있어 대화를 그대로 복원합니다. GET /v1/douyin/search/users는 키워드로 크리에이터를 찾고 팔로워 구간과 계정 유형으로 거릅니다. GET /v1/douyin/trending은 실시간 인기 검색 순위 전체를 고정 요금 한 번에 줍니다. 연동 전에 두 가지를 알아두세요. post.engagement.views는 항상 null입니다. 더우인이 앱 밖으로 재생 수를 공개하지 않고, 0을 그대로 주면 아무도 보지 않은 영상처럼 읽히기 때문입니다. 좋아요, 댓글, 공유, 저장 수는 모두 실제 값입니다. 그리고 검색은 항상 결과가 옵니다. 더우인은 일치하는 결과가 없다고 답하는 대신 느슨하게 관련된 영상을 내주므로, 목록이 비었는지가 아니라 캡션을 보고 판단하세요. 행 단위로 과금하는 엔드포인트는 실제로 받은 행만큼만 차감됩니다.

  72. 개선

    LinkedIn에서 오류이던 호출이 데이터를 주고, 잘못된 필터는 무료로 거절합니다

    LinkedIn 조회 다섯 개 뒤에 소스가 하나 더 붙었습니다. 회원 프로필, 회사 페이지, 경력, 학력, 사람 검색입니다. 앞 소스가 답을 못 주면 같은 형식의 같은 호출을 뒤 소스가 이어서 주고, 어느 쪽이 답했는지는 구분되지 않습니다. 요금은 그대로입니다. LinkedIn 아이디를 받는 필터에 이름을 넣으면 바로, 그리고 무료로 거절합니다. 사람 검색 필터 여섯 개와 채용 검색 필터 하나는 회사·학교·업종 이름을 넣으면 30초 뒤에 다시 시도하라는 오류를 줬고, 요청 형식 자체가 문제라 재시도는 통하지 않았습니다. 이제는 그 아이디를 만들어 주는 호출을 오류에 적어 바로 돌려줍니다. 회사 아이디를 받는 회사 엔드포인트 여섯 곳과 게시물 검색의 날짜·정렬 값도 같은 검사입니다. 없는 프로필이나 회사는 서버 오류가 아니라 찾을 수 없음으로 와서, 재시도 로직이 없는 것과 깨진 호출을 구분할 수 있습니다. 실패한 호출은 예전처럼 환불됩니다. 뒤 소스는 앞 소스가 실패할 때만 돌아가므로, 평소 호출은 예전과 같습니다.

  73. 개선

    Threads 키워드 검색이 입력하신 단어에서 벗어나지 않아요

    Threads가 못 알아듣는 문장을 넣으면, 검색어를 더 좁은 검색 여러 개로 풀어서 돌린 뒤 결과를 합쳐 드려요. 그런데 붙어 있는 두 단어 묶음이 떨어지면 그다음으로 한 단어짜리 검색까지 내려갔어요. 한 단어는 문장을 가장 느슨하게 읽는 방식이에요. cari ai automation에서 cari와 ai 각각의 검색이 한 페이지씩 꽉 채워 와서 결과의 3분의 2를 차지했고, 59개 중 41개가 세 단어 중 하나만 걸리거나 아예 안 걸렸어요. 이제는 붙어 있는 두 단어 묶음만 씁니다. 한 단어로 내려가는 건 쓸 수 있는 묶음이 하나도 없을 때뿐이에요. 두 단어짜리 문장이거나, 모든 묶음이 조사·관사를 사이에 두고 있는 경우입니다. 바뀐 뒤 실제로 재 보니 같은 검색어가 59개 대신 20개를 돌려주고, 그중 15개가 입력하신 단어를 둘 이상 담고 있어요. 예전에는 59개 중 15개였습니다. 검색을 넷이 아니라 둘만 돌리니 요금도 3크레딧에서 1크레딧이 됐어요. 같은 기준으로 다른 검색어 두 개는 44%에서 69%로, 37%에서 84%로 올랐습니다. 관련도 높은 글은 그대로 남고, 빠지는 건 한 단어만 걸린 뒤쪽이에요. 그리고 결과를 정렬할 때 아주 짧은 단어가 긴 단어 안에 우연히 들어가도 점수로 세지 않게 했어요. ai가 email이나 rain, said 안에서 잡히던 문제예요. 조사를 붙여 쓰는 언어는 예전처럼 그대로 걸립니다. 풀어서 돌리는 검색에도 자체 시간 제한이 생겨서, 위쪽이 느린 순간에도 응답이 끊기지 않고 돌아와요. 찾아오는 양 자체는 그대로예요. Threads가 아예 모르는 문장은 여전히 빈 결과이고 차감도 없으며, expand=false도 그대로 문장 그대로만 검색합니다. 한 가지 같이 봐 두시면 좋은 게 있어요. limit은 검색 창을 하나씩 차례로 돌려서 글을 모으는데 한 창에 3.4초쯤 걸려요. 크레딧뿐 아니라 시간도 쓰는 값이에요. 캐시가 없을 때 limit 없이 3.5초, limit=30은 7.3초, limit=50은 10.2초, limit=100은 19.5초가 나왔습니다. HTTP 클라이언트가 10초에서 끊는다면 limit=50 이상은 안 들어가요. 타임아웃을 늘리시거나, 적게 요청하고 pagination.next_cursor로 이어받으세요. 크레딧은 같습니다.

  74. 새 엔드포인트

    Reddit에서 계정과 댓글 본문, 커뮤니티를 읽을 수 있습니다

    엔드포인트 여섯 개가 새로 생겼습니다. GET /v1/reddit/profile은 계정 하나를 돌려주고, GET /v1/reddit/profile/posts는 그 계정이 올린 글을 한 번에 23개쯤 돌려줍니다. GET /v1/reddit/search/comments는 글을 검색해서 안쪽까지 읽어 내려가는 대신 댓글 본문을 바로 검색합니다. 한 페이지에 19개쯤 옵니다. GET /v1/reddit/subreddits/search는 주제를 넣으면 커뮤니티를 돌려줍니다. 한 페이지에 25개이고, 이제 서브레딧 이름을 미리 알고 시작하지 않아도 됩니다. GET /v1/reddit/search/media는 키워드에 걸리는 이미지와 영상 글을 한 페이지에 25개 돌려줍니다. 이 셋은 공용 cursor로 이어지고, 측정해 보니 두 번째 페이지가 첫 페이지와 겹치는 행이 하나도 없었습니다. 여기까지 다섯 개는 호출당 1크레딧입니다. 여섯 번째 GET /v1/reddit/profile/comments는 먼저 읽어 보고 쓰시는 게 좋습니다. 계정이 직접 쓴 댓글을 최신순으로 돌려주는데, 요금이 돌려받은 댓글 하나당 2크레딧입니다. 측정에서 댓글 25개에 50크레딧이 나갔습니다. 여기의 limit은 1에서 100까지 받고 페이지 크기가 아니라 깊이입니다. 숫자를 키우면 한 번의 호출로 더 예전까지 닿고, 속도는 같습니다. 커서는 없습니다. 먼저 1크레딧짜리 GET /v1/reddit/search/comments?query=author:username을 써 보세요. 같아 보이지만 검색 색인을 읽기 때문에 관련도순으로 추린 일부만 들어 있습니다. 한 계정에서 재 보니 검색 쪽은 댓글 9개를 주고 멈췄고, 이력 엔드포인트는 60개를 주면서 2021년까지 갔습니다. 표본이 아니라 이력이 필요할 때 이력 엔드포인트로 오시면 됩니다. limit보다 댓글이 적은 계정은 그만큼 덜 내고, 없는 아이디는 빈 목록에 차감이 없습니다. 실제로 있지만 댓글을 한 번도 안 쓴 계정도 똑같이 빈 목록입니다. 이 둘은 여기서 구분되지 않으니, 구분이 필요하면 GET /v1/reddit/profile을 부르세요.

  75. 개선

    잘못된 경로를 부르면, 맞는 경로를 알려드려요

    존재하지 않는 경로를 부르면 지금까지도 요금은 없었지만, 왜 안 되는지는 알려드리지 못했어요. 이제 가장 가까운 실제 경로를 오류 메시지와 details.did_you_mean 배열로 같이 드립니다. 코드에서 바로 읽어 쓰실 수 있어요. /v1/instagram/posts는 /v1/instagram/profile/posts로, /v1/instagram/user/reels는 /v1/instagram/profile/reels로, /v1/instagram/hashtag/posts는 /v1/instagram/search/hashtag로 안내합니다. 리소스가 아니라 플랫폼 이름이 다른 경우도 잡아드려요. 저희 Twitter 표면은 twitter로 등록되어 있어서, /v1/x/profile을 부르시면 이제 /v1/twitter/profile을 알려드립니다. 추천은 충분히 가까운 경로가 있을 때만 드립니다. 요금이 나가면서 원하는 답은 주지 않는 엔드포인트로 안내하는 것보다는 아무 말도 하지 않는 편이 낫기 때문이에요. 오류 타입과 404 상태, 요금 0은 그대로라서 이미 처리하고 계신 동작은 달라지지 않습니다.

  76. 개선

    단일 소스로 돌던 Instagram 엔드포인트에 두 번째 소스가 생겼어요

    Instagram 엔드포인트 네 개가 각각 소스 하나로만 돌고 있었어요. 그 소스가 흔들리면 그대로 오류가 되었습니다. 이제 같은 호출 안에서 두 번째 소스로 넘어갑니다. 요금도 같고 내려드리는 필드도 같아요. 계정의 국가와 가입 시점, 공개 연락처를 주는 GET /v1/instagram/profile/about은 9월 7일에 소스가 월 한도에 걸리면서 아예 응답이 멈췄었는데, 지금은 다시 답하고 공급처 하나가 소진되어도 멈추지 않습니다. 프로필 릴스(GET /v1/instagram/profile/reels)는 열여덟 번에 한 번꼴로 서버 오류가 났고, 640개 계정이 영향을 받았어요. 공유 수를 주는 유일한 엔드포인트인 GET /v1/instagram/post/stats도 같은 비율로 실패했습니다. 10크레딧짜리 영상 전사(GET /v1/instagram/media/transcript)는 예비 소스가 아예 없었고요. 요청과 응답에서 달라지는 건 없습니다. 두 번째 소스는 첫 번째가 실패했을 때만 쓰이고, 필드는 같은 자리에 그대로 들어가고, 가격은 그대로예요. 공유 수는 여전히 게시물 단건 조회에서만 제공되고, engagement.saves는 모든 엔드포인트에서 null입니다. Instagram이 저장 수를 어떤 경로로도 공개하지 않기 때문이에요.

  77. 새 엔드포인트

    Reddit 계정 조회, 댓글 검색, 커뮤니티 찾기

    Reddit 엔드포인트 여섯 개가 새로 생겼습니다. GET /v1/reddit/profile은 계정 정보를 돌려줍니다. 전체 카르마는 author.likes_count에, 게시물·댓글·어워드 카르마는 ext.post_karma, ext.comment_karma, ext.awardee_karma에 나눠 담기고, 가입일, 소개, 아바타와 배너, 트로피 수도 함께 옵니다. GET /v1/reddit/profile/posts는 그 계정이 올린 글을 커뮤니티를 가리지 않고 돌려주고, 본문과 미디어가 행에 담기며 ext.subreddit이 어디에 올라간 글인지 알려줍니다. GET /v1/reddit/search/comments는 Reddit 댓글 색인을 바로 검색합니다. 답글 깊숙한 곳에만 나오는 표현도 한 번에 찾을 수 있고, 각 댓글에 원 게시물이 ext.post_title, ext.subreddit, ext.subreddit_subscribers, ext.post_score, ext.post_comment_count, ext.post_author로 함께 붙습니다. query에는 Reddit 검색 연산자를 그대로 쓸 수 있습니다. author:사용자명으로 한 계정의 색인된 댓글을, subreddit:이름 검색어로 커뮤니티 하나만 훑을 수 있습니다. 이 엔드포인트에서 comment.parent_id는 null입니다. 값이 빠진 게 아니라, 상위 소스가 그 댓글이 최상위인지 깊은 답글인지 알려주지 않아서 그대로 null로 둡니다. GET /v1/reddit/subreddits/search는 주제로 커뮤니티를 찾아줍니다. author.id에 서브레딧 이름이 그대로 담기고, 이 값을 subreddit, subreddit/details, subreddit/search의 subreddit 값으로 바로 넘기면 됩니다. GET /v1/reddit/search/media는 주제에 맞는 이미지·영상·갤러리 게시물을 돌려줍니다. 이 다섯 개는 페이지당 1크레딧, 최대 25개이고 cursor로 이어집니다. GET /v1/reddit/profile/comments는 계정이 직접 쓴 댓글 이력을 돌려줍니다. 검색 색인보다 훨씬 깊이 들어갑니다. 한 계정에서 25개를 받으면 2022년 7월까지, 60개를 받으면 2021년 6월까지 닿았고 걸린 시간은 비슷했습니다. limit이 페이지 크기가 아니라 깊이를 정하는 값이기 때문입니다. 요금은 실제로 받은 댓글 하나당 2크레딧이고 받은 만큼만 차감되니, 요청한 limit보다 댓글이 적은 계정은 그만큼 덜 냅니다. 먼저 GET /v1/reddit/search/comments?query=author:사용자명을 써 보세요. 페이지당 1크레딧입니다. 다만 이쪽은 검색 색인을 읽어서, 어떤 계정에서는 9개만 나온 반면 이력 엔드포인트는 60개를 돌려줬습니다.

  78. 개선

    서브레딧 안 검색이 한 페이지에 최대 27개까지

    GET /v1/reddit/subreddit/search는 한 페이지에 7개 정도를 돌려줬습니다. 이제 같은 1크레딧으로 최대 27개까지 돌려주고, 각 행에 담기는 정보도 늘었습니다. 본문은 ext.selftext에, 작성자 아바타, 이미지와 영상, 추천 비율, 플레어, Reddit이 붙인 콘텐츠 언어가 함께 옵니다. 앞쪽 행은 지금까지 받던 커뮤니티 순위 그대로이고 순서도 바뀌지 않습니다. 뒤에 붙는 행은 그 커뮤니티로 좁힌 Reddit 검색 색인에서 가져옵니다. 이미 받던 결과는 움직이지 않습니다. 페이지 크기는 호출마다 달라지니 개수를 가정하지 말고 items 길이를 읽어주세요. 한 페이지가 색인 두 곳에서 조립되기 때문에 일부 행에만 담기고 나머지는 null인 필드가 세 개 있습니다. post.flags.spoiler, post.engagement.shares, post.engagement.saves입니다. 여기서 null은 그 행을 돌려준 색인이 해당 값을 보고하지 않는다는 뜻이지 false나 0이라는 뜻이 아니니, 합산에 쓰지 마세요. query를 빼면 커뮤니티 순위만 7개 정도로 돌아옵니다. Reddit의 범위 검색은 매칭할 검색어가 있어야 하기 때문입니다. include_body=true도 그대로 쓸 수 있지만, 이제 본문이 행에 함께 오기 때문에 필요한 경우가 드뭅니다. 그리고 GET /v1/reddit/search와 GET /v1/reddit/subreddit에서, 상위 소스가 커뮤니티를 확인하지 못한 일부 행의 post.ext.subreddit이 빈 문자열 대신 null로 바뀝니다. 이 필드로 결과를 묶고 계셨다면 빈 문자열도 유효한 키였기 때문에 그 행들이 이름 없는 커뮤니티 아래 모이고 있었습니다. 이제는 그런 행이 묶이지 않고 빠집니다.

  79. 새 엔드포인트

    LinkedIn 회원이 올린 글 전체를, 페이지 단위로

    GET /v1/linkedin/profile/posts/archive가 회원이 올린 글을 끝까지 가져옵니다. limit=100으로 요청하고 next_cursor가 더 오지 않을 때까지 이어서 부르면 됩니다. 커서 없이 페이지가 오면 그 회원이 올린 글을 다 받은 겁니다. 측정으로는 한 프로필에서 열 번 호출에 851개를 받아 2022년 3월까지 닿았고, 글을 훨씬 자주 올리는 프로필에서는 1,800개를 넘겨 2017년까지 갔습니다. 어디까지 거슬러 가는지는 회원마다 다르고, 고정된 숫자로 두고 설계할 값이 아닙니다. 한 페이지에 5초 정도가 걸리고 깊이와 상관없이 같습니다. 마지막 페이지가 첫 페이지와 같은 시간이 걸립니다. 돌아오는 글은 전부 그 회원이 직접 쓴 글입니다. 남의 글을 공유한 항목은 과금하지 않고 빼고 드립니다. 발행 시각이 정확하게 오는 LinkedIn 엔드포인트는 여기뿐이고, 다시 불러도 같은 값이 옵니다. 다른 피드 엔드포인트는 응답하는 순간 상대 시간을 다시 계산해서 내려주기 때문에 값이 흔들립니다. 공유 수가 담기는 것도 여기뿐입니다. 요금은 실제로 받은 글 하나당 5크레딧이고 받은 만큼만 차감됩니다. 요청한 limit보다 글이 적은 회원은 그만큼 덜 내고, 찾지 못한 프로필은 차감이 없습니다. limit은 1에서 100까지 받습니다. 먼저 GET /v1/linkedin/profile/posts를 써 보세요. 5크레딧 정액으로 한 번에 최대 100개를 주고, 대부분의 회원은 그게 전체입니다.

  80. 개선

    TikTok Shop이 스토어 전체와 리뷰 전체를 돌려주고, 상품 형식이 하나로 통일됐습니다

    GET /v1/tiktokshop/search가 GET /v1/tiktokshop/products와 똑같은 상품 객체를 돌려줍니다. 필드 이름과 타입이 같습니다. 예전의 원본 형식에 맞춰 붙여 두셨다면 이건 호환이 깨지는 변경입니다. 데이터는 그대로이고 표준 product.* 이름으로 정리됐으며, 검색에서만 나오던 값(판매자 신뢰 등급, 발송지, 프로모션 배지, 카테고리 경로, 데모 영상)은 product.ext.tiktokshop으로 옮겼습니다. 한 페이지에서 멈추던 엔드포인트 두 개가 이제 공용 cursor로 이어집니다. 상품 20개만 주고 끝이라고 하던 스토어가 전체를 돌려줍니다. 측정으로는 세 페이지에 52개 전부였고, data.total에 판매 중 상품 수가 먼저 담겨 옵니다. 상품 리뷰는 수천 개짜리 상품에서도 10개만 주고 끝이라고 했는데, 이제 이어서 받을 수 있고 data.total에 전체 리뷰 수가 옵니다. 리뷰를 끝까지 넘기면 404가 나고 크레딧은 차감되지 않습니다. 오류가 아니라 종료 신호입니다. GET /v1/tiktokshop/product는 url 외에 product_id도 받습니다. 리뷰 엔드포인트와 같아졌습니다. 그리고 예전에는 카테고리 이름만 오던 자리에 상품 상세 설명이 담기고, 재고, 할인, 배송비, 도착 예정, SKU 옵션, 상품 사양, 판매자의 지역·평점·누적 판매량이 함께 옵니다. 스토어 상품 목록에는 판매자 이름과 스토어의 평점, 팔로워 수, 지역이 붙습니다. 리뷰의 language와 original_language는 구매자 국가 코드를 그대로 넣던 것을 멈추고 null이 됐습니다. 국가는 review.author.location에 그대로 있습니다. TikTok에 없는 크리에이터 핸들은 빈 목록 대신 404가 나고 크레딧은 차감되지 않으며, 잘못된 region은 과금 전에 거절됩니다.

  81. 새 엔드포인트

    Finance에 가격 이력, 재무제표, 옵션, 종목 뉴스가 추가됐습니다

    Finance 읽기가 4개 추가됐고, 경로가 /v1/google_finance/에서 /v1/finance/로 바뀌었습니다. 예전 경로는 그대로 동작하니 이미 작성한 코드는 고칠 필요가 없습니다. GET /v1/finance/history는 일별 OHLCV를 close와 adj_close로 함께 주고, 배당과 분할은 효력이 생기는 날짜 행에 붙습니다. 기간 전체가 1크레딧입니다. GET /v1/finance/statements는 보고 기간별 손익계산서, 재무상태표, 현금흐름표를 5크레딧에 줍니다. 필드 이름은 시세 안의 financials 블록과 같습니다. 한국 종목도 되고, 분기 제표는 원 단위입니다. GET /v1/finance/options는 만기 하나의 콜과 풋을 한 목록으로 줍니다. 5크레딧이고 행사가, 매수·매도, 미결제약정, 내재변동성이 담깁니다. GET /v1/finance/news는 Google News 검색과 같은 행 형식으로 최근 기사를 1크레딧에 줍니다. 시세, 종목 검색, 시장 개요는 의도적으로 그대로입니다. 제한이 두 가지 있습니다. 가격은 지연되고, 한국·런던·도쿄는 20분, 미국 옵션은 15분입니다. 제표는 공시일이 아니라 회계 기간 종료일 기준이라, 과거 특정 시점에 알려졌던 숫자를 재구성할 수는 없습니다. 상장 폐지 종목은 비어 있고, 재사용된 티커는 지금 그 심볼을 가진 회사로 나옵니다.

  82. 개선

    Reddit 검색 결과가 늘고 댓글이 훨씬 깊어졌습니다

    GET /v1/reddit/search가 한 페이지에 최대 25건을 돌려줍니다. 이전에는 7건 안팎이었습니다. 행에 담기는 정보도 늘었습니다. 게시물 본문, 작성자 프로필 이미지, 이미지와 영상, 추천 비율, 플레어, Reddit이 붙인 언어 태그가 함께 옵니다. 페이지 건수는 호출마다 다르니 25건으로 고정해 두지 말고 받은 items 길이를 확인하세요. include_body=true는 그대로 쓸 수 있지만 이제 거의 필요 없습니다. 가져올 본문이 없으면 추가 크레딧은 전액 환불됩니다. 한국어처럼 라틴 문자가 아닌 검색어에 빈 페이지가 오던 것도 이제 결과가 옵니다. 그동안 빈 페이지는 0크레딧으로 환불됐지만, 결과가 오는 만큼 페이지 1크레딧이 차감됩니다. GET /v1/reddit/post/comments는 댓글을 약 4배 더, 더 빠르게 돌려줍니다. 한 스레드에서 168건이던 것이 687건이 됐고, 더 큰 스레드에서는 949건과 1,553건이 나왔습니다. 예전 응답과 비교하실 거라면 이 점을 먼저 보세요. 늘어난 응답이 예전 응답을 그대로 포함하지는 않습니다. 큰 스레드에서는 두 응답 모두 일부만 담기고 멈추는 지점이 달라서, 예전 응답에 있던 댓글 중 스레드당 77~103건이 새 응답에는 없습니다. 이제 data.truncated가 그 상황을 정직하게 알려줍니다. next_cursor 없이 truncated: true가 오기도 하는데, 스레드가 완전하지 않지만 이 엔드포인트로는 더 가져올 수 없다는 뜻입니다. 댓글 본문은 Reddit 원문 마크다운으로 옵니다. 예전에는 서식이 지워진 형태였지만 이제 comment.text에 **굵게**나 [문구](url) 같은 마크다운이 들어 있을 수 있습니다. GET /v1/reddit/post는 더 안정적으로 응답합니다. 그리고 이 엔드포인트의 post.engagement.shares는 이제 크로스포스트 수가 아니라 공유 수입니다. 필드는 그대로이고 지표가 바뀌었습니다.

  83. 새 플랫폼

    미국 의회 주식 거래 공시가 추가됐습니다

    미국 의회 주식 거래 공시가 추가됐습니다. 엔드포인트는 19개이고 모두 1크레딧입니다. GET /v1/us_congress_trades/trades는 하원과 상원의 STOCK Act 공시를 티커, 의원 성, 정당, 원, 업종, 거래 유형, 날짜로 검색합니다. 각 행에는 의원, 발행사, 티커, 매수/매도/교환, 공시 금액, 날짜, 보고 지연 일수가 있습니다. GET /v1/us_congress_trades/politician?handle=Pelosi는 그 의원 요약이고, 같은 handle로 공시 목록을 받습니다. GET /v1/us_congress_trades/ticker?keyword=AAPL은 종목 집계입니다. 통계는 정당 합계, 업종, 주요 발행사, 이상 거래, 매수 대비 매도, 늦은 공시자를 다룹니다. AAPL처럼 짧은 티커도 됩니다. 빈 목록과 없는 의원은 환불됩니다.

  84. 새 플랫폼

    Kohl's 상품 검색, 리뷰, Q&A, 매장 찾기가 추가됐습니다

    Kohl's가 커머스 커버리지에 추가됐습니다. 엔드포인트는 5개입니다. GET /v1/kohls/search는 키워드 결과를 페이지당 12건씩 가격, 이미지, 색, 평점과 함께 반환하며 5크레딧입니다. 추천, 신상품, 가격, 평점, 할인율 순으로 정렬할 수 있습니다. 맞는 결과가 없어도 관련 없는 인기 상품 몇 개가 올 수 있으니 제목을 확인하세요. 상품 상세 엔드포인트는 없습니다. search에서 받은 상품 아이디를 GET /v1/kohls/reviews(페이지당 8건, 구매 확인 플래그, 정확한 총수) 또는 GET /v1/kohls/questions(구매자 질문과 답변)에 넣습니다. GET /v1/kohls/stores는 lat,lng 좌표 근처 매장을 찾습니다. 반경은 1~100마일입니다. GET /v1/kohls/categories는 1크레딧 참조 목록입니다. 상품과 리뷰 응답 형식은 Amazon, Target, H&M과 같습니다.

  85. 새 플랫폼

    Gumtree 영국 매물, 판매자, 유사 매물, 지역 조회가 추가됐습니다

    Gumtree가 중고·분류 광고 커버리지에 추가됐습니다. 엔드포인트는 11개입니다. GET /v1/gumtree/search는 영국 매물을 페이지당 22건 안팎으로 넘기며, 가격(GBP), 지역, 카테고리, 판매자 유형(개인/업자)이 담기고 5크레딧입니다. 2페이지는 1페이지와 겹치지 않습니다. GET /v1/gumtree/product는 광고 아이디나 gumtree.com URL로 매물 하나를 조회합니다. GET /v1/gumtree/product/similar는 유사 매물을 한 페이지로 줍니다. GET /v1/gumtree/seller와 GET /v1/gumtree/seller/listings는 매물 상세의 seller_id와 public_id를 둘 다 받습니다. 하나만으로는 안 됩니다. 지역 자동완성과 가까운 지역 조회도 있습니다. 매물 호출은 5크레딧, 인기 검색어·카테고리·필터는 1크레딧입니다. 판매자 리뷰는 이 표면에 없습니다.

  86. 새 플랫폼

    AliExpress 상품, 검색, 유사 상품, 리뷰, 배송이 추가됐습니다

    AliExpress가 커머스 커버리지에 추가됐습니다. 엔드포인트는 9개입니다. GET /v1/aliexpress/product는 숫자 아이디나 aliexpress.com/item URL로 상품 하나를 조회합니다. 제목, 판매가, 원래 가격, 상점 이름, 이미지, 판매 수, 카테고리가 담기고 5크레딧입니다. 상품 설명은 이 표면에 없습니다. 없는 상품이거나 요청한 국가로 팔지 않는 상품은 404이고 과금되지 않습니다. GET /v1/aliexpress/search는 키워드 결과를 기본 페이지당 10건(최대 50건)으로 넘기며 정렬과 가격 필터를 받습니다. GET /v1/aliexpress/reviews는 작성된 리뷰를 넘깁니다. 유사 상품, SKU 배송 정보, 인기 상품, 프로모션도 있습니다. 카탈로그 호출은 5크레딧, 카테고리와 프로모션 이름 목록은 1크레딧입니다.

  87. 새 플랫폼

    Klarna 쇼핑 상품, 판매자 가격, 리뷰, 가격 이력이 추가됐습니다

    Klarna가 커머스 커버리지에 추가됐습니다. 쇼핑 지역 13곳, 엔드포인트 18개입니다. GET /v1/klarna/product는 아이디나 쇼핑 URL로 상품 하나를 조회합니다. 제목, 설명, 브랜드, 평점, 사양이 담기고 5크레딧입니다. 이 응답에는 판매가가 없습니다. 판매자 가격은 GET /v1/klarna/product/offers에 있습니다. GET /v1/klarna/search는 키워드에 맞는 상품 20건을 한 페이지로 주며 커서가 없고 5크레딧입니다. 맞는 결과가 없으면 빈 페이지가 오고 과금되지 않습니다. 리뷰, 전문가 리뷰, 리뷰 요약, 가격 이력, 상품 비교도 있습니다. 카테고리 탐색, 카테고리 분류, 매장, 매장 카탈로그가 나머지를 채웁니다. 카탈로그 호출은 5크레딧, 참조 목록(자동완성, 카테고리, 매장, 필터)은 1크레딧입니다.

  88. 개선

    Instagram 릴스 검색 페이지네이션이 깔끔하게 끝납니다

    GET /v1/instagram/search/reels 페이지네이션이 다른 엔드포인트와 같은 방식으로 끝납니다. 지금까지는 결과 끝에 닿으면 404가 돌아와서, pagination.has_more를 따라 도는 반복문이 정상 종료가 아니라 오류로 끝났습니다. 이제 마지막 페이지는 200과 빈 items 배열, has_more: false를 돌려주고 크레딧도 차감되지 않습니다. 검색 결과가 아예 없을 때도 같습니다. 404 대신 빈 목록이 오니 상태 코드로 분기하지 말고 items.length를 확인하세요. 페이지를 넘길 때 알아두면 좋은 점이 두 가지 있습니다. 날짜 필터를 건 검색은 대상 풀이 훨씬 작아서 페이지당 10개 안팎으로 몇 페이지면 끝납니다. date_posted를 빼면 페이지당 30개에 훨씬 더 깊이 들어갑니다. 그리고 같은 순회에서 이미 받은 릴스만 담긴 페이지는 0크레딧으로 비어서 올 수 있는데 이건 끝이 아니니 has_more가 true인 동안 계속 넘기면 됩니다.

  89. 새 엔드포인트

    Tripadvisor 호텔·음식점·관광지·크루즈가 추가됐습니다

    Tripadvisor 엔드포인트가 2개에서 16개가 됐습니다. 모두 1크레딧입니다. GET /v1/tripadvisor/place는 Tripadvisor URL 하나로 장소를 찾아줍니다. url_path가 생각한 그 업체를 가리키는지 확인할 때 가장 빠릅니다. 호텔, 음식점, 관광지는 검색과 상세를 각각 지원하며 필터도 따로 있습니다. 호텔은 가격대·등급·숙소 유형, 음식점은 요리·식사 시간·가격대·식이 조건, 관광지는 분류·소요 시간·최소 평점입니다. 음식점, 관광지, 크루즈 선박은 리뷰 엔드포인트를 각각 갖습니다. GET /v1/tripadvisor/autocomplete는 입력한 이름을 실제 장소로 바꿔주고, GET /v1/tripadvisor/experience-types는 지역의 액티비티 분류를 유형별 개수와 함께 반환합니다. 두 가지만 알아두세요. 호텔 검색 결과에는 별점과 리뷰 수가 없어서 그 값이 필요하면 GET /v1/tripadvisor/hotel로 이어서 받아야 합니다. 관광지와 크루즈 리뷰에는 업체 답글과 리뷰별 링크가 없습니다.

  90. 개선

    Tripadvisor 리뷰가 약 4배 빨라졌습니다

    GET /v1/tripadvisor/reviews 응답이 약 1.1초로 줄었습니다. 같은 업체에 같은 요청을 보냈을 때 이전에는 약 5.2초였습니다. 가격, 파라미터, 응답 형식은 그대로이고 필터를 건 요청은 동작이 전혀 바뀌지 않습니다. 배포 전에 확인하실 필드가 두 개 있습니다. review.helpful_votes는 이제 값이 담깁니다. 이전에는 항상 비어 있었습니다. review.author.location은 필터 없는 요청에서 비어서 옵니다. 빨라진 경로가 이 값을 제공하지 않기 때문입니다. 이 필드를 쓰고 계신다면 sort_by, rating, visit_type, search_reviews_keyword, translate 중 하나를 함께 보내시면 예전처럼 값이 담겨서 옵니다.

  91. 새 엔드포인트

    Yelp 검색·전체 검색·자동완성이 추가됐습니다

    Yelp 엔드포인트가 5개가 됐습니다. GET /v1/yelp/search와 GET /v1/yelp/search/full은 필수 query와 location에 선택 sort(recommended, rating, review_count), ads, cursor를 받으며 1크레딧입니다. GET /v1/yelp/search/suggestions는 query와 location으로 자동완성 행(카테고리, 일반, 체인, 비즈니스)을 반환합니다. 비즈니스 제안 URL은 별칭이라 GET /v1/yelp/business/info에서 조회되지 않습니다. 검색이 총건수는 있는데 행이 없으면 호출은 실패하고 환불됩니다.

  92. 새 플랫폼

    Yelp 비즈니스 정보와 리뷰가 추가됐습니다

    Yelp가 리뷰 커버리지에 추가됐습니다. 엔드포인트는 2개입니다. GET /v1/yelp/business/info는 22자 encid로 비즈니스 하나를 조회합니다. 이름, 반올림하지 않은 별점, 정확한 리뷰 수, 가격대, 주소, 좌표, 카테고리, 사진, 시간대가 담기며 1크레딧입니다. prince-street-pizza-new-york-2 같은 별칭 슬러그는 404이고 과금되지 않습니다. GET /v1/yelp/business/reviews는 고객 리뷰를 페이지당 10건씩 커서, 사장님 답글, 사진, HELPFUL 표와 함께 넘기며 5크레딧입니다. 2페이지는 1페이지와 겹치지 않습니다. 검색은 이 표면에 없습니다. 장소와 리뷰 응답 형식은 Tripadvisor와 같습니다.

  93. 새 플랫폼

    H&M 상품 검색, 매장 목록, 공급 공장 정보가 추가됐습니다

    H&M이 커머스 커버리지에 추가됐습니다. 엔드포인트는 6개입니다. GET /v1/hm/search는 키워드 결과를 페이지당 36건씩 가격, 이미지, 색, 사이즈, 재고와 함께 반환하며 5크레딧입니다. 관련도, 신상품, 가격순으로 정렬할 수 있습니다. language로 카탈로그를 바꿉니다(en_us가 기본이고 en_gb, de_de, fr_fr을 받습니다). 맞는 결과가 없으면 빈 페이지가 오고 과금되지 않습니다. GET /v1/hm/search/suggestions는 자동완성 검색어를 줍니다. GET /v1/hm/stores는 국가의 매장을 전부 줍니다. query에 us, gb, de를 넣으면 주소, 좌표, 영업시간이 담깁니다. GET /v1/hm/countries와 GET /v1/hm/categories는 1크레딧 참조 목록입니다. GET /v1/hm/product/suppliers는 search에서 받은 상품 아이디의 생산 국가, 공장 이름, 근로자 수 구간을 줍니다. 상품 응답 형식은 Amazon, Target, Etsy와 같습니다. 상품 상세 엔드포인트는 이 표면에 없습니다.

  94. 새 플랫폼

    Sephora 상품, 리뷰, 검색, 매장 재고가 추가됐습니다

    Sephora가 커머스 커버리지에 추가됐습니다. 엔드포인트는 11개입니다. GET /v1/sephora/product는 P번호나 sephora.com/product URL로 미국 상품 하나를 조회합니다. 제목, 브랜드, 설명, 가격, 평점, 이미지, 성분, 재고가 담깁니다. GET /v1/sephora/reviews는 작성된 리뷰를 페이지당 10건씩 정확한 전체 개수와 함께 넘깁니다. GET /v1/sephora/search는 키워드 결과를 페이지당 60건씩 넘기며, 2페이지는 1페이지와 겹치지 않습니다. 맞는 결과가 없으면 빈 페이지가 오고 과금되지 않습니다. 카테고리 탐색, 브랜드 카탈로그, 최상위 카테고리, 브랜드 목록, 매장 찾기, SKU별 매장 재고도 있습니다. 상품 응답 형식은 Amazon, Target, Etsy와 같습니다. 카탈로그 호출은 5크레딧, 참조 목록(카테고리, 브랜드, 자동완성, 매장)은 1크레딧입니다. 유럽 엔드포인트는 없습니다. 시험한 호출마다 실패했습니다.

  95. 개선

    쓰지 않는 쿼리 파라미터는 다시 무시돼요. 예전에 쓰시던 요청이 그대로 동작해요

    2026년 8월 31일부터 엔드포인트에 없는 쿼리 파라미터가 들어오면 크레딧 없이 400으로 거절했어요. 철자를 틀린 경우(?limitt=10이면 limit을 알려 드려요)는 그대로 도움이 돼요. 다만 한 엔드포인트의 파라미터를 다른 호출에 그대로 붙이던 요청까지 깨졌어요. GET /v1/instagram/post/stats의 region, GET /v1/facebook/post의 trim, GET /v1/tiktok/profile의 cache, Instagram 목록 호출의 limit이 그 예예요. 이런 여분 파라미터는 2026년 8월 31일 이전처럼 다시 무시해요. 업스트림으로 전달되지 않고, 요금도 나가지 않으며, 캐시 키에도 들어가지 않아요. 그 엔드포인트가 실제로 쓰는 파라미터의 이름을 잘못 쓴 경우에는 예전처럼 크레딧 없이 400을 주고, 어떤 이름을 쓰려 했는지 제안해요. handle 자리에 username을 보내도 되고, Instagram은 url 자리에 shortcode를 받아 /p/ 주소로 바꿔 주고, 릴스 검색의 date_posted=last-day는 지금 소스가 받는 가장 가까운 값인 last-week로 넣어 드리고, 경로에 캡션 슬러그가 붙은 Facebook 게시물 URL도 다시 통과해요.

  96. 개선

    Instagram 팔로워 목록이 끝까지 이어지고, 게시물 id도 정확한 값으로 돌아와요

    Instagram 관련 수정 여러 건을 함께 반영했어요. 팔로워와 팔로잉 목록이 이제 중간에 끊기지 않아요. 목록을 넘기는 도중에 잠깐 제한이 걸리면 빈 페이지가 has_more: false와 함께 돌아와서, 큰 계정은 수천 명이 빠진 채로 목록이 끝난 것처럼 보였어요. 이제 그 페이지는 같은 커서로 다시 요청하고, 그래도 안 되면 목록이 끝났다고 하는 대신 크레딧을 돌려드리는 오류로 알려드려요. 없는 계정을 GET /v1/instagram/followers나 GET /v1/instagram/following에 넣으면 예전에는 빈 목록이 담긴 200이 왔는데, 이제는 크레딧이 나가지 않는 404 RESOURCE_NOT_FOUND가 오고 details.reason에 handle_unresolved가 담겨요. 계정 기준으로 목록을 주는 다른 플랫폼 엔드포인트도 계정이 없다고 확인되면 같은 details 블록을 돌려드려요. profile/reels, tagged, stories의 post.id가 이제 정확한 19자리 미디어 id예요. 그동안은 모든 행에서 끝 두세 자리가 반올림돼 있었고, tagged는 2페이지가 1페이지를 그대로 반복했어요. 이 세 엔드포인트에서 저장해 두신 id가 있다면 다시 받아서 맞춰 주세요. profile/posts, search/hashtag, location/posts는 원래 정확했고 바뀌지 않아요. profile/posts와 profile/reels에 trim=true를 붙이면 빈 페이지가 오면서 요금은 그대로 나가던 문제도 고쳤어요. 이제 전체 목록이 그대로 오고, post.ext.coauthors가 빠지고 post.flags.pinned가 null이 되는 것 말고는 달라지는 게 없어요. GET /v1/instagram/search/hashtag는 type=recent일 때만 페이징돼요. 기본값인 top과 clips는 순위대로 정리된 한 페이지로 끝나서 has_more: false로 돌아오고, 커서를 보내실 때는 같은 type을 함께 보내 주세요. GET /v1/instagram/search/reels의 date_posted는 last-week, last-month, last-year 세 값을 받아요. last-day와 last-hour는 2026년 8월 26일 무렵부터 더 이상 제공되지 않아서, 이제는 호출하기 전에 크레딧 없이 거절하고 쓸 수 있는 세 값을 오류 메시지로 알려드려요. 예전에는 호출이 한 번 나간 뒤에야 일반적인 오류로 돌아왔어요. GET /v1/instagram/profile/reels/full은 공유 수를 모으는 데 드는 호출이 페이지당 훨씬 줄었고, X-Upstream-Retries 헤더가 이제 추가로 나간 호출을 전부 세요. 예전에는 열 번 넘게 호출하고도 0으로 표시됐어요. 응답이 비어 있는데 이유를 알 수 없는 경우도 이제 빈 목록으로 돌려드리지 않아요. 일시 오류로 보고 다시 시도한 뒤, 그래도 안 되면 크레딧을 돌려드리는 502로 알려드려요. 추천 아이디 검색처럼 결과가 진짜 없는 경우는 여전히 200이에요. 없는 게시물이나 프로필이 502로 보이던 경우도 크레딧이 나가지 않는 404로 바로잡았고, Prism 조합 엔드포인트도 없는 계정을 만나면 더 찾아보지 않고 바로 멈춰요. 없는 계정을 profile로 조회할 때 404도 더 빨리 돌아와요.

  97. 개선

    Facebook 댓글 답글이 실제로 돌아오고, 자주 쓰는 호출은 주 소스가 죽어도 이어져요

    GET /v1/facebook/post/comment/replies는 답글이 있는 댓글에도 빈 목록을 돌려줬어요. 이제 답글이 실제로 와요. GET /v1/facebook/post/comments도 같은 경로예요. 요금과 응답 형식, 파라미터는 그대로예요. 페이지당 1크레딧이고, 커서도 같고, 없는 게시물은 예전처럼 404예요. 그리고 호출이 많은 Facebook 엔드포인트 네 개, GET /v1/facebook/post, GET /v1/facebook/profile, GET /v1/facebook/profile/posts, GET /v1/facebook/profile/reels는 주 소스가 응답하지 못하면 백업 소스로 넘어가요. 한꺼번에 멈추지 않고 계속 답이 와요. 이번 변경으로 새 Facebook 엔드포인트는 추가되지 않았어요.

  98. 새 플랫폼

    Quora 질문·답변·프로필·스페이스·토픽 검색이 추가됐어요

    Quora가 새 플랫폼으로 추가됐어요. 엔드포인트 7개이고 모두 5크레딧이에요. GET /v1/quora/search는 키워드로 질문을 찾아 제목, URL, 답변 수, 팔로워 수, 게시 시각을 돌려줘요. GET /v1/quora/answers는 작성자 소개, 추천 수, 원 질문과 함께 답변 본문을 줘요. GET /v1/quora/posts, GET /v1/quora/profiles, GET /v1/quora/spaces, GET /v1/quora/topics는 같은 방식으로 스페이스 게시물, 프로필, 스페이스, 토픽을 검색해요. GET /v1/quora/post는 질문 URL 하나로 해당 질문을 조회해요. 검색은 한 페이지에 최대 10건이고, time으로 기간을 줄일 수 있어요. all, hour, day, week, month, year예요. 커서는 없어요. 다른 결과를 보려면 검색어나 기간을 바꿔 주세요.

  99. 새 플랫폼

    G2 소프트웨어 제품, 리뷰, 카테고리, 판매자가 추가됐어요

    G2가 새 플랫폼으로 추가됐어요. 엔드포인트 7개예요. GET /v1/g2/product는 슬러그 또는 G2 URL로 소프트웨어 제품 하나를 돌려줘요. 별점, 리뷰 수, 카테고리, 판매자, 요금제, 기능, 대체재가 담기고 5크레딧이에요. GET /v1/g2/reviews는 작성된 리뷰를 한 페이지에 10건씩 줘요. 별점, 기업 규모, 산업, 역할, 지역으로 걸러 볼 수 있고 역시 5크레딧이에요. GET /v1/g2/category는 카테고리 안 제품을 한 페이지에 15개씩 나열하고, GET /v1/g2/categories는 카테고리 분류 전체를 한 번에 주며 1크레딧이에요. GET /v1/g2/seller와 GET /v1/g2/seller/products는 판매자 프로필과 제품 목록이에요. GET /v1/g2/product-index는 제품 URL 목록을 한 페이지에 100개씩 나눠 줘서, 그 슬러그를 product나 reviews에 넣으면 돼요. 제품과 리뷰 응답 형식은 다른 커머스 플랫폼과 같아요.

  100. 새 플랫폼

    LinkedIn, Indeed, Bing, Xing 채용 검색과 연봉 조회가 추가됐어요

    Jobs는 새 플랫폼이고 엔드포인트 11개예요. 이미 쓰고 계신 LinkedIn 채용 엔드포인트를 바꾸는 게 아니에요. GET /v1/linkedin/search/jobs와 GET /v1/linkedin/job은 그대로예요. 이 면은 채용 게시판 네 곳과 연봉 조회를 더해요. GET /v1/jobs/linkedin/search, GET /v1/jobs/indeed/search, GET /v1/jobs/bing/search, GET /v1/jobs/xing/search는 키워드와 지역으로 공고를 검색하고, 기간·고용 형태와 게시판별 필터를 받아요. 페이지당 10크레딧이에요. 각각 짝이 되는 상세 엔드포인트가 있고 5크레딧이에요. GET /v1/jobs/linkedin/organizations는 회사 이름을 아이디로 바꿔 LinkedIn 검색의 organization_ids에 넣을 수 있게 해 줘요. GET /v1/jobs/salary/titles는 직함 후보를 주고, GET /v1/jobs/salary는 직함과 국가의 최저·최고·평균·중앙 연봉을 줘요. 조직과 연봉 조회는 1크레딧이에요. 검색은 커서로 페이지를 넘기고, Indeed는 1페이지에 country_code가 필요해요.

  101. 새 플랫폼

    Etsy 리스팅, 샵 카탈로그, 유사 상품, 검색 제안이 추가됐어요

    Etsy가 커머스 커버리지에 추가됐어요. 엔드포인트 4개이고 모두 5크레딧이에요. GET /v1/etsy/product는 숫자 아이디나 etsy.com/listing URL로 리스팅 하나를 줘요. 제목, 설명, 가격, 이미지, 샵 이름, 재고가 담겨요. GET /v1/etsy/shop/products는 샵 카탈로그를 한 페이지에 36개씩 커서로 넘겨요. 원본이 알려 주는 전체 개수가 페이지 크기와 같아서 응답에는 넣지 않았고, 짧은 페이지가 올 때까지 넘기면 돼요. GET /v1/etsy/product/similar는 Etsy가 비슷하다고 보는 리스팅을 보통 12개 안팎, 한 페이지로 줘요. GET /v1/etsy/search/suggestions는 일부만 입력한 검색어의 자동완성 목록이에요. 상품 응답 형식은 Amazon, eBay와 다른 쇼핑몰과 같아요. 키워드로 리스팅을 검색하는 엔드포인트와 리뷰는 없어요. 검색은 시험한 쿼리마다 실패했고, 리뷰는 리뷰가 수천 개인 리스팅에서도 빈 목록이 왔거든요.

2026년 8월

  1. 개선

    Threads 검색이 긴 문장으로 검색해도 결과를 돌려드려요

    Threads는 입력하신 단어를 하나씩 따져보는 대신, 이미 알고 있는 토픽 태그와 검색어를 통째로 맞춰봐요. 그래서 못 알아듣는 긴 문장을 넣으면 결과가 조금 줄어드는 게 아니라 아예 0개로 돌아왔어요. 키워드 개수 제한은 원래 없었어요. machine learning engineer는 한 페이지가 꽉 차서 오는데 the best coffee는 하나도 안 왔거든요. 실제 검색어들로 재보니 세 단어는 여섯 번 중 네 번, 다섯 단어는 여섯 번 중 다섯 번, 여덟 단어는 재본 전부가 빈 결과였어요. 이제 GET /v1/threads/search가 이 부분을 알아서 처리해요. 입력하신 문장 그대로 검색해서 결과가 없으면, 붙어 있는 두 단어씩 묶어 여러 검색으로 나눈 뒤 동시에 돌리고, 중복을 걸러 하나의 목록으로 합쳐 드려요. 순서는 입력하신 단어를 많이 포함한 게시물이 앞에 오도록 정렬돼요. 2026년 8월 31일 기준으로 best coffee machine for a small office는 0개에서 75개로, cari vendor mesin kopi jakarta는 0개에서 56개로 늘었어요. 요금은 나눠서 돌린 검색 중에 결과가 있었던 것만 1크레딧씩 계산하고, 빈 검색에는 크레딧이 나가지 않아요. 그래서 이 엔드포인트의 크레딧 범위가 1~7에서 1~11로 바뀌었어요. 원래 잘 되던 검색어는 나누지 않으니 예전처럼 정확히 1크레딧이에요. 두 가지만 알아두시면 좋아요. 나눠서 검색한 응답은 한 페이지로 끝나고 커서가 없어요. 커서를 쓰면 결과가 없던 그 문장을 다시 검색하게 되기 때문이에요. 그리고 data._warnings에 어떤 검색어로 나눠 돌렸는지 항상 적어드리니 무엇을 검색했는지 확인하실 수 있어요. 문장 그대로만 검색하고 싶으시면 expand=false를 보내주세요.

  2. 개선

    잘못 쓴 파라미터는 바로 알려드리고, 안 돌던 예약 실행이 이제 돌아가요

    파라미터 이름을 잘못 쓰면 예전에는 그냥 무시됐어요. ?limitt=10처럼 보내면 limit이 빠진 채로 검색이 돌아가고, 원하지 않던 결과에 요금만 나갔죠. 이제는 모르는 파라미터가 들어오면 크레딧이 나가지 않는 400으로 어떤 파라미터가 문제인지, 아마 이걸 쓰시려던 게 아닌지까지 알려드려요. 코드로 처리하실 수 있게 error.unknown_parameters와 error.suggestions에도 같은 내용이 담겨요. ?limitt=10을 보내시면 limit을, ?curser=를 보내시면 cursor를 제안해 드려요. 값이 비어 있는 파라미터는 예전처럼 안 보낸 것으로 처리하니, 빈 쿼리스트링을 붙여 보내시던 코드는 그대로 두셔도 돼요. 그리고 예약해 둔 Monitor 실행과 코호트 쿼리가 등록만 되고 실제로는 안 돌던 문제를 고쳤어요. 작업 큐가 콜론이 들어간 중복 방지 아이디를 거부하는데 저희 키가 콜론으로 구분돼 있어서, 등록이 실패하고 대기 상태에 머문 채로 크레딧만 잡혀 있었어요. 이제 큐에 넘기기 전에 아이디를 해시로 바꿔서 항상 유효한 값이 되도록 했고, 예약한 실행이 정상적으로 돌아가요. 오류 응답의 요금 표시도 더 정확해졌어요. 5xx가 나면 credits_used에 실제로 확정된 금액이 담기고, 즉시 환불이 안 되는 경우에는 환불했다고 표시하는 대신 정확한 보정을 예약해 둬요.

  3. 새 엔드포인트

    TikTok 엔드포인트 8개가 새로 추가됐고 목록도 훨씬 길어졌어요

    TikTok에 엔드포인트 8개가 새로 생겼어요. 모두 1크레딧이에요. GET /v1/tiktok/profile/playlists는 계정이 만들어 둔 재생목록을, GET /v1/tiktok/playlist/videos는 그 재생목록 안의 영상을 순서대로 돌려드려요. GET /v1/tiktok/user/liked는 계정이 좋아요를 누른 영상을 최신순으로 한 페이지에 30개씩 줘요. 이 목록은 숨겨 둔 계정이 많은데, 숨겨져 있으면 크레딧이 나가지 않는 404로 돌아와요. GET /v1/tiktok/location/posts는 특정 장소에 태그된 공개 영상을 모아요. GET /v1/tiktok/effects는 아이디로 카메라 효과를 찾고, GET /v1/tiktok/effect/videos는 그 효과로 만든 영상을 돌려드려요. GET /v1/tiktok/search/music은 키워드로 사운드를 찾는데, 각 결과의 ext.dsp_ids에 같은 곡의 Apple Music, Spotify, Amazon 트랙 아이디가 함께 담겨요. GET /v1/tiktok/hashtag는 해시태그에 대한 TikTok 자체 기록을 누적 조회수까지 돌려드려요. 태그 이름만 주시면 아이디는 저희가 찾아드려요. 이미 쓰고 계신 목록도 길어졌어요. 팔로워와 팔로잉은 한 페이지에 최대 150명까지 담겨요. 특히 GET /v1/tiktok/user/following은 이번에 처음으로 제대로 페이징돼요. 지금까지는 20명 안팎만 주고 커서가 없어서 더 볼 방법이 없었는데, 이제 한 번에 최대 149명을 돌려주고 응답 루트의 pagination 블록으로 끝까지 따라갈 수 있어요. GET /v1/tiktok/video/comment/replies는 답글을 6개씩 주던 것이 한 페이지에 최대 50개로 늘었어요. 필터 없는 GET /v1/tiktok/search는 10개가 아니라 30개를 주고, 기간과 정렬, 지역 필터도 이제 실제로 적용돼요. 필터를 걸면 조건에 맞는 결과가 최대 30개까지 담겨요. GET /v1/tiktok/search/top도 한 페이지 최대 30개로 맞춰졌어요. 검색 결과에는 작성자의 팔로워 수가 post.ext.author_followers로 붙고, 게시물에는 정확한 저장 수와 새로 생긴 post.ext.download_count로 다운로드 수가 담겨요. 연동하시기 전에 알아두시면 좋은 변화가 두 가지 있어요. 계정 주인이 팔로워나 팔로잉 목록을 숨겨 둔 경우, 예전에는 빈 목록이 담긴 200이 왔지만 이제는 확실한 404가 와요. 한 번 더 호출하지 않아도 숨긴 목록인지 비어 있는 목록인지 구분할 수 있고, 이 404에는 크레딧이 나가지 않아요. 그리고 연령 제한처럼 시청자 제한이 걸린 계정도 GET /v1/tiktok/profile에서 프로필 전체가 돌아와요. 예전에는 404라서 무료였지만, 이제 데이터를 돌려드리기 때문에 다른 요청과 같이 1크레딧이 나가요.

  4. 새 엔드포인트

    Amazon 베스트셀러·딜·판매자 프로필과 온페이지 SEO 감사가 열렸어요

    GET /v1/amazon/best-sellers는 카테고리 베스트셀러 차트입니다. type으로 New Releases나 Movers and Shakers로 바꿀 수 있습니다. GET /v1/amazon/deals는 현재 Amazon 딜과 딜 가격, ASIN을 줍니다. GET /v1/amazon/seller는 판매자 id로 프로필을 조회합니다. GET /v1/google_shopping/price-history는 product-search의 product_id로 스토어별 날짜-가격 이력을 줍니다. 새 플랫폼 GET /v1/on_page/page는 URL 하나의 기술 SEO 감사(제목, 메타, 점검, 점수, 타이밍)를 1크레딧에 돌립니다. Costco 검색은 아직 플랫폼이 아닙니다. 상품 상세가 벤더가 준 item_number에서도 404입니다.

  5. 새 엔드포인트

    X 엔드포인트 7개가 새로 열렸어요

    GET /v1/twitter/user/tweets가 이제 계정의 타임라인을 최신 상태 그대로, 시간 역순으로 돌려드려요. 프로필의 게시물 탭과 같은 구성이고, 고정 트윗은 post.flags.pinned로 표시돼요. 페이징도 진짜 커서로 바뀌었어요. pagination.next_cursor를 cursor로 다시 보내면 원하시는 만큼 깊이 내려갈 수 있고, 페이지마다 1크레딧이에요. 전에는 첫 페이지에서 끝났거든요. 여기에 엔드포인트 7개가 새로 열렸어요. 모두 페이지당 1크레딧이에요. GET /v1/twitter/search/tweets는 키워드나 문구로 트윗을 검색해요. 한 페이지에 스무 개 안팎이고, 기본은 최신순(sort=latest), sort=top을 주면 인기순이에요. GET /v1/twitter/tweet/replies는 트윗에 달린 답글을, GET /v1/twitter/tweet/retweeters는 그 트윗을 리트윗한 계정 목록을 돌려드려요. GET /v1/twitter/user/followers와 GET /v1/twitter/user/following은 팔로워와 팔로잉 목록을 커서로 이어 받아요. 팔로워는 한 페이지에 일흔 명 안팎이에요. GET /v1/twitter/user/media는 미디어 탭에 올라온, 사진이나 영상이 담긴 트윗만 골라 와요. GET /v1/twitter/search/users는 이름이나 핸들로 계정을 찾는데, 열 개 안팎 한 묶음만 주고 커서가 없어요. 다른 계정을 보시려면 검색어를 좁혀 주세요. 미리 알아두실 점이 두 가지 있어요. 팔로워·팔로잉·리트윗 목록에는 인증 여부가 담기지 않고, 미디어 탭 트윗에는 조회수와 북마크 수가 비어 있어요.

  6. 개선

    Reddit 검색에서 게시물 본문을 한 번에 받을 수 있어요

    GET /v1/reddit/search와 GET /v1/reddit/subreddit/search는 출처에 본문이 있으면 ext.selftext로 돌려줘요. content.text는 /v1/reddit/post와 같이 제목과 본문을 이어 붙인 값이에요. 빠진 본문까지 같은 호출에서 받으려면 include_body=true를 붙이면 돼요. 본문을 가져온 게시물마다 1크레딧이 더 들고 페이지당 최대 25개이며, 쓰지 않은 크레딧은 환불돼요. 링크 게시물은 본문이 없어서 ext.selftext가 null이에요.

  7. 새 엔드포인트

    TikTok, Threads, Instagram 크리에이터를 한 번에 찾는 엔드포인트가 생겼어요

    GET /v1/search/creators는 주제 검색어를 TikTok 사용자 검색, Threads 사용자 검색, Instagram 프로필 검색에 동시에 보내고, 맞는 크리에이터를 하나의 순위 목록으로 합쳐요. 순위는 검색어 관련도, 팔로워 규모, 인증 여부의 공개된 공식이에요. LLM 재순위는 없어요. 호출당 10크레딧이에요.

  8. 새 엔드포인트

    TikTok 광고 라이브러리와 Apple Music 엔드포인트가 생겼어요

    GET /v1/tiktok/adlibrary/search와 GET /v1/tiktok/adlibrary/ad로 TikTok 광고 라이브러리를 읽어요. 다른 광고 라이브러리와 같은 티어예요. TikTok 검색 제안과 컬렉션 영상, Instagram 혼합 검색과 인기 게시물, 댓글 답글, Facebook 그룹 조회, Snapchat Spotlight 댓글, Apple Music 검색·아티스트·앨범·트랙도 함께 붙었어요. 혼합 검색과 검색 제안을 빼고는 모두 통합 Post, Comment, Author 스키마로 돌아와요.

  9. 개선

    인스타그램 릴스 검색이 끊기지 않도록 대체 소스를 붙였어요

    GET /v1/instagram/search/reels가 8월 17일 저녁부터 멈춰 있었어요. 뒤에서 데이터를 대주던 소스가 모든 검색어에 응답하지 못했는데, 이 엔드포인트가 소스 하나로만 돌아가던 터라 18일 아침까지 호출마다 404가 돌아왔어요. 물론 요금은 청구되지 않았어요. 이제는 독립된 소스 두 곳 위에서 돌아가고, 한쪽이 멈추면 자동으로 다른 쪽이 이어받아요. 같은 소스를 쓰던 GET /v1/search/everywhere의 인스타그램 검색도 같은 방식으로 이어져요. 어느 소스가 응답하든 조회수와 좋아요 수, 댓글 수, 링크, 작성자 정보는 그대로 담겨요. 두 가지만 알아두세요. post.ext.author_followers는 기본 소스만 담아주는 값이라 있을 때만 활용하시는 게 좋아요. date_posted 필터도 기본 소스에서만 동작해서, 기본 소스가 멈춘 동안에는 필터를 무시한 결과를 슬쩍 돌려드리는 대신 정직하게 실패로 알려드려요.

  10. 새 엔드포인트

    Threads 글에 달린 댓글을 받아보는 엔드포인트가 생겼어요

    GET /v1/threads/post/comments에 글 URL을 넘기면 Threads가 그 글에 붙여 보내는 댓글을 돌려드려요. 보통 스무 개 안팎이에요. 댓글마다 본문과 좋아요 수, 바로 달린 답글 수, 작성자 핸들과 표시 이름, 프로필 사진, 인증 여부, 고정 여부, 작성 시각이 담기고, 원본에는 없는 댓글 링크도 저희가 shortcode로 만들어 넣어드려요. 미리 알아두실 점이 하나 있어요. Threads는 댓글을 한 묶음만 내주고 커서가 없어서, 긴 대화를 더 깊이 넘겨볼 방법은 없어요. 비용은 글 조회와 같은 1크레딧이에요.

  11. 개선

    인스타그램 캐러셀과 페이스북 이미지가 빠짐없이 담겨요

    결이 같은 두 가지를 고쳤어요. GET /v1/instagram/post로 캐러셀 글을 조회하면 첫 장 표지만 돌아왔어요. 일곱 장짜리 글이 사진 한 장으로 온 셈이었죠. 이제 장마다 표지가 순서대로 content.media_urls 배열에 담겨요. 인스타그램 목록 엔드포인트들이 이미 하던 그대로예요. 페이스북 쪽도 사진 여러 장짜리 글과 캐러셀 광고, 마켓플레이스 매물이 이미지가 몇 장이든 URL 하나만 내보냈고, 이미지형 광고는 아예 비어 있었어요. 이제 facebook/post와 프로필·그룹 글, 광고 라이브러리 두 엔드포인트, marketplace/item 모두 전체 이미지를 순서대로 돌려드려요. 사진이 한 장뿐인 글은 모양이 그대로라 따로 손보실 건 없어요.

  12. 개선

    유튜브 고급 검색에서 조회수와 영상 길이까지 받아보세요

    GET /v1/youtube/search/advanced는 제목과 채널, 정확한 게시 시각까지 돌려드리면서도 조회수와 영상 길이는 비어 있었어요. 유튜브 검색 색인이 요약 정보만 내주기 때문이에요. 이제 includeExtras=true를 붙이시면 결과마다 post.engagement.views와 .likes, .comments, 그리고 post.content.duration_seconds가 함께 담겨요. 기본 1크레딧에 5크레딧이 더 붙는데, 결과 하나당이 아니라 페이지당 한 번이고 한 페이지는 최대 50건이에요. 파라미터를 빼시면 응답도 값도 예전 그대로예요. 날짜 구간을 정확히 잘라야 하거나(published_after와 published_before는 시·분·초까지 받아요), 실제로 먹히는 정렬이 필요하거나(order=viewCount, order=date), 페이지 크기를 믿고 쓰셔야 할 때(max_results는 요청하신 만큼, 최대 50건을 그대로 돌려드려요) 이 엔드포인트를 쓰시면 돼요. GET /v1/youtube/search의 uploadDate는 type을 같이 넣으면 유튜브가 조용히 무시하거든요. 한 가지는 분명히 말씀드릴게요. 여기엔 쇼츠 필터가 없고 앞으로도 못 넣어요. 유튜브 데이터 API 자체가 세로형 쇼츠를 다른 영상과 구분하지 못하거든요. 가장 가까운 방법은 duration=short에 includeExtras=true를 더한 뒤 duration_seconds <= 180으로 직접 거르시는 건데, 짧은 가로형 영상도 함께 걸린다는 점은 감안해 주세요. 혹시 조회수를 가져오는 쪽이 실패하면 페이지는 그대로 드리고 5크레딧은 돌려드리면서 응답에 _warnings로 extras_unavailable을 담아드려요.

  13. 개선

    Threads 글이 어떤 토픽 태그에 올라갔는지 함께 알려드려요

    Threads는 많은 글을 토픽 태그 아래에 묶어둬요. 글 위에 붙는 그 이름표인데, 그동안은 저희가 빼고 드렸어요. 이제 GET /v1/threads/search와 GET /v1/threads/user/posts, GET /v1/threads/post로 받는 글에 태그 이름을 post.ext.topic_tag로, 태그 id를 post.ext.topic_tag_id로 담아드려요. 실제로 dokter threads를 검색해 보니 17개 중 6개에 태그가 붙어 있었고, dokter gigi나 saluran cerna 같은 이름이었어요. 태그가 없는 글이 더 많고 그런 글에는 topic_tag 키 자체가 없으니 선택 항목으로 보고 쓰셔야 해요. 태그 이름은 슬러그가 아니고 대소문자도 일정하지 않아서, 값을 기준으로 묶으실 거라면 topic_tag_id를 쓰시는 편이 안전해요. 이미 받아 보시던 결과를 주제별로 묶을 수 있게 된 셈이에요. 키워드로 검색한 다음 태그별로 나눠 보시면 돼요. 한 가지 미리 말씀드릴 게 있어요. Threads에는 저희가 닿을 수 있는 태그 전용 검색이 없어서 /v1/threads/search는 그대로 키워드 검색이고, 새로 넣으실 파라미터도 없어요.

  14. 개선

    유튜브 검색 페이지가 겹치지 않고, 끝나면 끝났다고 알려줘요

    GET /v1/youtube/search로 쇼츠를 넘겨 받다 보면 같은 영상이 계속 다시 나올 수 있었어요. 페이지마다 이어보기 토큰은 바뀌고 has_more도 계속 참이라 겉보기엔 멀쩡한데, 실제로는 새 결과가 끊긴 상태였죠. 실제로 재본 한 사례에서는 네 페이지에 40건이 청구됐는데 서로 다른 영상은 12개뿐이었어요. 이제는 이미 받아 가신 영상을 기준으로 검색 페이지 전체에서 중복을 걸러내고, 새로운 것이 없는 페이지가 이어지면 더 넘기지 않고 거기서 마무리해요. 전부 중복이던 페이지는 0크레딧 빈 응답으로 돌아가요. 함께 봐주실 점이 있어요. 쇼츠를 날짜로 좁히실 땐 uploadDate를 빼고 includeExtras=true로 받은 post.published_at을 직접 거르시는 편이 좋아요. uploadDate=this_year도 여전히 쓸 수 있지만 유튜브가 넘겨주는 결과 자체가 눈에 띄게 줄어들고, 더 짧은 기간을 넣었을 때 돌아오는 400 응답에도 그 내용을 담았어요. 같은 중복 제거가 GET /v1/youtube/search/hashtag에도 적용돼요.

  15. 개선

    Google 쇼핑과 트렌드, 앱스토어, Google Play에서 국가 코드가 통해요

    이 엔드포인트들은 country 값을 받는데, 그동안 데이터 공급자가 쓰는 정확한 지역 이름만 알아들었어요. 그래서 누구나 먼저 넣어볼 country=US가 미국 결과 대신 오류로 돌아왔고요. 이제는 ISO 코드(US, GB, TR)와 전체 이름(United States), 숫자 지역 코드를 모두 받아서 서버에서 알아서 바꿔줘요. 두 글자 코드를 넣어보고 엔드포인트가 고장 났다고 생각하셨다면 고장이 아니라 값을 못 읽던 것이었어요. 각 엔드포인트 문서에도 받을 수 있는 세 가지 형태를 적어두었어요.

  16. 개선

    LinkedIn이 동시 호출에 강해지고, 채용 검색 날짜 필터가 친절해졌어요

    LinkedIn 요청의 처리 여유가 크게 늘었어요. LinkedIn 실패의 가장 큰 원인이던, 여러 호출이 한꺼번에 몰릴 때 걸리던 제한이 사라졌어요. 그리고 채용 검색의 date_posted 필터는 그동안 아무 문자열이나 그대로 넘겨서, last-month처럼 그럴듯한 값을 넣으면 알 수 없는 오류로 돌아왔어요. 이제는 정해진 값만 받아요. 잘못된 값을 넣으면 크레딧이 나가기 전에 past_24h, past_week, past_month 세 가지를 알려주는 400 응답이 무료로 돌아와요. last-month를 past_month로 조용히 바꿔드리지는 않아요. 들어오던 값 중에는 대응할 곳이 없는 것도 있어서, 임의로 고치면 코드에 남은 문제를 가려버리거든요.

  17. 개선

    Threads 검색이 더 깊이 들어가고, 댓글 페이지가 겹치지 않아요

    Threads 검색은 한 번에 정해진 만큼만 돌려주고 커서를 주지 않아서, 깊이 찾을수록 금방 끊겼어요. 이제 서버에서 날짜 구간을 좁혀가며 이어 받고 글 id로 중복을 걸러내요. 같은 질의로 16개에서 83개까지 늘었어요. limit을 지정하면 그만큼 서로 다른 글을 한 번의 호출로 모아 오고, 실제로 쓴 구간만큼만 차감한 뒤 남은 만큼은 돌려드려요. 그리고 TikTok과 YouTube 댓글 페이징은 연이은 페이지에 같은 댓글이 다시 나오는 경우가 있었어요. 많이 모으려던 분은 중복에도 비용을 내신 셈인데, 이제 페이징 전 과정에서 중복을 제거해요.

  18. 새 플랫폼

    Wayfair를 잠시 내렸어요

    어제 공개한 Wayfair를 다시 내렸어요. 공급자 쪽에서 멀쩡히 있는 상품을 없다고 응답하는 일이 호출 두 번 중 한 번꼴로 생겼고, 나머지도 오류로 돌아왔어요. 틀린 답을 확신에 차서 주는 건 아예 답을 안 주는 것보다 나빠요. SKU 목록을 훑던 분이라면 실제로 판매 중인 상품 상당수를 품절로 기록했을 거예요. 지금 Wayfair 엔드포인트 3개는 서비스 불가 응답을 돌려주고 크레딧은 차감되지 않아요. 실패한 호출은 이전에도 전액 환불됐고요. 같은 공급자를 쓰는 Home Depot과 eBay는 그동안 계속 정상이었고 영향이 없어요. Wayfair 연동 자체는 그대로 두었기 때문에 공급자가 안정되면 바로 되돌릴 수 있어요. 매일 다시 확인하고 있고, 복구되는 날 다시 알려드릴게요.

  19. 새 플랫폼

    Wayfair, Home Depot, eBay가 추가됐어요

    커머스 커버리지에 세 곳이 더해졌어요. Amazon, Walmart, Target과 같은 상품·리뷰 형태를 쓰기 때문에 여러 유통사를 나란히 비교할 때 필드 이름이 그대로예요. Wayfair는 키워드 검색과 SKU 상세 조회, 리뷰 페이징을 지원해요. eBay는 한 번에 60건씩 돌려주는 검색과 함께, 누적 피드백과 우수 판매자 여부, 가입 시기, 세부 평점 네 가지까지 판매자 평판을 깊게 담은 상세 조회를 제공해요. Home Depot은 상품 상세와 리뷰를 지원하고, 특히 인근 매장마다 실제로 몇 개가 남아 있는지 재고 수량까지 알려줘요. Home Depot 키워드 검색은 공급자 쪽에서 계속 오류가 나서 이번에는 빠졌고, 정상화되면 추가할 예정이에요.

  20. 개선

    나이·성별 추정 엔드포인트를 내렸어요

    GET /v1/utility/age-gender를 카탈로그에서 완전히 빼 드렸어요. 업스트림 감지기가 불안정했고, 실제 사용도 거의 없어서 깨진 프리미엄 경로를 남겨 두는 쪽이 더 나빴어요. 공개로 받을 수 있는 오디언스 지역 분포는 GET /v1/tiktok/user/audience를 써 주세요. 무료 유틸리티 DX 엔드포인트(endpoints, endpoint, quickstart, llms)는 그대로예요.

2026년 7월

  1. 새 엔드포인트

    API 사용법, 이제 API에 직접 물어보세요

    이제 문서 페이지를 뒤지지 않아도 돼요. 무료 유틸리티 엔드포인트 네 개가 새로 생겨서, 개발자든 AI 에이전트든 호출 한 번으로 API 전체를 파악할 수 있어요. GET /v1/utility/endpoints는 사용 가능한 모든 엔드포인트의 경로, 메서드, 크레딧 비용, 파라미터를 담은 목록을 돌려주는데, platform이나 검색어로 추려서 받아요. GET /v1/utility/endpoint는 엔드포인트 하나의 사용법을 통째로 알려줘요. 파라미터별 타입과 예시, 정확한 크레딧 비용, 페이지네이션 방법, 그대로 복사해 쓰는 예시 요청과 응답, 응답 스키마 URL까지 한 번에 와요. GET /v1/utility/quickstart는 인증, 응답 구조, 과금 방식, 오류 체계, 요청 한도, 그리고 바로 붙여넣어 실행되는 첫 요청 예시까지, 첫 호출에 필요한 전부를 응답 하나에 담아 드려요. GET /v1/utility/llms는 llms.txt 컨텍스트 문서를 API 응답으로 돌려줘요. 전체든 플랫폼 하나든, 마크다운이나 JSON 중 원하는 형식으로 와요. 네 개 모두 크레딧이 들지 않고, 응답은 호출하는 순간 엔드포인트 레지스트리에서 바로 만들어져서 안내 내용이 실제 API와 어긋날 일이 없어요. 플랫폼 하나만 쓰신다면 platform 파라미터로 범위를 좁혀 받아 보세요.

  2. 새 엔드포인트

    여러 나라 뉴스를 한 번에 검색하는 /v1/search/news

    검색어 하나면 여러 나라 뉴스를 한 번에 훑을 수 있어요. GET /v1/search/news는 검색어를 검색 각도로 나누고 요청한 나라별 언어로 현지화하는 과정을 한 번에 끝낸 다음, 50개 나라 에디션을 대상으로 최대 12개의 Google News 검색을 동시에 실행해서 기사를 모아요. 나라가 달라도 같은 기사는 하나로 합쳐 주고요. 각 검색 갈래에는 query_source가 붙어서 키워드가 번역된 건지(translated), 원문 그대로 맞는 건지(original), 현지화가 어려워 원문으로 검색한 건지(fallback_original)를 숨김없이 알려줘요. 현지화가 조용히 실패해도 결과가 부풀려 보이는 일이 없어요. JSON으로 받아도 되고, Accept: text/event-stream을 보내면 갈래별 출처 정보가 담긴 검색 계획이 먼저, 나라별 기사가 도착하는 대로 이어서 흘러와요. 요금은 기본 2크레딧에 기사가 실제로 돌아온 갈래당 1크레딧씩 최대 14크레딧이고, 쓰지 않은 차액은 자동으로 환불돼요. 아무것도 못 찾은 검색은 기본 요금만 나가고, 5분 캐시 안에서 같은 검색을 다시 부르면 크레딧이 들지 않아요.

  3. 개선

    Google News 검색이 5배 빨라지고 훨씬 안정적으로 바뀌었어요

    GET /v1/google_news/search를 처음부터 끝까지 다시 설계했어요. 응답 중간값이 8초대에서 2초 안팎으로 내려왔고, 48초까지 늘어지던 타임아웃 꼬리도 사라졌어요. 지난달 한때 전체 호출의 4분의 1까지 치솟았던 오류율은 자동 재시도와 독립적인 예비 경로 덕분에 2% 아래로 떨어져요. 새 필터도 세 개 생겼어요. publisher로 특정 매체 도메인(bbc.com 같은)만 골라 받을 수 있고, from/to로 정확한 발행일 구간(YYYY-MM-DD 또는 Unix 타임스탬프)을 지정할 수 있어요. 검색어에는 따옴표 구문과 불리언 연산자(AND, OR, NOT)도 쓸 수 있고요. 데이터 품질도 좋아졌어요. 이제 모든 기사에 도메인이 아닌 실제 매체 이름, 원본 발행사의 썸네일 URL, 초 단위 ISO-8601 UTC 발행 시각이 함께 담겨요. 솔직하게 말씀드릴 트레이드오프도 하나 있어요. 짧은 본문 미리보기(snippet)는 이제 모든 결과에 보장되지 않고, 스키마 문서에도 그대로 반영해 뒀어요. 엔드포인트와 1크레딧 가격은 그대로고, 기존 파라미터는 전부 그대로 동작해요.

  4. 개선

    TikTok Shop 지역 오류 안내가 더 정직해졌어요

    GET /v1/tiktokshop/product와 GET /v1/tiktokshop/user/showcase 두 조회는 원본 소스가 지금 US 마켓만 지원해요. 그동안 region=GB를 넘기면 요금이 나갔다가 환불되는 왕복 끝에 이유를 알 수 없는 400만 돌아왔는데, 이제는 호출 즉시 과금 전에 허용 값을 함께 알려주는 400으로 안내돼요. 크레딧은 차감되지 않아요. 검색, 스토어 상품 목록, 상품 리뷰는 영향이 없고 16개 지역을 그대로 지원하니까 GB 같은 다른 지역 상품은 이 세 엔드포인트로 계속 받아보실 수 있어요. 함께 고친 것도 있어요. 슬러그 없는 상품 URL(tiktok.com/shop/pdp/1729587769570529799 형태)은 저희 응답의 product.url이 돌려주는 바로 그 형태인데도 잘못된 URL로 거절됐었는데, 이제 정상 인식돼요. 엔드포인트별 실제 지역 지원 범위는 문서에도 그대로 반영해 뒀고, 원본이 지역 지원을 넓히면 허용 값도 바로 넓힐게요.

  5. 개선

    월마트 키워드 검색을 잠시 내렸어요

    오늘부터 GET /v1/walmart/search를 비활성화했어요. 출시 하루 만에 검색을 담당하는 원본 소스가 기본값인 미국 마켓플레이스에서 오류를 내기 시작했는데, 기본 설정으로 호출하면 실패하는 엔드포인트를 문서와 OpenAPI 명세에 그대로 두는 것보다 내리는 편이 낫다고 판단했어요. 지금 호출하시면 크레딧 차감 없이 503이 돌아와요. 오류가 나던 동안에도 요금은 나가지 않았어요. 빈 결과가 아니라 원본 장애로 분류돼서 해당 호출은 모두 자동 환불됐거든요. 나머지 월마트 엔드포인트 네 개는 영향이 없고 오늘 운영 환경에서 다시 확인했어요. 키워드로 상품 ID를 찾고 계셨다면 당분간 GET /v1/walmart/category로 상품을 훑어 주세요. 검색과 달리 실제 판매가까지 함께 와요. 원본이 복구되면 검색도 다시 열어 둘게요.

  6. 새 엔드포인트

    타겟 카테고리 탐색과 매장 찾기가 추가됐어요

    타겟 엔드포인트 세 개가 새로 생기면서 상품을 찾는 길이 열렸어요. GET /v1/target/categories는 전체 카테고리 구조를 1크레딧에 돌려주고, GET /v1/target/category는 카테고리 하나를 한 번에 24개씩 훑으면서 실제 판매가, 브랜드, 별점, 이미지, 상품 ID까지 같이 줘요. 타겟에는 요금을 받을 만한 키워드 검색이 없기 때문에, 이 두 엔드포인트가 아무 정보 없이 시작해서 상품 ID를 모으는 확실한 경로예요. 다만 타겟 쪽 정렬이 호출 사이에 조금씩 바뀌어서 앞뒤 페이지에 같은 상품이 몇 개 겹쳐 나올 수 있으니, 수집하실 때 product.id로 중복을 걸러 주세요. 여기에 GET /v1/target/stores를 더했어요. 우편번호나 도시로 근처 매장을 찾으면 주소, 전화번호, 거리, 영업 상태, 2주치 영업시간까지 오고 역시 1크레딧이에요. 카테고리 상품과 매장 모두 기존 통합 스키마를 그대로 써서, 타겟 매장이 구글 비즈니스 장소와 같은 모양으로 파싱돼요.

  7. 새 플랫폼

    타겟 상품 상세와 고객 리뷰가 추가됐어요

    타겟이 커머스 커버리지에 합류했어요. 상품 상세와 고객 리뷰, 두 개의 엔드포인트를 제공하고 둘 다 TCIN으로 조회해요. TCIN은 target.com 상품 URL 맨 뒤에 붙는 숫자예요. 상품 상세에서는 가격, 브랜드, 핵심 특징, 이미지 갤러리, 색상·사이즈 옵션과 함께 1~5점 별점 분포까지 한 번의 호출로 받아요. 리뷰를 전부 넘겨보지 않아도 별점 구성을 파악할 수 있어요. 리뷰는 한 페이지에 10건씩 오는데, 페이지끼리 겹치지 않고 전체 개수도 정확해서 전체 수집이 깔끔하게 끝나요. 상품과 리뷰 응답 구조가 아마존·월마트·구글 쇼핑과 같아서 파서 하나로 네 곳을 다 다룰 수 있어요. 타겟 키워드 검색은 넣지 않았어요. 원본 검색이 페이지 파라미터를 무시하고 결과가 24개로 막혀 있는 데다, 결과가 없는 검색어에도 관련 없는 상품을 돌려줘서 요청하지 않은 데이터에 요금을 매기게 되거든요.

  8. 새 플랫폼

    월마트 상품·리뷰·판매자 데이터가 추가됐어요

    월마트가 커머스 커버리지에 합류했어요. 상품 상세, 호출당 최대 50건의 고객 리뷰, 키워드 검색, 카테고리 탐색, 그리고 그 상품을 파는 모든 마켓플레이스 판매자까지 엔드포인트 다섯 개로 제공해요. 카테고리에서 우편번호나 매장 ID를 넣으면 소비자가 실제로 보는 매장별 가격과 재고를 확인할 수 있고, country 값으로 walmart.com과 walmart.ca를 골라 조회해요. 상품·리뷰·판매자 응답 구조가 아마존·구글 쇼핑과 같아서 파서 하나로 세 곳을 다 다룰 수 있어요. 참고로 키워드 검색은 다음 날 원본 소스 장애로 내려서, 지금은 다섯 개 중 네 개가 동작해요.

  9. 새 엔드포인트

    레딧 게시물, URL 하나로 본문까지 가져와요

    GET /v1/reddit/post에 레딧 게시물 URL을 주면 게시물 본문(selftext)까지 돌려줘요. 그동안 본문은 어디서도 꺼낼 수 없었어요. reddit/search는 제목만 주고, reddit/post/comments는 정작 게시물은 빼고 댓글 트리만 주거든요. content.text에는 제목과 본문이 합쳐져 담기는데, 서브레딧 목록과 같은 모양이에요. ext.title과 ext.selftext에는 둘이 따로 담겨서 본문만 떼어 읽을 수 있어요. 점수, 추천 비율, 댓글 수, 플레어, 작성자, 썸네일, 작성 시각도 함께 와요. 본문이 없는 링크 게시물은 ext.selftext가 null로 와요. 1크레딧이고, 게시물이 없는 URL은 404로 환불돼요.

  10. 새 엔드포인트

    페이스북 릴스, 정확한 반응 수치까지 한 번에

    GET /v1/facebook/profile/reels/full이 페이지의 릴스를 정확한 조회수·좋아요·댓글·공유 수와 함께 돌려줘요. 기본 릴스 목록에는 페이스북이 공개적으로 보여주는 반올림된 조회수("1.2만"을 숫자로 되돌린 값)만 담기고 다른 반응 수치는 아예 없어요. 페이스북이 그 숫자들을 개별 릴스에서만 노출하기 때문이에요. 새 엔드포인트는 릴스마다 서버에서 직접 조회해서 목록 값을 정확한 수치로 바꿔 담아줘요. 릴스 10개 한 페이지에 5크레딧 고정이라, 목록과 post-stats를 직접 이어 붙이는 것보다 절반 정도 저렴해요. 항목마다 ext.engagement_source가 붙어서 정확한 수치인지 목록 값인지 구분할 수 있고, 응답에 engagement_coverage가 담기고, 보강이 하나도 안 된 페이지는 목록 가격인 1크레딧까지 자동 환불돼요. limit(최대 50)을 주면 여러 페이지도 알아서 넘겨요.

  11. 개선

    스크립트 404, 이제 이유를 알려드려요

    GET /v1/youtube/video/transcript는 자막이 없는 영상에도 밋밋한 not-found만 돌려줬어요. API 버그처럼 보여서 무의미한 재시도를 부르는 응답이었죠. 이제 404에 error.details.reason이 담겨요. captions_disabled, no_captions, login_required, video_gone 중 하나와 알기 쉬운 설명이 함께 오고, 크레딧은 0이에요. 이유 슬러그는 POST /v1/youtube/transcripts 배치 행의 ext.reason과 같은 어휘라서, 단건과 배치가 실패를 똑같이 분류해요.

  12. 개선

    링크드인 대댓글, 이제 제대로 돌아와요

    링크드인 업스트림은 대댓글에 평범한 id를 안 실어 보내요. 식별자가 댓글 URN 안에만 들어 있어서, 대댓글 행이 전부 검증에서 조용히 걸러지고 있었어요. 이제 URN에서 comment.id와 comment.post_id를 뽑아내서, 대댓글도 상위 댓글과 같은 id 형식으로 돌아와요.

  13. 개선

    둘로 나뉜 메타 릴스 조회수, 양쪽 다 추적할 수 있어요

    메타가 교차 게시된 릴스의 인스타그램·페이스북 조회수 합산을 중단했어요. 인스타그램 숫자는 이제 인스타그램만의 값이고, 과거 게시물에도 소급 적용됐어요. 전체 그림을 추적할 수 있게 두 가지를 바꿨어요. GET /v1/instagram/post/stats가 인스타그램 전용 카운터를 post.ext.ig_play_count로 명시해서 돌려주니까, 메타가 다시 합산하기 시작하면 바로 알 수 있어요. 그리고 POST /v1/prism/post-stats가 facebook.com/reel/과 /videos/ URL을 받아요. 전에는 unsupported로 돌아오던 형식이라, 이제 페이스북 교차 게시물을 인스타그램 원본과 같은 배치에 넣고 둘을 더하면 돼요.

  14. 개선

    video-intel과 comments, 유튜브에서 다시 잘 돌아가요

    유튜브가 새 기본 소스로 옮겨간 뒤, GET /v1/prism/video-intel이 유튜브 URL마다 실패하고 GET /v1/prism/comments의 유튜브 스캔이 막혀 있었어요. 두 컴포지트가 여전히 이전 소스의 인증으로 요청을 보내고 있었기 때문이에요. 이제 둘 다 기본 소스와 폴백을 자동으로 오가는 체계를 타요. 스크립트 레그에는 시간 예산도 생겼어요. 느리거나 없는 스크립트는 몇 분씩 스트림을 붙잡는 대신 null로 처리되고, 10크레딧 추가 요금은 환불돼요.

  15. 개선

    깨진 검색어 인코딩, 이제 0크레딧으로 바로 알려드려요

    UTF-8이 아닌 문자셋으로 보내져 깨진 검색어나 이중 퍼센트 인코딩된 검색어는 그대로 업스트림에 전달돼서 멀쩡한 빈 결과로 돌아왔어요. "이 플랫폼엔 데이터가 없구나"로 읽히기 딱 좋았죠. 이제 과금 전에 400으로 거절하고, error.details.reason에 invalid_utf8이나 double_encoded와 함께 바로 고칠 수 있는 안내를 담아요. 크레딧은 0이에요. URL 파라미터는 퍼센트 이스케이프가 정상이라 검사에서 제외돼요.

  16. 새 플랫폼

    열린 웹이 API에 들어왔어요: 스크레이프·검색·크롤·추출

    이제 소셜 플랫폼만이 아니라 열린 웹 전체를 다뤄요. GET /v1/web/scrape는 URL 하나를 메타데이터가 붙은 깔끔한 마크다운으로 바꿔주고, GET /v1/web/search는 웹·뉴스·이미지 검색 결과를 본문까지 담아 같은 정규화된 형태로 돌려줘요. GET /v1/web/map은 사이트의 URL 목록을 뽑아주고, POST /v1/web/extract는 프롬프트나 스키마만 주면 어떤 페이지에서든 구조화된 JSON을 꺼내요. 큰 작업은 비동기로 돌리면 돼요. 크롤, 배치 스크레이프, 브라우저 에이전트가 백그라운드에서 실행되고, 작업 조회와 웹훅을 지원하고, 취소하면 크레딧을 환불해 드려요. 키도, 응답 형태도 다른 플랫폼과 똑같아요.

  17. 개선

    서브레딧 상세에 주간 활동 지표가 들어왔어요

    GET /v1/reddit/subreddit/details가 이제 구독자 수와 함께 커뮤니티 건강 지표 2가지를 돌려줘요. 주간 활성 사용자 수와 주간 기여 수가 author.ext에 담겨요. 구독자 수는 서브레딧이 얼마나 큰지를 알려주지만, 이 지표들은 지금 얼마나 살아 있는지를 알려줘요. 어느 커뮤니티에 참여할지 고를 때 유용해요.

  18. 개선

    더 풍부해진 필드: 월간 청취자, 틱톡샵 데이터, 그리고 더

    여러 플랫폼에 새 통합 스키마 필드가 한꺼번에 들어왔어요. 스포티파이 아티스트에는 월간 청취자 수가 author.ext에 담겨요. 틱톡샵 쇼케이스 상품은 가격·평점·판매량·판매자가 담긴 post.commerce를 노출해요. 유튜브 응답에는 @핸들이 없는 채널이라도 원본 채널 id가 author.ext에 담기고, 재생목록 크기는 post.video_count로 나와요. 링크드인 팔로워 수는 소스가 반올림한 값이면 followers_approximate 플래그가 붙어서, 어림값인지 정확한 숫자인지 구분할 수 있어요.

  19. 새 엔드포인트

    배치 엔드포인트: 한 번에 스크립트 100개, 프로필 50개

    목록 작업을 위한 배치 엔드포인트 2가지가 나왔어요. POST /v1/youtube/transcripts는 영상 아이디를 최대 100개 받아 행마다 스크립트를 돌려줘요. 텍스트와 타임스탬프 구간 중에 고를 수 있고, 성공한 스크립트당 3크레딧이에요. 자막이 없거나 삭제된 영상은 배치 전체를 실패시키지 않고 따로 표시한 뒤 환불해 드려요. POST /v1/prism/profiles는 12개 플랫폼의 핸들을 최대 50개 받아 각각의 전체 정규화 프로필을 돌려주고, 실제로 조회된 프로필만 각 플랫폼의 기본 요금으로 청구해요. 둘 다 SSE 스트리밍과 행별 custom_id를 지원해서, 응답을 내 데이터와 바로 짝지을 수 있어요.

  20. 개선

    게시물 지표, 더 일관되고 정직하게 돌려드려요

    지표를 다듬는 안정화 작업을 했어요. 이제 duration_seconds가 모든 플랫폼에서 실제 초 단위로 나와요(틱톡과 유튜브 폴백은 밀리초로 내려왔었고, 인스타그램은 원래 정상이었어요). 크리에이터가 좋아요 수를 숨기면, 이제 오해를 부르는 작은 숫자 대신 likes: null과 likes_hidden 플래그를 돌려줘요. 인스타그램 릴스·게시물 엔드포인트는 항목마다 ext.shares_source를 달아줘서, 공유 수가 비어 있어도 이유를 항상 알 수 있고 더 이상 조용한 빈칸이 아니에요. 그리고 공유 수가 하나도 안 나온 페이지는 공유 프리미엄을 환불해 드려요. 이제 없는 게시물을 요청하면, 빈 값에 요금을 매기는 대신 명확한 not-found와 함께 크레딧을 전액 환불해 드려요. 마지막으로, 모든 목록 엔드포인트가 단일 cursor 파라미터를 받아요. 페이지네이션 이름을 잘못 넣으면 조용히 첫 페이지를 반복하는 대신, 올바른 이름을 알려주는 안내 오류를 요금 없이 돌려드려요.

  21. 개선

    인스타그램 댓글, 이제 실제 좋아요 수와 진짜 인기순으로 돌려드려요

    GET /v1/instagram/post/comments와 prism/comments가 이제 각 댓글의 실제 좋아요 수와 인스타그램 자체 인기 순서를 그대로 돌려줘요. 그래서 sort=top이 앱 상단에 실제로 뜨는, 정말로 좋아요가 많은 댓글부터 먼저 보여줘요. 예전에는 좋아요 수가 거의 0으로 내려와서 순위를 매길 근거 자체가 없었어요. 이제 호출할 때마다 결과가 일관되고, 응답에 그 게시물의 실제 전체 댓글 수도 담겨요. /p/·/reel/·/reels/·/tv/ 어떤 링크를 넣어도 같은 결과를 받아요. 이 필드들을 담아 오는 모바일 소스는 비용이 더 들기 때문에, 인스타그램 댓글은 호출당 정액 5크레딧으로 바뀌었어요.

  22. 새 엔드포인트

    인스타그램·틱톡 댓글 하나를 URL이나 ID로 바로 조회하기

    특정 댓글을 추적하기 위한 새 엔드포인트 세 개가 생겼어요. GET /v1/instagram/comment와 GET /v1/tiktok/comment는 댓글 링크(또는 게시물과 댓글 id)를 받아서, 댓글 섹션 전체를 직접 넘겨보지 않고도 그 댓글 하나의 현재 내용·작성자·지표를 한 번의 호출로 돌려줘요. POST /v1/prism/comment-lookup은 최대 25개 댓글을 한 번에 같은 방식으로 조회하니까, 추적 중인 댓글을 매일 새로고침하기에 딱 좋아요. 작성자나 텍스트 일부로 찾을 수도 있어요. 찾지 못한 건 크레딧을 전액 환불해 드리고, 이전 조회에서 받은 위치 힌트를 넘기면 같은 댓글을 다시 확인할 때 거의 무료예요. 정액 요금이에요: 틱톡 2크레딧, 인스타그램 5크레딧.

  23. 개선

    레딧 댓글, 이제 스레드 전체를 트리로 돌려드려요

    GET /v1/reddit/post/comments가 이제 최상위 댓글만이 아니라 중첩된 댓글 트리 전체를 한 번의 호출로 돌려줘요. 레딧의 '더 보기' 페이지네이션을 알아서 이어받아 모든 답글 가지를 병합하니까, 커서를 직접 넘기지 않아도 대화 전체를 깊이까지 그대로 받아볼 수 있어요. 아주 큰 스레드는 안전 한도에서 멈추고, 이어받을 커서와 truncated 표시를 함께 내려드려요. 한 번의 호출로 답글 여러 페이지를 안에서 펼치기 때문에, 이 엔드포인트는 어드밴스드 티어의 정액 5크레딧으로 바뀌었어요.

  24. 새 기능

    API 로그를 CSV나 JSON으로 내보내기

    Activity 로그 탐색기에 내보내기 메뉴가 생겼어요. 불러온 행을 CSV로 클립보드에 복사하거나, .csv나 .json 파일로 내려받을 수 있어요. 표에 보이는 항목이 그대로 담겨요. 지금 화면에 불러온 행만 내보내니까, 상태·플랫폼·캐시 적중·오류 코드·날짜로 걸러내고 '더 보기'로 필요한 기록까지 불러온 다음, 딱 그만큼만 내보내면 돼요.

2026년 6월

  1. 새 엔드포인트

    유튜브, 더 빠른 소스·풍부한 데이터·대량 조회 추가

    핵심 유튜브 엔드포인트 (채널·영상·댓글·답글·재생목록·자막) 이 더 빠르고 안정적인 소스로 동작하고, 자동 장애 복구까지 갖췄어요. 업스트림이 일시적으로 막혀도 호출이 통째로 실패하지 않아요. 응답에 담기는 정보도 더 많아졌어요. 영상 전체 설명, 채널의 연관 재생목록 링크(업로드 목록으로 바로 들어갈 때 유용해요), 댓글의 인기 답글 미리보기 등을 모두 ext에 담아 돌려줘요. 새 대량 엔드포인트 2종도 추가됐어요. POST /v1/youtube/videos와 POST /v1/youtube/channels는 영상이나 채널을 한 번의 호출로 최대 1,000개까지 가져오고, 50개당 5크레딧으로 매겨져요. 확인할 변경 1가지: 채널 가입일이 이제 자유 텍스트 대신 깔끔한 ISO 날짜(2015-02-01)로 나와요.

  2. 새 기능

    대시보드에 들어온 요청 로그 탐색기

    대시보드의 Activity 페이지가 이제 내가 보낸 모든 API 호출을 살펴보는 제대로 된 로그 탐색기가 됐어요. 사이드바 필터에서 상태, 플랫폼, 캐시 적중 여부, 오류 코드, 날짜로 걸러볼 수 있고, 항목별 개수도 실시간으로 보여줘요. 요청량 히스토그램으로 급증과 오류를 한눈에 파악하고, 무한 스크롤과 검색으로 전체 기록을 훑을 수 있어요. 아무 행이나 누르면 메서드, 경로, 요청 ID, 상태, 응답 시간, 응답 크기, 사용한 크레딧까지 담긴 상세 화면이 열려요. 라이브 모드를 켜면 호출이 들어오는 대로 실시간으로 볼 수 있어요.

  3. 개선

    커서 페이지네이션, 이제 무한 루프도 중복도 없어요

    페이지네이션 관련 문제 3가지를 API 전반에서 고쳤어요. 빈 페이지는 이제 next_cursor를 돌려주지 않아요. 그래서 커서가 끝날 때까지 페이지를 넘기는 클라이언트가 결과 0개인 페이지에서 무한히 도는 일이 없어요. 업스트림이 보냈던 커서를 그대로 다시 돌려주면, 이제는 전달하지 않고 끊어줘요. 이것도 페이지네이션이 제자리에서 도는 원인이었거든요. 그리고 유튜브 댓글과 답글에서는 페이지 경계에 걸친 항목을 중복 제거해서, 페이지를 넘길 때 같은 댓글이 두 번 나오지 않아요. 따로 바꿀 건 없어요. 지금처럼 next_cursor만 따라가면 돼요.

  4. 새 기능

    무료 도구 3종 추가: 아마존 리뷰·앱 리뷰·주식 비교

    회원가입 없이 실제 API로 동작하는 무료 도구 3종이 더해졌어요. 아마존 가짜 리뷰 검사기는 상품 리뷰가 얼마나 믿을 만한지 점수로 보여줘요. 앱 리뷰 분석기는 앱스토어와 구글플레이 리뷰 수천 개를 읽고 사용자들이 실제로 반복해서 하는 말을 짚어줘요. 주식 비교는 원하는 두 종목을 나란히 놓고 비교해줘요. 브라우저에서 바로 써보고, 같은 데이터를 API로도 가져올 수 있어요.

  5. 개선

    인스타그램 해시태그 검색, 이제 진짜 게시물이 나와요

    인스타그램 해시태그 검색이 이제 구글 색인 기반 스크레이퍼 대신 인스타그램 자체 해시태그 피드를 읽어요. 예전에는 #travel이나 #food 같은 인기 태그에도 게시물이 안 나왔거든요. 결과는 shortcode, URL, 캡션, 미디어, 참여 수, 작성자가 담긴 진짜 공개 게시물이에요. 확인할 변경 2가지가 있어요. type로 정렬을 고르고(top·recent·clips=릴스만) 응답의 cursor로 페이지를 넘기면 돼요. 기존 date_posted와 media_type 파라미터는 없어졌어요. 그리고 새 소스로 옮기면서 비용이 advanced 등급(5크레딧)으로 바뀌었어요.

  6. 개선

    더 안정적이고 이어받을 수 있는 댓글 수집

    댓글 대량 수집이 더 안정적이 됐어요. 댓글 엔드포인트가 이제 일시적인 업스트림 차단을 자동으로 재시도하고 스캔 시간 예산 안에서 동작해서, 깊은 수집이 한 번의 일시 오류로 통째로 멈추지 않아요. 한 번에 다 못 가져오면 지금까지 모은 댓글과 함께 next_cursor와 _warnings 안내를 돌려주고, 비용은 실제로 가져온 페이지만큼만 내면 돼요. 인스타그램에서는 sort=top과 max가 이제 실제 댓글 풀까지 닿아요. 인스타그램은 페이지당 댓글 수가 다른 플랫폼보다 적어서 예전에는 스캔이 일찍 막혔는데, 이제는 좋아요가 가장 많은 댓글까지 제대로 뽑을 수 있어요.

  7. 개선

    좋아요 많은 댓글부터 가져오기

    댓글 엔드포인트가 이제 좋아요가 많은 댓글부터 돌려줘요. 틱톡·인스타그램·유튜브·페이스북·레딧·해커뉴스 게시물 URL에 sort=top만 붙이면 가져온 댓글을 좋아요 수 기준으로 정렬해주고, limit으로 몇 개까지 받을지 정할 수 있어요. 댓글이 1만 개인 게시물에서 상위 200개를 뽑을 때도 직접 페이지를 넘기며 정렬할 필요 없이 호출 한 번이면 돼요. 유튜브는 정확하게 정렬되고, 나머지 플랫폼은 가져온 범위 안에서 정렬해요. 응답에는 정렬 기준(sorted_by)과 반환 개수(returned)가 함께 담겨요. 정렬해도 비용은 그대로예요. 실제로 훑은 페이지만큼만 내면 돼요.

  8. 새 엔드포인트

    인스타그램 릴스·게시물, 이제 공유 수까지 한 번에

    새 엔드포인트 2종 profile/reels/full과 profile/posts/full이 추가됐어요. 크리에이터의 릴스나 게시물을 조회수, 좋아요, 댓글, 그리고 항목별 공유 수까지 한 번의 호출로 가져와요. 기존 릴스·게시물 목록은 공유 수가 비어 있었는데(인스타그램 공개 데이터에 빠져 있거든요), 이 엔드포인트는 두 번째 소스를 합쳐서 한 페이지 전체의 공유 수를 한 번에 채워줘요. 더 이상 클립마다 따로 호출하지 않아도 돼요. 응답에는 공유 수가 채워진 비율(shares_coverage)과 실제로 동작한 leg도 함께 담겨요. 페이지당 5크레딧이에요.

  9. 새 엔드포인트

    인스타그램·링크드인·유튜브 대규모 업데이트

    인스타그램에 엔드포인트 14종이 추가됐어요. 팔로워·팔로잉 목록, 게시물에 좋아요 누른 사람, 스토리, 태그된 미디어, 위치 기반 피드, 그리고 계산된 참여율까지요. 링크드인은 더 최신 소스로 새로 만들어 채용 검색, 더 풍부한 프로필, 회사 페이지, 리포스트, 반응을 지원해요. 유튜브에는 인기 영상, 고급 검색, 대본, 오디오, 자막, 썸네일 8종이 더해졌어요. 꼭 확인할 변경 2가지가 있어요. 유튜브 대본은 이제 startMs/endMs 대신 offset/duration(초 단위)을 반환하고 비용이 10크레딧에서 3크레딧으로 낮아졌어요. 링크드인 프로필·회사·게시물은 더 풍부한 소스로 옮겨가면서 1크레딧에서 5크레딧이 되고, 단일 결과는 data 키 안에 담겨요.

  10. 새 기능

    AI로 만들기: 원하는 걸 말하면 코드가 나와요

    대시보드에 새 어시스턴트가 들어왔어요. 평범한 말로 필요한 걸 적으면 동작하는 SocialCrawl 연동으로 바꿔줘요. 원하는 데이터를 설명하면 알맞은 엔드포인트를 골라 코드를 작성하고, 크레딧 비용을 추정하고, 내 API 키로 바로 실행까지 해줘요. 문서를 다 읽지 않아도 아이디어에서 검증된 호출까지 한 번에 갈 수 있어요.

  11. 새 기능

    크레딧 자동 충전

    잔액 기준과 충전 금액을 정해두면, 크레딧이 떨어지기 전에 SocialCrawl이 알아서 다시 채워줘요. 트래픽이 몰리는 날에도 402로 끊길 일이 없어요. 한 번 켜고 한도만 정해두면 수동 충전은 더 신경 쓰지 않아도 돼요.

  12. 새 기능

    Prism: 여러 플랫폼을 한 번에 묶는 합성 엔드포인트

    호출 한 번으로 여러 플랫폼에 동시에 요청을 보내고, 결과를 하나의 응답으로 묶어주는 새로운 독자 엔드포인트 계열이에요. 소셜·커머스 URL 자동 인식, 분석 지표가 붙은 크리에이터 프로필, X·Threads·Bluesky·Truth Social을 가로지르는 한 사람의 게시물, 여러 엔진을 종합한 출처 포함 AI 답변까지, 응답마다 어떤 소스가 실제로 동작했고 어디가 빠졌는지 legs 배열로 그대로 보여줘요.

  13. 새 기능

    무료 도구 3종 추가

    브랜드 언급 확인 도구, 참여율 계산기, 크리에이터 수익 계산기까지, 회원가입 없이 실제 API로 동작하는 무료 도구 3종이에요. 브랜드가 어느 플랫폼에서 회자되는지 살펴보고, 크리에이터의 실제 참여율을 업계 기준과 비교하고, 팔로워 수와 참여도로 게시물당 예상 수익을 가늠해볼 수 있어요.

  14. 새 기능

    추천 프로그램으로 크레딧 적립

    추천 링크를 공유하면, 추천받은 분이 첫 결제를 마칠 때 2,500크레딧을 드려요. 적립한 크레딧과 추천 현황은 대시보드의 새 페이지에서 확인할 수 있어요.

  15. 새 엔드포인트

    Prism 브랜드·시장 인텔리전스

    흩어진 소셜·웹 신호를 브랜드 인텔리전스로 바꿔주는 Prism 레시피 모음이에요. 감성 분석이 붙은 브랜드 언급 수집, 경쟁사 대비 점유율(SOV), 마켓플레이스 통합 상품 평점, 리뷰 신뢰도 등급, 영업 리드 대화, 고용 브랜드 평판, 개발자 도구 반응까지 전부 호출 한 번이면 돼요. 직접 파이프라인을 만들 필요가 없어요.

  16. 새 엔드포인트

    포럼 통합 검색 /v1/search/forums

    Reddit, Hacker News, 네이버 지식iN·카페를 한 번에 검색해 스레드를 융합·클러스터링해주는 검색 레인이에요. 기본으로 댓글까지 함께 담기고, 고객 반응이나 개발자 여론 조사에 바로 쓸 수 있어요.

  17. 새 플랫폼

    Content Analysis: 웹 전반의 브랜드 언급·감성 분석

    뉴스, 블로그, 이커머스, 게시판 전반에서 브랜드나 문구가 언급된 곳을 찾고, 6축 감성 분석·문구 트렌드·상위 도메인까지 함께 받아요. Prism 브랜드 인텔리전스 합성 엔드포인트의 데이터 기반이기도 해요.

  18. 새 플랫폼

    Google Finance 금융 데이터

    주식, ETF, 지수, 암호화폐, 환율, 선물까지 시세와 종목 검색, 시장 상세를 하나의 Quote 스키마로 받아볼 수 있어요.

  19. 새 플랫폼

    Google News 실시간 검색

    어떤 키워드든 Google News의 실시간 검색 결과를 가져와요. 최신 기사, 출처, 게시 시각을 정규화된 뉴스 스키마로 내려드려요.

  20. 새 플랫폼

    Kwai 플랫폼 추가

    브라질과 동남아시아에서 가장 큰 숏폼 플랫폼 중 하나인 Kwai를 지원해요. 프로필과 영상 데이터를 다른 플랫폼과 똑같은 통합 스키마로 받아보세요.

  21. 새 플랫폼

    Google Play · App Store 앱 데이터

    앱 마켓 두 곳이 한 번에 들어왔어요. Google Play와 Apple App Store의 앱 정보, 차트, 리뷰를 하나의 앱 스키마로 정리해서 내려드려요.

  22. 개선

    TikTok Shop, 독립 플랫폼으로 분리

    TikTok Shop 엔드포인트가 tiktokshop 플랫폼으로 분리됐어요. 전용 문서와 URL이 생겼고, 기존 경로는 레거시 별칭으로 그대로 동작해요.

  23. 새 플랫폼

    Trustpilot 리뷰 데이터

    도메인으로 기업을 검색하고 Trustpilot 리뷰 전체를 가져올 수 있어요. 브랜드 평판 모니터링에 바로 쓸 수 있는 엔드포인트 2종이에요.

  24. 새 플랫폼

    TripAdvisor 장소·리뷰 데이터

    호텔, 맛집, 관광지를 검색하고 여행자 리뷰까지 가져와요. 리뷰 번역문, 사장님 답글, 평점 분포도 함께 담겨요.

  25. 새 플랫폼

    Google Shopping 상품 데이터

    Google Shopping의 상품 검색, 상세 스펙, 판매자 정보를 Amazon과 같은 커머스 스키마로 받아볼 수 있어요.

  26. 새 엔드포인트

    Amazon 상품·리뷰·판매자 엔드포인트

    스토어 페이지만 긁어오던 Amazon 플랫폼에 상품 검색, ASIN 상세, 리뷰 히스토리, 판매자 목록이 더해져 엔드포인트 5개가 됐어요. Google Shopping과 같은 커머스 스키마예요.

  27. 새 엔드포인트

    Pinterest URL 저장 수 조회

    어떤 URL이 Pinterest에 몇 번 저장됐는지 확인할 수 있어요. 호출 한 번에 URL 10개까지 조회돼요.

  28. 새 기능

    SocialCrawl vs Apify 비교 페이지

    가격, 유지보수 부담, 통합 스키마가 아껴주는 시간까지 Apify와 항목별로 나란히 비교했어요.

  29. 새 플랫폼

    Spotify · Rumble · Bluesky 추가

    Spotify 6개(아티스트·트랙·앨범·팟캐스트·검색), Rumble 5개(검색·채널 영상·자막·댓글), Bluesky 3개(프로필·게시물) 엔드포인트가 한 번에 들어왔어요. 응답은 전부 통합 스키마예요.

2026년 5월

  1. 개선

    웹에서 무료로 쓰는 통합 검색

    socialcrawl.dev에서 12개 플랫폼 동시 검색을 하루 한 번, 로그인 없이 무료로 쓸 수 있어요. API 버전은 호출당 20크레딧 그대로예요.

  2. 새 기능

    MCP 서버 npm 공개

    socialcrawl-mcp v1.3.0이 npm과 MCP 레지스트리에 올라갔어요. npx 한 줄이면 Claude Desktop, Cursor, Windsurf 같은 MCP 클라이언트에서 SocialCrawl 데이터를 바로 쓸 수 있어요.

2026년 4월

  1. 새 기능

    통합 검색 API /v1/search/everywhere

    엔드포인트 하나로 12개 소셜 플랫폼을 동시에 검색해요. 결과는 융합·재정렬·클러스터링을 거쳐 JSON 또는 SSE 스트리밍으로 받아요. 호출당 20크레딧 고정이에요.

  2. 새 기능

    SocialCrawl vs SociaVault 비교 페이지

    첫 번째 경쟁사 비교 페이지예요. 기능, 가격, 데이터 커버리지를 나란히 놓고 비교했어요.

  3. 새 기능

    무료 Reddit 마케팅 도구

    내 제품이 통할 서브레딧과 스레드를 AI가 찾아줘요. 회원가입 없이 무료로 써볼 수 있어요.