Apify 비용 모델 — tiktok apidojo 전환을 시도하며 잰 것

단가는 계정의 실제 run 이력에서 측정 · 티어는 Apify 공개 API 원본 · 물량은 수집 샘플 실측(2026-07-31)
한 문장 요약

전환은 중단됐다 — apidojo 가 무료 플랜의 API 호출을 거부한다. 그 과정에서 잰 실제 단가로 보면 현재 실지출은 0(유료 게이트가 꺼져 있다)이고, 켜면 월 약 $37, 주범은 tiktok 이 아니라 reddit(66%) 이다.

관련 — tiktok.html · index.html

① 현재 실지출은 0 이다

수집 데이터의 실제 status — 셋 다 한 번도 호출되지 않았다.

instagram   skipped_paid  576
tiktok      skipped_paid  388  ·  unsupported 57
reddit      error         161   ← IP 차단(현재 actor 로 바꾸기 전, about.json 시절)
그래서 아래 비용은 전부 “유료 게이트를 켰을 때” 의 값이다. 지금 당장 나가는 돈이 아니다 — 급하지 않다는 게 이 문서의 첫 결론이다.

② 실측 단가 — run 이력에서 읽은 값

추정이 아니라 계정의 실제 usageTotalUsd 다. 우리 fetcher 는 대상 1건당 run 1회를 돌리므로 “run 당”이 곧 “대상 1건당”이다.

Actor소셜실측 과금/run관측내역
clockworks~tiktok-scrapertiktok$0.00474회 전부 동일result $0.0037 + actor-start $0.001
apify~instagram-scraperinstagram$0.00274회 전부 동일result $0.0027
harshmaur~reddit-scraperreddit$0.022 ~ $0.062
URL 종류마다 다르다
4회🔴 init $0.02 + result $0.002 × 건수 — 고정비가 결과 단가의 10배
apidojo~tiktok-scraper(전환 후보)$0.0034회 — 전부 빈 결과10 rows × $0.0003. 데이터는 0건인데 과금은 됐다
🔴 2026-08-11 정정 — 이 표의 Reddit 값이 틀렸었다.

이전 값은 $0.04 · 2회 전부 동일 이었다. 내역(init $0.02 + result $0.002)은 정확히 적혀 있었는데 합계만 틀렸다 — $0.02 + $0.002 = $0.022 다. 계정의 run 이력을 전부 조회한 결과 그 시점의 Reddit run 은 2건뿐이었고 둘 다 $0.022 였다. 즉 $0.04 는 관측된 적이 없는 숫자다.

그 값이 코드 주석 4곳·문서 12곳으로 퍼졌고, 공교롭게 subreddit URL 의 실제 값과 같아 오래 걸리지 않았다.

Reddit 은 URL 종류마다 단가가 다르다 (2026-08-11 실측 3건)

다른 actor 와 달리 “run 1회 = 결과 1건” 이 성립하지 않는다. maxItems:1skipComments:true 를 보내도 글 URL 에서만 지켜진다.

URL반환dataType과금
/r/{sub}/comments/{id}1post$0.022
/r/{sub} 서브레딧10post ×10 — community 가 안 온다$0.04
/user/{u} 유저21user_profile ×1 + comment ×20$0.062
관측 분포상 Reddit URL 의 대부분이 글이므로 실효 단가는 $0.022 에 가깝다. 서브레딧·유저 URL 은 소수지만 건당 2~3배다.

③ 티어별 단가 — 플랜을 올리면 전 actor 가 싸진다

Actor이벤트FREEBRONZESILVERGOLD
clockworks/tiktokresult$0.0037$0.003$0.0023$0.0017
clockworks/tiktokactor-start$0.001$0.001$0.001$0.001
apify/instagramresult$0.0027$0.0023$0.0019$0.0015
harshmaur/redditresult$0.002$0.0018$0.0016$0.0015
harshmaur/redditinit$0.02$0.02$0.02$0.02
apidojo/tiktokdataset-item$0.0003$0.0003$0.0003$0.0003
⚠️ 티어 ↔ 플랜 대응은 추정이다. API 는 티어 이름(FREE/BRONZE/SILVER/GOLD)만 주고 어느 플랜이 어느 티어인지는 명시하지 않는다. 순서상 Free/Starter/Scale/Business 로 대응할 것으로 보이나 확인하지 않았다.

플랜 구조

요금 위에 사용료가 또 붙는 게 아니다 — 낸 만큼 크레딧으로 돌아온다. 단 이월되지 않아 안 쓰면 소멸하고, 그게 실질 고정비다.

플랜월 요금포함 크레딧비고
Free$0$5현재 여기
Starter$29$293소셜 켜려면 필요
Scale$199$199
Business$999$999
크레딧은 계정 단위 공동 풀이고 3개 소셜이 같이 쓴다. pay-per-result 과금도 여기서 차감된다(별도 청구 아님). 초과분은 다음 청구서로 넘어간다.

④ 물량과 비용

과금 단위는 토큰이 아니라 엔트리다 — 토큰 하나가 같은 소셜 링크를 여러 개 가질 수 있고 각각이 run 1회다.

소셜엔트리(=run)토큰unsupported월 환산
tiktok388267571,455
instagram57635902,160
reddit1611160604

샘플은 8일치 토큰(2026-06-19~27)이고 총 1,125 run 이다. 월 환산은 ×3.75.

소셜샘플 1회 (FREE)월 (FREE)월 (BRONZE)월 (apidojo 가정)
tiktok$1.82$6.84$5.82$0.44
instagram$1.56$5.83$4.97
reddit$6.44$24.15$13.17
합계$9.82$36.8$23.96
주범은 reddit 이다 — 66%

init $0.02run 당 1회 고정이고 결과 단가($0.002)의 10배다. 대상 1건당 run 1회를 돌리는 지금 패턴에서 고정비가 지배한다.

배치화하면 90% 준다startUrls 가 원래 배열이라 actor 는 여러 개를 받게 설계돼 있는데 우리가 1개씩만 넣고 있다. 161 run → 1 run 이면 $3.22 + $0.32$0.02 + $0.32.

단 공짜가 아니다 — 결과↔입력 매핑, run-sync 90초 타임아웃(→async+폴링), 실패 단위, 부분 결과 판정. fetch(routed)fetchMany(routed[]) 구조 변경이다. 절감 $3.4/회 규모라 지금은 미룬다.

⑤ apidojo 전환이 막힌 지점

무료 플랜에서 API 호출 자체가 거부된다
ERROR  The developer of this actor doesn't allow the use of API in the Free Plan.
       Please subscribe to a paid plan on Apify if you want to use the API with this actor.

4회 실행 전부 SUCCEEDED 로 기록되지만 데이터는 0건이고 {"noResults": true} 가 10행 나온다. 과금은 정상적으로 됐다($0.012).

5-1. 그래서 확증하지 못한 것 — 필드 7개

README 의 출력 예시에는 아래가 없다(전문 검색 결과 createTime·slideshow·repost·isAd 언급 0회). 다만 README 는 마케팅 문서라 전체 필드를 다 싣지 않았을 수 있어 “없다”가 확정된 게 아니다 — API 가 막혀 실제 출력을 못 받았다.

잃을 수 있는 필드무엇심각도
authorMeta.createTime계정 개설일🔴 최악 — 코드 주석이 *“러그리스크 1순위 tell”*. TikTok 에서 계정 나이를 얻는 유일한 경로
isSlideshowphoto/video 구분🔴 코드 주석이 *“병합된 tiktok_video 안에서 photo/video 를 가르는 유일한 구분자”*
slideshowImageLinks슬라이드 이미지🔴 audit 이 채택 확정한 필드
authorMeta.bioLink프로필 외부 링크🔴
repostCount리포스트 수🟡
isAd / isSponsored광고 여부🟡
mentions / detailedMentions멘션🟡 실측 빈 배열이라 손실 작음
구조적 차이도 있다 — apidojo 는 항목 = 게시물이고 프로필이 channel 로 중첩된다. 즉 게시물이 0개인 계정은 항목 자체가 안 온다. clockworks 는 전용 프로필 응답이 있어 이 경우에도 데이터가 온다 — 신규 밈코인 계정은 게시물 0~1개가 흔해 실질 커버리지 손실이 될 수 있다.

5-2. 얻는 것

channel.verified 🆕 · channel.following 🆕 · subtitleInformation[](자막 상세, 기존 videoMeta.subtitleLinks 보다 풍부). 동등 매핑은 15개 — viewsplayCount, bookmarkscollectCount, song.idmusicMeta.musicId 등.

⑥ 이 조사에서 내가 틀렸던 것

기록으로 남긴다. 셋 다 실측을 먼저 보지 않고 필드명·단가만으로 계산한 데서 나왔다.

틀린 주장실제
minimalMaxTotalChargeUsdrun당 최소 과금으로 읽었다실제로는 지출 상한(maxTotalChargeUsd)으로 설정 가능한 최솟값이다. clockworks 의 값이 0.5 라 “run 당 $0.50 청구”로 계산했는데, 실행 이력은 4회 전부 $0.0047 이다. $0.50 이 청구된 적이 없다.
그 오해로 월 $659 · tiktok 이 97% 라고 했다실제는 월 $36.8 · reddit 이 66% 다. 자릿수가 틀렸고 주범도 틀렸다.
apidojo 절감액을 월 $0.75 · 회수 39개월 이라 했다실제 절감은 월 약 $5(tiktok $5.82 → $0.44). 다만 결론은 같다 — $29 구독료를 정당화하지 못한다.

⑦ 권고

우선항목근거
1아무것도 안 한다유료 게이트가 꺼져 있어 실지출 0. apidojo 절감액 월 ~$5 는 구독료 $29 를 정당화 못 함
2유료 fetch 를 켤 때 Starter 가입월 $36.8 → 티어 할인으로 $23.96, $29 크레딧 안에 들어온다. apidojo 때문이 아니라 reddit·instagram 을 켜려면 필요한 것
3그때 apidojo 1회 검증authorMeta.createTime 유무 확증 → 있으면 전환, 없으면 하이브리드(프로필=clockworks 소수 · 비디오=apidojo 다수) 검토
4reddit 물량이 늘면 배치화init 고정비 90% 절감. 단 fetchMany 구조 변경이 선행

⑧ 한계

항목상태
필드 손실 미확증API 차단으로 실제 출력을 못 받았다. 근거는 README 예시뿐
티어↔플랜 대응추정이다. API 가 명시하지 않는다
물량 가정샘플 8일 × 3.75 로 월 환산했다. 실제 발행량·수집 주기가 다르면 달라진다. 그리고 이 샘플 자체가 필터링된 것이라 전체 발행량이 아니다
단가 변동actor 개발자가 언제든 바꾼다. reddit 은 이미 *“Reducing the costs further after I made more optimisations”* 로 한 번 내렸다
apidojo 빈 결과 과금데이터 0건인데 $0.003 씩 나갔다. 차단 상태에서도 과금되는지는 의도인지 버그인지 모른다