~/social/instagram-scraper

인스타그램 크롤링 — 프로필·게시물·릴스·댓글 수집

로그인 없이 인스타그램 크롤링. 아이디나 URL로 프로필, 게시물, 릴스, 댓글과 해시태그, 반응 수를 수집합니다. JSON, CSV.

소셜 TypeScript 글로벌
proooxy/instagram-scraper — 사양
카테고리social / 소셜
언어TypeScript
스택TypeScript
마켓글로벌
출력클린한 RAG-레디 JSON

주요 기능

로그인도 Instagram 계정도 필요 없음 — 공개 프로필, 게시물, 릴스만 대상

프로필: 소개, 전체 이름, 팔로워·팔로잉 수, 인증·비공개 여부, 소개 링크, 프로필 사진

게시물, 릴스, 캐러셀의 캡션, 좋아요 수, 댓글 수. 프로필의 릴스 탭에서 읽은 릴스에는 재생 수도 포함

캡션에서 해시태그와 멘션을 뽑아 깔끔한 배열로 정리

모든 게시물에 Instagram 자체 주제 태그, 태그된 사용자, 공동 작성자, 위치 포함

캐러셀 각 항목의 이미지·영상 링크와, 소리가 있는 영상마다 오디오 전용 트랙

선택 사항으로 댓글: 작성자, 본문, 좋아요 수, 답글 수, 시각 — 게시물당 최대 500개

프로필별 상한과 엄격한 요청 상한으로 실행 규모를 예측 가능하게

활용 사례

  • 인플루언서·크리에이터 조사 — 참여 지표, 공동 작성자, 태그하는 계정
  • 선택한 계정에 대한 브랜드·경쟁사 모니터링
  • Instagram 자체 주제 태그 기반의 분류와 트렌드 분석
  • 게시물과 릴스의 댓글·감성 분석
  • 릴스의 오디오 전용 트랙을 음성 인식으로 전달
  • RAG와 LLM 파이프라인용 소셜 데이터셋

입력 파라미터

파라미터타입필수설명
startUrlsarray선택프로필, 게시물, 릴스 주소. 이것 또는 usernames 중 하나를 입력
usernamesarray선택프로필 이름. @는 있어도 없어도 됩니다
maxPostsPerProfileinteger선택프로필마다 전체를 읽을 게시물과 릴스 수. 각각 따로 셉니다(기본 24)
includeReelsboolean선택각 프로필의 릴스 탭도 읽기 — 재생 수가 포함되는 유일한 읽기 방식(기본 켜짐)
includeCommentsboolean선택각 게시물의 댓글을 아래 상한까지 읽기(기본 꺼짐)
maxCommentsPerPostinteger선택게시물 또는 릴스당 저장할 댓글 수, 0–500(기본 24)
postsPerPageinteger선택한 페이지에서 요청할 게시물 수(기본 12)
maxConcurrencyinteger선택동시에 실행할 요청 수(기본 3)
maxRequestsPerCrawlinteger선택이 요청 수에 도달하면 중지. 비워 두면 제한 없음
proxyobject선택Apify Proxy, 기본값은 주거용 — Instagram은 로그인하지 않은 방문자에게도 주거용 주소에서 훨씬 잘 응답합니다

출력 예시

 1{
 2  "type": "post",
 3  "source": {
 4    "id": "instagram",
 5    "canonicalUrl": "https://www.instagram.com/reel/DdRyQxKteC1/",
 6    "username": "astro_jessica"
 7  },
 8  "kind": "reel",
 9  "id": "3986188199829823669",
10  "shortcode": "DdRyQxKteC1",
11  "owner": {
12    "id": "4092263381",
13    "username": "astro_jessica",
14    "fullName": "Jessica Meir",
15    "isVerified": true
16  },
17  "takenAt": "2026-09-14T18:58:07.000Z",
18  "caption": "Volume up and get your groove on! A bit of weekend dancing on the @iss to start your week off right. …",
19  "hashtags": [],
20  "mentions": [
21    "iss"
22  ],
23  "format": "video",
24  "productType": "clips",
25  "isVideo": true,
26  "isReel": true,
27  "hasAudio": true,
28  "likeCount": 251630,
29  "commentCount": 2690,
30  "medias": [
31    {
32      "type": "Image",
33      "url": "https://…jpg",
34      "width": 892,
35      "height": 1584
36    },
37    {
38      "type": "Video",
39      "videoUrl": "https://…mp4",
40      "width": 892,
41      "height": 1584,
42      "audioUrl": "https://…mp4"
43    }
44  ],
45  "audioTitle": "Original audio",
46  "coauthors": [
47    {
48      "username": "nasa",
49      "id": "528817151",
50      "fullName": "NASA"
51    },
52    {
53      "username": "iss",
54      "id": "953293389",
55      "fullName": "International Space Station"
56    },
57    {
58      "username": "astro_anil",
59      "id": "50101577629",
60      "fullName": "Anil | Astronaut Space Doctor"
61    }
62  ],
63  "topics": [
64    "international space station",
65    "zero gravity",
66    "samantha cristoforetti",
67    "iss life",
68    "space station interior"
69  ],
70  "location": {
71    "id": "1783641135097024",
72    "name": "International Space Station"
73  },
74  "commentsRead": 24,
75  "comments": [
76    {
77      "id": "18000000000000000",
78      "authorUsername": "example_user",
79      "authorId": "10000000000",
80      "authorIsVerified": false,
81      "text": "Microgravity jazzercise 💃",
82      "likeCount": 0,
83      "createdAt": "2026-10-20T01:38:03.000Z"
84    }
85  ],
86  "scrapedAt": "2026-10-20T01:52:17.665Z"
87}

요금

이벤트당 과금: 저장한 게시물 또는 릴스 하나당 한 번, 저장한 프로필 하나당 한 번, 게시물과 함께 저장한 댓글 하나당 한 번 청구됩니다. Actor가 읽지 못한 레코드에는 요금이 부과되지 않습니다.

팁

프로필 하나로 시작하세요. maxPostsPerProfile을 낮게 잡고 레코드를 확인한 뒤 규모를 키우세요. 릴스 탭은 켜 두세요. 재생 수가 포함되는 유일한 읽기 방식입니다. 끄면 실행은 작아지지만 그만큼 재생 수를 얻지 못합니다. 필요하지 않다면 댓글은 끄세요. 저장된 댓글 하나가 한 번의 과금이며, maxCommentsPerPost가 게시물당 가져오는 댓글 수를 제한합니다. 릴스에서 한 말이 궁금한가요? Instagram 스크립트 스크레이퍼가 같은 계정의 릴스를 타임스탬프가 붙은 텍스트로 바꿔 줍니다.

자주 묻는 질문

Instagram 계정이 필요한가요?
아니요. 로그인하지 않고 계정 쿠키도 보내지 않습니다. Actor는 Instagram이 로그인하지 않은 방문자에게 보여주는 내용만 읽습니다.
Instagram 스크래핑은 합법인가요?
이 Actor는 로그인하지 않은 방문자에게 Instagram이 보여 주는 내용만 읽으며, 로그인은 하지 않습니다. Meta v. Bright Data(2024) 사건에서 미국 법원은 로그인하지 않은 상태로 공개 데이터를 수집한 것이 Meta 약관 위반이 아니라고 판단했습니다. 다만 사용이 적법한지는 무엇을 수집해 어떻게 쓰는지에 달려 있으므로(프로필과 댓글은 GDPR 같은 법률상 개인정보일 수 있습니다), 직접 법률 자문을 받으세요.
Instagram API의 대안이 되나요?
공개 데이터를 읽는 용도라면 그렇습니다. Instagram 공식 API는 자신의 프로페셔널 계정을 관리하기 위한 것으로, Meta 앱, 비즈니스 또는 크리에이터 계정, 앱 검수가 필요합니다. 이 Actor는 그런 것 없이 공개된 프로필, 게시물, 릴스를 읽으며, Apify API로 호출합니다.
스토리, 팔로워, 해시태그 페이지도 읽을 수 있나요?
아니요. 스토리, 하이라이트, 팔로워 목록, 해시태그 페이지, 키워드 검색은 Instagram이 로그인한 사용자에게만 제공하는데, 이 Actor는 로그인하지 않습니다. 지정한 계정과 게시물을 읽습니다.
어떤 게시물은 재생 수가 없는 이유는 무엇인가요?
재생 수는 프로필의 릴스 탭에서만 가져옵니다. includeReels를 켜 두세요(기본값이 켜짐). 거기서 읽은 릴스에는 재생 수가 포함됩니다.
어떤 Instagram 링크를 쓸 수 있나요?
프로필, 게시물, 릴스, IGTV 주소(instagram.com/<user>/, /p/<code>/, /reel/<code>/, /tv/<code>/), @사용자명 또는 사용자명만. 공유 링크(instagram.com/share/… 또는 /s/…)의 코드는 게시물 자체의 코드가 아닙니다. 링크를 열어 이동한 주소를 붙여 넣으세요.

~/social 관련 도구

인스타그램 크롤링 — 프로필·게시물·릴스·댓글 수집 실행하기, 또는 맞춤 제작 요청

몇 분 안에 Apify에서 추출을 시작하거나, 원하는 소스와 스키마에 딱 맞는 맞춤 스크래퍼와 RAG 파이프라인 제작을 의뢰하세요.

Apify에서 실행 맞춤 데이터 요청