Services & engines
GET /v1/services and GET /v1/engines — the search catalog with per-service prices, supported parameters and live status.
SerpHubAPI is a hub of search services. A source is a search product — a search engine (Google, Bing, Yandex, Baidu), an ecommerce search (Amazon, Walmart, TikTok Shop, Shopee, Taobao), an in-app search (Xiaohongshu; TikTok coming), an agent search API (DeepSeek, Tencent Yuanbao, Tavily, Exa) or an AI answer source (ChatGPT; Perplexity and Gemini coming soon). A service is one source plus one result type, written engine/type: google/news, xiaohongshu/notes, deepseek/web. You call any service through POST /v1/search with engine and type, and every call is paid from the same wallet. AI search answers from a chat interface (ChatGPT; Perplexity and Gemini once they launch) are collected live, so one call typically takes 1–2 minutes; POST /v1/ai-search returns an async job for those sources, which you poll for the result (see Search).
GET /v1/services
GET https://api.serphubapi.com/v1/services
The full catalog: every service with its price, supported parameters and live availability. Free to call. Agents and MCP clients use it to discover what they can ask for. The same list is shown on the services & pricing page.
curl https://api.serphubapi.com/v1/services \
-H "X-API-Key: shapi_xxxxxxxx"
{
"sources": [
{ "id": "google", "name": "Google", "name_zh": "Google", "category": "engine", "blurb": "The world's largest web index.", "blurb_zh": "全球最大的网页索引。" },
{ "id": "deepseek", "name": "DeepSeek Search", "name_zh": "DeepSeek 搜索", "category": "agent", "blurb": "Search index built for agents.", "blurb_zh": "为 Agent 设计的搜索索引。" }
],
"services": [
{
"id": "google/web", "engine": "google", "type": "web", "name": "Google", "name_zh": "Google", "category": "engine",
"credits": 10, "cache_first_credits": 5, "status": "live", "availability": "operational",
"params": ["gl", "hl", "num", "page", "time_range"], "include_content": true
},
{
"id": "deepseek/web", "engine": "deepseek", "type": "web", "name": "DeepSeek Search", "name_zh": "DeepSeek 搜索", "category": "agent",
"credits": 5, "cache_first_credits": 3, "status": "live", "availability": "operational",
"params": ["num"], "include_content": true
},
{
"id": "xiaohongshu/notes", "engine": "xiaohongshu", "type": "notes", "name": "Xiaohongshu", "name_zh": "小红书", "category": "app",
"credits": 62, "cache_first_credits": 31, "status": "live", "availability": "operational",
"params": ["num", "page"], "include_content": true
}
]
}
| Field | Type | Description |
|---|---|---|
id | string | engine/type. |
engine, type | string | The values to send to /v1/search. |
category | string | engine (search engine), ecommerce (ecommerce search), app (in-app search), agent (search APIs built for agents) or ai (AI answers: an AI assistant's own answer with its sources). |
credits | integer | Price of one successful live call. |
cache_first_credits | integer | Price with mode=cache_first (half, rounded up). Cache hits are free. |
status | string | Product status. live: verified. beta: callable, the result shape may still change. invite: invite-only — callable, offered to invited customers. planned: listed, not callable yet. paused: listed and priced, but the upstream is temporarily unavailable — requests return 503 engine_unavailable. |
availability | string | Right now. operational, degraded (callable, recent error rate is elevated), unavailable (temporarily no route), planned. |
params | string[] | Optional parameters this service honours (subset of gl, hl, num, page, time_range). Sending a non-default value for any other one returns 400 validation_error. |
include_content | boolean | Whether include_content is available. |
Prices are per successful call: failed calls, empty results and cache hits cost 0. See Billing.
GET /v1/engines
GET https://api.serphubapi.com/v1/engines
A per-source summary of the same data: each source, its status and the result types callable right now.
{
"engines": [
{ "engine": "google", "name": "Google", "category": "engine", "status": "operational", "types": ["web", "news", "images", "videos", "shopping", "maps", "scholar", "autocomplete"] },
{ "engine": "deepseek", "name": "DeepSeek Search", "category": "agent", "status": "operational", "types": ["web"] },
{ "engine": "tiktok", "name": "TikTok", "category": "app", "status": "planned", "types": [] }
]
}
status | Meaning |
|---|---|
operational | Working normally. |
degraded | Available, but the recent error rate is elevated; occasional 502 is possible. |
disabled | Launched, but temporarily has no route. |
unavailable | Listed and priced, but the upstream is temporarily unavailable. Requests return 503 engine_unavailable. |
planned | Listed in the catalog, not launched yet. Requests return 503 engine_unavailable. |
Errors
| HTTP | Code | When |
|---|---|---|
| 401 | invalid_api_key | Missing, invalid or disabled key |