Product Title Checker (Amazon & eBay)

Validate Amazon & eBay product titles against official policies — character limits, banned symbols, keyword stuffing. Rule-based, deterministic, no LLM calls.

Documentation

Product Title Checker API (MVP)

이커머스/드랍쉬핑 셀러 및 AI agent를 위한 규칙 기반(non-AI) 상품명 검증 API입니다. Amazon, eBay 정책 기준으로 글자수, 금지/과장 표현, 대문자 남용, 키워드 스터핑, 특수문자, 이모지, 공백 오류, 욕설 등을 검사합니다. LLM을 호출하지 않으므로 응답이 항상 결정적이고(deterministic), 지연시간이 짧고, 실행 비용이 거의 없습니다.

실행 방법

pip install -r requirements.txt
uvicorn main:app --host 0.0.0.0 --port 8000

서버가 뜨면 http://localhost:8000/docs 에서 Swagger UI로 바로 테스트할 수 있습니다.

엔드포인트

POST /check — 단건 검증

POST /check/batch — 배치 검증 (최대 100개)


규칙 출처 및 신뢰도 (2026-07-12 기준 조사)

아래 표는 각 규칙이 어떤 소스에서 나왔는지, 얼마나 신뢰할 수 있는지를 명시합니다. "확인 방법"은 실제로 웹 검색/fetch를 통해 검증한 방식을 뜻합니다.

Amazon

규칙신뢰도확인 방법
글자수 상한75자 (2026-07-27 시행 예정, 그 전까지는 200자)공식 확인Amazon 공식 계정 News_Amazon이 Seller Central 포럼에 올린 공지("Updates to improve your product titles begin on July 27")를 web_search로 원문 직접 확인. 발표일 2026-06-10, URL: sellercentral.amazon.com/seller-forums/discussions/t/145b6d0f-999c-4555-896c-c694bda2e470
200자 상한(구 정책, 2025-01-21 시행)200자공식 확인동일 계정(News_Amazon)의 2025-01-21 공지 원문을 web_search로 확인. URL: sellercentral.amazon.com/seller-forums/discussions/t/b2b15728-0d43-453e-974f-59eb63f73059
금지 특수문자 ! $ ? _ { } ^ ¬ ¦ (브랜드명 예외)목록교차 확인 (직접 fetch 실패)공식 Seller Central 페이지(Product title requirements and guidelines)는 로그인 필요라 직접 fetch 불가. 대신 이 정책을 인용하는 독립된 셀러 컨설팅 매체 2곳(fecoms.com 등)에서 동일한 문자 목록을 "Amazon's own Seller Central announcement"로 인용한 것을 교차 확인. 주의: 로그인 후 원문 직접 대조 권장
동일 단어 2회 초과 반복 금지 (전치사/관사/접속사 제외)최대 2회교차 확인 (직접 fetch 실패)위와 동일한 소스에서 함께 확인됨. 공식 원문 직접 대조는 못 함
Item Highlights 필드(125자) 신설공식 확인위 News_Amazon 공지에 명시, 참고용(현재 API는 title만 검증하며 Item Highlights는 미지원)

eBay

규칙신뢰도확인 방법
글자수 상한80자공식 확인eBay 공식 페이지 export.ebay.com/en/growth/promotion-strategies/how-to-optimize-your-listings/를 직접 web_fetch. 원문: "According to eBay rules, you can use only 80 characters"
단어 단위 전체 대문자 지양— (warning)공식 확인동일 공식 페이지 원문: "avoid writing entire words in capital letters or with asterisks and other markers between words"
별표(*) 등 단어 사이 마커 금지*공식 확인위와 동일 문장에서 확인
물음표(?)가 포함된 키워드 금지?공식 확인eBay 공식 정책 페이지 ebay.com/help/policies/listing-policies/search-browse-manipulation-policy?id=4243를 직접 web_fetch. 원문: "Listings can't include keywords with question marks, as this can be misleading for buyers"
상품과 무관한 키워드(스팸) 금지공식 확인 (현재 API 미구현)위와 동일 정책 페이지에서 확인. 다만 "상품과 무관한 키워드인지" 판단은 규칙 기반으로 자동화하기 어려워 이번 MVP에는 미포함 — 추후 카테고리별 화이트리스트 방식으로 확장 가능

공통 (Amazon/eBay 모두, 별도 공식 확인 없음)

규칙신뢰도비고
과장 표현 목록 (best, guaranteed, free shipping 등)일반 관행, 미검증두 플랫폼 다 마케팅 클레임을 지양하는 편이지만, 개별 단어 단위로 공식 금지 문서를 확인하지는 못함. 참고용 warning으로만 취급
욕설/비속어 필터일반 관행, 미검증데스크에서 임의로 추가한 최소 세트(12개 단어). 마켓플레이스 공식 금칙어 사전을 확인한 게 아니므로, 실제 서비스 배포 전 더 포괄적인 사전으로 교체 필요
이모지 금지일반 관행, 미검증eBay 관련 3rd party 매체(3dsellers.com)에서 "이모지 금지"를 언급했으나 eBay 공식 페이지에서 직접 확인하지는 못함

⚠️ 한계 및 재확인 필요 사항

  1. Amazon 특수문자 목록과 단어반복 규칙은 공식 페이지 직접 열람이 아니라 이를 인용하는 2차 소스 교차 확인으로 검증했습니다. Seller Central 로그인이 가능하면 Product title requirements and guidelines 페이지 원문과 대조하는 것을 권장합니다.
  2. 과장 표현/욕설 목록은 공식 금칙어 사전이 아니라 일반적인 업계 관행 기반 추정 목록입니다. 실제 서비스 배포 전 반드시 별도 검증이 필요합니다.
  3. Amazon 75자 규칙은 2026-07-27부터 시행 예정입니다(현재는 과도기). 시행 이후 실제 강제 여부를 재확인하는 것을 권장합니다.
  4. 두 플랫폼 다 정책이 자주 바뀌므로, 앞서 논의한 대로 주 1회 정도 공식 페이지 diff 체크 후 변경 시에만 사람이 재검토하는 운영 방식을 권장합니다.

정책 업데이트 방식 (자동화 없음 — 의도적 선택)

Amazon/eBay 타이틀 정책은 실제로 확인해보니 변경 빈도가 낮습니다 (Amazon: 2025-01 → 2026-07, 약 1년 반 간격). 이 빈도라면 자동 감지 스크립트를 만들고 유지보수하는 노동력이 오히려 과잉 투자라고 판단해, 분기별 수동 체크 방식으로 운영합니다.

운영 방법

  1. 캘린더에 3개월 주기 리마인더 등록 ("Amazon/eBay 타이틀 정책 확인")
  2. 알림 오면 아래 공식 페이지를 브라우저로 직접 열어서 훑어봄 (5~10분)
  3. 변경 사항 발견 시 → Claude에게 변경 내용을 전달하고 rules.py 수정 요청
  4. 수정된 파일을 다운로드해서 실제 서버/호스팅에 재배포 (이 프로젝트 자체는 배포된 API와 별개의 작업 파일이므로, 재배포는 항상 수동으로 진행)

확인할 공식 페이지

플랫폼페이지
AmazonSeller Central > Help > "Product title requirements and guidelines" (로그인 필요)
AmazonSeller Forums의 News_Amazon 계정 게시글 (공개, sellercentral.amazon.com/seller-forums)
eBayebay.com/help/policies/listing-policies/search-browse-manipulation-policy
eBayexport.ebay.com/en/growth/promotion-strategies/how-to-optimize-your-listings/

왜 자동화를 포기했는가

  • 자동 스크래핑은 봇 차단(WAF) 리스크가 있어 신뢰성이 낮음
  • 변경 빈도가 낮아 실시간 감지의 이득이 크지 않음 (최대 3개월 지연되어도 API가 당장 잘못된 판정을 대량으로 내리는 게 아니라, "완전 최신은 아니지만 거의 맞는" 상태로 계속 정상 작동함)
  • 사람이 직접 브라우저로 확인하는 방식은 차단 리스크가 원천적으로 없고, 별도 인프라 (cron, 이메일 발송 설정 등) 유지보수가 필요 없음

Render 배포 방법

render.yaml 파일이 이미 포함되어 있어 대시보드에서 클릭 몇 번으로 배포됩니다.

1. GitHub에 코드 올리기 (Render는 GitHub 레포 연결 방식)

cd title_checker
git init
git add .
git commit -m "Product Title Checker API - initial commit"

GitHub에서 새 레포지토리를 만든 뒤 (예: product-title-checker), 안내되는 명령어로 push:

git remote add origin https://github.com/본인계정/product-title-checker.git
git branch -M main
git push -u origin main

2. Render에서 배포

  1. render.com 가입 (GitHub 계정으로 로그인 가능)
  2. 대시보드에서 New > Blueprint 선택
  3. 방금 만든 GitHub 레포 선택 → Render가 render.yaml을 자동으로 인식해서 빌드/실행 명령어를 알아서 채움
  4. Apply 클릭 → 몇 분 내로 빌드 및 배포 완료
  5. 배포되면 https://product-title-checker-xxxx.onrender.com 같은 공개 URL이 발급됨

3. 배포 확인

curl https://받은-URL.onrender.com/
curl -X POST https://받은-URL.onrender.com/check \
  -H "Content-Type: application/json" \
  -d '{"title": "Wireless Earbuds", "platform": "amazon"}'

이 URL이 나오면 Claude에게 전달해서 실제로 잘 작동하는지 같이 확인할 수 있습니다.

참고: Render 무료 티어 특징

  • 트래픽이 없으면 자동으로 슬립 모드에 들어가고, 첫 요청 시 재시작에 수십 초 걸릴 수 있음 (RapidAPI 리스팅 초반 테스트 단계에서는 괜찮지만, 실제 유료 사용자가 늘면 유료 플랜 고려 필요)
  • 무료 티어는 월 750시간 제공 (사실상 상시 구동 가능한 수준)

Connect via MCP (for AI agents)

This API is automatically exposed as an MCP (Model Context Protocol) server through RapidAPI, so AI agents (Claude, Cursor, etc.) can call it directly as a tool without custom integration code.

Add this to your MCP client config:

{
  "mcpServers": {
    "Product Title Checker": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://mcp.rapidapi.com",
        "--header", "x-api-host: product-title-checker.p.rapidapi.com",
        "--header", "x-api-key: YOUR_RAPIDAPI_KEY"
      ]
    }
  }
}

Replace YOUR_RAPIDAPI_KEY with your own key. Get one by subscribing (free tier available) at RapidAPI.

Once connected, you can ask your AI agent things like:

"Check if this product title is valid for Amazon: 'Wireless Earbuds Best Deal!!!'"

and it will call /check automatically and return a structured, deterministic result.

파일 구조

title_checker/
├── main.py       # FastAPI 엔드포인트
├── rules.py       # 규칙 정의 및 검증 로직 (출처는 이 README 참고)
├── requirements.txt
├── render.yaml     # Render 배포 설정 (Blueprint)
├── logo.png        # RapidAPI 리스팅용 로고
└── README.md