자체 방문 통계는 항상 수집됩니다. 사용자가 공개 페이지를 어떻게 이용하는지 파악하는 데 쓰이는 Google Analytics(로그인한 워크스페이스는 제외)는 동의한 경우에만 사용됩니다. 자세한 내용은 개인정보 처리방침을 참고하세요.

데이터·검색·모델·챌린지 API, 결과물부터 정의하고 고르세요

플랫폼 데이터 조회, 웹 탐색과 읽기, 모델 분석, 챌린지 처리를 구분해 입력, 소스, 결과 형태에 맞는 EveryInfra API를 고르고, REST와 MCP 중 호출 방식을 정한 뒤 단계별 검수 기준을 세웁니다.

제품 상태 업데이트(2026-10-09 베이징 시간 기준 확인): EveryInfra AI API가 다시 제공됩니다. OpenAI 호환 chat/completions이며, 충전한 계정은 무료로 사용할 수 있고 스트리밍을 지원합니다. 이 글의 모델 및 SDK 예시는 여전히 유효합니다. GET /api/v1/models에서 현재 모델 목록을 확인할 수 있으며, 현재 설정 방법은 문서의 AI API 섹션에 있습니다. 이전의 데이터 정제 제품은 서비스가 종료되었습니다.

"제품 정보를 가져와야 한다"만으로는 API를 고를 수 없습니다. 이미 제품 URL이 있고 리뷰 목록이 필요할 수도 있고, 카테고리만 있는 상태에서 공식 문서를 찾고 싶을 수도 있으며, 리뷰는 이미 가져왔고 문제 요약만 필요할 수도 있습니다. 세 작업은 입력이 비슷하지만 결과물은 완전히 다릅니다. 진입점을 잘못 고르면 검색 스니펫을 구조화된 데이터인 것처럼 사용하거나, 모델이 본 적 없는 사실을 지어내게 되는 경우가 흔합니다.

이 문서는 API 선택을 두 가지 결정으로 나눕니다. 먼저 작업을 완료하는 데 필요한 기능을 고르고, 그다음 애플리케이션이 그 기능을 호출하는 방식을 고릅니다. 데이터, 검색, 모델, 챌린지는 서로 다른 문제를 해결하며, REST와 MCP는 연동 방식입니다. MCP는 다섯 번째 데이터 소스가 아니며, 모든 작업을 자율 에이전트에 맡겨야 한다는 뜻도 아닙니다.

먼저 결과물을 한 문장으로 정의하기

실행 가능한 요구 사항에는 입력, 대상 범위, 보존할 출력 필드, 성공 판단 기준이 명시되어야 합니다. 예를 들어 "허가된 범위 안에서 이 제품 URL에 해당하는 리뷰를 읽고, 리뷰 ID, 출처, 가능한 경우 평점을 보존한 뒤 담당자에게 넘겨 호환성 검토를 받는다"라고 쓰면, "이 제품을 조사한다"보다 인터페이스를 고르고 근거의 빈틈을 찾기가 쉽습니다.

  • 소스 플랫폼의 객체와 필드가 필요한 경우: 데이터 기능 카탈로그에서 platform/action을 찾습니다.
  • 웹 페이지를 찾거나, 원본 자료를 찾거나, 페이지를 읽어야 하는 경우: 검색 도구 카탈로그에서 탐색 및 읽기 기능을 고릅니다.
  • 자료는 충분하고 분류, 번역, 요약이 필요한 경우: 모델 진입점을 고르고 출력 검증 방법을 정합니다.
  • 자체 시스템의 승인된 테스트에 챌린지가 포함된 경우: 챌린지 기능이 필요한지 판단하기 전에 공식 테스트 메커니즘부터 확인합니다.
  • 도구 프로토콜을 지원하는 클라이언트에서 위 기능을 호출해야 하는 경우: MCP 인증, 권한, 클라이언트 검수를 따로 평가합니다.

입력이 URL 하나뿐이어도 진입점을 바로 정할 수는 없습니다. 같은 제품 URL로 제품 객체를 읽을 수도, 페이지 본문을 읽을 수도 있습니다. 전자는 구조화된 필드가 필요하고, 후자는 문서 내용이 필요합니다. 출력을 먼저 정해야 "링크가 있다"는 사실만으로 분류하는 실수를 피할 수 있습니다.

특정 플랫폼의 객체라면 데이터 API를 선택하기

데이터 서비스 진입점
POST /api/v1/social

EveryData 요청은 platform, action, params로 기술됩니다. 플랫폼 계정, 게시물, 댓글, 상품, 순위 같은 객체는 이 계층에서 찾는 것이 가장 좋습니다. 입력이 키워드여도 대상이 특정 플랫폼의 게시물이나 상품임이 분명하다면, 곧바로 일반 웹 검색으로 넘어가지 말고 해당 플랫폼의 search부터 확인해야 합니다.

데이터 액션과 입력 무료로 보기
curl -fsS --max-time 30 \
  'https://api.everyinfra.com/api/v1/social/catalog?compact=1' \
  | jq '[.capabilities[] | {
      platform, action, required_params, mode, returns_list
    }]'

카탈로그를 읽을 때는 액션의 필수 입력, 객체와 목록 중 무엇을 반환하는지, 동기인지 비동기인지에 주목하세요. 필드 사전에 어떤 필드 이름이 있다는 것은 API가 해당 필드를 반환할 수 있다는 뜻일 뿐, 모든 행에 존재한다고 보장하지 않으며 과거 데이터의 완전성, 페이지네이션, 비공개 콘텐츠 접근을 뜻하지도 않습니다. 소스 ID, 누락 값, 실제 샘플링 범위는 반드시 보존해야 합니다.

예를 들어 허가된 상품의 리뷰를 읽은 뒤, 데이터 인터페이스는 사용 가능한 레코드를 전달하는 역할을 맡을 뿐 상품 결함을 판단하지 않습니다. 사용자 주제, 감성, 제안은 이후 분석 계층이 다룹니다. 두 계층은 리뷰 식별자와 버전으로 연결해, 모델 라벨 수정이 원본 데이터를 덮어쓰지 않도록 합니다.

자료를 찾거나 읽으려면 검색 도구를 선택하기

검색 서비스 진입점
POST /api/v1/search

질문은 있지만 소스 URL이 없으면 먼저 탐색을 수행하고, 확인된 URL이 있으면 원문 읽기를 우선하며, 여러 소스 간 관계를 교차 확인해야 하면 교차 검증을 수행합니다. EverySearch에서는 이 단계마다 다른 도구가 담당하므로, 애플리케이션에서 항상 q만 넘기는 단일 함수로 합쳐서는 안 됩니다.

검색 도구의 실제 파라미터 무료로 보기
curl -fsS --max-time 30 \
  'https://api.everyinfra.com/api/v1/search/tools' \
  | jq '[.tools[] | {
      tool, required_params, optional_params
    }]'

카탈로그의 도구 식별자는 tool입니다. web과 crosscheck는 질문을 받고, read는 URL을 받으며, 실제 사용 가능한 파라미터는 현재 항목을 기준으로 합니다. 뉴스, 포럼, 학술 진입점은 검색 범위를 바꿀 뿐 근거의 신뢰도를 자동으로 높이지는 않습니다. 포럼은 구체적인 문제 단서를 찾는 데 적합하며, 인터페이스 정의는 여전히 해당 버전의 1차 출처를 참고해야 합니다.

이 계층에서 성공이란 "결과가 10개 있다"가 아니라, 읽을 수 있고 관련성이 있으며 현재 주장을 뒷받침할 수 있는 소스를 찾는 것입니다. 여러 도메인이 같은 공지를 재게시했더라도 그 근거는 하나의 관찰에서 나온 것입니다. 검색 스니펫은 원문 읽기를 대신할 수 없으며, 읽기에 실패한 페이지의 내용을 모델이 생성해 채우도록 해서도 안 됩니다.

자료를 확보한 뒤 모델 API를 선택하기

현재 텍스트 서비스 진입점
POST /api/v1/chat/completions

모델은 허가된 자료를 주제, 요약, 번역 또는 검토가 필요한 구조화된 결과로 변환하는 데 적합합니다. 검색이나 데이터 입력 없이 최신 사실을 보장하도록 요구해서는 안 됩니다. 필드를 추출할 때는 알 수 없는 값을 어떻게 표현할지 정하세요. 근거가 없는 값은 누락 상태로 반환해야 하며, 완전한 JSON 스키마를 채우려고 모델이 데이터를 지어내게 해서는 안 됩니다.

현재 모델 카탈로그 무료로 보기
curl -fsS --max-time 30 \
  'https://api.everyinfra.com/api/v1/models' \
  | jq '{default_model, models: [.data[].id]}'

EveryInfra의 현재 구현은 비스트리밍 텍스트 경로입니다. SDK 요청 형태가 호환된다고 해서 모든 OpenAI 파라미터, 도구 호출, 멀티모달 진입점을 쓸 수 있는 것은 아니며, 모델 카탈로그가 항목별 서비스 검수 결과인 것도 아닙니다. 연동 시 모델 ID를 고정하고, 최소한의 텍스트 입력으로 먼저 확인한 뒤 업무 옵션을 다시 추가하세요.

출력 검증은 두 단계입니다. 먼저 구조를 프로그램이 읽을 수 있는지 확인하고, 그다음 결론이 입력으로 뒷받침되는지 확인합니다. 주제 분류는 원문 근거를 보존해야 하고, 요약은 출처까지 추적할 수 있어야 합니다. 고객, 직원 또는 대외 발표에 영향을 주는 판단에서는 모델이 후보만 준비하고, 최종 조치는 해당 담당자의 확인을 거쳐야 합니다.

Lewis 등의 RAG 논문은 생성 모델과 검색 가능한 외부 저장소의 결합을 연구했습니다. 이 논문은 "자료 확보"와 "자료에 기반한 생성"을 구분하는 기술적 배경이 됩니다. 따라서 이 문서는 검색 적중이나 생성 결과의 매끄러움을 사실 정확성의 보장으로 보지 않고, 단계별 검수를 채택합니다.

챌린지 기능은 승인된 테스트의 일부입니다

자체 로그인이나 폼 테스트에서는 먼저 챌린지 제품이 테스트 키, 테스트 모드, 공식 데모를 제공하는지 확인하세요. 많은 연동 문제는 실제 챌린지 결과 없이 이런 메커니즘만으로 바로 검증할 수 있습니다. 현재 승인된 테스트 워크플로에 실제로 필요한 경우에만 EverySolve 유형과 입력을 확인하세요.

유형과 결과 구조를 무료로 보기
curl -fsS --max-time 30 \
  'https://api.everyinfra.com/api/v1/captcha/types' \
  | jq '[.types[] | {
      type, available, required_params, solution
    }]'

공개 sitekey, 페이지 URL, 챌린지 파라미터, 서버 측 비밀 정보는 서로 같은 유형의 입력이 아닙니다. 비밀 정보를 실수로 챌린지 해결 인터페이스에 전달하거나 로그에 기록하지 마세요. 해결 유형마다 차이가 있을 수 있으므로 모두 하나의 token 필드로 처리할 수 있는 것도 아닙니다. 카탈로그에 특정 유형이 있다고 해서 그 시점에 해결이 보장되는 것은 아니며, 결과를 얻었다고 해서 대상 웹사이트의 서버 측 검증을 통과했다는 뜻도 아닙니다.

챌린지 기능은 계정 권한, 플랫폼 라이선스, 사용자 확인을 대신하지 않습니다. 결제, 본인 인증, 계정 복구가 관련된 프로세스에서 챌린지를 통과했다고 해서 민감한 작업을 계속 실행해도 되는 것은 아닙니다. 이 문서는 승인되지 않은 제3자 접근 경로를 제공하지 않습니다.

기능을 정한 뒤 REST와 MCP 중에서 선택하기

호출 단계가 고정되어 있고, 백엔드 작업이 있으며, 검수 조건이 명확하다면 일반적으로 REST가 각 요청, 재시도, 결과 저장을 명시적으로 관리하기 쉽습니다. 도구 클라이언트가 맥락에 따라 액션을 골라야 한다면 MCP를 검토할 수 있습니다. 다만 인터페이스를 도구로 감싼다고 입력 검증, 권한, 과금, 사용자 승인이 사라지지는 않습니다. 이는 애플리케이션 설계상의 트레이드오프이며, 성능 비교가 아닙니다.

MCP는 프로토콜 탐색, 인증 방식, 클라이언트 노출 여부, 실제 업무 결과를 각각 따로 검증해야 합니다. tools/list에서 이름이 보인다는 것은 탐색 경로만 증명할 뿐, Claude, ChatGPT, Cursor의 현재 계정이 필요한 자격 증명을 전달할 수 있다는 뜻도 아니고 모든 도구가 실제 호출을 마쳤다는 뜻도 아닙니다.

외부에 부수 효과를 일으키는 작업이라면 클라이언트는 대상과 파라미터를 보여 주고 확인 단계를 유지해야 합니다. 읽기 전용 작업도 웹 페이지나 댓글 속 악의적인 텍스트가 새로운 실행 지시가 되지 않도록 데이터 범위와 사용 가능한 도구를 제한해야 합니다. 프로토콜 선택이 이러한 업무 경계를 대신할 수는 없습니다.

선택한 기능에 장시간 실행 작업이 포함된다면 Microsoft의 비동기 요청-응답 패턴을 참고해 전달 확인을 설계할 수 있습니다. 접수, 처리, 최종 결과를 각각 기록하세요. 이러한 상태는 연동 방식을 정한 뒤에도 그대로 남으며, 프로토콜 이름이 작업 완료 조건을 대신하지 않습니다.

흔한 세 가지 작업을 조합하는 방법

  • 제품 이슈 조사: 데이터 API로 허가된 리뷰를 가져와 식별자로 중복을 제거하고, 모델이 원문과 함께 주제를 생성하며, 사람이 검토한 뒤 제품팀에 넘깁니다. 리뷰의 귀속을 먼저 확인하고, 요약 생성 성공을 전체 워크플로의 성공으로 간주하지 마세요.
  • 기술 문서 검증: 검색으로 버전이 맞는 공식 페이지를 찾고, 본문을 읽고, 문단 위치를 보존하며, 파라미터 차이를 정리합니다. 신뢰할 수 있는 URL이 이미 있다면 검색을 반복하지 말고 바로 읽기부터 시작하세요.
  • 자체 폼 연동: 먼저 공식 테스트 메커니즘으로 프런트엔드와 백엔드를 검증합니다. 승인된 테스트에 챌린지 서비스가 필요하다면 유형, 결과 구조, 대상 서버의 검증을 확인하세요. 폼 제출과 챌린지 처리는 서로 독립된 두 액션입니다.

워크플로의 모든 단계에 모델이 필요한 것은 아닙니다. 결정론적 파라미터 검사, 시간 변환, 식별자 기반 중복 제거, 산술 계산은 일반 코드로 처리할 수 있습니다. 언어 이해나 후보 설명 작성이 필요할 때만 모델을 도입하고, 추적 가능한 입력을 보존하세요.

선택 기록을 검토 가능한 검수 항목으로 만들기

선택한 기능마다 간단하고 일관된 기록을 남기는 것을 권장합니다. 입력 파라미터, 예상 출력, 소스 범위, 권한 근거, 동기/비동기 방식, 성공 및 빈 결과 기준, 타임아웃 처리, 과금 확인, 담당자를 적어 두세요. OpenAPI는 HTTP 인터페이스와 구조를 기술할 수 있지만, 업무 작업이 완료되었다거나 모든 데이터 사용이 허가되었다는 것을 그것만으로 증명하지는 못합니다.

첫 번째 라운드에서는 최소한의 목표만 실행해 실제 결과가 업무 시스템에 들어갈 수 있는지 확인합니다. 알 수 없는 결과에는 조회 및 사람 검토를, 누락된 필드에는 미관측 상태를, 읽을 수 없는 소스에는 실패 정보를 남기세요. 워크플로를 완성된 것처럼 보이게 하려고 모델이나 키를 자동으로 바꾸거나 수집 범위를 넓히지 마세요.

선택이 끝났다는 신호는 모든 제품 이름을 사용하는 것이 아니라, 필요한 모든 단계에 명확한 입력, 신뢰할 수 있는 결과물, 실패 처리 경로가 있는 것입니다. 객체를 늘리거나 에이전트를 활성화하거나 자동화를 확대하기 전에 이 단일 경로부터 명확히 검증하세요.

참고 LF-11