본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 08. 17:58

Python 100줄로 만든 잠재 고객 발굴(Lead Generation) 봇 (Claude API + Google Maps)

요약

Claude API와 SerpAPI를 활용하여 Google Maps에서 잠재 고객 정보를 스크래핑하고 개인화된 콜드 이메일을 자동으로 작성하는 Python 봇 제작 방법을 소개합니다. 100줄 미만의 코드로 스크래핑, 개인화, CSV 내보내기 과정을 자동화하여 업무 효율을 극대화할 수 있습니다.

핵심 포인트

  • SerpAPI를 이용한 Google Maps 데이터 스크래핑 자동화
  • Claude API를 활용한 맞춤형 콜드 이메일 개인화
  • Python 기반의 100줄 미만 경량화된 자동화 워크플로우
  • 실제 비즈니스 적용을 통한 유료 프로젝트 전환 사례 공유

대부분의 프리랜서들은 매주 3~5시간 동안 똑같이 영혼을 갉아먹는 일을 합니다. 바로 Google Maps에서 잠재 고객을 검색하고, 업체명과 전화번호를 스프레드시트에 복사한 뒤, 모두에게 똑같은 일반적인 콜드 이메일(Cold Email)을 보내는 일이죠. 저는 이 작업에 지쳤습니다. 그래서 토요일 오후를 할애해 이 모든 과정을 자동으로 수행하는 Python 봇을 만들었습니다.

이 봇이 무엇을 하는지, 어떻게 만들었는지, 그리고 100줄 미만의 정확한 코드를 소개합니다.

문제점: 수동 잠재 고객 발굴(Lead Gen)은 시간 낭비다

만약 당신이 프리랜서 웹 개발자, 카피라이터, 또는 마케팅 컨설턴트라면, 전형적인 잠재 고객 발굴 워크플로우는 다음과 같을 것입니다:

  1. Google Maps를 연다
  2. "Austin TX의 배관공"을 검색한다
  3. 각 검색 결과를 클릭하여 이름, 전화번호, 웹사이트를 복사한다
  4. 스프레드시트에 붙여넣는다
  5. "안녕하세요, 귀하의 웹사이트를 보니 개선이 필요할 것 같아 연락드렸습니다..."라고 적힌 콜드 이메일을 작성한다
  6. 50명에게 보낸다. 아마 2명 정도에게서만 답장이 온다.

진짜 문제는 이메일 템플릿입니다. 일반적인 아웃리치(Outreach)는 무시당하기 마련입니다. 하지만 각 잠재 고객에게 맞춤형 이메일을 작성하는 데는 인당 5~10분이 소요됩니다. 50명의 잠재 고객이라면, 잠재 고객 발굴(Prospecting)에만 거의 하루 업무 시간이 다 소요되는 셈입니다.

문제를 파악하고 나면 해결책은 명확합니다. 스크래핑(Scraping)과 개인화(Personalization)를 모두 자동화하는 것입니다. 그것이 바로 Claude API가 만들어진 목적입니다.

아키텍처(Architecture)

이 봇은 세 단계로 구성됩니다:

1단계: Google Maps에서 잠재 고객 스크래핑
저는 SerpAPI Google Maps 엔드포인트(무료 티어: 월 100회 검색 가능)를 사용하여 어떤 검색 쿼리에 대해서도 비즈니스 목록을 가져옵니다. 각 결과에는 이름, 주소, 전화번호, 웹사이트, 평점 및 카테고리가 포함됩니다. 이 단계에서는 Playwright가 필요하지 않습니다. 간단한 HTTP 요청만으로 충분합니다.

2단계: Claude API를 사용하여 콜드 이메일 개인화
각 잠재 고객에 대해 비즈니스 이름, 카테고리, 그리고 웹사이트 정보를 Claude에게 전달하며 다음과 같은 프롬프트(Prompt)를 보냅니다: "프리랜서 웹 개발자가 이 업체에 보내는 3문장 분량의 콜드 이메일을 작성해줘." Claude는 1초도 안 되어 개인화된 이메일을 반환합니다.

3단계: CSV로 내보내기
모든 잠재 고객(Leads)과 생성된 이메일은 Mailchimp, Lemlist 또는 단순히 Gmail과 같은 모든 이메일 발송 도구에 가져올 수 있는 CSV 파일로 기록됩니다.

20개의 잠재 고객을 처리하는 데 걸리는 총 실행 시간은 약 45초입니다.

코드

import anthropic
import requests
import csv
...

공백과 주석을 포함하여 총 98줄입니다. 핵심 로직인 가져오기(fetch), 개인화(personalize), 내보내기(export)는 실제 Python 코드로 약 60줄 정도입니다.

결과 및 교훈

저는 2주 동안 세 가지 니치(Niche) 시장에서 이를 실행했습니다:

  • 덴버의 배관공 (Plumbers in Denver) → 잠재 고객 20명, 답장 4건, 유료 프로젝트 1건 ($850)
  • 피닉스의 부동산 중개인 (Real estate agents in Phoenix) → 잠재 고객 20명, 답장 6건, 미팅(discovery calls) 2건
  • 내슈빌의 레스토랑 (Restaurants in Nashville) → 잠재 고객 20명, 답장 1건 (레스토랑은 어렵습니다)

효과적이었던 점:

  • 구체성이 양을 이깁니다. 20개의 개인화된 이메일이 200개의 일반적인 이메일보다 더 나은 성과를 냈습니다.
  • Claude의 출력물은 톤(Tone)을 맞추는 능력이 놀라울 정도로 뛰어납니다. 별도의 예시 없이도 "지역 배관공"과 "부동산 전문가"의 차이를 잡아냈습니다.
  • claude-haiku-4-5-20251001을 사용하면 비용이 무시할 수 있는 수준으로 유지됩니다. 이메일 20통을 보내는 데 총 약 $0.003이 듭니다.

효과적이지 않았던 점:

  • SerpAPI의 무료 티어는 한계에 빠르게 도달합니다. 규모를 키우고 싶다면 유료 플랜이나 스크래핑 대안(Playwright + 순환 프록시(rotating proxies))이 필요합니다.
  • 레스토랑과 소매업은 응답률이 낮습니다. 실제로 웹 프레젠스(web presence)가 필요한 서비스 업종을 타겟팅하세요.
  • 속도 제한(Rate limiting). 한 번에 100개의 잠재 고객으로 API를 몰아붙인다면, 요청 사이에 time.sleep(0.5)를 추가하세요.

진정한 교훈: 병목 현상은 잠재 고객을 찾거나 이메일을 쓰는 것이 아니라, 바로 _후속 조치(follow-up)_입니다. 저는 누가 답장했는지, 그리고 언제 후속 조치를 취해야 하는지 추적할 수 있도록 이 시스템을 간단한 Notion 데이터베이스에 연결했습니다. 그 내용은 다음에 다루겠습니다.

더 발전시키기

이 기능을 확장하고 싶다면, 다음과 같은 세 가지 즉각적인 업그레이드가 가능합니다:

  1. Playwright 스크래핑 (scraping) 추가 — SerpAPI를 차단하는 사이트들을 위해 Playwright를 사용하세요. 비즈니스의 실제 웹사이트를 스크래핑하고, 홈페이지의 텍스트(copy)를 Claude에게 전달하여 훨씬 더 개인화된 이메일을 작성할 수 있습니다.
  2. Gmail API를 통한 자동 발송smtplib 또는 Gmail API를 연결하여 스크립트에서 직접 이메일을 발송하세요.
  3. 니치 타겟팅 (Niche targeting) — 쿼리를 교체하여 특정 수직 시장(verticals)을 공략하세요: "[도시]의 HVAC 계약업체", "[주]의 개인 상해 전문 변호사" 등.

전체 스타터 키트(Starter Kit) 받기

저는 이 스크립트를 Fiverr 제안 봇, 콘텐츠 재가공 도구, Reddit 리드 스캐너를 포함한 9가지의 다른 Python 자동화 도구들과 함께 하나의 스타터 키트로 패키징했습니다.

https://payhip.com/b/GuGDX에서 확인하세요 — 이번 주에 바로 사용하여 주말이 오기 전에 리드를 확보하기 시작하세요.

질문이 있으신가요? 댓글로 남겨주세요. 매일 확인합니다.

AI 자동 생성 콘텐츠

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

원문 바로가기
0

댓글

0