100 크레딧 무료, 카드 등록 없이지금 시작하기
Logo

한 번만 연동하면, 모든 플랫폼이 똑같은 형태로 돌아옵니다.

플랫폼마다 데이터 형태가 제각각이에요. SocialCrawl은 42개 플랫폼과 325개 엔드포인트를 하나의 표준 스키마로 정규화하고, 모든 응답을 검증해요. 열두 번 연동할 일을 한 번으로 끝냅니다.

문제

소셜 데이터는 왜 이렇게 다루기 어려울까요?

Reddit은 score라 부르고, TikTok은 aweme_info.statistics 아래에 숨겨두고, Instagram은 같은 릴스를 어떤 엔드포인트에서는 평면으로, 다른 곳에서는 중첩해서 돌려줘요. 다섯 플랫폼에서 게시물 참여도를 가져오려면 보통 연동 다섯 개와 타입 다섯 벌을 따로 짜야 합니다.

TikTok logo
TikTokaweme_info.statistics.digg_count
Instagram logo
Instagramedge_media.reels[].nodes
Reddit logo
Redditdata.score / ups
+ 수십 개 플랫폼, 각자 다른 원본 형태
작동 방식

SocialCrawl은 모든 플랫폼을 어떻게 하나의 형태로 정규화하나요?

모든 원본 응답은 여러분에게 닿기 전에 똑같은 5단계 파이프라인을 거쳐요. 아무것도 추측하지 않고, 선언되지 않은 값은 통과하지 못합니다.

  1. 1

    봉투 제거

    각 플랫폼의 원본 응답을 벗겨내고, 목록을 하나의 { items, next_cursor, total } 형태로 정규화해요.

  2. 2

    필드 매핑

    출발지에서 목적지로 이름을 바꾸는 선언형 매핑이에요. 선언하지 않은 값은 버리는 방식이라, 잡음과 예상치 못한 값이 고객에게 닿지 않아요.

  3. 3

    보강 훅

    매핑으로 표현할 수 없는 부분을 플랫폼별로 더해주는 단계예요. 절대 URL 생성, 캐러셀 평탄화, 불리언 변환 같은 것들이죠.

  4. 4

    정규화 + null 방어

    null 방어, ID 접두어 제거, 삭제 흔적 정리까지. 모른다는 뜻으로 0을 채워 넣는 일은 없어요.

  5. 5

    검증 (Zod 게이트)

    모든 응답을 표준 Zod 스키마에 맞춰 최종 검증해요. 형태가 맞지 않는 행은 넘기지 않고 걸러냅니다.

잡음과 예상치 못한 값은 고객에게 닿지 않습니다.

계산된 인텔리전스

SocialCrawl은 원본 데이터 위에 무엇을 더해주나요?

모든 응답에는 결정론적으로 계산된 computed 블록이 담겨요. 플랫폼 간에 비교할 수 있도록 0~1로 정규화한 engagement_rate, 33개 ISO 코드 기준 언어 감지, content_category, estimated_reach가 들어갑니다.

"computed": {
  "engagement_rate": 0.043,
  "language": "en",
  "content_category": "entertainment",
  "estimated_reach": 128400
}

이 값들은 머신러닝이 아니라 결정론적 계산이에요. 신뢰도가 기준에 못 미치면 추측 대신 null을 돌려주고, 모른다는 뜻으로 0을 채우지 않아요.

설명은 LLM이, 계산은 코드가.

고유한 강점

스키마와 문서가 어긋나지 않게 어떻게 유지하나요?

Zod로 단 한 번 작성한 표준 스키마가 모든 플랫폼의 모든 엔드포인트에 대한 기준이 돼요. 필드 하나만 바꿔도 문서와 검증이 스스로 따라옵니다.

단일 기준

표준 스키마는 Zod로 딱 한 번만 존재해요. PostObject부터 QuoteObject까지, 모든 플랫폼의 모든 엔드포인트가 여기에 맞춰집니다.

기계적 전파

함수 하나가 스키마 트리를 훑어, 같은 원본에서 정규화기, CI 커버리지 게이트, OpenAPI 문서를 모두 만들어냅니다.

모든 응답을 검증

CI에서는 엄격하게 돌려서 어긋나면 빌드가 깨져요. 프로덕션에서는 유연하게 처리해, 잘못된 행을 버리고 고객은 깨진 레코드를 받지 않아요.

삭제 흔적 거부

deleted, removed 같은 표식은 스키마 검증에서 걸러져요. 삭제된 댓글이 콘텐츠인 척 응답에 섞이는 일이 없습니다.

“문서와 구현은 어긋날 수 없습니다. 둘 다 같은 원본에서 나오니까요.”
하나의 스키마, 모든 객체

통합 스키마는 소셜 게시물 말고도 다루나요?

같은 원칙이 우리가 돌려주는 모든 객체에 이어져요. Google Play 앱과 App Store 앱이 똑같은 AppObject로 풀리고, QuoteObject는 주식, ETF, 암호화폐, 외환을 하나의 형태로 담습니다.

PostObjectCommentObjectAuthorObjectProductObjectReviewObjectSellerObjectPlaceObjectAppObjectNewsArticleObjectQuoteObjectJobObject

42개 플랫폼에 걸쳐 이 객체들에 맞춰 타입을 짜두면, 연동 다섯 개를 다시 짤 일이 없어요.

규모

우리가 돌려주는 모든 것을 관통하는 하나의 스키마.

42플랫폼모두 하나의 스키마로
325엔드포인트각각 실시간으로 검증
11표준 객체Post부터 Quote, Job까지
1스키마Zod로 단 한 번 작성

숫자는 레지스트리에서 실시간으로 읽어와요. 그래서 이 페이지는 오래된 값을 말할 수 없습니다.

하나의 키, 하나의 스키마

SocialCrawl과 스크래퍼를 직접 엮는 방식

차이는 원본 데이터가 아니에요. 그 위에 얹힌 정규화, 검증, 신뢰 계층이 다릅니다.

연동

SocialCrawl
하나의 키, 하나의 스키마
스크래퍼 직접 엮기
N개 업체, N개 스키마

필드 이름

SocialCrawl
모든 플랫폼에 하나의 표준 형태
스크래퍼 직접 엮기
플랫폼마다 다른 JSON 형태

페이지네이션

SocialCrawl
어디서나 하나의 불투명 커서
스크래퍼 직접 엮기
소스마다 다른 페이지네이션 방식

데이터 품질

SocialCrawl
모든 응답 검증, 삭제 흔적 거부
스크래퍼 직접 엮기
원본 덩어리, 삭제된 행도 새어 나옴

문서

SocialCrawl
어긋날 수 없음, CI가 보장
스크래퍼 직접 엮기
수작업 관리, 조용히 어긋남

자주 묻는 질문

원하는 답을 못 찾으셨나요? 팀에 문의하기 또는 아래 AI 에이전트에게 물어보세요

모든 플랫폼의 모든 엔드포인트가 맞추는 하나의 표준 응답 형태예요. TikTok의 aweme_info, Instagram의 edge_media, Reddit의 score를 따로 익히는 대신, 어디서나 같은 필드를 가진 PostObject 하나만 읽으면 돼요. SocialCrawl은 42개 플랫폼과 325개 엔드포인트를 그 하나의 형태로 정규화합니다.

하나의 스키마, 모든 플랫폼

무료로 시작하세요.

API 키를 받아, 어떤 플랫폼을 호출하든 검증된 같은 형태로 돌아오는 걸 직접 확인해 보세요.

curl https://www.socialcrawl.dev/v1/tiktok/profile \
  -G --data-urlencode "handle=nasa" \
  -H "x-api-key: $SC_KEY"