피드로 돌아가기
How to scrape Recruitee jobs data (with salary) in Python — no API key
Dev.toDev.to
Backend

API 정규화를 통한 다중 ATS 데이터 통합 및 파이프라인 유지보수 비용 절감

How to scrape Recruitee jobs data (with salary) in Python — no API key

Freshactors2026년 6월 2일5intermediate

Context

Recruitee Public Offers API의 개방적인 구조에도 불구하고 개별 기업마다 상이한 데이터 필드와 HTML 포함 응답으로 인한 파싱 부담 존재. 자체 구현 시 스키마 변경에 따른 파이프라인 붕괴 위험과 데이터 정규화 로직의 중복 개발이 핵심 병목 지점으로 작용.

Technical Solution

  • 단순 API 호출을 넘어선 Actor 기반의 Intermediate Layer 설계를 통해 데이터 추출 및 정규화 단계 분리
  • Greenhouse, Lever 등 타 ATS와 호환되는 Unified Schema 적용으로 소스에 무관한 단일 데이터 파이프라인 구축
  • HTML 스트리핑 및 Employment-type 코드 정규화를 통한 데이터 전처리 자동화로 소비자 측 파싱 로직 제거
  • includeDescription 옵션을 통한 Payload 최적화로 메타데이터 전용 쿼리 시 네트워크 오버헤드 감소
  • Daily Canary 모니터링 체계 도입을 통한 API 스키마 변경의 즉각적인 감지와 파이프라인 가용성 확보
  • maxJobsPerCompany 제약 설정을 통해 특정 대형 기업의 데이터가 전체 런타임 리소스를 점유하는 현상 방지

1. 외부 데이터 수집 시 개별 파서 구축보다 공통 스키마 정의를 우선할 것

2. API 변경으로 인한 Silent Failure 방지를 위해 Canary 테스트 자동화 적용 검토

3. 데이터 활용 목적에 따라 Payload 크기를 조절하는 필터링 옵션 설계

4. 대량 데이터 수집 시 리소스 독점 방지를 위한 Per-source 쿼터 제한 설정

원문 읽기