SerpHubAPI
설정

SerpHubAPI 설치

사용 방식에 따라 네 가지 방법이 있습니다. 에이전트에서, 코드에서, 체험용으로, 또는 대량으로. 네 가지 모두 같은 키와 같은 지갑을 사용합니다.

먼저 다음에서 키를 발급받으세요: /dashboard/keys (신규 계정에는 무료 크레딧 1,000이 제공됩니다). MCP 서버는 로컬 패키지 serphubapi-mcp(버전 0.1.0, stdio)입니다. 호스팅 엔드포인트가 아니므로 키는 사용자 클라이언트 설정에만 저장됩니다.

에이전트에서: MCP

Claude Code는 한 줄, 다른 클라이언트는 모두 같은 stdio 블록 — command는 uvx, 인자는 serphubapi-mcp, 키는 환경 변수에.

Claude Code

claude mcp add serphubapi -e SERPHUBAPI_API_KEY=shapi_xxxxxxxx -- uvx serphubapi-mcp

설치는 이것으로 끝입니다. 에이전트는 list_services, search, batch, fetch를 사용할 수 있습니다. 서버를 실행하려면 uv(uvx 제공)가 설치되어 있어야 하며, https://api.serphubapi.com과 통신합니다.

Cursor

파일: ~/.cursor/mcp.json(또는 프로젝트의 .cursor/mcp.json).

{
  "mcpServers": {
    "serphubapi": {
      "command": "uvx",
      "args": ["serphubapi-mcp"],
      "env": { "SERPHUBAPI_API_KEY": "shapi_xxxxxxxx" }
    }
  }
}

VS Code

파일: .vscode/mcp.json. VS Code는 최상위 키로 mcpServers 대신 servers를 사용합니다.

{
  "servers": {
    "serphubapi": {
      "command": "uvx",
      "args": ["serphubapi-mcp"],
      "env": { "SERPHUBAPI_API_KEY": "shapi_xxxxxxxx" }
    }
  }
}

Windsurf

파일: ~/.codeium/windsurf/mcp_config.json.

{
  "mcpServers": {
    "serphubapi": {
      "command": "uvx",
      "args": ["serphubapi-mcp"],
      "env": { "SERPHUBAPI_API_KEY": "shapi_xxxxxxxx" }
    }
  }
}

Cline

Cline에서는 MCP Servers 설정을 열고 같은 블록을 추가하세요.

{
  "mcpServers": {
    "serphubapi": {
      "command": "uvx",
      "args": ["serphubapi-mcp"],
      "env": { "SERPHUBAPI_API_KEY": "shapi_xxxxxxxx" }
    }
  }
}

OpenCode

파일: opencode.json. OpenCode는 로컬 서버를 type local과 command 목록으로 정의합니다.

{
  "mcp": {
    "serphubapi": {
      "type": "local",
      "command": ["uvx", "serphubapi-mcp"],
      "environment": { "SERPHUBAPI_API_KEY": "shapi_xxxxxxxx" }
    }
  }
}

도구와 가격: list_services는 무료입니다. search는 해당 서비스 가격(예: google/web 10크레딧, cache_first는 반값, 캐시 적중 시 0)에 콘텐츠 페이지당 3크레딧이 추가됩니다. fetch는 페이지당 5크레딧, 실패 시 0이며, batch는 각 항목을 검색과 동일하게 과금합니다. 전체 레퍼런스: MCP 문서 →

Skill: API를 직접 호출하는 에이전트용

에이전트가 MCP 대신 HTTP를 직접 호출한다면 저장소 루트의 SKILL.md를 제공하세요. 언제 검색할지, 언제 인용이 포함된 답변을 요청할지, 언제 페이지를 수집할지, 검색을 어떻게 배치로 묶을지 안내합니다.

# In your agent's skills folder, or pasted into its instructions:
# https://github.com/sou2026x/serp/blob/main/SKILL.md

MCP 없이 같은 엔드포인트 사용: POST /v1/search, POST /v1/ai-search, POST /v1/fetch, POST /v1/batch, 모두 X-API-Key 헤더와 함께.

도구가 표시되지 않는다면

  • 터미널에서 uvx serphubapi-mcp를 실행해 보세요. 실행된다면 패키지는 정상이고 클라이언트 설정이 문제입니다.
  • 키를 확인하세요. shapi_로 시작해야 합니다(이전 키는 fapi_로 시작하며 계속 사용할 수 있습니다).
  • 설정을 수정한 뒤 클라이언트를 재시작하고, /dashboard/logs에서 사용 금액을 확인하세요.

코드에서: 일반 REST

에이전트가 없어도 됩니다. 모든 호출은 X-API-Key 헤더에 키를 담은 POST 한 번이며, 실패, 빈 결과, 캐시 적중 호출은 무료입니다. 전체 레퍼런스: API 문서 →

curl -s https://api.serphubapi.com/v1/search \
  -H "X-API-Key: shapi_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"q": "best espresso machine 2026", "engine": "google", "num": 5}'
import json, urllib.request

req = urllib.request.Request(
    "https://api.serphubapi.com/v1/search",
    data=json.dumps({"q": "best espresso machine 2026", "engine": "google", "num": 5}).encode(),
    headers={"X-API-Key": "shapi_xxxxxxxx", "Content-Type": "application/json"},
)
with urllib.request.urlopen(req) as r:
    print(json.load(r)["results"])

같은 키로 쓸 수 있는 다른 엔드포인트: 인용이 포함된 답변은 POST /v1/ai-search, 페이지를 Markdown으로 변환하려면 POST /v1/fetch, 한 번에 최대 5개 검색은 POST /v1/batch.

먼저 체험하기: Playground

가입하면 별도 설정 없이 바로 체험할 수 있습니다. 로그인 후 콘솔 Playground에서 검색을 실행하세요. 표준 요금으로 과금됩니다. 신규 계정에는 무료 크레딧 1,000이 제공됩니다.

Playground 열기 →

대량으로: 배치 검색

데이터 파이프라인과 비교 분석용: 한 번의 호출로 최대 5개의 독립 검색을 실행합니다. 각 항목은 단일 검색과 동일하게 과금되며, 한 항목이 실패해도 다른 항목은 막히지 않습니다.

curl -s https://api.serphubapi.com/v1/batch \
  -H "X-API-Key: shapi_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"queries": [{"q": "espresso", "engine": "google"}, {"q": "espresso", "engine": "xiaohongshu", "type": "notes"}]}'

응답은 항상 JSON으로 반환되며, 항목별 결과와 전체 호출에 대한 meta.total_credits_charged가 포함됩니다.

5분 안에 첫 호출하기

가입 시 무료 크레딧 1,000 제공. 신용카드 불필요.