Communitygithub.com

aiagentwithdhruv/skills

Apify로 비즈니스 리드를 스크래핑하고, LLM으로 분류하며, 이메일을 보강하고 Google Sheets에 저장합니다. 사용자가 리드 찾기, 비즈니스 스크래핑, 잠재 고객 목록 생성, 또는 업종/위치별 리드 데이터베이스 구축을 요청할 때 사용하세요.

skills란 무엇인가요?

이 스킬은 개발자와 AI 에이전트가 Apify의 `leads-finder` 액터를 사용하여 비즈니스 리드를 자동으로 스크래핑하고, LLM으로 업종 적합성을 확인한 후(80% 이상 일치 시 통과), 결과를 Google Sheets에 저장하는 파이프라인을 제공합니다. 1000개 미만의 소규모 스크래핑은 단일 스크립트로 처리하고, 1000개 이상의 대규모 스크래핑은 지리적 분할(미국 4방향, EU 4방향, 영국 4방향 등)을 통한 병렬 처리를 지원하여 성능을 3~5배 향상시킵니다. 복잡한 틈새 시장의 경우 선택적으로 LLM 기반 분류를 적용할 수 있으며, AnyMailFinder를 사용하여 누락된 이메일을 보강합니다. 최종 산출물은 Google Sheets URL이며, CLI 명령어와 `.env` 파일을 통한 간편한 설정이 가능합니다. Claude Code, Cursor, Codex 등 다양한 AI 에이전트 플랫폼과 호환됩니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/aiagentwithdhruv/skills/tree/HEAD/scrape-leads

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

리드 스크래핑 및 검증

목표

Apify(code_crafter/leads-finder)를 사용하여 리드를 스크래핑하고, 관련성(업종 일치도 > 80%)을 검증한 후 Google Sheets에 저장합니다. 대량 스크래핑(1000개 이상 리드)의 경우 병렬 스크래핑을 사용하여 3~5배 빠른 성능을 제공합니다.

입력값

  • Industry: 대상 업종 (예: "Plumbers", "Software Agencies")
  • Location: 대상 위치 (예: "Texas", "United States", "California"). 스크립트가 자동으로 Apify 형식으로 변환합니다 (미국 주는 ", us" 접미사가 자동으로 추가됨).
  • Total Count: 원하는 총 리드 수

스크립트

모든 스크립트는 ./scripts/ 디렉토리에 있습니다:

  • scrape_apify.py - 단일 스크래핑, 1000개 미만 리드용
  • scrape_apify_parallel.py - 병렬 스크래핑, 1000개 이상 리드용
  • classify_leads_llm.py - LLM 기반 리드 분류
  • enrich_emails.py - AnyMailFinder를 통한 이메일 보강
  • update_sheet.py - 배치 시트 업데이트
  • read_sheet.py - Google Sheets에서 데이터 읽기

프로세스

소규모 스크래핑 (1000개 미만 리드)

  1. 테스트 스크래핑

    python3 ./scripts/scrape_apify.py --query "INDUSTRY" --location "LOCATION" --max_items 25 --no-email-filter --output .tmp/test_leads.json
    
  2. 검증

    • .tmp/test_leads.json 읽기
    • 최소 20/25개(80%)의 리드가 업종과 일치하는지 확인
    • 통과: 3단계로 진행
    • 실패: 중단하고 사용자에게 키워드 재정의 요청
  3. 전체 스크래핑

    python3 ./scripts/scrape_apify.py --query "INDUSTRY" --location "LOCATION" --max_items TOTAL_COUNT --no-email-filter --output .tmp/leads.json
    
  4. [선택사항] LLM 분류 (복잡한 틈새 시장용)

    python3 ./scripts/classify_leads_llm.py .tmp/leads.json --classification_type product_saas --output .tmp/classified_leads.json
    
  5. Google Sheets 업로드

    python3 ./scripts/update_sheet.py .tmp/leads.json --title "Leads - INDUSTRY"
    
  6. 누락된 이메일 보강

    python3 ./scripts/enrich_emails.py SHEET_URL
    

대규모 스크래핑 (1000개 이상 리드)

  1. 테스트 스크래핑 (위와 동일, 25개 항목)

  2. 병렬 전체 스크래핑

    python3 ./scripts/scrape_apify_parallel.py \
      --query "INDUSTRY" \
      --total_count 4000 \
      --location "United States" \
      --strategy regions \
      --no-email-filter
    

    지리적 분할은 자동으로 수행됩니다:

    • 미국: 4방향 (북동부, 남동부, 중서부, 서부)
    • EU/유럽: 4방향 (서부, 남부, 북부, 동부)
    • 영국: 4방향 (잉글랜드 남동부, 잉글랜드 북부, 스코틀랜드/웨일즈, 잉글랜드 남서부)
    • 캐나다: 4방향 (온타리오, 퀘벡, 서부, 대서양)
    • 호주: 4방향 (NSW, VIC/TAS, QLD, WA/SA)
  3. 소규모 스크래핑의 4~6단계를 계속 진행합니다.

출력값

유일한 산출물은 Google Sheets URL입니다. .tmp/ 디렉토리의 로컬 JSON 파일은 임시 중간 파일입니다.

엣지 케이스

  • 리드를 찾을 수 없는 경우: 사용자에게 검색 범위를 넓히도록 요청
  • API 오류: .env 파일의 자격 증명 확인
  • 낮은 품질 분류: 80% 이상이 "불명확"인 경우 스크래핑 키워드 개선

환경

.env 파일에 다음이 필요합니다:

APIFY_API_TOKEN=your_token
GOOGLE_APPLICATION_CREDENTIALS=path/to/credentials.json
ANTHROPIC_API_KEY=your_key
ANYMAILFINDER_API_KEY=your_key

스키마

입력값

이름유형필수설명
industrystring예대상 업종 (예: 'Plumbers', 'Software Agencies')
locationstring예대상 위치 (예: 'Texas', 'United States')
total_countinteger예원하는 총 리드 수
classification_typestring아니오LLM 분류 유형 (예: 'product_saas')

출력값

이름유형설명
sheet_urlstring스크래핑된 리드가 포함된 Google Sheets URL
lead_countinteger찾은 리드 수

자격 증명

이름출처
APIFY_API_TOKEN.env
GOOGLE_APPLICATION_CREDENTIALS.env
ANTHROPIC_API_KEY.env
ANYMAILFINDER_API_KEY.env

함께 사용 가능한 스킬

함께 사용하기 좋은 스킬: classify-leads, casualize-names, instantly-campaigns, onboarding-kickoff

비용

리드당 $0.01-0.02 + 분류 비용 $0.30/1,000

Individual skills in this repo

This repo contains 10 individual skills — each has its own dedicated page.

aiagentwithdhruv/skills

Add new Modal webhooks for event-driven execution. Use when user asks to create a webhook, add an endpoint, or set up event triggers.

aiagentwithdhruv/skills

Answer Euron Gen AI Bootcamp doubts instantly. Covers Euri API setup across all frameworks (Python, LangChain, OpenAI SDK, TypeScript, n8n, curl), MCP server setup, common errors, model recommendations, and token limits. Use when someone in the bootcamp asks a question.

aiagentwithdhruv/skills

Manage emails across multiple Gmail accounts with unified tooling. Use when user asks to check email, read inbox, label emails, archive messages, or manage Gmail across accounts.

aiagentwithdhruv/skills

Auto-label Gmail emails into Action Required, Waiting On, and Reference categories. Use when user asks to label emails, triage inbox, categorize emails, or organize Gmail.

aiagentwithdhruv/skills

Scrape Google Maps for B2B leads with deep website enrichment and contact extraction. Use when user asks to find local businesses, scrape Google Maps, generate contractor lists, or build local service business databases.

aiagentwithdhruv/skills

Run Claude orchestrator locally with Cloudflare tunneling. Use when user asks to run locally, start local server, or test webhooks locally.

aiagentwithdhruv/skills

MCP server for AI-powered macOS control — apps, display, audio, files, screenshots, clipboard

aiagentwithdhruv/skills

Deploy execution scripts to Modal cloud. Use when user asks to deploy to Modal, push code to cloud, or update Modal functions.

aiagentwithdhruv/skills

Query Skool community content using RAG pipeline with vector search. Use when user asks to search Skool knowledge, find community answers, or query Skool content.

aiagentwithdhruv/skills

Scrape Upwork jobs and generate personalized proposals with cover letters. Use when user asks to find Upwork jobs, create Upwork proposals, or apply to Upwork listings.

관련 스킬