콘텐츠로 이동

인스타그램 데이터 자동화 가이드

2026.3.21 COSS 강의 준비 중 발견. 비공식 REST API로 로그인 없이 공개 프로필 데이터 수집 성공.

핵심 요약

인스타그램에서 남의 공개 프로필 데이터(팔로워, 좋아요, 댓글)를 가져오는 방법은 2025년 기준 공식 API로는 불가능하고, 비공식 API 또는 서드파티 API를 써야 한다.


방법별 비교 (2025-2026 기준)

방법 타인 프로필 비용 안정성 차단 리스크 적합한 용도
Instagram Graph API (공식) 불가 (자기만) 무료 높음 없음 자기 계정 관리
비공식 REST API 가능 무료 중간 IP 차단 가능 소규모 분석
서드파티 API (RapidAPI 등) 가능 $29~79/월 높음 없음 서비스 구축
Selenium/Playwright 가능 프록시 비용 낮음 매우 높음 비추천
Instaloader (Python) 제한적 무료 중간 높음 (밴 리스크) 프로필만 OK

비공식 REST API - 실전 검증 완료

엔드포인트

GET https://i.instagram.com/api/v1/users/web_profile_info/?username={username}

필수 헤더

headers = {
    "x-ig-app-id": "936619743392459",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
}

가져올 수 있는 데이터

  • 팔로워 수, 팔로잉 수, 총 게시물 수
  • 프로필 이름, 바이오, 프로필 사진 URL
  • 비공개 계정 여부
  • 최근 12개 게시물: 좋아요 수, 댓글 수, 캡션, 날짜, 영상 여부, shortcode(게시물 URL)
  • 게시물 이미지/영상 URL

가져올 수 없는 데이터

  • 저장 수, 공유 수 (계정 소유자만 인사이트에서 확인 가능)
  • 도달률, 노출수 (같은 이유)
  • 비공개 계정의 게시물

참여율(Engagement Rate) 상세

3가지 공식과 데이터 출처

공식 계산법 외부 분석 자기 계정 비고
기본 (좋아요 + 댓글) / 팔로워 x 100 O O 참여율 계산기가 쓰는 공식
확장 (좋아요 + 댓글 + 저장 + 공유) / 팔로워 x 100 X O 저장/공유는 인사이트에서만
노출 기반 (좋아요 + 댓글) / 노출수 x 100 X O 노출수는 인사이트에서만

핵심: 외부에서 남의 계정을 분석할 때는 기본 공식만 가능. Phlanx, Not Just Analytics 등 모든 외부 도구가 기본 공식을 쓴다.

외부에서 볼 수 있는 것 vs 없는 것

데이터 외부 인사이트(본인) 비공식 API 비고
팔로워 수 O O O
좋아요 수 O O O
댓글 수 O O O
저장 수 X O X 알고리즘에 가장 큰 영향
공유 수 X O X 바이럴 가능성 지표
도달/노출수 X O X 콘텐츠 도달 범위

참여율 벤치마크 (2025-2026)

팔로워 규모 평균 참여율 좋은 참여율
1K 이하 (나노) 5~8% 10% 이상
1K~10K (마이크로) 3~5% 6% 이상
10K~100K 1~3% 4% 이상
100K 이상 0.5~1.5% 2% 이상

실전 사례: COSS 서포터즈 22개 채널 (2026.3.21 수집)

비공식 REST API로 22개 채널 분석 결과: - 전체 평균 참여율: 2.07% - 참여율 1위: 대림대 @dlucoss_fae (6.94%) - 팔로워 78명 - 팔로워 1위: 국민대 @kmu_coss (1,334명) - 참여율 0.86% - 대부분 댓글 0개 - 좋아요만으로 참여가 이루어짐

강의에서 쓸 인사이트: - "팔로워 많다고 좋은 게 아니다" - 팔로워 최소가 참여율 1위 - "댓글을 유도하는 CTA가 필요하다" - 22개 채널 대부분 댓글 0 - 나노 계정 기준 5~8%가 평균인데, 22개 중 2개만 "좋은 수준"

Python 코드 (실전 검증됨)

import httpx

def get_instagram_profile(username):
    response = httpx.get(
        f"https://i.instagram.com/api/v1/users/web_profile_info/?username={username}",
        headers={
            "x-ig-app-id": "936619743392459",
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
        },
        timeout=15
    )
    if response.status_code != 200:
        return None

    data = response.json()
    user = data["data"]["user"]

    return {
        "username": user["username"],
        "followers": user["edge_followed_by"]["count"],
        "following": user["edge_follow"]["count"],
        "posts_count": user["edge_owner_to_timeline_media"]["count"],
        "full_name": user.get("full_name", ""),
        "bio": user.get("biography", ""),
        "posts": [
            {
                "likes": edge["node"]["edge_media_preview_like"]["count"],
                "comments": edge["node"]["edge_media_to_comment"]["count"],
                "date": edge["node"]["taken_at_timestamp"],
                "caption": edge["node"]["edge_media_to_caption"]["edges"][0]["node"]["text"]
                    if edge["node"]["edge_media_to_caption"]["edges"] else "",
            }
            for edge in user["edge_owner_to_timeline_media"]["edges"]
        ]
    }

주의사항

  • IP 차단: 같은 IP에서 연속 요청하면 429 또는 차단됨. 4~5초 딜레이 필수
  • 프록시 없이: 22개 채널 정도는 문제없이 돌아감 (실전 검증). 대규모(100개+)는 프록시 필요
  • doc_id 변경: GraphQL 엔드포인트(/graphql/query)는 2~4주마다 doc_id가 바뀌어 불안정. 위 REST 엔드포인트(/api/v1/)는 상대적으로 안정적
  • x-ig-app-id: 936619743392459는 인스타그램 웹 앱의 고정 ID. 바뀔 가능성 낮지만 모니터링 필요

Basic Display API - 폐기됨

  • 2024년 9월 Meta가 폐기 공지
  • 2024년 12월 4일 완전 종료
  • 대체: "Instagram API with Instagram Login" (역시 자기 계정만)

Graph API (공식) - 자기 계정만

  • 비즈니스/크리에이터 계정 + Meta 앱 심사 (60일+)
  • Rate Limit: 계정당 시간당 200회
  • 타인 프로필 조회 불가 - 참여율 계산기 같은 서비스 구현 불가
  • 자기 계정 인사이트 자동화에는 쓸 수 있음

서드파티 API 서비스 (서비스 구축 시)

서비스 특징 가격
RapidAPI Instagram Scraper 다양한 제공자, 무료 티어 무료~$50+/월
Apify Instagram Scraper 클라우드 기반, 대규모 $49/월~
SociaVault REST API, OAuth 불필요 $29/월~
Hashscraper 한국 서비스, 5만 크레딧 무료 크레딧제

활용 시나리오

1. 채널 분석 리포트 자동화 (현재)

  • 비공식 REST API로 프로필+게시물 데이터 수집
  • 참여율 자동 계산 → 마크다운 리포트 생성
  • 실전 코드: claude-lecture/260327.../insta_api_analyzer.py

2. 참여율 계산기 서비스 (미래)

프론트(Astro/imweb) → 백엔드(Cloudflare Workers) → 서드파티 API → 결과 표시
- API 키 노출 방지를 위해 반드시 백엔드 경유

3. 정기 모니터링 (미래)

  • 크론잡으로 주 1회 채널 데이터 수집
  • 팔로워 추이, 참여율 변화 트래킹
  • 노션 DB에 자동 기록

Instaloader vs 비공식 REST API 비교

항목 Instaloader 비공식 REST API
프로필 데이터 O O
게시물 좋아요/댓글 X (GraphQL 403) O
로그인 필요 필요 (세션 쿠키) 불필요
설치 pip install httpx만 있으면 됨
안정성 중간 (GraphQL 차단) 상대적으로 안정

2026.3.21 실전 검증: instaloader는 프로필은 되지만 게시물(GraphQL)은 403. 비공식 REST API는 프로필+게시물+좋아요+댓글 전부 성공.


참고 링크