코딩 없이 SNS 데이터 수집하기: Make + Apify로 구축하는 자동 크롤링 시스템
유튜브, 인스타그램, 틱톡, X(트위터) 데이터를 코딩 없이 자동으로 수집하고 싶다면? Make와 Apify를 조합한 노코드 크롤링 워크플로우로 SNS 데이터를 체계적으로 모으고 AI 분석까지 연결하는 방법을 단계별로 소개합니다.
SNS 데이터, 왜 직접 수집해야 할까?

마케터, 콘텐츠 크리에이터, 트렌드 리서처라면 한 번쯤 이런 생각을 해봤을 겁니다.
"경쟁사가 어떤 콘텐츠를 올리고 있는지, 어떤 키워드가 요즘 뜨는지 한눈에 파악할 수 없을까?"
문제는 SNS 플랫폼들이 데이터를 쉽게 내주지 않는다는 점입니다. 일반적인 웹사이트와 달리, SNS는 동적 웹사이트(JavaScript로 콘텐츠를 실시간 렌더링하는 사이트)로 구성되어 있어 단순한 HTTP 요청만으로는 데이터를 긁어오기 어렵습니다. 게다가 직접 코드를 짜서 크롤링을 시도하더라도 IP 차단, 잦은 구조 변경에 따른 유지보수 부담이 따릅니다.
이 글에서는 코딩 없이 유튜브, 인스타그램, 틱톡, X(구 트위터) 데이터를 자동으로 수집하고, 나아가 AI 분석까지 연결하는 워크플로우를 구축하는 방법을 소개합니다. 핵심 도구는 Make(메이크)와 Apify(아파이파이)입니다.
핵심 도구 이해하기

Make란?
Make(구 Integromat)는 노코드 자동화 플랫폼(코딩 없이 앱과 서비스를 연결해 자동화 워크플로우를 만드는 도구)입니다. 마치 레고 블록처럼 각 서비스 모듈을 연결해 자동화 흐름을 시각적으로 설계할 수 있습니다.
예를 들어 "구글 시트에 키워드를 입력하면 → 자동으로 SNS 데이터를 수집해서 → 결과를 다시 시트에 저장한다"는 흐름을 클릭 몇 번으로 만들 수 있습니다.
Apify란?
Apify는 웹 스크래핑 서비스 플랫폼(크롤링 코드를 서비스 형태로 제공해 누구나 쉽게 데이터를 수집할 수 있게 해주는 도구)입니다. 개발자들이 미리 만들어 놓은 수백 가지 액터(Actor, Apify에서 특정 사이트를 크롤링하는 스크립트 단위)를 골라서 사용할 수 있습니다.
마치 앱스토어에서 앱을 다운받듯이, Apify 스토어에서 "유튜브 스크래퍼", "인스타그램 스크래퍼" 같은 액터를 선택해 바로 사용하면 됩니다.
두 도구의 조합이 강력한 이유
| 구분 | Make 단독 | Apify 단독 | Make + Apify |
|---|---|---|---|
| SNS 크롤링 | 어려움 (동적 사이트 한계) | 가능하지만 자동화 연결 불편 | 최적 조합 |
| 자동화 스케줄링 | 가능 | 제한적 | 유연하게 설정 가능 |
| 데이터 가공·저장 | 강점 | 약점 | Make가 담당 |
| 코딩 필요 여부 | 불필요 | 불필요 | 불필요 |
전체 워크플로우 설계

본격적인 설정에 앞서 전체 그림을 먼저 이해하는 것이 중요합니다. 이 자동화 시스템은 크게 두 개의 시나리오로 구성됩니다.
[시나리오 1: 데이터 수집]
구글 시트(크롤링 대상 목록) → Make → Apify 액터 실행 → 크롤링 데이터 수신 → 구글 시트(크롤링 결과) 저장
[시나리오 2: 데이터 분석]
구글 시트(크롤링 결과) → Make → ChatGPT 분석 → 구글 시트(분석 결과) 저장
구글 시트 구조 설계
이 워크플로우의 핵심은 구글 시트를 데이터베이스처럼 활용하는 것입니다. 세 개의 워크시트를 준비합니다.
① 크롤링 대상 시트
- 분류 (URL 기반 / 키워드 기반)
- 플랫폼 (유튜브 / 인스타그램 / 틱톡 / X)
- 크롤링 키워드 또는 URL
- 분석 대상명 (예: 스타벅스, 나이키, 롱패딩, 가습기)
② 크롤링 데이터 시트
- 업데이트 날짜, 플랫폼, 분류, 키워드
- 구독자/팔로워 수, 업로드 날짜
- 콘텐츠 ID, 제목, 조회수, 댓글 수, 좋아요 수
- 콘텐츠 URL
③ 데이터 분석 시트
- 수집된 데이터 기반 AI 분석 결과
💡 콘텐츠 ID가 핵심입니다. 이 값을 기준으로 중복 데이터를 걸러내기 때문에, 반드시 이 컬럼을 포함해야 합니다.
단계별 Make 시나리오 구성

1단계: 기존 데이터 불러오기 (중복 방지)
가장 먼저 해야 할 일은 이미 수집된 데이터를 불러와 중복 저장을 방지하는 장치를 만드는 것입니다.
도미노를 생각해보세요. 이미 쓰러진 도미노를 또 쓰러뜨리려 하면 아무 의미가 없습니다. 데이터도 마찬가지입니다. 이미 수집된 콘텐츠를 또 저장하면 시트가 지저분해지고 분석이 왜곡됩니다.
설정 방법:
- Make에서 Google Sheets 모듈 추가
- Get Range Values 선택 → 크롤링 데이터 시트의 콘텐츠 ID 열 범위 지정
- Array Aggregator 모듈 연결 → 개별 행으로 나뉜 ID 값들을 하나의 배열로 합치기
이렇게 하면 기존 콘텐츠 ID들이 하나의 리스트로 묶여, 나중에 새로 수집한 데이터와 비교하기 쉬워집니다.
2단계: 크롤링 대상 목록 불러오기
- Google Sheets 모듈 추가
- Search Rows 선택 → 크롤링 대상 시트 연결
- 필터 설정: 분류 값이 존재하는 행만 가져오기 (빈 행 제외)
- 리밋: 20개 (목록 전체를 커버할 수 있는 수로 설정)
3단계: 라우터로 플랫폼별 분기 처리
유튜브, 인스타그램, 틱톡, X 각각의 크롤링 방식이 다르고, URL 기반과 키워드 기반도 다릅니다. 이를 처리하기 위해 라우터(Router)를 사용합니다.
라우터는 교차로의 신호등과 같습니다. 차(데이터)가 들어오면 목적지(플랫폼, 분류)에 따라 다른 길로 안내합니다.
라우터 분기 구성 (총 8개):
| 분기 | 조건 |
|---|---|
| 유튜브 URL 크롤링 | 분류=URL, 플랫폼=유튜브 |
| 유튜브 키워드 크롤링 | 분류=키워드, 플랫폼=유튜브 |
| 인스타그램 URL 크롤링 | 분류=URL, 플랫폼=인스타그램 |
| 인스타그램 키워드 크롤링 | 분류=키워드, 플랫폼=인스타그램 |
| 틱톡 URL 크롤링 | 분류=URL, 플랫폼=틱톡 |
| 틱톡 키워드 크롤링 | 분류=키워드, 플랫폼=틱톡 |
| X URL 크롤링 | 분류=URL, 플랫폼=X |
| X 키워드 크롤링 | 분류=키워드, 플랫폼=X |
💡 라우터를 하나만 사용하는 이유: URL/키워드 → 플랫폼 순으로 라우터를 중첩하면 오퍼레이션 비용이 늘어납니다. 조건을 조합해 라우터 하나로 8개 분기를 처리하면 더 효율적입니다.
4단계: Apify 액터 설정
Apify 스토어에서 액터 선택하기:
- apify.com 접속 후 회원가입
- Apify Store에서 원하는 플랫폼 검색 (예: "YouTube", "Instagram")
- 사용자 수가 많은 액터 선택 후 즐겨찾기 등록
비용 안내 (유튜브 스크래퍼 기준):
- 영상 1,000개 수집 시 약 5달러 (약 7,000원)
- 영상 1개당 약 7원 수준
- Apify는 매월 5달러 무료 크레딧 제공
- 소량 수집 실습 시에는 사실상 무료로 사용 가능
Make에서 Apify 연결하기:
- Make에서 Apify 모듈 추가 → Run Actor 선택
- Apify 계정의 API 토큰 발급 후 연결 (Settings → API & Integrations)
- 사용할 액터 선택
- Input JSON 설정
Input JSON이란? Apify 액터에 전달하는 설정값입니다. 어떤 URL을 크롤링할지, 몇 개를 가져올지 등을 JSON 형식으로 지정합니다.
Apify 스토어에서 액터를 수동으로 설정한 뒤, JSON 옵션 탭에서 설정값을 복사해 Make의 Input JSON에 붙여넣으면 됩니다. 이때 jsonformatter.org 같은 도구로 정리하면 가독성이 좋아집니다.
5단계: 여러 URL 동시 처리 (효율화)
크롤링 대상이 여러 개일 때, 하나씩 순차적으로 액터를 켰다 끄면 매우 비효율적입니다. 컴퓨터를 켜고 문서 하나 작성하고 끄고, 다시 켜고 문서 하나 작성하는 것과 같습니다.
해결책: Text Aggregator로 여러 URL을 하나의 Input JSON으로 묶기
- Text Aggregator 모듈 추가
- 각 URL을 Apify가 요구하는 JSON 배열 형식으로 합치기
- 구분자(Separator)를 콤마(
,)로 설정 - 합쳐진 텍스트를 대괄호(
[])로 감싸 배열 완성 - 이 값을 Run Actor의 Input JSON에 연결
이렇게 하면 스타벅스 코리아 유튜브 채널과 나이키 유튜브 채널을 한 번의 액터 실행으로 동시에 크롤링할 수 있습니다.
6단계: 크롤링 완료 후 데이터 수신
중요한 설정: Run Actor 모듈에서 Run synchronously(동기 실행) 옵션을 반드시 활성화하세요.
이 옵션을 켜지 않으면 크롤링이 완료되기 전에 다음 모듈이 실행되어 빈 데이터를 받아오는 문제가 발생합니다.
- Run Actor 모듈: Run synchronously = Yes 설정
- Get Dataset Items 모듈 추가
- Run Actor의 Dataset ID를 Get Dataset Items에 연결
- 수신할 데이터 수 제한 설정 (테스트 시 5개 내외 권장)
7단계: 중복 필터링 후 구글 시트 저장
- 새로 수집된 각 데이터의 콘텐츠 ID를 1단계에서 만든 기존 ID 배열과 비교
- 이미 존재하는 ID면 저장 건너뛰기
- 신규 데이터만 구글 시트 크롤링 데이터 시트에 추가
실제 활용 시나리오

시나리오 A: 경쟁사 콘텐츠 모니터링
이런 상황에서 쓰세요:
- 스타벅스, 나이키처럼 주요 브랜드의 SNS 콘텐츠 전략을 분석하고 싶을 때
활용법:
- 크롤링 대상 시트에 경쟁사 공식 채널 URL 입력 (분류: URL)
- 주 1회 Make 시나리오 자동 실행 스케줄 설정
- 매주 새로 올라온 콘텐츠만 자동 수집·저장
- 조회수, 좋아요, 댓글 수 데이터로 어떤 콘텐츠가 반응이 좋은지 파악
시나리오 B: 트렌드 키워드 리서치
이런 상황에서 쓰세요:
- "롱패딩", "가습기"처럼 특정 키워드로 어떤 콘텐츠가 많이 올라오는지 파악하고 싶을 때
활용법:
- 크롤링 대상 시트에 관심 키워드 입력 (분류: 키워드)
- 유튜브, 인스타그램, 틱톡 각 플랫폼별로 같은 키워드 설정
- 플랫폼별 인기 콘텐츠 형식, 해시태그, 반응률 비교 분석
시나리오 C: AI 분석 자동화 (시나리오 2)
수집된 데이터를 ChatGPT에 연결해 자동 분석 보고서를 생성할 수 있습니다.
- 크롤링 데이터 시트에서 데이터 불러오기
- Make의 ChatGPT 모듈 연결
- 프롬프트 예시: "다음 SNS 콘텐츠 데이터를 분석해서 공통 트렌드와 인기 요인을 정리해줘"
- 분석 결과를 데이터 분석 시트에 자동 저장
주의사항 및 팁
Apify 비용 관리
- 매월 5달러 무료 크레딧으로 소량 수집은 무료
- 대량 수집 시 페이퍼 리절트(Pay-per-result) 모델 액터는 결과 수에 따라 과금
- 테스트 시에는 수집 개수를 5개 이하로 제한해 비용 절감
- 정기 운영 전 예상 비용을 반드시 계산
크롤링 윤리와 법적 고려
- 각 플랫폼의 이용약관을 반드시 확인
- 개인정보가 포함된 데이터 수집 및 활용 시 관련 법규 준수
- 과도한 요청으로 플랫폼 서버에 부하를 주지 않도록 수집 빈도 조절
유지보수 팁
- Make 모듈마다 이름을 명확히 지정해두면 나중에 수정이 편리합니다
- 크롤링 대상 시트를 잘 정리해두면 새로운 대상 추가가 매우 간단해집니다
- 액터가 업데이트되면 Input JSON 형식이 바뀔 수 있으므로 주기적으로 확인 필요
핵심 정리
- Make + Apify 조합은 코딩 없이 유튜브, 인스타그램, 틱톡, X 데이터를 자동 수집할 수 있는 강력한 노코드 솔루션입니다.
- 콘텐츠 ID를 기준으로 중복 데이터를 필터링하는 장치를 먼저 만들어야 데이터가 깔끔하게 쌓입니다.
- 라우터를 활용해 플랫폼별, 분류별로 서로 다른 크롤링 로직을 하나의 시나리오에서 처리할 수 있습니다.
- Text Aggregator로 여러 URL을 묶어 한 번의 액터 실행으로 처리하면 비용과 시간을 절약할 수 있습니다.
- Run synchronously 옵션을 반드시 활성화해야 크롤링 완료 후 데이터를 정상적으로 수신할 수 있습니다.