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 공식 페이지에서 직접 확인하지는 못함 |
⚠️ 한계 및 재확인 필요 사항
- Amazon 특수문자 목록과 단어반복 규칙은 공식 페이지 직접 열람이 아니라 이를 인용하는 2차 소스 교차 확인으로 검증했습니다. Seller Central 로그인이 가능하면
Product title requirements and guidelines페이지 원문과 대조하는 것을 권장합니다. - 과장 표현/욕설 목록은 공식 금칙어 사전이 아니라 일반적인 업계 관행 기반 추정 목록입니다. 실제 서비스 배포 전 반드시 별도 검증이 필요합니다.
- Amazon 75자 규칙은 2026-07-27부터 시행 예정입니다(현재는 과도기). 시행 이후 실제 강제 여부를 재확인하는 것을 권장합니다.
- 두 플랫폼 다 정책이 자주 바뀌므로, 앞서 논의한 대로 주 1회 정도 공식 페이지 diff 체크 후 변경 시에만 사람이 재검토하는 운영 방식을 권장합니다.
정책 업데이트 방식 (자동화 없음 — 의도적 선택)
Amazon/eBay 타이틀 정책은 실제로 확인해보니 변경 빈도가 낮습니다 (Amazon: 2025-01 → 2026-07, 약 1년 반 간격). 이 빈도라면 자동 감지 스크립트를 만들고 유지보수하는 노동력이 오히려 과잉 투자라고 판단해, 분기별 수동 체크 방식으로 운영합니다.
운영 방법
- 캘린더에 3개월 주기 리마인더 등록 ("Amazon/eBay 타이틀 정책 확인")
- 알림 오면 아래 공식 페이지를 브라우저로 직접 열어서 훑어봄 (5~10분)
- 변경 사항 발견 시 → Claude에게 변경 내용을 전달하고
rules.py수정 요청 - 수정된 파일을 다운로드해서 실제 서버/호스팅에 재배포 (이 프로젝트 자체는 배포된 API와 별개의 작업 파일이므로, 재배포는 항상 수동으로 진행)
확인할 공식 페이지
| 플랫폼 | 페이지 |
|---|---|
| Amazon | Seller Central > Help > "Product title requirements and guidelines" (로그인 필요) |
| Amazon | Seller Forums의 News_Amazon 계정 게시글 (공개, sellercentral.amazon.com/seller-forums) |
| eBay | ebay.com/help/policies/listing-policies/search-browse-manipulation-policy |
| eBay | export.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에서 배포
- render.com 가입 (GitHub 계정으로 로그인 가능)
- 대시보드에서 New > Blueprint 선택
- 방금 만든 GitHub 레포 선택 → Render가
render.yaml을 자동으로 인식해서 빌드/실행 명령어를 알아서 채움 - Apply 클릭 → 몇 분 내로 빌드 및 배포 완료
- 배포되면
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