Apify n8n 대안: 같은 워크플로, 청구서 두 장
n8n에서 Apify는 행 단위로, EveryInfra는 호출 단위로 과금합니다. 호출마다 전체 페이지를 받는 경우 EveryInfra의 1,000행당 비용이 29~360배 저렴합니다. 매일 소량만 실행하면 Apify 무료 크레딧으로 충당할 수 있습니다.

n8n 워크플로 하나를 문서상으로 설계하고 두 가지 방식으로 비용을 계산했습니다. 이 워크플로는 매일 아침 경쟁사 세 곳의 새 YouTube 동영상과 댓글, 그리고 이들 업체 매장의 새 Google Maps 리뷰를 가져옵니다. Apify n8n 노드를 쓰면 Store에 공개된 가격 기준으로 채널 동영상 1,000개당 $4.00, 댓글 1,000개당 $2.00, 지도 리뷰 1,000개당 $0.60입니다. 2026년 11월 4일, n8n HTTP Request 노드가 보내는 것과 같은 요청을 EveryInfra에 17번 보냈습니다. 실제 비용은 1,000행당 $0.0111, $0.0170, $0.0208이었습니다. 각각 360배, 118배, 29배 저렴합니다.
차이는 과금 단위에서 생깁니다. Apify Store 스크래퍼(Apify에서는 Actor라고 부릅니다)는 데이터셋에 들어가는 행마다 과금합니다. EveryInfra는 요청마다 과금하며, 요청 1건이 최대 50행 또는 100행을 반환합니다. 0행을 반환한 요청은 환불됩니다.
다만 이 배율은 고정값이 아닙니다. 매일 새 행만 가져오고 호출 1건에서 지도 리뷰가 1~2개만 반환되면 Apify가 더 저렴합니다. 또한 저희가 받은 최신 지도 리뷰는 10월 20일자였지만, Apify 리뷰 스크래퍼는 실행할 때마다 현재 공개된 페이지를 읽습니다. 측정한 요금 기준으로 채널 3개와 매장 3곳을 대상으로 하는 이 워크플로의 Apify 월 비용은 약 $0.43입니다. 첫 백필은 약 $3.28입니다. 둘 다 Apify Free 플랜의 월 $5 크레딧 안에 들어가므로 Apify에서 실제 결제액은 $0입니다.
시작하기 전에 한 가지 더 알려 드립니다. 이 글의 n8n 노드 설정은 모두 공식 문서를 바탕으로 한 설정 예시이며, n8n에서 직접 실행하지는 않았습니다. API 호출은 실제로 수행했고, 응답과 과금액은 원본 응답에서 가져왔습니다. 이 글에서는 노드 설정, 실제 호출, 일간 및 월간 비용, 그리고 Apify가 더 나은 경우를 다룹니다.
"1,000행당 가격"은 다음과 같이 정의합니다. 실제 과금된 금액을 고유 행 수(id 기준 중복 제거)로 나눈 뒤 1,000을 곱합니다. 이 값이 답하는 질문은 하나입니다. 데이터 서비스에 얼마를 내야 n8n으로 1,000행을 가져올 수 있는가입니다. n8n 비용은 양쪽이 같으므로 제외합니다. 셀프 호스팅 Community Edition은 무료입니다. n8n Cloud는 워크플로 실행 횟수로 과금하며, n8n 요금 페이지에 따르면 Starter는 연간 결제 시 월 20유로이고 실행 2,500회가 포함됩니다.
Apify는 공개 자료만 사용했습니다. Store 페이지, 요금 페이지, 문서, 그리고 계정 없이 쓸 수 있는 공개 Actor 메타데이터 엔드포인트(Get Actor 문서)입니다. 2026년 11월 4일 싱가포르 시간 02:10에 확인했습니다. Apify에 회원가입하거나 Actor를 실행하지는 않았습니다. 따라서 모든 Apify 수치는 실제 청구서가 아니라 정가에 행 수를 곱한 값입니다. 모든 EveryInfra 수치는 실제 호출 결과이며, 과금액은 응답의 billing.charged_usd에서 가져왔습니다.

요약 표: Apify n8n 노드와 EveryInfra로 보내는 HTTP Request의 1,000행당 비용 비교
결과는 아래 표와 같습니다. 데이터 유형마다 Apify 열에는 Store에서 사용자가 가장 많은 스크래퍼를 썼습니다. 채널 동영상은 최근 30일 사용자가 16,846명인 YouTube Scraper, 댓글은 사용자 3,798명인 YouTube Comments Scraper, 지도 리뷰는 사용자 9,277명인 Google Maps Reviews Scraper입니다.
단가는 공개 메타데이터의 pricingInfos 필드에서 읽었습니다. 예를 들어 YouTube Scraper 메타데이터에는 동영상 1개당 Free $0.004, Gold $0.0024로 나와 있습니다. 지도 리뷰 스크래퍼 메타데이터에는 리뷰 1개당 Free $0.0006와 실행당 시작 요금 $0.00005가 나와 있습니다. EveryInfra 가격은 무료 카탈로그의 price_usd에서 가져왔습니다. youtube/user_posts와 youtube/comments는 호출당 $0.000556입니다. google_maps_reviews/reviews는 호출당 $0.001389입니다.
| 데이터 | Apify 스크래퍼(Free 등급) | Apify 1,000행당 | EveryInfra 기능 | 실측: 호출 / 행 / 고유 행 / 과금액 | EveryInfra 1,000건당 가격 | 배율 |
|---|---|---|---|---|---|---|
| 채널 동영상 목록 | YouTube Scraper, 행당 $0.004 | $4.00 | youtube/user_posts | 2 / 100 / 100 / $0.001112 | $0.0111 | 360x |
| 채널 동영상 목록(저비용) | Fast YouTube Channel Scraper, 행당 $0.0013 | $1.30 | youtube/user_posts | same | $0.0111 | 117x |
| 동영상 댓글 | YouTube Comments Scraper, 행당 $0.002 | $2.00 | youtube/comments | 3 / 98 / 98 / $0.001668 | $0.0170 | 118x |
| Google Maps 리뷰 | Google Maps Reviews Scraper, 행당 $0.0006 + 시작 요금 $0.00005 | $0.60 | google_maps_reviews/reviews | 3 / 288 / 200 / $0.004167 | $0.0208 | 29x |
배율은 Apify 가격을 EveryInfra 가격으로 나눈 값입니다. 읽을 때 네 가지를 염두에 두시기 바랍니다. 첫째, Free는 Apify에서 가장 비싼 등급입니다. Business 플랜(월 $999)의 Gold 등급 가격은 Free의 약 45~60%입니다. 예를 들어 댓글은 $0.002에서 $0.0009로 내려갑니다. 배율은 절반 정도로 줄지만 여전히 10배를 넘습니다.
둘째, 지도 리뷰 행은 고유 행 200개를 기준으로 계산했습니다. 세 번째 요청에서는 since를 사용해 10월 1일 이후의 리뷰를 가져왔으며, 반환된 행 가운데 88개가 첫 페이지와 중복되었습니다. 해당 호출 비용도 포함했으므로 EveryInfra 가격은 실제보다 높게 잡힌 것이지 낮게 잡힌 것이 아닙니다. 첫 번째와 두 번째 페이지만 계산하면 1,000행당 가격은 $0.0139입니다.
셋째, 표는 데이터 요금만 비교합니다. n8n 실행 요금과 Apify 스토리지 작업 비용은 제외했습니다. Apify 문서에 따르면 실행 후 데이터셋을 읽거나 쓰는 작업은 추가 플랫폼 사용량으로 집계됩니다(Actors in Store).
넷째, 채널 동영상의 경우 양쪽이 반환하는 필드가 다릅니다. 이번 테스트에서 EveryInfra 동영상 목록의 좋아요 수와 댓글 수는 비어 있었습니다. 이 값을 얻으려면 동영상마다 youtube/video를 한 번씩 호출해야 합니다. Apify YouTube Scraper Store 페이지에는 좋아요 수, 조회수, 구독자 수를 한 번에 수집한다고 나와 있습니다.
테스트 방법과 판정 기준
글을 쓰기 전에 합격과 불합격 기준부터 정했습니다. 데이터 유형마다 실제 호출을 최소 2건, 서로 다른 세 시점 이상에 나눠 보내야 했습니다. 1,000행당 가격은 항상 고유 행 기준입니다. Apify 쪽은 계정 없이 공개 정가만 사용합니다. 어떤 경우든 Apify가 더 저렴하거나, 데이터가 더 최신이거나, 더 쉽다면 그대로 밝힙니다. 데이터를 반환하지 않은 호출도 과금액과 함께 최소 1건 기록해야 했습니다.
모든 API 호출은 POST https://api.everyinfra.com/api/v1/social로 보냈습니다. 분당 10회로 요청 속도가 제한된 테스트 API 키를 환경 변수에서 불러와 사용했습니다. n8n은 로컬에 설치하지 않았습니다. n8n 노드 설정은 n8n 문서를 바탕으로 구성 예시로 작성했습니다. HTTP Request 노드는 일반적인 HTTPS 요청을 보냅니다. 따라서 동일한 메서드, URL, 헤더와 요청 본문으로 curl 요청을 보냈으며, 그 응답이 바로 n8n이 받는 응답입니다.
| 사례 | 기능 및 파라미터 | 호출 수 | 시각(싱가포르 시간, 11월 4일) | 확인 항목 |
|---|---|---|---|---|
| 경쟁사 새 동영상 | youtube/user_posts, Starbucks, Tim Hortons, Dunkin'(핸들 2개), Costa; 최신순, limit 50; since 추가 | 7 | 02:05~02:13 | 호출당 행 수, since가 새 동영상만 반환하는지 여부, 빈 결과 과금 |
| 새 동영상의 댓글 | youtube/comments, 동영상 3개, 최신순, limit 100 | 3 | 02:09~02:12 | 동영상당 행 수, 답글 |
| 경쟁사 매장의 지도 리뷰 | google_maps_reviews/search로 매장 검색, google_maps_reviews/reviews로 2페이지 수집, since 테스트 2건 | 5 | 02:10~02:13 | 페이지 간 중복, 최신 리뷰 날짜 |
| 잘못된 파라미터 | 지도 검색에 keyword 대신 query 사용, 댓글 정렬을 latest로 설정 | 2 | 02:07, 02:14 | 오류 메시지와 과금액 |
총 17회의 API 호출을 수행했고 $0.008892를 지불했습니다. 이 중 10건은 과금되었고 7건은 무료였습니다. 하나의 스크립트가 원본 응답을 바탕으로 모든 수치를 계산합니다. 본문과 표, 차트는 모두 이 스크립트의 출력값을 사용합니다.
n8n Apify 노드란: 커뮤니티 노드, 두 가지 자격 증명 방식, 실행 후 가져오기
"apify n8n"을 검색하는 사람 중에는 n8n에 Apify 노드가 기본 포함되어 있다고 생각하는 경우가 많습니다. 그렇지 않습니다. Apify 팀이 @apify/n8n-nodes-apify라는 커뮤니티 노드를 npm에 배포합니다. 소스는 GitHub의 n8n-nodes-apify 저장소에 있습니다.
npm 레지스트리 기록을 보면 0.9.0 버전은 2026-10-22에 나왔습니다. 0.8.1은 2026-10-12, 0.8.0은 2026-09-22에 나왔습니다. 2~6주마다 한 번씩 릴리스되는 셈입니다.
Apify n8n 연동 문서에서는 두 가지 설치 방법을 안내합니다. 셀프 호스팅 n8n에서는 Settings > Community Nodes를 열고 Install을 선택한 뒤 패키지 이름을 입력합니다. n8n Cloud에서는 노드 패널에서 Apify를 검색하고 Install node를 선택합니다. 이 방법은 인스턴스 소유자가 관리자 패널에서 검증된 커뮤니티 노드를 켜 둔 경우에만 가능합니다.
자격 증명 방식도 두 가지입니다. Apify API 토큰은 양쪽 모두에서 작동합니다. OAuth2는 n8n Cloud에서만 작동합니다.

커뮤니티 노드에는 그 나름의 비용이 따릅니다. 커뮤니티 노드 위험에 관한 n8n 페이지는 이를 분명히 밝힙니다. 커뮤니티 노드는 n8n을 실행하는 머신에 대한 전체 접근 권한을 가집니다. 워크플로의 데이터를 읽을 수 있습니다. 새 버전이 기존 워크플로를 망가뜨릴 수 있습니다.
셀프 호스팅 n8n에서는 N8N_COMMUNITY_PACKAGES_ENABLED=false로 모든 커뮤니티 노드를 끌 수 있습니다. 많은 회사에서는 운영팀이 n8n을 관리하며, 새 서드파티 패키지를 쓰려면 승인이 필요합니다. 개인에게는 쉬운 단계지만, 팀에게는 승인 절차가 하나 더 생깁니다. HTTP Request와 MCP Client는 n8n 코어 노드이므로 따로 설치할 것이 없습니다.
n8n 자체의 메이저 릴리스도 지켜봐야 합니다. n8n 3.0은 2026-10-27에 출시되었으며 호환성을 깨는 변경 사항이 있습니다(n8n 3.0 breaking changes). GitHub 릴리스 페이지를 보면 3.1.0과 2.47.0 버전이 2026-11-03에 나왔습니다. 두 버전 모두 v3 노드 API와 커뮤니티 패키지 간 호환성 수정을 포함합니다. Apify 노드 패키지는 n8nNodesApiVersion: 1을 선언합니다. 3.x로 업그레이드하기 전에 이 노드를 쓰는 워크플로를 테스트 인스턴스에서 실행해 보세요.
설치하면 Apify 노드는 두 단계로 작동합니다. 연동 문서의 예시는 Run Actor 작업으로 시작합니다. Custom input(Actor의 JSON 입력), Timeout, Memory, Build Tag, Wait for finish를 설정합니다. 그다음 Get Dataset Items 작업을 추가합니다.
첫 단계에서 나온 defaultDatasetId를 Dataset ID에 넣으면 실행이 기록한 행을 받습니다. "Run an Actor and get dataset"을 한 단계로 쓸 수도 있습니다. 이 작업은 실행이 끝날 때까지 기다린 뒤 행을 반환합니다. On new Apify event 트리거는 실행이 Succeeded, Failed, Aborted, Timed Out 상태가 되면 워크플로를 시작합니다.
| Apify 노드 작업 | 동작 | 이 워크플로에서 사용 여부 |
|---|---|---|
| Run an Actor | Actor를 시작하며, 완료될 때까지 기다릴 수 있음 | 예, 스크래퍼마다 한 번 |
| Run an Actor and get dataset | 시작하고 기다린 뒤 데이터셋 행 반환 | 두 단계를 대체 가능 |
| Get dataset items | 데이터셋 ID로 행 가져오기 | 예 |
| Run task / Run task and get dataset | 고정 입력으로 저장된 태스크 실행 | 선택 |
| On new Apify event(트리거) | 실행이 끝나면 n8n 워크플로 시작 | 선택, Apify에서 실행을 예약할 때 |
| Web Fetch | URL 하나를 Markdown 등 여러 형식으로 가져옴, 0.8.0 이상 필요 | 아니요 |
커뮤니티 노드를 쓰고 싶지 않다면 HTTP Request 노드로 run-sync-get-dataset-items 엔드포인트를 호출하세요. 요청 하나로 Actor를 시작하고 행을 반환받습니다. r/n8n의 한 스레드는 스크래핑 실패를 다룹니다. 그 스레드에서 한 사용자는 네이티브 노드를 건너뛰고 이 동기 엔드포인트를 일반 HTTP 요청으로 호출하라고 조언했습니다(r/n8n 스레드). 이 엔드포인트에는 비용을 제어하는 파라미터가 두 개 있습니다.
maxItems는 결과당 과금 Actor가 과금할 수 있는 행 수의 상한입니다. maxTotalChargeUsd는 실행의 총 과금액 상한입니다. 문서에 따르면 maxItems는 반환되는 행 수가 아니라 과금되는 행 수만 제한합니다. n8n이 Apify를 일정에 따라 실행한다면 두 값을 모두 설정하세요.
플랜 제한 두 가지도 n8n 워크플로 구성 방식을 바꿉니다. Apify 요금 페이지에 따르면 Free는 동시 실행 5개와 RAM 16 GB, Starter는 동시 실행 32개와 RAM 64 GB입니다. n8n에서 동영상 30개를 반복하며 동영상마다 댓글 실행을 하나씩 시작한다고 가정해 보겠습니다. Free에서는 6번째 실행부터 대기열에서 기다려야 합니다. n8n 노드의 제한 시간이 짧으면 대기 중인 실행이 시작하기도 전에 시간 초과로 종료됩니다.
그러면 워크플로가 멈추고, 보고서 대신 오류 이메일을 받게 됩니다. 따라서 Apify에서는 반복문 대신 한 실행의 startUrls에 여러 URL을 넣으세요. 사용량 기반(pay-per-usage) Actor는 컴퓨트 유닛도 과금하며, Free와 Starter에서 유닛당 $0.2입니다. 이 글의 스크래퍼 세 개는 모두 이벤트당 과금(pay-per-event) 방식이라 보통 플랫폼 사용량이 포함되지만, 각 Pricing 탭을 확인하세요.
| Apify 플랜(요금 페이지, 2026년 11월 4일 확인) | 월 요금 | 컴퓨트 유닛 | 최대 동시 실행 수 | Actor RAM | Store 할인 등급 |
|---|---|---|---|---|---|
| Free | $0, 선불 사용량 $5 포함 | $0.2 | 5 | 16 GB | none |
| Starter | $19 + 종량제 | $0.2 | 32 | 64 GB | Bronze |
| Scale | $199 + 종량제 | $0.16 | 128 | 256 GB | Silver |
| Business | $999 + 종량제 | $0.13 | 256 | 512 GB | Gold |
기준 워크플로: 매일 아침 경쟁사 세 곳의 새 YouTube 동영상, 댓글, 지도 리뷰 수집
두 방식을 공정하게 비교하기 위해 워크플로 하나를 고정합니다. 커피 체인에서 마케팅을 담당한다고 가정해 보겠습니다. Starbucks, Tim Hortons, Dunkin'을 모니터링합니다. 매일 아침 8:00에 워크플로가 세 YouTube 채널에서 어제 이후 올라온 새 동영상을 가져옵니다.
최근 7일 동안 올라온 동영상의 최신 댓글을 가져옵니다. 브랜드마다 대표 매장 한 곳의 새 Google Maps 리뷰를 가져옵니다. 행을 Google Sheets의 스프레드시트 하나에 기록하고 Slack에 짧은 요약을 게시합니다. 두 방식에서 다른 것은 데이터 단계뿐입니다.
| 단계 | n8n 노드 | Apify 방식 | EveryInfra 방식 |
|---|---|---|---|
| 1 스케줄 | Schedule Trigger, 사용자 시간대 기준 매일 8:00 | 위와 같음 | 위와 같음 |
| 2 새 동영상 | Apify 노드 또는 HTTP Request | Run Actor(YouTube Scraper, 채널 3개, 날짜 필터) + Get dataset items | since를 넣어 youtube/user_posts 3회 호출 |
| 3 댓글 | Apify 노드 또는 HTTP Request, Loop Over Items 사용 | Run Actor(YouTube Comments Scraper, 여러 동영상 URL) | 새 동영상마다 since를 넣어 youtube/comments 1회 호출 |
| 4 지도 리뷰 | Apify 노드 또는 HTTP Request | Run Actor(Google Maps Reviews Scraper, 매장 3곳) | since를 넣어 google_maps_reviews/reviews 3회 호출 |
| 5 정리 | Remove Duplicates 또는 Code | 위와 같음 | 위와 같음 |
| 6 시트 및 알림 | Google Sheets, Slack | 위와 같음 | 위와 같음 |
Schedule Trigger 문서는 놓치기 쉬운 세부 사항 하나를 짚습니다. 이 노드는 워크플로 시간대를 쓰고, 없으면 인스턴스 시간대를 씁니다. 셀프 호스팅 인스턴스의 기본값은 뉴욕 시간입니다. n8n Cloud는 회원가입 시 소유자의 시간대를 감지하려 시도하고, 실패하면 GMT를 씁니다. 시카고에 있고 8:00에 보고서를 받고 싶다면 워크플로 시간대를 America/Chicago로 설정하세요. 이 문제는 양쪽 모두에 해당하며, since에 넣을 날짜도 이 설정으로 정해집니다.
Apify 쪽에서는 2~4단계에서 채널 세 개를 한 번의 실행에 넣거나 채널마다 실행을 하나씩 쓸 수 있습니다. 한 번의 실행은 작업이 적지만, 세 채널의 행이 데이터셋 하나를 공유하므로 5단계에서 나눠야 합니다. 채널마다 실행하면 실행마다 데이터셋이 따로 생겨 디버깅하기 쉽습니다. 하지만 그러면 지도 리뷰 스크래퍼가 시작 요금 $0.00005를 세 번 과금합니다. EveryInfra에는 실행도 데이터셋도 없습니다. 요청 하나가 쿼리 하나이고, results 배열이 응답에 들어 있으므로 다음 노드에서 바로 쓸 수 있습니다.
방법 1: Apify 노드 설정 예시
다음은 2단계 "새 동영상"의 Apify 노드 설정 예시입니다. 직접 실행하지는 않았습니다. 노드 필드는 Apify 연동 문서에서 가져왔습니다. Actor 입력 필드는 최신 YouTube Scraper 빌드의 공개 입력 정의에서 가져왔으며, startUrls, maxResults, oldestPostDate입니다.
마지막 필드는 "이 날짜 이후 게시된 동영상만 스크래핑"한다는 뜻입니다. 댓글 스크래퍼는 startUrls, maxComments, oldestCommentDate를 씁니다. 지도 리뷰 스크래퍼는 startUrls, maxReviews, reviewsSort, reviewsStartDate를 씁니다. 따라서 세 Actor 모두 EveryInfra의 since 파라미터처럼 날짜 기준으로 새 행만 가져올 수 있습니다.
{
"node": "Apify",
"resource": "Actor",
"operation": "Run an Actor and get dataset",
"credentials": "Apify API (token)",
"actor": "streamers/youtube-scraper",
"customBody": {
"startUrls": [
{ "url": "https://www.youtube.com/@Starbucks/videos" },
{ "url": "https://www.youtube.com/@TimHortons/videos" },
{ "url": "https://www.youtube.com/@dunkin/videos" }
],
"maxResults": 10,
"oldestPostDate": "{{ $now.minus({ days: 1 }).toFormat('yyyy-MM-dd') }}"
},
"timeout": 300,
"memory": 1024
}이 단계에서는 두 가지를 주의해야 합니다. 첫째는 비용입니다. 채널 동영상의 날짜 필터(oldestPostDate)는 YouTube Scraper 가격표에 "Date range for channels"라는 별도 추가 옵션으로 올라 있으며, Free 기준 $0.0013입니다. 메타데이터에는 무엇을 기준으로 세는지 나와 있지 않습니다. 저희 비용 모델에서는 동영상 1개당 한 번 과금하는 것으로 계산했습니다.
이 추정치는 실제보다 높거나 낮을 수 있으니 이에 의존하기 전에 Pricing 탭을 확인하세요. 둘째는 시간입니다. 실행하면 컨테이너가 시작되고 페이지가 열리며 결과가 데이터셋에 기록됩니다. Timeout이 실행 시간보다 짧으면 노드는 데이터를 받기 전에 종료됩니다. Apify를 직접 실행하지 않았으므로 소요 시간은 제시하지 않습니다.
방법 2: HTTP Request 노드로 구현하는 n8n용 Apify 대안
HTTP Request는 n8n 코어 노드입니다. 문서에 따르면 curl 명령을 가져올 수 있습니다. 자격 증명은 Generic Credential Type의 Bearer Auth 또는 Header Auth를 사용하세요. HTTP Request 자격 증명 문서에 따르면 Bearer Auth는 이름이 Authorization이고 값이 Bearer <token>인 헤더입니다.
EveryInfra 키는 노드 필드가 아니라 자격 증명에 보관하세요. 아래 curl 명령은 4단계 "지도 리뷰"입니다. 2026년 11월 4일 싱가포르 시간 02:13에 실제로 실행했습니다.
curl -s -X POST https://api.everyinfra.com/api/v1/social \
-H "Authorization: Bearer $EVERYINFRA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"platform": "google_maps_reviews",
"action": "reviews",
"params": {
"url": "https://www.google.com/maps/search/?api=1&query=Starbucks%20Reserve%20Roastery%20New%20York&query_place_id=ChIJIQDZbb9ZwokRNRez4RviXGQ",
"sort": "newest",
"since": "2026-10-01",
"limit": 100
}
}'n8n의 HTTP Request 노드에서 Import cURL에 붙여 넣으세요. 그런 다음 since를 {{ $now.minus({ days: 1 }).toFormat('yyyy-MM-dd') }} 같은 표현식으로 바꿉니다. 이제 노드는 어제 이후의 리뷰만 가져옵니다. 응답은 다음과 같습니다. 이번 호출의 원본 응답 중 일부이며, 리뷰 본문과 리뷰 작성자 이름은 제거했습니다.
{
"platform": "google_maps_reviews",
"action": "reviews",
"count": 88,
"results": [
{
"id": "…",
"rating": 5,
"posted_at": "2026-10-20T20:05:52.046000+00:00",
"reviewer_review_count": 11,
"is_local_guide": true,
"place_name": "Starbucks Reserve Roastery New York",
"platform": "google_maps_reviews"
}
],
"billing": { "charged": true, "charged_usd": 0.001389 }
}다음 노드에서 results에 Split Out을 적용해 리뷰마다 항목을 하나씩 만드세요. 그런 다음 항목을 Google Sheets에 기록합니다. 필드는 카탈로그의 response_fields와 일치합니다. 지도 리뷰에는 id, text, rating, posted_at, owner_response, owner_response_at, detailed_rating, image_urls, place_id, place_name 등 18개 필드가 있습니다(기능 페이지). YouTube 댓글에는 id, text, author_name, like_count, reply_count, posted_at, is_reply, reply_to_id, platform의 9개 필드가 있습니다(기능 페이지). 채널 동영상에는 title, view_count, duration, posted_at, description_links 등 25개 필드가 있습니다(기능 페이지).
노드 설정 두 가지를 권장합니다. 첫째, Options의 Timeout을 120초 이상으로 설정하세요. 가장 느린 Google Maps 검색은 76.3초가 걸렸습니다. 이번 테스트에서 가장 느린 youtube/user_posts 호출은 69.6초가 걸렸습니다. 둘째, 워크플로 하나에서 요청을 많이 보낸다면 Batching을 켜고 배치 사이에 몇 초씩 기다리세요. 그래야 API 키에 적용되는 분당 요청 속도 제한을 넘지 않습니다.
방법 3: MCP Client 노드에서 https://api.everyinfra.com/mcp 사용
현재 n8n에는 MCP 노드가 두 가지 있습니다. MCP Client 노드는 MCP 서버 도구를 일반 워크플로 단계로 사용합니다. Server Transport, MCP Endpoint URL, Authentication을 설정합니다. Authentication은 Bearer, 일반 헤더, 다중 헤더, OAuth2를 지원합니다.
그다음 Tool 목록에서 도구 하나를 고르고 Manual 또는 JSON 모드로 파라미터를 채웁니다. MCP Client Tool 노드는 AI Agent 노드에 연결됩니다. 그러면 모델이 호출할 도구를 고르며, Tools to Include로 모델이 볼 수 있는 도구를 제한합니다.
EveryInfra 원격 MCP 주소는 https://api.everyinfra.com/mcp입니다. 2026년 11월 4일 싱가포르 시간 02:13에 키 없이 tools/list를 보냈더니 도구 12개가 반환되었습니다. everyinfra_call_api는 데이터를 가져오고, everyinfra_list_capabilities는 기능 목록을 보여 주며, everyinfra_get_job은 오래 걸리는 작업의 결과를 가져옵니다.

{
"node": "MCP Client",
"serverTransport": "HTTP Streamable",
"endpointUrl": "https://api.everyinfra.com/mcp",
"authentication": "Bearer Auth (credential holds EVERYINFRA_API_KEY)",
"tool": "everyinfra_call_api",
"inputMode": "JSON",
"toolParameters": {
"platform": "youtube",
"action": "comments",
"params": { "url": "{{ $json.url }}", "sort": "newest", "since": "{{ $now.minus({ days: 1 }).toFormat('yyyy-MM-dd') }}" }
},
"options": { "timeout": 90000 }
}이것은 설정 예시입니다. Server Transport 목록의 옵션 이름은 n8n 버전에 따라 다릅니다. MCP 사양에서는 원격 전송 방식을 Streamable HTTP라고 부릅니다(MCP transports). n8n 일일 인기 급상승 보고서 가이드에서는 n8n 2.45.3에서 EveryInfra API를 대상으로 MCP Client 노드를 실행했으며, 스크린샷과 문제 해결 방법을 함께 담았습니다. 여기서는 반복하지 않습니다.
세 가지 중 고르는 방법은 다음과 같습니다. 워크플로가 고정되어 있고 각 호출을 정확히 안다면 HTTP Request를 쓰세요. 가장 명확하고, 디버깅할 때 요청과 응답을 하나하나 확인할 수 있습니다. n8n AI Agent가 플랫폼과 기능을 고르게 하려면 MCP Client Tool을 쓰세요. 그 중간으로 요청 본문을 덜 작성하고 싶다면 MCP Client를 쓰세요.
세 방법 모두 같은 API를 같은 가격으로 사용합니다. Apify도 mcp.apify.com에서 MCP 서버를 운영합니다(Apify MCP 문서). 같은 방식으로 MCP Client Tool에 연결할 수 있으며, Actor 가격으로 과금됩니다.
테스트 1: 경쟁사 새 동영상, 3개 채널 중 2곳에서만 데이터 수집
첫 번째 라운드는 2026년 11월 4일 싱가포르 시간 02:05에 시작했습니다. youtube/user_posts는 Starbucks 채널의 동영상 50개를 27.5초 만에 반환했고 $0.000556을 과금했습니다. Tim Hortons는 33.0초 만에 동영상 50개를 반환했고 역시 $0.000556이었습니다. 두 호출에서 중복 없이 100행을 받았으므로 1,000행당 $0.0111입니다.
YouTube Scraper Free 가격인 행당 $0.004로 계산하면 같은 100행에 $0.40가 들어 360배 비쌉니다. 더 저렴한 Fast YouTube Channel Scraper(행당 $0.0013)로도 100행에 $0.13가 들어 117배 비쌉니다. Apify YouTube Scraper 비교 글에서는 검색, 댓글, 동영상 상세 정보를 하나씩 테스트했습니다. 여기서는 예약 실행되는 n8n 워크플로 안에서 무엇이 달라지는지만 봅니다.
세 번째 경쟁사는 실패했습니다. 싱가포르 시간 02:06과 02:07에 @dunkin과 @DunkinDonuts 두 핸들을 시도했습니다. 둘 다 각각 44.4초와 69.6초 만에 0행을 반환했습니다. 응답에는 empty_result_refunded가 표시되었고 과금액은 $0였습니다. 이어서 싱가포르 시간 02:11에 Costa Coffee(@costacoffee)를 시도했습니다.
이 역시 과금 없이 0행을 반환했습니다. 원인은 확인하지 못했습니다. 핸들이 틀렸을 수도 있고, 채널이 주로 Shorts를 올리는 것일 수도 있습니다. 카탈로그에 따르면 youtube/user_posts는 일반 동영상만 나열하며, Shorts는 youtube/shorts로 가져와야 합니다.
n8n 사용자에게 주는 교훈은 간단합니다. 주소가 틀려도 워크플로는 실패하지 않고 빈 배열만 반환합니다. 따라서 5단계에 IF 노드를 추가하세요. 한 채널이 며칠 연속 0행을 반환하면 Slack에 알림을 보내 누군가 주소를 확인하게 하세요.
since 파라미터는 예상대로 작동했습니다. 싱가포르 시간 02:09에 Starbucks 채널을 대상으로 since: 2026-11-03을 지정해 요청했습니다. 해당 채널의 최신 동영상이 "3w ago"였기 때문에 과금 없이 0행이 반환되었습니다. 싱가포르 시간 02:13에는 Tim Hortons 채널을 대상으로 since: 2026-10-01을 지정해 요청했습니다. 2행이 반환되었고 $0.000556이 과금되었습니다.
하나는 2주 전 신제품 광고였습니다. 다른 하나는 조회수 88,000회인 1개월 전 트레이딩 카드 광고였습니다. 즉 이 두 대형 브랜드는 한 달에 일반 동영상을 한두 개만 올립니다. 대부분의 아침에 이 단계의 결과는 "호출 3건, 0행, $0"입니다.
주의할 필드가 하나 있습니다. 이번 테스트에서 posted_at은 날짜가 아니라 "3w ago"나 "2w ago" 같은 상대 시간 텍스트였습니다. 정확한 날짜가 필요하면 since로 필터링하거나 해당 동영상에 대해 youtube/video를 호출하세요.
| 호출(싱가포르 시간, 11월 4일) | 채널 | 파라미터 | 행 | 초 | 과금액 |
|---|---|---|---|---|---|
| 02:05 | Starbucks | 최신순, limit 50 | 50 | 27.5 | $0.000556 |
| 02:06 | @dunkin | 최신순, limit 50 | 0 | 44.4 | $0 |
| 02:07 | Tim Hortons | 최신순, limit 50 | 50 | 33.0 | $0.000556 |
| 02:07 | @DunkinDonuts | 최신순, limit 50 | 0 | 69.6 | $0 |
| 02:09 | Starbucks | since 2026-11-03 | 0 | 43.8 | $0 |
| 02:11 | @costacoffee | 최신순, limit 50 | 0 | 49.3 | $0 |
| 02:13 | Tim Hortons | since 2026-10-01 | 2 | 22.1 | $0.000556 |
테스트 2: 새 동영상의 댓글, 한 번의 호출로 몇 개를 받을까
싱가포르 시간 02:09부터 02:12까지 동영상 3개에 대해 각각 youtube/comments를 한 번씩 호출했습니다(정렬 newest, limit 100). Tim Hortons 트레이딩 카드 광고는 댓글 67개, Tim Hortons 제품 광고는 24개, Starbucks 새 동영상은 7개를 반환했습니다. 중복 없이 총 98개입니다.
이 중 11개는 답글로, is_reply가 true이고 reply_to_id가 상위 댓글을 가리킵니다. 과금액은 $0.001668, 1,000개당 $0.0170였습니다. 호출 시간은 각각 19.5초, 16.9초, 11.7초였습니다. YouTube Comments Scraper의 Free 가격인 행당 $0.002로 계산하면 같은 댓글 98개에 $0.196가 들며, 118배 비쌉니다.
이 배율은 조건에 따라 달라집니다. EveryInfra의 댓글 호출은 최대 100행을 반환합니다. 동영상의 댓글이 많을수록 EveryInfra의 행당 가격은 낮아집니다. Starbucks 동영상은 댓글이 7개뿐이었습니다.
이 호출의 과금액은 $0.000556, 댓글당 $0.0000794였고, Apify는 댓글당 $0.002를 과금합니다. 그래도 25배 차이입니다.
이 Apify 스크래퍼의 공개 가격에는 시작 요금이 없습니다. 다만 README에는 동영상을 볼 수 없거나 댓글이 없는 경우가 설명되어 있습니다. 이때 스크래퍼는 error 필드가 담긴 항목 하나를 데이터셋에 기록합니다. 이 항목이 과금되는지는 공개 문서에 나와 있지 않습니다. 직접 실행해 보지 않았으므로 추측하지 않겠습니다. EveryInfra에서는 0행을 반환한 호출이 환불되며, 응답에 empty_result_refunded가 표시됩니다.
격차는 댓글이 수십~수백 개인 인기 동영상에서 가장 큽니다. 한 번의 호출로 100행을 꽉 채워 받으면 Apify Free는 $0.20, EveryInfra는 $0.000556를 과금합니다. 카탈로그에 나온 youtube/comments의 선택 파라미터는 since와 sort 두 개뿐이며, 페이지 토큰은 없습니다. 따라서 댓글이 수천 개인 동영상은 EveryInfra 호출 한 번으로 전부 가져올 수 없습니다.
Apify에서는 maxComments를 훨씬 높게 설정할 수 있습니다. 이는 Apify의 분명한 강점입니다. 또한 카탈로그의 field_note에 따르면 다른 소스가 다운되었을 때 대체 소스는 댓글을 최대 40개까지만 반환합니다.
| 동영상 | 반환된 댓글 | 그중 답글 | 초 | 과금액 | 같은 행 수 기준 Apify Free |
|---|---|---|---|---|---|
| Tim Hortons 트레이딩 카드 광고 | 67 | 7 | 19.5 | $0.000556 | $0.134 |
| Tim Hortons 제품 광고 | 24 | 4 | 16.9 | $0.000556 | $0.048 |
| Starbucks 새 동영상 | 7 | 0 | 11.7 | $0.000556 | $0.014 |
| 합계 | 98 | 11 | $0.001668 | $0.196 |
테스트 3: Google Maps 리뷰는 페이지 간 중복이 없지만 최신 리뷰 날짜는 10월 20일
지도 리뷰를 가져오려면 먼저 매장 URL이 필요합니다. 싱가포르 시간 02:07에 보낸 첫 google_maps_reviews/search 호출에서는 실수로 query 파라미터를 사용했습니다. 결과는 HTTP 422였고 과금되지 않았습니다. 오류 메시지는 대신 keyword를 사용하라고 안내했습니다. 이 호출의 원본 응답은 저장하지 않았으므로 이 내용은 인용이 아니라 요약입니다.
keyword로 바꾼 싱가포르 시간 02:10 호출은 매장 1곳을 반환했고 $0.001389가 과금되었습니다. 61 9th Ave에 있는 Starbucks Reserve Roastery New York으로, 평점 4.4, 리뷰 7,957개였습니다. 이 결과의 url에는 query_place_id가 포함되어 있어 google_maps_reviews/reviews에 그대로 전달할 수 있습니다. 카탈로그도 이 방식을 권장합니다. 이름과 지도 위치만 있는 링크로는 매번 같은 매장을 찾지 못할 수 있기 때문입니다.
싱가포르 시간 02:12에 정렬 newest, limit 100으로 첫 페이지를 받았습니다. 9.4초 만에 리뷰 100개가 반환되었고 $0.001389가 과금되었습니다. 싱가포르 시간 02:13에는 이 응답의 next_page_token을 보내 두 번째 페이지를 받았습니다. 중복 없이 리뷰 100개가 더 반환되었고, 10.2초가 걸렸으며 $0.001389가 과금되었습니다.
두 페이지로 받은 200행은 1,000행당 $0.0139입니다. 첫 페이지와 겹친 이후의 since 호출까지 포함하면 고유 행 1,000개당 $0.0208입니다. 같은 200행에 Apify Google Maps Reviews Scraper의 Free 가격을 적용하면 200 × $0.0006 + $0.00005 = $0.12005입니다. 29배 비싸며, 두 페이지만 비교하면 43배입니다.
리뷰 200개 중 별점이 1~2점인 리뷰는 12개입니다. 89개는 별점만 있고 텍스트가 없습니다. 업주 답글이 있는 리뷰는 2개뿐입니다. 경쟁사 불만을 추적한다면 “텍스트 없음 89개”라는 숫자가 유용합니다. 시트에 기록하기 전에 텍스트가 빈 행을 걸러 내면 시트를 깔끔하게 유지할 수 있습니다.
아침 리포트에 필터로 쓰기 좋은 필드가 두 가지 더 있습니다. reviewer_review_count는 리뷰 작성자가 쓴 리뷰 수입니다. 첫 페이지의 첫 번째 작성자는 리뷰 11개를 썼고 Local Guide입니다. 리뷰가 한두 개뿐인 계정의 별점 1점 리뷰는 비중을 낮게 봐야 하므로 별도 열로 두세요.
owner_response를 보면 이 플래그십 매장은 Google Maps 리뷰에 거의 답글을 달지 않습니다. 경쟁사를 추적할 때 답글 속도는 좋은 주간 지표입니다. owner_response_at에서 posted_at을 빼면 구할 수 있습니다. Apify 지도 리뷰 스크래퍼에도 같은 종류의 필드(reviewerNumberOfReviews, responseFromOwnerText)가 있으므로 어느 쪽으로도 이 시트를 만들 수 있습니다.
Apify가 EveryInfra보다 나을 수 있는 점이 하나 있습니다. 첫 페이지의 최신 리뷰는 2026-10-20 20:05 UTC에 게시되었습니다. 그다음 리뷰는 2026-10-19와 2026-10-18 것이었고, 200개 중 가장 오래된 리뷰는 2021-08-06 것이었습니다. 싱가포르 시간 02:13에 since: 2026-11-03으로 호출하자 0행이 반환되었고 환불되었습니다.
싱가포르 시간 02:13에 since: 2026-10-01로 호출하자 88행이 반환되었는데, 최신 리뷰는 이번에도 10월 20일 것이었습니다. 리뷰가 7,957개인 이 매장은 10월 첫 20일 동안 새 리뷰 88개를 받았습니다. 10월 21일부터 11월 3일 사이에도 새 리뷰가 있었을 가능성이 매우 높지만, 이 리뷰들은 받지 못했습니다.
이 2주는 공개 페이지로 확인할 수 없으므로 관찰한 내용만 전합니다. 워크플로에서 “어제 리뷰를 오늘 아침까지” 받아야 한다면 먼저 며칠 동안 since를 테스트해 보세요. 최신 날짜가 제때 따라오는지 확인하세요. Apify 리뷰 스크래퍼는 실행할 때마다 실시간 페이지를 열기 때문에 최신 상태일 가능성이 더 높습니다. 또한 Apify Store 페이지에 따르면 날짜 필터는 “Newest” 정렬에서만 작동하며, 그렇지 않으면 실행이 일찍 중단됩니다(Google Maps Reviews Scraper).
| 지도 리뷰 200개 측정 결과 | 값 |
|---|---|
| 최신 리뷰 날짜 | 2026-10-20 |
| 가장 오래된 리뷰 날짜 | 2021-08-06 |
| 별점이 1~2점인 행 | 12 |
| 텍스트가 없는 행 | 89 |
| 업주 답글이 있는 행 | 2 |
| 첫 페이지와 두 번째 페이지 간 중복 | 0 |
since: 2026-10-01로 반환된 행 | 88 |
어느 쪽이 저렴한지는 호출당 행 수가 정한다: 손익분기점은 지도 리뷰 2개
모든 실제 호출을 반환 행 수와 과금액으로 그려 보면 패턴이 분명합니다. 데이터가 있는 호출은 반환 행이 2개든 100개든 정해진 고정 금액이 과금됩니다. 데이터가 없는 호출은 $0입니다.
호출당 과금과 행당 과금이 교차하는 지점은 계산할 수 있습니다. 지도 리뷰의 경우 Apify 실행 1회 비용은 0.0006 × 행 수 + 0.00005입니다. EveryInfra 호출 1회는 $0.001389입니다. 두 값은 약 2.23행에서 같아집니다. 따라서 호출 한 번에 새 리뷰가 1개라면 Apify는 $0.00065로, EveryInfra 가격의 절반 정도입니다.
리뷰 2개일 때 Apify는 $0.00125로 여전히 EveryInfra보다 저렴합니다. 리뷰 3개에서는 Apify가 $0.00185가 되어 EveryInfra가 더 저렴해집니다. YouTube 댓글의 경우 Apify는 시작 요금 없이 행당 $0.002를 과금합니다. 손익분기점은 0.28행이므로 댓글이 1개만 있어도 EveryInfra가 더 저렴합니다.
이 손익분기점은 매일 아침 새 행을 가져오는 워크플로에서 중요합니다. 이 플래그십 매장은 10월 1일부터 10월 20일까지 새 리뷰 88개, 하루 약 4.4개를 받았습니다. 매장당 하루 1회 호출하고 호출당 약 4행을 받는다면 EveryInfra가 Apify보다 약 2배 저렴합니다. Apify는 호출당 약 $0.00269, EveryInfra는 $0.001389입니다. 표에 나온 29배와는 거리가 있습니다.
새 리뷰가 하루 한두 개인 작은 동네 가게라면 호출당 비용은 Apify가 더 저렴합니다. 그러니 먼저 호출 한 번으로 몇 행을 수집할 수 있는지 확인하세요. 호출당 행 수가 많을수록 호출당 과금이 유리합니다. 호출당 한두 행뿐이라면 행당 과금이 낫습니다.
채널 동영상도 새 행만 가져오면 격차가 대부분 사라집니다. 싱가포르 시간 02:13에 since: 2026-10-01로 Tim Hortons를 호출하자 동영상 2개만 반환되었고 $0.000556가 과금되었습니다. 1,000개당 $0.278로, 50개를 꽉 채운 페이지의 $0.0111와는 다릅니다. Apify YouTube Scraper에서 날짜로 필터링하려면 결과당 $0.004에 날짜 필터 추가 요금 $0.0013를 더해 1,000개당 $5.30를 내야 합니다. 이 호출 기준으로 EveryInfra 가격의 약 19배입니다. 1,000개당 $1.30인 Fast Channel Scraper와 비교하면 약 4.7배에 그칩니다.
| 데이터 유형 | 전체 페이지, 1,000행당 | 새 행만(실측 호출) | 격차(전체 페이지) | 격차(새 행만) |
|---|---|---|---|---|
| 채널 동영상 | Apify $4.00, EveryInfra $0.0111 | 동영상 2개: Apify $5.30(날짜 필터 포함), EveryInfra $0.278 | 360x | 약 19배(Fast 대비 4.7배) |
| Google Maps 리뷰 | Apify $0.60, EveryInfra $0.0208 | 리뷰 약 4.4개: 호출당 Apify $0.00269, EveryInfra $0.001389 | 29x | 약 2배 |
| 동영상 댓글 | Apify $2.00, EveryInfra $0.0170 | 당일 새 동영상 수에 따라 다름 | 약 118배 | 0행: EveryInfra는 환불 |
아래에서 월간 격차가 약 2배로 줄어드는 이유가 이것입니다.
| 호출 1회당 행 수 | Apify 지도 리뷰(Free) | EveryInfra 지도 리뷰 | Apify YouTube 댓글(Free) | EveryInfra YouTube 댓글 |
|---|---|---|---|---|
| 0 | $0.00005 | $0 | $0 | $0 |
| 1 | $0.00065 | $0.001389 | $0.002 | $0.000556 |
| 2 | $0.00125 | $0.001389 | $0.004 | $0.000556 |
| 3 | $0.00185 | $0.001389 | $0.006 | $0.000556 |
| 10 | $0.00605 | $0.001389 | $0.020 | $0.000556 |
| 100 | $0.06005 | $0.001389 | $0.200 | $0.000556 |
Apify 노드에서 옮겨 오기: 필드 매핑과 중복 제거 키
이미 Apify 노드를 쓰고 있다면 가장 큰 걱정은 새 데이터 소스가 그 뒤에 이어진 Google Sheet와 Slack 메시지를 망가뜨리는 것입니다. n8n에서는 그 사이에 Set 또는 Code 노드 하나만 있으면 됩니다. EveryInfra의 필드 이름을 시트의 열 이름으로 바꾸면 이후 노드는 그대로 둘 수 있습니다. 아래 표는 댓글과 지도 리뷰의 주요 필드를 대응시킨 것입니다. Apify 필드 이름은 Store 페이지의 공개 샘플 출력에서 가져왔습니다(YouTube Comments Scraper, Google Maps Reviews Scraper).
EveryInfra 필드는 카탈로그의 response_fields에서 가져왔습니다. 두 서비스는 필드를 각자 설계했습니다. 이 표는 같은 역할을 하는 열끼리 대응시킨 것일 뿐, 필드가 동일하다는 뜻은 아닙니다.
| 필요한 열 | Apify 댓글 스크래퍼 | EveryInfra `youtube/comments` | Apify 지도 리뷰 스크래퍼 | EveryInfra `google_maps_reviews/reviews` |
|---|---|---|---|---|
| 중복 제거 키 | cid | id | reviewId | id |
| 텍스트 | comment | text | text | text |
| 시간 | 샘플에는 없음. Store 페이지에 따르면 게시 날짜를 수집함 | posted_at | publishedAtDate | posted_at |
| 추천 수 또는 평점 | voteCount | like_count | stars | rating |
| 답글 관계 또는 업주 답글 | replyToCid, replyCount | reply_to_id, reply_count | responseFromOwnerText | owner_response, owner_response_at |
| 작성자 | author, authorIsChannelOwner | author_name | reviewerNumberOfReviews, isLocalGuide | reviewer_review_count, is_local_guide |
전환하는 주에는 며칠 동안 두 서비스를 병렬로 실행하세요. 중복 제거 키로 결과를 비교하세요. 행 수는 가격 외의 이유로도 달라질 수 있습니다. 수집 범위와 정렬 순서도 영향을 줍니다.
Apify 댓글 스크래퍼는 maxComments를 높게 설정할 수 있지만, EveryInfra는 호출당 최대 100행을 반환합니다. 이번 테스트에서 EveryInfra의 최신 지도 리뷰는 10월 20일 것이었고, Apify의 실시간 실행은 더 최신일 수 있습니다. 며칠 지나면 어느 열이 얼마나 부족한지 알 수 있습니다. 그다음 모든 단계를 전환할지, 댓글만 전환할지, 두 서비스를 섞어 쓸지 정하면 됩니다.
지도 리뷰 단계는 나눠 쓰기 좋은 지점입니다. 하루 새 리뷰가 많은 매장은 EveryInfra의 호출당 과금 API를 쓰면 됩니다. 하루 한두 개인 작은 가게는 행당 과금인 Apify에 그대로 두면 됩니다. n8n에서는 IF 노드 하나로 매장별 일일 리뷰 수에 따라 경로를 나누고, 두 분기 모두 같은 시트에 기록합니다.
호출당 과금에서 가장 많이 놓치는 단계가 중복 제거입니다. 호출할 때마다 전체 페이지가 반환됩니다. since 없이 매일 최신 100개를 가져오면 같은 리뷰가 며칠 동안 반복해서 나오고 시트에 중복이 생깁니다. 행당 과금인 Apify도 같은 문제가 있으며, 다시 스크래핑한 리뷰에 또 과금합니다. 이번 테스트에서는 10월 1일 이후 리뷰 88개가 첫 페이지와 since 호출 양쪽에 모두 포함되었습니다.
그중 최신 리뷰는 2026-10-18, 2026-10-19, 2026-10-20 것이었습니다. n8n에서는 Remove Duplicates 노드로 실행 간 중복을 id 기준으로 제거할 수 있습니다. since와 함께 사용하면 실패한 날을 다시 실행해도 행이 두 번 추가되지 않습니다. 중복이 포함된 호출에도 $0.001389가 과금되었습니다. 따라서 since는 비용을 줄이고, 중복 제거 노드는 시트를 깔끔하게 유지합니다.
재시도 방식도 다릅니다. Apify 실행이 실패하면 Run Actor 노드가 FAILED 상태를 받고, 다시 실행할지는 n8n에서 결정합니다. EveryInfra API는 오류 코드와 retryable 필드를 반환합니다. 잘못된 sort 값에 대한 422 응답에는 retryable: false가 있었습니다. 첫 번째 next_steps 항목은 sort만 바꿔 다시 보내라고 안내했고, 과금은 없었습니다. 즉 수정 없이 재시도해서는 소용이 없습니다.
HTTP Request 노드 설정에는 Retry On Fail이 있으며, 재시도할 수 있는 오류에만 사용하면 됩니다. 두 방식 모두 안정적인 워크플로를 만들 수 있습니다. 차이는 오류가 어디에 나타나느냐입니다. Apify는 실행 상태에, EveryInfra는 각 응답에 나타납니다.
초기 백필과 이후 일간·월간 비용
워크플로를 운영에 올리면 보통 과거 데이터부터 백필합니다. 예를 들어 채널 3개에서 각각 최근 동영상 50개를 가져옵니다. 그중 동영상 30개의 댓글을 모두 가져옵니다. 매장 3곳에서 각각 리뷰 400개를 가져옵니다.
댓글은 측정한 수치를 사용합니다. 동영상 3개의 댓글은 67개, 24개, 7개로 평균 32.7개였습니다. 따라서 동영상 30개면 댓글은 약 980개입니다. 호출 한 번에 최대 100행을 반환하므로 동영상당 1회 호출로 모두 가져올 수 있습니다.
지도 리뷰는 카탈로그에서 페이지 한도를 확인하세요. google_maps_reviews/reviews에는 sync_max_rows: 200과 max_rows: 400이 표시됩니다. 동기 모드에서는 200행(2페이지)에서 페이지네이션이 멈춥니다. 400행을 모두 받으려면 요청에 mode: async를 추가하고 반환된 poll_url에서 결과를 읽으세요. 각 페이지는 여전히 요청 1건으로 계산되며 카탈로그 가격이 적용됩니다. 아래 표는 공개 정가와 EveryInfra 카탈로그 가격으로 계산한 추정치이며, 청구서가 아닙니다.
| 첫 백필(추정) | 행 | Apify Free 플랜 | EveryInfra 호출 수 | EveryInfra 카탈로그 가격 |
|---|---|---|---|---|
| 채널 동영상 | 150 | $0.60(YouTube Scraper) 또는 $0.195(Fast Channel Scraper) | 3 | $0.001668 |
| 동영상 댓글 | 980 | $1.96 | 30 | $0.01668 |
| 지도 리뷰 | 1,200 | $0.72015(시작 요금 3회 포함) | 12 | $0.016668 |
| 합계 | 2,330 | $3.28(Fast 스크래퍼 사용 시 $2.88) | 45 | $0.035016 |
Apify에서는 이 백필 비용이 $3.28입니다. Free 플랜의 월 $5 크레딧 이내이므로 첫 달에는 비용을 내지 않습니다. 다만 그달에 남는 크레딧은 약 $1.72뿐입니다. EveryInfra에서는 요청 45건에 $0.035이며, 월 요금도 무료 크레딧도 없습니다.
백필 이후에는 매일 새 행이 생깁니다. 모든 발생률은 측정값을 기준으로 계산했습니다. 10월 1일부터 11월 4일까지 34일 동안 채널 3개가 올린 새 동영상은 총 3개였습니다. Tim Hortons가 2개, Starbucks가 1개입니다. Dunkin'은 데이터를 받지 못했으므로 0으로 계산합니다.
새 동영상은 하루 약 0.09개입니다. 동영상 3개의 댓글은 총 98개로, 34일 기준 하루 약 2.9개입니다.
| 일일 발생률 | 측정 내용 | 기간 | 하루 평균 |
|---|---|---|---|
| 새 동영상(채널 3개) | 동영상 3개(Tim Hortons 2개, Starbucks 1개) | 10월 1일~11월 4일, 34일 | 약 0.09 |
| 해당 동영상의 댓글 | 댓글 98개(67 + 24 + 7) | 34일 | 약 2.9 |
| 새 리뷰(매장 3곳) | 플래그십 매장 리뷰 88개 | 10월 1일~10월 20일, 20일 | 4.4 × 3 = 13.2 |
매장 3곳의 새 지도 리뷰는 하루 약 13.2개(4.4 × 3)입니다. EveryInfra 쪽은 상한으로 계산합니다. 하루에 동영상 호출 3회, 댓글 호출 1회, 지도 리뷰 호출 3회이며, 모두 데이터가 있다고 가정합니다. 하루 $0.006391, 30일에 $0.19입니다. 대부분의 날에는 동영상 호출이 0행을 반환해 과금되지 않으므로 실제 금액은 더 낮습니다.
측정한 발생률 기준으로는 한 달에 데이터를 반환하는 동영상 호출이 2~3회뿐이고, 나머지는 환불됩니다. 30일에 약 $0.14입니다.
Apify에서는 새 행 수에 Free 플랜 요금을 적용하고 시작 요금 3회를 더하면 하루 약 $0.0143, 30일에 약 $0.43입니다.
| 일일 실행(추정) | 하루 새 행 수 | Apify Free 플랜 일일 비용 | EveryInfra 일일 비용 상한 |
|---|---|---|---|
| 새 채널 동영상 | 0.09 | $0.00047(날짜 필터 추가 요금 포함) | $0.001668(호출 3회, 0행이면 환불) |
| 새 동영상의 댓글 | 2.9 | $0.0058 | $0.000556(호출 1회) |
| 새 지도 리뷰 | 13.2 | $0.00807(시작 요금 3회 포함) | $0.004167(호출 3회) |
| 합계 / 30일 | $0.0143 / $0.43 | $0.006391 / $0.19 |
이 차트는 Apify에 유리한 점을 보여 줍니다. 이 규모의 일일 워크플로에 드는 Apify 비용은 월 약 $0.43입니다. 이 비용은 Free 플랜이 매달 제공하는 $5 상당의 선불 사용량 이내입니다(Apify pricing). 따라서 이 워크플로만 실행한다면 Apify에는 비용을 전혀 내지 않고, EveryInfra에는 월 $0.14~$0.19를 냅니다.
1,000행당으로는 EveryInfra가 수십 배 저렴합니다. 하지만 이 규모에서 실제 지출은 Apify가 $0, EveryInfra가 몇 센트입니다. 격차가 실제 비용 차이로 이어지는 것은 무료 크레딧을 초과한 뒤부터입니다.
다음 섹션에서 그 한도가 어디인지 살펴봅니다. 요금 페이지에 따르면 Free 플랜은 크레딧을 다 쓰면 다음 월간 주기까지 이용이 중단됩니다. Starter는 월 $19부터입니다. EveryInfra는 월 요금도, 만료되는 월간 크레딧도 없습니다. 실행한 호출만큼만 비용을 냅니다.
규모를 10배로 키우면 무료 크레딧은 어디서 바닥날까
많은 팀은 경쟁사 3곳에서 멈추지 않습니다. 일일 워크플로를 10배로 키워 채널 30개, 매장 30곳으로 늘려 보겠습니다. 앞서 측정한 발생률을 적용하면 하루에 새 동영상 약 0.9개, 새 댓글 29개, 새 지도 리뷰 132개입니다. Free 플랜 요금을 적용하면 Apify 비용은 하루 약 $0.143, 30일에 $4.29입니다. 여전히 $5 무료 크레딧 이내이지만 한도에 가깝습니다.
Bronze 요금(Starter 플랜, 월 $19)을 적용하면 같은 사용량의 비용은 약 $3.23이므로, 이 규모에서는 Starter가 필요 없습니다. EveryInfra의 상한은 하루 동영상 호출 30회, 댓글 호출 10회, 지도 리뷰 호출 30회입니다. 하루 $0.06391, 30일에 $1.92이며 월 요금은 없습니다. 측정한 발생률을 적용하고 빈 호출 환불까지 반영하면 약 $1.43입니다.
이제 무료 크레딧이 바닥나는 지점을 계산할 수 있습니다. 일일 새 행의 기준 규모(1배)가 추가될 때마다 Apify 월 비용은 $0.429씩 늘어납니다. $5 ÷ $0.429는 약 11.7입니다. 따라서 일일 새 행만 따지면 채널이 약 35개, 매장이 약 35곳일 때 Apify 비용이 월 $5를 넘습니다.
보통은 백필이 크레딧을 먼저 소진합니다. 같은 행 수로 채널 30개, 매장 30곳을 백필하면 Apify Free에서는 약 $32.80, EveryInfra에서는 요청 450건에 $0.35가 듭니다. 댓글이 수백 개인 인기 동영상도 크레딧을 빠르게 소진합니다. 무료 크레딧을 초과하면 다음 달까지 Free 플랜 이용이 중단됩니다. 그때 비로소 $19 Starter 요금과 EveryInfra의 호출당 요금을 비교하게 됩니다.
| 규모 | Apify Free, 일일 새 행 월 비용 | Apify Free, 백필 1회 | EveryInfra, 월(최대) | EveryInfra, 백필 1회 |
|---|---|---|---|---|
| 채널 3개, 매장 3곳 | $0.43 | $3.28 | $0.19 | $0.035 |
| 채널 30개, 매장 30곳 | $4.29 | $32.80 | $1.92 | $0.35 |
| 채널 약 35개, 매장 약 35곳 | 약 $5.00, Free 한도 | 약 $38 | 약 $2.24 | 약 $0.41 |
| 일일 실행(추정) | 채널 3개, 매장 3곳 | 채널 30개, 매장 30곳 |
|---|---|---|
| Apify, Free 플랜 요금 | 월 $0.43, 무료 크레딧 이내, 실제 지출 $0 | 월 $4.29, 무료 크레딧 이내, 실제 지출 $0 |
| Apify, Starter(Bronze 요금) | 필요 없음 | 필요 없음(Bronze 요금 기준 약 $3.23) |
| EveryInfra, 상한 | 월 $0.19 | 월 $1.92 |
이 규모 확장에는 두 가지 조건이 있습니다. 첫째, 댓글은 측정한 동영상 3개(34일간 댓글 98개)를 기준으로 했습니다. 인기 채널은 동영상 하나에 며칠 만에 댓글 수천 개가 달릴 수 있습니다. 그러면 Apify 비용은 행마다 늘어납니다. EveryInfra는 페이지 토큰 없이 호출당 최대 100행을 반환하므로 Apify보다 적은 행을 가져옵니다.
EveryInfra의 가격이 더 낮은 이유 중 하나는 수집하는 데이터가 더 적기 때문입니다. 따라서 가격과 수집 범위를 함께 보세요. 둘째, 매장당 하루 지도 리뷰 4.4개를 가정했는데, 이는 플래그십 매장에서 측정한 발생률입니다. 일반 매장은 보통 이보다 적습니다. 매장 규모가 작을수록 호출당 행 수가 손익분기점인 2.23행에 가까워지고, EveryInfra의 가격 우위도 줄어듭니다. 대규모로 운영할 때 가장 안전한 방법은 자체 데이터를 1주일 동안 직접 측정하는 것입니다.
호출당 평균 행 수를 구한 다음, 손익분기점을 기준으로 단계마다 어느 쪽을 쓸지 정하세요.
실패, 빈 결과, 잘못된 파라미터: 과금될까?
| 사례 | 이번 테스트에서 확인한 내용 | EveryInfra 과금액 | Apify 공개 규정 |
|---|---|---|---|
| 0행 반환 | 호출 5회(Dunkin' 핸들 2개, Costa, 늦은 since 날짜 2개) | $0, 응답에 empty_result_refunded 표시 | 행당 과금 Actor는 행이 없으면 행 요금을 과금하지 않음. 시작 요금이 있는 Actor는 시작 요금은 과금함 |
| 잘못된 파라미터 | 호출 2회(keyword 대신 query, sort를 latest로 설정) | $0, 유효한 파라미터와 예시가 포함된 HTTP 422 응답 | Actor가 입력을 검사함. 실패한 실행은 Actor별 규칙을 따름 |
| 동영상 이용 불가 또는 댓글 없음 | 이번 테스트에서는 확인하지 못함 | 0행이면 $0 | YouTube Comments Scraper가 error 필드가 담긴 오류 항목을 데이터셋에 기록함 |
| 지출 한도 | 필요 없음, 호출당 고정 가격 | — | maxItems와 maxTotalChargeUsd로 한도 설정 |
두 서비스 모두 “데이터가 없으면 데이터 요금도 없다”를 원칙으로 하지만, 세부 사항은 다릅니다. EveryInfra에서는 호출이 고정 가격으로 과금되거나, 0행을 반환하면 전액 환불됩니다. 응답의 billing.charged_usd로 과금액을 확인할 수 있습니다. n8n에서는 5단계에서 이 값을 시트 열에 추가하고 월말에 합계를 확인하면 됩니다.
Apify에서는 실행 상세 페이지와 콘솔의 Historical usage에서 실행별 비용을 확인할 수 있습니다(Actors in Store). n8n에서 이 값을 받으려면 Get run을 한 번 더 호출해야 합니다. 댓글 스크래퍼의 오류 항목이 행으로 과금되는지는 공개 자료에 나와 있지 않습니다. 직접 실행해 보지 않았으므로 단정하지 않겠습니다.
Apify가 더 나은 선택인 경우
다음과 같은 경우에는 Apify n8n 노드가 더 적합합니다. 첫째, 원하는 플랫폼이 EveryInfra 카탈로그에 없는 경우입니다. Apify Store에는 다양한 롱테일 사이트를 위한 Actor가 수천 개 있습니다. EveryInfra 카탈로그에는 106개 플랫폼과 573개 기능이 있으며, 이는 everyinfra_list_capabilities 도구 설명에 나온 숫자입니다. 먼저 무료 카탈로그에서 해당 플랫폼을 검색합니다. 카탈로그에 없다면 Apify를 사용합니다.
둘째, 호출마다 새 행이 한두 개뿐인 경우입니다. 앞에서 본 것처럼 지도 리뷰는 호출당 약 2.23행 미만이면 Apify가 더 저렴합니다. 워크플로가 매시간 실행되고 실행할 때마다 0~2행을 찾는다면 행당 과금이 더 저렴합니다. 셋째, 사용 규모가 무료 크레딧 안에 들어가는 경우입니다.
이 일일 워크플로만 놓고 보면 Apify에서 월 약 $0.43입니다. $3.28 백필을 더해도 Free 플랜의 $5 크레딧 안에 들어가므로 실제 지출은 $0입니다. 10배 규모의 일일 실행($4.29)도 이 크레딧 안에 들어갑니다. 이미 Apify 계정이 있다면 이 규모에서는 전환해도 비용이 줄지 않습니다. EveryInfra에서는 월 몇 센트에서 약 $2가 듭니다. 향후 사용량 증가에 대비하거나 호출당 비용을 고정하고 싶을 때는 전환할 이유가 있습니다.
넷째, EveryInfra가 반환한 것보다 더 최신 데이터가 필요한 경우입니다. 이번 테스트에서 최신 지도 리뷰는 10월 20일 것이었습니다. “오늘 리뷰를 오늘” 받아야 한다면 며칠 동안 since를 테스트합니다. 최신 리뷰를 제때 가져오지 못한다면 실시간 Apify 실행을 사용합니다. 다섯째, 한 행에 더 많은 필드가 필요한 경우입니다.
이번 테스트에서 EveryInfra의 채널 동영상 목록은 좋아요 수와 댓글 수가 비어 있었으므로 동영상마다 youtube/video를 호출해야 합니다. Apify YouTube Scraper는 이 값을 결과 하나에 포함합니다. 카탈로그 가격으로 동영상당 상세 호출은 $0.000556이므로 새 동영상 30개에 $0.01668입니다. 여전히 Apify보다 저렴합니다. 하지만 워크플로에 루프 노드가 추가되고, 기다려야 할 호출도 30회 늘어납니다.
단순한 시트를 원한다면 모든 필드를 한 번에 가져오는 Apify 단계 하나가 더 간편하며, 그 간편함도 가치가 있습니다.
여섯째, 동영상 하나에 댓글이 수천 개 있고 그 전부가 필요한 경우입니다. EveryInfra의 댓글 호출은 페이지 토큰이 없고 최대 100행을 반환합니다. Apify의 maxComments는 훨씬 높게 설정할 수 있습니다. 일곱째, 실행 예약은 Apify에 맡기고 결과는 n8n에서 받고 싶은 경우입니다.
On new Apify event 트리거는 Actor 실행이 끝나면 n8n 워크플로를 시작합니다. 몇 시간씩 걸리는 대규모 작업에 적합합니다. EveryInfra에서 오래 걸리는 작업은 mode: async로 job_id를 받은 뒤 GET /api/v1/jobs/{job_id}를 폴링합니다. n8n에서는 Wait 노드와 루프로 이를 구성합니다.
반대로 EveryInfra가 더 나은 선택인 경우도 있습니다. 댓글, 지도 리뷰 페이지, 채널 목록처럼 호출 한 번으로 수십~수백 행을 수집할 수 있는 경우입니다. 커뮤니티 노드를 쓰고 싶지 않은 경우입니다. 같은 요청 안에서 결과를 받고 싶은 경우입니다.
또는 Claude, Cursor 등 다른 도구에서도 쓸 수 있는 키 하나와 MCP 주소 하나를 원하는 경우입니다. Apify 대안 총정리와 Apify 요금 해설에 플랫폼별 가격 격차와 Apify 과금 모델을 정리해 두었습니다. 전체 그림을 먼저 파악하려면 두 글부터 읽는 것이 좋습니다.
공식 API 비교: YouTube Data API와 Places API
“apify alternative n8n”을 검색하는 사람들은 공식 API도 함께 살펴보는 경우가 많습니다. n8n에는 기본 제공 YouTube 노드가 있지만, 공식 API에는 할당량이 있습니다. YouTube Data API 할당량 문서에 따르면 프로젝트당 기본 할당량은 하루 10,000유닛입니다. commentThreads.list는 호출당 1유닛이고 최대 100행을 반환하므로 댓글 수집에는 저렴합니다. 개정 이력에 따르면 YouTube는 2026년 6월 1일부터 메서드별로 더 작은 할당량 그룹으로 전환합니다.
지도는 격차가 더 큽니다. Places API의 장소 세부정보는 리뷰를 최대 5개까지만 반환합니다. 레거시 Place Details 문서에도 “up to five reviews”(최대 5개 리뷰)라고 적혀 있습니다. 이 방법으로는 매장의 리뷰 이력을 가져올 수 없습니다. 따라서 “매일 경쟁사의 새 리뷰 확인”에는 스크래핑 서비스가 필요합니다.
| 옵션 | YouTube 동영상 및 댓글 | Google Maps 리뷰 | 필요 사항 | n8n에서 |
|---|---|---|---|---|
| 공식 API | 기본 하루 10,000유닛, 댓글은 최대 100행에 1유닛 | 장소당 최대 5개 | Google Cloud 프로젝트, API 키 또는 OAuth | 기본 제공 YouTube 노드, 지도는 HTTP Request 사용 |
| Apify 노드 | 행당 과금, Free 플랜 기준 $0.002~$0.004 | 행당 $0.0006 + 실행 시작당 $0.00005 | Apify 계정과 토큰, 커뮤니티 노드 | 커뮤니티 노드, 2단계 또는 1단계 |
| EveryInfra | 호출당 $0.000556, 최대 50행 또는 100행 | 호출당 $0.001389, 최대 100행, 페이지네이션 지원 | EveryInfra 키 | 기본 제공 HTTP Request 또는 MCP Client |
자사 채널만 모니터링하고 댓글 양도 적다면 공식 API가 무료이고 안정적입니다. 가장 먼저 고려할 선택지입니다. 경쟁사 지도 리뷰를 보려면 리뷰 5개 제한은 너무 적습니다. 이때는 Apify와 저희 같은 서비스 중에서 고르게 됩니다.
최근 변경 사항
2026년 10월 22일, Apify가 n8n 노드 0.9.0 버전을 출시했습니다. 그에 앞서 2026년 10월 12일에 0.8.1이 나왔고, 2026년 9월 22일에 나온 0.8.0에서는 Web Fetch가 추가되었습니다(npm 레지스트리). 사용자에게 미치는 영향: 커뮤니티 노드는 자주 바뀝니다. 워크플로에서 버전을 고정하고, 업그레이드 전에 테스트해야 합니다.
2026년 10월 27일, n8n이 호환성을 깨는 변경 사항과 마이그레이션 도구를 포함한 메이저 버전 3.0을 출시했습니다(릴리스 노트). 사용자에게 미치는 영향: 셀프 호스팅 사용자는 업그레이드 전에 커뮤니티 노드를 확인해야 합니다. HTTP Request와 MCP Client는 코어 노드이므로 n8n과 함께 업그레이드됩니다.
2026년 11월 3일, n8n이 3.1.0과 2.47.0을 동시에 출시했습니다. 수정 사항에는 새 노드 API와의 커뮤니티 패키지 호환성 개선이 포함됩니다(GitHub 릴리스). 사용자에게 미치는 영향: 2.x 사용자는 당분간 유지 관리되는 브랜치를 쓸 수 있으므로 서둘러 3.x로 옮길 필요가 없습니다.
메타데이터의 startedAt에 따르면 Apify YouTube Scraper는 2026년 9월 2일부터 현재 가격표를 적용했습니다. 사용자에게 미치는 영향: Store 가격은 바뀝니다. 공개 메타데이터를 한 달에 한 번 확인하거나, 실행마다 maxTotalChargeUsd를 설정해야 합니다. 2026년 6월 1일부터 YouTube Data API는 메서드 그룹별로 할당량을 나누기 시작했습니다. 사용자에게 미치는 영향: 공식 API를 쓰는 워크플로는 메서드별로 더 많은 할당량을 신청해야 합니다.
| 날짜 | 변경 사항 | n8n 워크플로에 미치는 영향 |
|---|---|---|
| 2026-11-03 | n8n 3.1.0 및 2.47.0 | v3 노드 API와의 커뮤니티 패키지 호환성 수정, 2.x도 계속 유지 관리 |
| 2026-10-27 | n8n 3.0 | 호환성을 깨는 변경 사항, 업그레이드 전 커뮤니티 노드 테스트 필요 |
| 2026-10-22 | Apify n8n 노드 0.9.0 | 프로덕션에서는 노드 버전 고정 |
| 2026-10-12 | Apify n8n 노드 0.8.1 | 몇 주마다 새 릴리스 |
| 2026-09-02 | YouTube Scraper 가격표 | Store 가격은 변동, 실행마다 상한 설정 |
| 2026-06-01 | 메서드별 YouTube Data API 할당량 | 공식 API 할당량 신청 방식 변경 |
FAQ
Apify n8n 커뮤니티 노드는 n8n 공식 노드인가요?
n8n에 기본 내장된 노드는 아닙니다. Apify 팀이 @apify/n8n-nodes-apify라는 이름의 커뮤니티 노드로 관리합니다. n8n Cloud에서는 노드 패널에 검증된 커뮤니티 노드로 표시됩니다(Apify n8n 문서). 셀프 호스팅 n8n에서는 Settings > Community Nodes에서 설치합니다. n8n의 위험 고지에 따르면 커뮤니티 노드는 머신 전체에 접근할 수 있습니다. 질문 출처: 검색 추천어 “apify n8n community node”.
Apify n8n 연동에는 어떤 자격 증명이 필요한가요?
Apify 노드에는 셀프 호스팅과 Cloud 모두에서 쓸 수 있는 Apify API 토큰이나, Cloud에서만 쓸 수 있는 OAuth2가 필요합니다. EveryInfra로 HTTP Request를 보낼 때는 n8n에서 EveryInfra 키로 Bearer Auth 자격 증명 하나만 만들면 됩니다. MCP Client 노드도 Bearer를 지원합니다.
n8n Apify 노드와 Apify로 보내는 HTTP Request는 어떻게 다른가요?
하는 일은 거의 같습니다. 노드는 Run Actor, Get dataset items 등의 작업을 감싸서 제공합니다. HTTP Request로는 run-sync-get-dataset-items를 호출해 한 단계에서 행을 받을 수 있습니다. 한 r/n8n 사용자는 네이티브 노드에 문제가 있을 때 HTTP 방식을 권했습니다(스레드). 두 방식 모두 Actor 가격으로 과금됩니다.
Apify n8n 템플릿의 월 비용은 얼마인가요?
템플릿이 아니라 행 수에 따라 달라집니다. 이 글의 일일 워크플로를 측정한 단가로 계산하면 Apify 비용은 월 약 $0.43입니다. 이 금액은 Free 플랜의 $5 크레딧 안에 들어가므로 실제로 지불하는 금액은 없습니다. 같은 데이터를 EveryInfra로 받으면 많아야 약 $0.19입니다. 행당 비용 차이는 처음 2,330행을 백필할 때 가장 큽니다. Apify는 약 $3.28, EveryInfra는 약 $0.035입니다. 이 Apify 금액도 무료 크레딧 안에 들어갑니다.
Apify Free와 유료 플랜의 단가는 얼마나 차이 나나요?
유료 등급일수록 행당 단가가 낮습니다. 이 글에서 다룬 스크래퍼 3개 기준으로 Gold(Business 플랜)는 Free의 약 45%~60% 수준입니다. 예를 들어 댓글은 행당 $0.002에서 $0.0009로 내려갑니다. 한 r/n8n 게시물은 X 게시 워크플로를 공유합니다. 작성자는 한 Actor의 1,000건당 가격이 Free와 Starter 사이에서 크게 다르다고도 언급했습니다(스레드).
n8n AI Agent가 플랫폼을 스스로 고를 수 있나요?
가능합니다. AI Agent에 MCP Client Tool 노드를 연결하고 주소를 https://api.everyinfra.com/mcp로 설정합니다. 모델은 everyinfra_list_capabilities로 기능을 찾고 everyinfra_call_api로 데이터를 가져옵니다. Tools to Include 설정으로 이 두 도구만 노출할 수 있습니다. Apify MCP 서버도 같은 방식으로 연결할 수 있으며 Actor 가격으로 과금됩니다.
시작하기
- 콘솔에서 회원가입하고 키를 발급받습니다. n8n에서 Bearer Auth 자격 증명을 만듭니다.
- 무료 카탈로그에서 기능과 파라미터를 확인합니다. YouTube 데이터 API와 Google Maps 리뷰 API도 확인합니다.
- 이 글의 curl 명령을 HTTP Request 노드의 Import cURL에 붙여 넣습니다.
since는 어제 날짜를 계산하는 표현식으로 바꿉니다. - 먼저 한 번 수동으로 실행합니다.
count와billing.charged_usd를 확인한 뒤 Schedule Trigger를 켭니다.
먼저 브라우저에서 시험해 보려면 데이터 마켓의 플레이그라운드를 이용합니다. 가격은 요금 페이지에, 원격 MCP 설정은 MCP 페이지에 있습니다. 지도 리뷰 수집의 전체 과정은 Google Maps 리뷰를 스크래핑하는 방법에서 확인할 수 있습니다. Apify 지도 스크래퍼와의 비교는 Apify Google Maps Scraper 대안에서 확인할 수 있습니다. 다른 플랫폼은 Apify TikTok Scraper 대안, Apify Amazon Scraper 대안, 대안 총정리에서 다룹니다.
참고 자료
아래 링크는 모두 2026년 11월 4일 02:05~02:30(싱가포르 시간)에 curl 또는 페이지 리더로 열어 확인했습니다. npmjs.com 패키지 페이지는 스크립트 요청에 403을 반환해, 공식 npm 레지스트리 메타데이터 엔드포인트를 대신 사용했습니다.
- “n8n integration”, Apify Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.apify.com/platform/integrations/n8n>
- “Apify MCP server”, Apify Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.apify.com/platform/integrations/mcp>
- “Run Actor synchronously and get dataset items”, Apify API Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.apify.com/api/v2/act-run-sync-get-dataset-items-post>
- “Actors in Store”, Apify Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.apify.com/platform/actors/running/actors-in-store>
- “Usage and resources”, Apify Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.apify.com/platform/actors/running/usage-and-resources>
- “Dataset”, Apify Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.apify.com/platform/storage/dataset>
- “Webhooks”, Apify Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.apify.com/platform/integrations/webhooks>
- “Run Actor”, Apify API Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.apify.com/api/v2/act-runs-post>
- “Get Actor”, Apify API Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.apify.com/api/v2/act-get>
- “Limits”, Apify Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.apify.com/platform/limits>
- “Pay per event”, Apify Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.apify.com/platform/actors/publishing/monetize/pay-per-event>
- “HTTP Request”, n8n Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest>
- “HTTP Request credentials”, n8n Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.n8n.io/integrations/builtin/credentials/httprequest>
- “MCP Client Tool”, n8n Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolmcp>
- “MCP Client”, n8n Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.mcpclient>
- “Schedule Trigger”, n8n Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger>
- “Community nodes: Risks”, n8n Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.n8n.io/integrations/community-nodes/risks>
- “Install verified community nodes”, n8n Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.n8n.io/integrations/community-nodes/installation-and-management/install-verified-community-nodes>
- “Release notes”, n8n Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.n8n.io/release-notes>
- “Google Sheets node”, n8n Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets>
- “Slack node”, n8n Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.slack>
- “Loop Over Items”, n8n Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches>
- “Code”, n8n Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code>
- “Remove Duplicates”, n8n Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.removeduplicates>
- “n8n 3.0 breaking changes”, n8n Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.n8n.io/changelog/v30-breaking-changes>
- “Install with npm”, n8n Docs, 2026년 11월 4일(싱가포르 시간) 확인: <https://docs.n8n.io/deploy/host-n8n/install-options/install-with-npm>
- “apify/n8n-nodes-apify”, GitHub, 2026년 11월 4일(싱가포르 시간) 확인: <https://github.com/apify/n8n-nodes-apify>
- “n8n releases”, GitHub, 2026년 11월 4일(싱가포르 시간) 확인: <https://github.com/n8n-io/n8n/releases>
- “apify/apify-mcp-server”, GitHub, 2026년 11월 4일(싱가포르 시간) 확인: <https://github.com/apify/apify-mcp-server>
- @apify/n8n-nodes-apify package metadata, npm registry, read Nov 4, 2026 (Singapore time): <https://registry.npmjs.org/@apify/n8n-nodes-apify>
- “YouTube Data API Overview”, Google for Developers, 2026년 11월 4일(싱가포르 시간) 확인: <https://developers.google.com/youtube/v3/getting-started>
- “CommentThreads: list”, Google for Developers, 2026년 11월 4일(싱가포르 시간) 확인: <https://developers.google.com/youtube/v3/docs/commentThreads/list>
- “Quota and Compliance Audits”, Google for Developers, 2026년 11월 4일(싱가포르 시간) 확인: <https://developers.google.com/youtube/data/guides/quota_and_compliance_audits>
- “YouTube Data API Revision History”, Google for Developers, 2026년 11월 4일(싱가포르 시간) 확인: <https://developers.google.com/youtube/data/revision_history>
- “Place Details (New)”, Google for Developers, 2026년 11월 4일(싱가포르 시간) 확인: <https://developers.google.com/maps/documentation/places/web-service/place-details>
- “Place Details (Legacy)”, Google for Developers, 2026년 11월 4일(싱가포르 시간) 확인: <https://developers.google.com/maps/documentation/places/web-service/legacy/details>
- “Transports”, Model Context Protocol, 2026년 11월 4일(싱가포르 시간) 확인: <https://modelcontextprotocol.io/specification/2025-06-18/basic/transports>
- “Introduction”, Model Context Protocol, 2026년 11월 4일(싱가포르 시간) 확인: <https://modelcontextprotocol.io/introduction>
- “Apify pricing”, Apify, 2026년 11월 4일(싱가포르 시간) 확인: <https://apify.com/pricing>
- “YouTube Scraper”, Apify Store, 2026년 11월 4일(싱가포르 시간) 확인: <https://apify.com/streamers/youtube-scraper>
- “YouTube Scraper pricing”, Apify Store, 2026년 11월 4일(싱가포르 시간) 확인: <https://apify.com/streamers/youtube-scraper/pricing>
- “YouTube Comments Scraper”, Apify Store, 2026년 11월 4일(싱가포르 시간) 확인: <https://apify.com/streamers/youtube-comments-scraper>
- “Fast YouTube Channel Scraper”, Apify Store, 2026년 11월 4일(싱가포르 시간) 확인: <https://apify.com/streamers/youtube-channel-scraper>
- “Google Maps Reviews Scraper”, Apify Store, 2026년 11월 4일(싱가포르 시간) 확인: <https://apify.com/compass/google-maps-reviews-scraper>
- streamers/youtube-scraper 공개 메타데이터, Apify API, 2026년 11월 4일(싱가포르 시간) 확인: <https://api.apify.com/v2/acts/streamers~youtube-scraper>
- streamers/youtube-comments-scraper 공개 메타데이터, Apify API, 2026년 11월 4일(싱가포르 시간) 확인: <https://api.apify.com/v2/acts/streamers~youtube-comments-scraper>
- compass/google-maps-reviews-scraper 공개 메타데이터, Apify API, 2026년 11월 4일(싱가포르 시간) 확인: <https://api.apify.com/v2/acts/compass~google-maps-reviews-scraper>
- “n8n Plans and Pricing”, n8n, 2026년 11월 4일(싱가포르 시간) 확인: <https://n8n.io/pricing/>
- “Scraping OLX Brazil to Notion/Sheets failing”(스레드), Reddit r/n8n, 2026년 11월 4일(싱가포르 시간) 확인: <https://www.reddit.com/r/n8n/comments/1vzd9n6/desperate_for_help_scraping_olx_brazil_to/>
- “Never stop posting on X”(스레드), Reddit r/n8n, 2026년 11월 4일(싱가포르 시간) 확인: <https://www.reddit.com/r/n8n/comments/1ne4iqy/never_stop_posting_on_x_source_code_included/>
- 소셜 데이터 카탈로그, EveryInfra API, 2026년 11월 4일(싱가포르 시간) 확인: <https://api.everyinfra.com/api/v1/social/catalog>
- 소셜 데이터 카탈로그(YouTube), EveryInfra API, 2026년 11월 4일(싱가포르 시간) 확인: <https://api.everyinfra.com/api/v1/social/catalog?platform=youtube>
참고 BL-86