본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 01. 19:07

하나의 API로 경쟁사 조사를 자동화한 방법 (그리고 내가 스크래퍼 제작을 중단한 이유)

요약

직접 웹 스크래퍼를 구축하며 겪은 기술적 한계를 극복하기 위해 SERP API를 활용한 경쟁사 조사 자동화 시스템 구축 사례를 소개합니다. API를 통해 데이터 수집의 복잡성을 해결하고, 수집된 데이터를 대시보드와 알림으로 시각화하는 아키텍처를 제안합니다.

핵심 포인트

  • 직접 스크래퍼를 만드는 것보다 검증된 SERP API를 사용하는 것이 효율적임
  • API 선택 시 비용 효율성과 기존 코드와의 호환성이 핵심 요소임
  • 데이터 수집 자체보다 수집된 데이터의 의미를 파악하는 UI/UX가 더 중요함
  • 주간 단위의 스냅샷 데이터가 노이즈를 줄이는 데 효과적임

나는 6개월 동안 나만의 SERP 스크래퍼 (scraper)를 만드는 데 시간을 보냈다. 그것은 재앙이었다.

요약하자면 다음과 같다:

첫 번째 달: 의욕이 넘쳤다. 비동기 요청 (async requests)을 사용하는 멋진 Python 스크래퍼를 작성했다.
두 번째 달: Google이 나를 차단하기 시작했다. 프록시 (proxies)를 추가했다.
세 번째 달: CAPTCHA가 나타났다. 해결 서비스 (solving service)를 추가했다.
네 번째 달: Google이 HTML 구조를 변경했다. 나의 파서 (parser)가 망가졌다.
다섯 번째 달: 모든 것을 수정했다. 영웅이 된 기분이었다.
여섯 번째 달: Google이 HTML 구조를 다시 변경했다. 나는 포기했다.

이것은 그 이후에 내가 무엇을 만들었는지, 그리고 왜 다시는 웹 스크래퍼 (web scraper)를 만들지 않을 것인지에 대한 이야기이다.

프로젝트: 경쟁사 인텔리전스 대시보드 (Competitor Intelligence Dashboard)

나는 작은 SaaS 제품을 운영하고 있으며, 경쟁사에 대해 세 가지를 알아야 했다:

  1. 그들은 어떤 키워드 (keywords)로 순위를 차지하고 있는가?
  2. 그들은 어떤 콘텐츠 (content)를 발행하고 있는가?
  3. 그들의 유기적 순위 (organic rankings)가 시간이 지남에 따라 어떻게 변하고 있는가?

수동 방식은 시크릿 모드 (incognito) 탭을 열고, 검색어를 입력하고, 결과를 스크롤하며 메모를 하는 것을 의미했다. 경쟁사 5곳 정도라면 가능했다. 하지만 나는 20곳을 추적하고 싶었다. 그리고 그것을 매주 하고 싶었다.

그래서 나는 대시보드를 구축했다.

아키텍처 (Architecture)

세 가지 구성 요소:

  1. 월요일 아침마다 매주 실행되는 스케줄러 (scheduler)
  2. 타겟 키워드에 대한 Google 검색 결과를 가져오는 SERP API
  3. 시간 경과에 따른 변화를 보여주는 가벼운 프론트엔드 (frontend)

흥미로운 부분은 SERP API를 선택하는 것이었다. 나는 몇 가지 옵션을 평가했다:

SerpApi: 가장 잘 알려져 있다. 잘 작동하지만, 5,000회 요청에 월 50달러라는 비용은 수백 개의 키워드를 모니터링할 때 빠르게 쌓인다.
Bright Data: 엔터프라이즈급 (Enterprise-grade). 역시 엔터프라이즈급 가격이다.
Talordata: Reddit 스레드를 통해 이들을 발견했다. SerpApi와 동일한 API 구조를 가지고 있지만, 월간 최소 비용 없이 30,000회 요청에 27달러로 책정되어 있다.

호환성이 결정적인 요인이었다. 나는 평가하는 동안 이미 SerpApi의 형식에 맞춰 코드를 작성해 두었는데, Talordata의 엔드포인트 (endpoint)로 변경했을 때 모든 것이 그대로 작동했다. 동일한 파라미터 (parameters), 동일한 응답 형태 (response shape).

import requests
from datetime import datetime

`API_KEY = "your_talordata_key"
KEYWORDS = [
    "best project management software",
...

스케줄러는 50개의 모든 키워드에 대해 실행되며, 결과를 SQLite에 저장하고 매주 월요일 아침마다 요약본을 전송합니다.

내가 배운 것들
데이터는 예상보다 훨씬 변동성이 큽니다. 순위는 매일 요동칩니다. 주간 스냅샷 (Weekly snapshots)은 노이즈 없이 유의미한 신호를 제공합니다. 이보다 더 빈번한 확인은 정보가 아니라 불안일 뿐입니다.

가장 어려운 부분은 API가 아니라, 그 데이터를 가지고 무엇을 하느냐입니다. 저는 API를 통합하는 것보다 알림 (alerts)과 대시보드 UI를 설계하는 데 더 많은 시간을 보냈습니다. API 호출은 코드 세 줄이면 끝납니다. 결과의 의미를 파악하는 것이 진짜 핵심적인 작업입니다.

작은 경쟁사들은 대기업보다 더 빠르게 움직입니다. 가장 가치 있는 통찰은 시장 리더들에 관한 것이 아니었습니다. 제가 고려하지 않았던 콘텐츠 관점(content angles)을 통해 순위를 끌어올리고 있는 작은 경쟁사들을 포착하는 것이었습니다.

올바른 API 선택은 문제의 한 카테고리를 통째로 제거해 줍니다. 저는 더 이상 프록시 로테이션 (proxy rotation)을 고민하지 않습니다. HTML 파싱 (HTML parsing)을 디버깅하지도 않습니다. CAPTCHA 해결사 (CAPTCHA solver)를 유지보수하지도 않습니다. 덕분에 한 달에 약 하루 정도의 유지보수 시간을 아낄 수 있습니다.

비용 분석
매주 추적하는 50개 키워드 기준: 한 달에 200번의 API 호출.
$27/30K 플랜을 기준으로 하면, 사실상 제로에 가깝습니다. 18센트입니다.
매일 확인하는 500개 키워드로 확장하더라도, API 비용은 여전히 월 $5 미만일 것입니다. 제약 요인은 데이터를 획득하는 비용이 아니라, 데이터를 분석하는 저의 시간입니다.

이 내용을 공유하는 이유
개발자로서 우리는 모든 것을 직접 만들려는 경향이 있습니다. 그것은 자부심, 호기심, 그리고 통제하려는 욕구 때문입니다. 저는 "얼마나 어렵겠어?"라는 생각에 스크래퍼 (scraper)를 만드는 데 6개월을 보냈습니다.

답은 이렇습니다: 생각보다 어려웠고, 완전히 불필요했습니다.

API 인프라 시장은 대부분의 일반적인 요구 사항 — 검색 데이터 (search data), LLM 액세스 (LLM access), 이메일 전송 (email delivery), 결제 처리 (payment processing) — 에 대해, 여러분이 사내에서 직접 구축할 수 있는 그 어떤 것보다 더 낫고, 저렴하며, 더 신뢰할 수 있는 서비스를 제공할 정도로 성숙했습니다.

이제 기술(skill)은 인프라를 구축하는 데 있지 않습니다.

그것은 올바른 인프라를 선택하고 이를 잘 조합하는 데 있습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0