SuperAPI AI Directory

social media content extraction

Marketing & growth

View repository

Updated 10-16 09:54

About this skill

Social Media Content Extraction

Guide to Extracting Social Media Content from Threads, Instagram, etc.


🛑 MANDATORY - Depth selection question required!

┌─────────────────────────────────────────────────────┐
│ ⚠️ MANDATORY CHECKPOINT                              │
│                                                      │
│ 소셜 미디어 URL 처리 시 반드시 depth를 물어야 합니다! │
│                                                      │
│ ⚠️ 이 질문 없이 스크래핑 시작 = 잘못된 동작!          │
│                                                      │
│ 자동 스킵 허용 조건:                                  │
│ - "빠르게" 키워드 → depth=1 자동 적용                 │
│ - "전체", "다" 키워드 → depth=2 자동 적용             │
│ - 키워드 없음 → 반드시 질문!                          │
└─────────────────────────────────────────────────────┘

🔄 URL Normalization (MANDATORY)

Before processing social media URLs, you must perform normalization:

Input URL Normalization result
threads.net/@user/post/... threads.com/@user/post/...
www.threads.com/@user/post/... threads.com/@user/post/...
m.threads.com/@user/post/... threads.com/@user/post/...
instagram.com/p/... instagram.com/p/... (no change)
www.instagram.com/p/... instagram.com/p/...
m.instagram.com/p/... instagram.com/p/...
function normalize_social_url(url) {
  // Threads 정규화 (threads.net → threads.com)
  url = url.replace(/threads\.net/g, 'threads.com')
  url = url.replace(/www\.threads\.com/g, 'threads.com')
  url = url.replace(/m\.threads\.com/g, 'threads.com')

  // Instagram 정규화
  url = url.replace(/www\.instagram\.com/g, 'instagram.com')
  url = url.replace(/m\.instagram\.com/g, 'instagram.com')

  return url
}

⚠️ Starting crawling without normalization = incorrect behavior!


Depth selection question (required!)

When a social media URL is detected, you must ask:

🔄 답글 수집 범위를 선택해주세요:

1) depth=1: 직접 답글만 (빠름)
   - 본문 + 직접 달린 답글만 수집

2) depth=2: 답글의 답글까지 (더 완전한 맥락)
   - 본문 + 모든 답글 + 중첩 답글까지 수집

기본값(depth=2)을 사용하시겠습니까?

Supported platforms

Platform URL Pattern Stealth Required
Threads threads.net/@*/post/* Yes
Instagram instagram.com/p/* Yes

Crawling workflow

Step 1: Access the main post

// Hyperbrowser 사용 (스텔스 모드)
mcp_hyperbrowser_scrape_webpage({
  url: "https://threads.net/@user/post/ABC",
  outputFormat: ["markdown"],
  sessionOptions: {
    useStealth: true  // 소셜 미디어는 스텔스 필수
  }
})

Step 2: Collect replies according to Depth

depth=1 (direct replies only):

// 메인 포스트 페이지의 답글만 파싱
// 추가 크롤링 불필요

depth=2 (including replies to replies):

// 각 답글 URL을 수집하여 병렬 크롤링
reply_urls.forEach(url => {
  mcp_hyperbrowser_scrape_webpage({
    url: url,
    outputFormat: ["markdown"],
    sessionOptions: { useStealth: true }
  })
})

Output format

---
tags: [threads, 소셜미디어, {주제태그}]
source: {original_url}
author: {작성자}
created: {작성일}
captured: {수집일}
depth: {1 or 2}
---

# {제목 또는 첫 문장}

## 본문
{메인 포스트 내용}

## 답글
### @replier1
{답글 내용}

### @replier2
{답글 내용}

---

## 관련 노트
- [[연결된 노트]]

MCP tools (Antigravity/Gemini CLI)

Task Tool
Web scraping mcp_hyperbrowser_scrape_webpage
Vault search mcp_obsidian_search_vault
Save note mcp_obsidian_create_note

Note: Use a single underscore (_)