everyais 로 만든 앱을 공개 앱 순위(https://everyais.com/apps)와 각 모델 상세의 "이 모델을 쓰는 앱" 섹션에 등재할 수 있습니다. 요청에 헤더 세 개를 붙이면 되고, 신청이나 승인 절차는 없습니다.
응답·과금·레이트리밋은 전혀 달라지지 않습니다. 이 헤더는 라우팅에도, 인증에도, 가격에도 쓰이지 않습니다 — 집계에만 쓰입니다.
⚠️ 이 값들은 검증되지 않은 자가 신고입니다. 주소의 소유권을 확인하지 않으므로, 목록의 이름과 주소는 "그 앱이 그렇게 신고했다" 는 뜻이지 everyais 가 보증하는 사실이 아닙니다.
헤더
| 헤더 | 필수 | 값 |
|---|---|---|
HTTP-Referer | 예 | 앱의 공개 https 주소. 이 헤더가 없으면 어트리뷰션 자체가 성립하지 않습니다 |
X-EveryAIS-Title | 아니오 | 목록에 표시할 이름 (최대 64자) |
X-EveryAIS-Category | 아니오 | 아래 고정 목록 중 하나 |
curl https://api.everyais.com/v1/chat/completions \
-H "Authorization: Bearer $EVERYAIS_API_KEY" \
-H "Content-Type: application/json" \
-H "HTTP-Referer: https://your-app.com" \
-H "X-EveryAIS-Title: Your App" \
-H "X-EveryAIS-Category: cli-agent" \
-d '{"model": "everyais/claude-opus-5", "messages": [{"role": "user", "content": "hi"}]}'OpenAI SDK 를 쓴다면 클라이언트 기본 헤더에 한 번만 넣으면 됩니다.
from openai import OpenAI
client = OpenAI(
api_key="everyais_...",
base_url="https://api.everyais.com/v1",
default_headers={
"HTTP-Referer": "https://your-app.com",
"X-EveryAIS-Title": "Your App",
"X-EveryAIS-Category": "cli-agent",
},
)지원 경로는 /v1/chat/completions · /v1/messages · /v1/responses 이며 스트리밍 여부와
무관합니다. 다만 아래는 아직 집계되지 않습니다.
- 이미지·비디오 요청(
/v1/images/*,/v1/videos/*) /v1/responses의background: true작업 — 즉시 반환 후 별도 경로로 처리됩니다
집계는 최선 노력(best-effort) 입니다. 헤더를 올바르게 붙여도 일부 요청이 순위에 반영되지 않을 수 있으며, 그 차이로 과금이나 응답이 달라지지는 않습니다.
카테고리 목록
cli-agent · ide · chat · writing · image-gen · agent-platform · other
목록 밖 값은 무시합니다(요청이 거부되지는 않습니다). 대소문자와 앞뒤 공백은 정규화합니다.
HTTP-Referer 가 어떻게 저장되는가
보낸 값을 그대로 저장하지 않고 origin 으로 접습니다. https://your-app.com:8443/chat?id=42
는 https://your-app.com 이 됩니다 — 포트·경로·쿼리·프래그먼트는 저장 전에 버립니다.
호스트는 소문자로, 국제화 도메인은 punycode 로, 후행 점은 전부 제거해 정규화합니다.
아래에 해당하면 집계하지 않습니다(요청은 정상 처리됩니다).
https가 아닌 주소.javascript:·data:·file:은 물론 평문http도 거부합니다 — 둘 다 받으면http://your-app.com과https://your-app.com이 별개 항목이 되는데 화면에는 같은 주소로 보여, 남의 앱과 구별되지 않는 항목을 만들 수 있기 때문입니다- URL 로 파싱되지 않는 값
- IP 주소로 된 호스트 — 공인 IP 도 포함합니다. 앱이 아니라 서버 주소이기 때문입니다
localhost처럼 점이 없는 호스트,.local·.localhost·.internal·.home.arpa로 끝나는 주소.your-app.com처럼 빈 라벨이 있는 주소- 접은 origin 이 64자를 넘는 경우 — 자르면 존재하지 않는 주소가 되므로 버립니다
표시 이름은 제어문자와 <, > 를 제거하고 연속 공백을 한 칸으로 접은 뒤 64자로 자릅니다.
이메일 형태의 문자열이 섞이면 표시 이름을 통째로 버립니다.
⚠️ 브라우저가 자동으로 붙이는 표준 Referer 헤더는 읽지 않습니다. 어트리뷰션은
HTTP-Referer 를 직접 붙였을 때만 성립합니다 — 방문자가 모르는 사이에 등재되지 않도록.
프라이버시
집계에 남는 것은 (날짜, 앱 origin, 모델) 조합과 그 조합의 요청 수·토큰 수뿐입니다.
- 어떤 사용자가 보냈는지(사용자 ID·API 키·조직)는 이 집계와 결합하지 않습니다.
- 요청 본문(프롬프트·응답)은 이 집계에 들어가지 않습니다.
- 경로·쿼리스트링은 저장 전에 잘립니다 — 주소에 담긴 식별자가 남지 않습니다.
- 헤더를 붙이지 않으면 앱 관련 정보가 아무것도 남지 않습니다.
집계는 날짜 단위(UTC)이며 공개 조회 창은 최근 30일입니다.
GET /models/apps
한 모델을 쓰는 앱 목록입니다. 인증이 필요 없고 /v1 접두사도 없습니다. IP 당
60 req/min 이며 응답에는
Cache-Control: public, max-age=60, s-maxage=300, stale-while-revalidate=300 이 붙습니다.
레이트리밋 60 req/min 은 IP 당이면서 경로 묶음이 함께 쓰는 예산입니다.
/models/estimate, /models/stats, /models/benchmarks,
/models/benchmarks/overview, /models/rankings, /models/apps, /models/apps/top,
/models/changes, /models/feed.xml 가 한 버킷을 공유하므로, 한 화면에서 여러 개를
연달아 부르면 그만큼 예산이 빨리 줄어듭니다. /models/catalog 만 별도 버킷이라
상세 조회가 예산을 다 써도 카탈로그 조회는 계속됩니다.
승인·활성 모델만 조회할 수 있고, 그 밖의 slug 는 404 model_not_found 입니다. 모델 slug 는
슬래시를 포함하므로 경로가 아니라 쿼리 파라미터로 보냅니다. limit 은 기본 20,
범위는 1~50 이며 벗어난 값은 400 이 아니라 접습니다.
curl "https://api.everyais.com/models/apps?model=everyais/claude-opus-5"
{
"model": "everyais/claude-opus-5",
"window_days": 30,
"apps": [
{
"app_id": "https://your-app.com",
"title": "Your App",
"category": "cli-agent",
"tokens": 128400,
"requests": 312
}
]
}| 필드 | 설명 |
|---|---|
app_id | 정규화된 origin. 표시 이름이 없을 때 화면이 이 값을 그대로 보여줍니다 |
title | 관측된 표시 이름. 한 번도 신고되지 않았으면 null 입니다 |
category | 고정 목록 중 하나. 신고되지 않았으면 null 입니다 |
tokens | 창 안의 입력 + 출력 토큰 합 |
requests | 창 안의 요청 수 |
- 정렬은 토큰 → 요청 →
app_id순입니다. - 앱이 하나도 없으면 404 가 아니라 빈 배열입니다. 헤더를 붙인 앱이 없는 모델이 대부분이라 "앱 없음" 과 "모델 없음" 은 구별돼야 합니다.
GET /models/apps/top
같은 데이터를 앱 기준으로 뒤집은 전역 순위입니다(everyais.com/apps 가 씁니다).
모델 파라미터가 없고, 인증·레이트리밋·캐시·limit 규약은 위와 같습니다.
curl "https://api.everyais.com/models/apps/top?limit=20"
total_tokens 는 limit 으로 자르기 전 전체 토큰이라, 목록에 표시된 값의 합보다 클 수
있습니다. 어트리뷰션이 붙은 트래픽만 세므로 everyais 전체 사용량이 아닙니다.
공개 카탈로그에 없는 모델(비활성·미승인·가격 미확정)의 트래픽은 이 응답의 순위에도 합계에도 포함되지 않습니다.