文件
API 參考與指南:認證、錯誤代碼、分頁、新鮮度與 X 端點。
OpenAPI 1.0.0
快速開始
5 分鐘快速開始
三步完成從零到第一個結構化回應:
- 註冊帳號——註冊同時會建立您的預設 Workspace。 註冊
- 在主控台建立 API Key。Secret 僅顯示一次,請妥善保存。 建立 API Key
- 使用該 Key 作為 Bearer Token 呼叫任意端點:
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/x/users/newdev?freshness=default"AI Agent 接入
FetchPI 為 AI Agent 而建:目錄、契約與逐步指引皆為機器可讀的靜態檔案,與本站資料同源生成。
- /llms.txt — 面向 Agent 的站點索引:哪些平台可用、文件與價格入口在哪。
- /SKILL.md — Agent 逐步指引:查目錄 → 讀 schema → 呼叫 → 看用量,含計費規則。
- /openapi.yaml — 公開 OpenAPI 子集:全部 /v1 資料路徑與目錄;不含管理面與主控台面。
Agent 工作流:先查目錄確認可用性與價格,呼叫前讀 schema,每次請求帶一個 API Key,重複查詢優先 freshness=cache,拿到答案即停止翻頁。
認證
所有 /v1/* 端點都透過 API Key 認證:以 HTTP Bearer Token 方式傳送。Key 使用 fp_live_… / fp_test_… 前綴。
Authorization: Bearer fp_live_…請像對待密碼一樣保管 Secret:它只在建立時顯示一次。如疑似外洩,請撤銷該 Key 並重新建立。
錯誤代碼
所有非 2xx 回應使用統一信封:包含穩定機器可讀錯誤代碼的 error 物件,以及聯絡支援時可引用的 request_id。
{
"error": {
"code": "NOT_FOUND",
"message": "API key not found."
},
"request_id": "req_01HTXQ8Z9HTQ"
}| 錯誤代碼 | HTTP 狀態 | 說明 | 常見觸發情境 |
|---|---|---|---|
| UNAUTHENTICATED | 401 | API Key / 工作階段缺失或無效。 | 資料 API 缺少或帶有無效 API Key;主控台工作階段缺失或已過期。 |
| FORBIDDEN | 403 | 已認證,但該 Key 無權使用此能力。 | Key ACL 未授權該能力、RBAC 拒絕該操作,或工作區 Credits 已凍結(CREDITS_FROZEN)。 |
| NOT_FOUND | 404 | 目標資源不存在或對您不可見。 | 資源不存在或對目前工作區不可見(如 API Key、資料集或訂單號)。 |
| DATA_NOT_FOUND | 404 | 無可用資料——例如 cache 模式下沒有快取實體。 | cache 模式下沒有快取資料,或平台使用者不存在。 |
| METHOD_NOT_ALLOWED | — | 該路徑不支援此 HTTP 方法。 | 對既有路徑使用了不支援的 HTTP 方法(如對僅支援 GET 的端點發送 POST)。 |
| VALIDATION | 400 | 請求參數驗證失敗;詳見 error.details.fields。 | 請求參數未通過驗證:limit 超出範圍、cursor 非法、ID 格式錯誤等;詳見 error.details.fields。 |
| CONFLICT | 409 | 狀態衝突,例如資源重複或冪等鍵被重複使用。 | 與目前狀態衝突,如資源重複或冪等鍵被重用。 |
| RATE_LIMIT_EXCEEDED | 429 | 請求過於頻繁——這是所有限流閘門統一的 429 代碼(details.scope 標明具體閘門);請遵循 Retry-After 稍後重試。 | 被任一限流閘門拒絕:Key 分鐘視窗、工作區小時視窗、Key 附加小時上限或 RPS 桶(details.scope 標明閘門);請依 Retry-After 重試。 |
| RATE_LIMITER_UNAVAILABLE | 503 | 限流服務後端暫不可用;請求已被拒絕且未消耗配額——請遵循 Retry-After 稍後重試。 | 共享限流儲存(Redis)暫時不可用,請求依 fail-closed 拒絕且不消耗配額。 |
| REGISTRATION_DISABLED | 403 | 註冊已關閉——請改用 Google 或 GitHub 登入。 | 部署已關閉直接註冊,請改用 Google/GitHub 登入。 |
| OAUTH_PROVIDER_UNAVAILABLE | 404 | 該登入方式暫時不可用;請嘗試其他登入方式。 | 該登入提供者未在此部署配置或暫時不可用。 |
| PASSWORD_CHANGE_REQUIRED | — | 您的密碼已被營運人員重置,需先修改密碼後才能繼續。 | 營運人員重設密碼後,需先變更密碼才能繼續使用工作階段。 |
| INSUFFICIENT_CREDITS | 402 | Credits 不足,請儲值後重試。 | 工作區 Credits 餘額低於本次請求價格;details 帶有所需/可用 Credits。 |
| CREDITS_FROZEN | 403 | 該工作區 Credits 已凍結——儲值仍可用,但解凍前資料 API 請求將被拒絕。 | 付款回滾(深度重組)後 Credits 被凍結:儲值可用,資料 API 請求被拒。 |
| NOT_IMPLEMENTED | 501 | 該能力已保留但在 V1 未實作。 | 該能力已預留但 V1 未實作。 |
| UPSTREAM_ERROR | 502 | 所有可用的上游資料通道均失敗;該請求不計費。 | 所有可用上游資料路徑均失敗;本請求不計費。 |
| INTERNAL | default | 非預期伺服器錯誤;回報時請提供 request_id。 | 非預期伺服器錯誤;回報時請提供 request_id。 |
| PAYMENT_AMOUNT_UNAVAILABLE | 402 | 該儲值金額的名額已全部佔用;請更換金額或稍後重試。 | 該儲值金額的名額已全部佔用;請更換金額或稍後重試。 |
| PAYMENT_NETWORK_DISABLED | 400 | 所選網路/資產目前不接受下單。 | 所選網路/資產目前暫停受理儲值訂單。 |
| PAYMENT_ORDER_EXPIRED | — | 付款訂單已超出付款時限,無法繼續付款;請重新建立訂單。 | 訂單已超出 30 分鐘付款時限,無法繼續付款;請重新建立訂單。 |
| PAYMENT_PENDING_LIMIT | 409 | 工作區進行中的付款訂單已達上限;請先完成或等待現有訂單過期。 | 待付款訂單數已達上限;請先完成付款或等待訂單過期。 |
| PAYMENT_DUPLICATE_RATE | 409 | 該冪等鍵已被以不同的訂單條件使用;請沿用原訂單或改用新的冪等鍵。 | 冪等鍵已用於不同的訂單條件;請重用原訂單或更換鍵。 |
| PAYMENT_RATE_STALE | 409 | 該幣別的匯率行情已過期;儲值下單暫時被拒絕,請稍後再試。 | 匯率資料過期,新儲值訂單暫時被拒;請稍後重試。 |
| DATASET_NOT_AVAILABLE | 409 | 此資料集目前無法下單——處於收錄中或已暫停(合規)狀態。 | 該資料集正在收集或已暫停(合規);暫不接單。 |
| DATASET_DUPLICATE_ORDER | 409 | 該冪等鍵已用於不同的資料集訂單;請重用原訂單或更換新鍵。 | 冪等鍵已用於不同的資料集訂單;請重用原訂單或更換鍵。 |
| PAYMENT_PROVIDER_DISABLED | 400 | 該支付渠道已停用或未設定。 | 付款提供者已停用或未配置。 |
| CUSTOM_REQUEST_LIMIT_EXCEEDED | 403 | 已達定制服務請求配額——每個自然月最多 5 個進行中的定制數據請求,請下月再試。 | 定制服務月度配額已超——自然月內進行中的定制數據請求超過 5 個(業務配額,絕非 429 限流)。 |
| SITE_BUILD_NOT_CONFIGURED | — | 官網重建 Webhook 未設定。 | 管理端觸發了官網重建,但伺服器未設定重建 Webhook 位址。 |
分頁
列表端點使用游標分頁:傳入 limit(1–100,預設 20)與 cursor;回應中的 next_cursor 指向下一頁。
GET /v1/x/users/newdev/posts?limit=20&cursor=eyJpZCI6MTAwfQ列表取完後 next_cursor 為 null(或缺席)。游標是不透明字串——請勿解析,也不要在資料來源切換後繼續依賴舊游標。
新鮮度
每個資料端點都支援 freshness(cache | default | live)與 max_age(秒)。freshness 優先於 max_age,max_age 優先於平台 TTL;預設為 default。
freshness=cache
絕不存取上游。無快取資料時回傳 404 DATA_NOT_FOUND。
freshness=default
由平台按 TTL 與來源策略決定:快取、已儲存或新取得的資料。
freshness=live
請求即時重新擷取,可能產生額外費用(即時倍率)。失敗回傳 502 UPSTREAM_ERROR——絕不偽造新資料。
每個資料回應都會在 meta.freshness 中報告實際生效的模式、資料年齡與服務層級,詳見下方「回應中繼資料」。
速率限制
請求按 API Key(及 Workspace)進行限流。超限回傳 429 RATE_LIMITED,並附上以秒為單位的 Retry-After 回應標頭。
每個 Key 的請求上限與月度消費上限均可在控制台設定。
回應中繼資料
所有 /v1/* 成功回應都帶 meta.request_id,以及新鮮度與計費中繼資料:
| 欄位 | 類型 | 必填 | 說明 |
|---|---|---|---|
| mode | cache | default | live | 必填 | Effective mode after merging param > max_age > source policy (D-004). |
| age_seconds | integer | null | 可選 | Age of served data; null when unknown. |
| source_layer | cache | db | upstream | 必填 | Which layer served the response (PRD §10). |
| stale | boolean | 可選 | True when stale data was served under stale_if_error / SWR (D-004). |
| billing.amount_credits | integer | 必填 | Micro-USD (1e-6 USD) actually charged for this request. |
| billing.cache_hit | boolean | 必填 | — |
欄位備註為契約英文原文。
API 端點
全部 28 個平台共 176 個已文件化的端點,按平台分組,含參數、回應與範例載荷;歸一化 Schema 見各產品詳情頁。
/v1/x/users/{username}x.profileX 使用者資料
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | X 帳號(handle),不帶 @。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 404NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 暫無可用資料(例如 cache-only 模式下沒有快取實體,或使用者名稱不存在)。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/x/users/newdev"回應範例
{
"data": {
"id": "2244994945",
"platform": "x",
"type": "profile",
"username": "newdev",
"display_name": "New Dev",
"description": "Building data APIs.",
"url": "https://x.com/newdev",
"profile_image_url": "https://cdn.example.com/avatar/newdev.jpg",
"banner_image_url": null,
"location": "Berlin",
"verified": false,
"created_at": "2019-04-01T10:15:00Z",
"metrics": {
"followers": 1204,
"following": 312,
"posts": 870,
"likes": 15200
},
"fetched_at": "2026-09-18T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 120,
"source_layer": "db",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/x/users/{username}/postsx.user_postsX 使用者貼文
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | X 帳號(handle),不帶 @。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 使用者名稱不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/x/users/newdev/posts"回應範例
{
"data": [
{
"id": "1842951234567890123",
"platform": "x",
"type": "post",
"author": {
"id": "2244994945",
"username": "newdev",
"display_name": "New Dev",
"verified": false
},
"text": "One API for internet data.",
"lang": "en",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"likes": 128,
"reposts": 12,
"replies": 4,
"quotes": 1,
"views": 5230
},
"in_reply_to": null,
"attachments": [],
"fetched_at": "2026-09-18T09:00:00Z"
},
{
"id": "1842909876543210987",
"platform": "x",
"type": "post",
"author": {
"id": "2244994945",
"username": "newdev",
"display_name": "New Dev",
"verified": false
},
"text": "Freshness modes explained.",
"lang": "en",
"created_at": "2026-09-16T08:00:00Z",
"metrics": {
"likes": 64,
"reposts": 3,
"replies": 1,
"quotes": 0,
"views": 1200
},
"in_reply_to": null,
"attachments": [
{
"type": "photo",
"url": "https://cdn.example.com/p/1.jpg",
"width": 1024,
"height": 512
}
],
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": "eyJpZCI6IjE4MjkwMDAwMDAwMDAwMDAwIn0",
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/x/posts/{id}x.postX 貼文詳細資訊
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | X 貼文 id(平台原生數字字串)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 快取、資料庫與上游均未找到該貼文。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/x/posts/1842951234567890123"回應範例
{
"data": {
"id": "1842951234567890123",
"platform": "x",
"type": "post",
"author": {
"id": "2244994945",
"username": "newdev",
"display_name": "New Dev",
"verified": false
},
"text": "One API for internet data.",
"lang": "en",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"likes": 128,
"reposts": 12,
"replies": 4,
"quotes": 1,
"views": 5230
},
"in_reply_to": null,
"attachments": [],
"fetched_at": "2026-09-18T07:30:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 3600,
"source_layer": "cache",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": true
}
}
}/v1/x/posts/{id}/commentsx.commentsX 貼文留言
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | X 貼文 id(平台原生數字字串)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 貼文不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/x/posts/1842951234567890123/comments"回應範例
{
"data": [
{
"id": "1842951999999999999",
"platform": "x",
"type": "comment",
"post_id": "1842951234567890123",
"author": {
"id": "1122334455",
"username": "curiouscat",
"display_name": "Curious Cat",
"verified": false
},
"text": "Great post!",
"created_at": "2026-09-17T13:00:00Z",
"metrics": {
"likes": 3
},
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 600,
"source_layer": "db",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/x/search/postsx.search_postsX 搜尋貼文
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/x/search/posts?q=fetchpi"回應範例
{
"data": [
{
"id": "1841001111111111111",
"platform": "x",
"type": "post",
"author": {
"id": "5566778899",
"username": "datafan",
"display_name": "Data Fan",
"verified": true
},
"text": "fetchpi launch day!",
"lang": "en",
"created_at": "2026-09-15T10:00:00Z",
"metrics": {
"likes": 9,
"reposts": 2,
"replies": 0,
"quotes": 0,
"views": 340
},
"in_reply_to": null,
"attachments": [],
"fetched_at": "2026-09-18T09:05:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "live",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/x/users/{username}/followersx.user_followers取得粉絲列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | X 帳號(handle),不帶 @。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 使用者名稱不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/x/users/newdev/followers"回應範例
{
"data": [
{
"id": "2244994945",
"platform": "x",
"type": "profile",
"username": "newdev",
"display_name": "New Dev",
"description": "Building data APIs.",
"url": "https://x.com/newdev",
"profile_image_url": "https://cdn.example.com/avatar/newdev.jpg",
"banner_image_url": null,
"location": "Berlin",
"verified": false,
"created_at": "2019-04-01T10:15:00Z",
"metrics": {
"followers": 1204,
"following": 312,
"posts": 870,
"likes": 15200
},
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/x/users/{username}/followingx.user_following取得關注列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | X 帳號(handle),不帶 @。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 使用者名稱不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/x/users/newdev/following"回應範例
{
"data": [
{
"id": "2244994945",
"platform": "x",
"type": "profile",
"username": "newdev",
"display_name": "New Dev",
"description": "Building data APIs.",
"url": "https://x.com/newdev",
"profile_image_url": "https://cdn.example.com/avatar/newdev.jpg",
"banner_image_url": null,
"location": "Berlin",
"verified": false,
"created_at": "2019-04-01T10:15:00Z",
"metrics": {
"followers": 1204,
"following": 312,
"posts": 870,
"likes": 15200
},
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/x/users/{username}/repliesx.user_replies取得用戶回覆列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | X 帳號(handle),不帶 @。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 使用者名稱不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/x/users/newdev/replies"回應範例
{
"data": [
{
"id": "1842951234567890123",
"platform": "x",
"type": "post",
"author": {
"id": "2244994945",
"username": "newdev",
"display_name": "New Dev",
"verified": false
},
"text": "One API for internet data.",
"lang": "en",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"likes": 128,
"reposts": 12,
"replies": 4,
"quotes": 1,
"views": 5230
},
"in_reply_to": null,
"attachments": [],
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/x/users/{username}/mediax.user_media取得用戶媒體列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | X 帳號(handle),不帶 @。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 使用者名稱不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/x/users/newdev/media"回應範例
{
"data": [
{
"id": "1842951234567890123",
"platform": "x",
"type": "post",
"author": {
"id": "2244994945",
"username": "newdev",
"display_name": "New Dev",
"verified": false
},
"text": "One API for internet data.",
"lang": "en",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"likes": 128,
"reposts": 12,
"replies": 4,
"quotes": 1,
"views": 5230
},
"in_reply_to": null,
"attachments": [],
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/x/trendsx.trends取得趨勢
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 可選 | string | 熱搜的國家(可選)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/x/trends?q=fetchpi"回應範例
{
"data": {
"platform": "x",
"type": "trends",
"country": "united states",
"trends": [
{
"name": "#FetchPI",
"post_count": 52341
},
{
"name": "Normalized Entities",
"post_count": 8800,
"url": "https://x.com/search?q=normalized"
}
],
"fetched_at": "2026-09-18T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/tiktok/users/{username}tiktok.profileTikTok 使用者資料
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | TikTok uniqueId 帳號,不帶 @。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 暫無可用資料(例如 cache-only 模式下沒有快取實體,或使用者名稱不存在)。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/tiktok/users/newdev"回應範例
{
"data": {
"id": "7004994945112",
"platform": "tiktok",
"type": "profile",
"username": "creatordev",
"display_name": "Creator Dev",
"description": "Short videos about data APIs.",
"url": "https://fetchpi.com",
"profile_image_url": "https://cdn.example.com/avatar/creatordev.jpg",
"verified": true,
"is_private": false,
"created_at": "2017-10-01T00:00:00Z",
"metrics": {
"followers": 88230,
"following": 412,
"posts": 356,
"likes": 2140000
},
"fetched_at": "2026-09-18T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 120,
"source_layer": "db",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/tiktok/users/{username}/poststiktok.user_postsTikTok 使用者貼文列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | TikTok uniqueId 帳號,不帶 @。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 使用者名稱不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/tiktok/users/newdev/posts"回應範例
{
"data": [
{
"id": "7410886000000000001",
"platform": "tiktok",
"type": "post",
"author": {
"id": "7004994945112",
"username": "creatordev",
"display_name": "Creator Dev",
"verified": true
},
"text": "One API for every platform.",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"likes": 864,
"comments": 42,
"shares": 87,
"collects": 310,
"views": 154203
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover.jpeg",
"duration_ms": 34567
}
],
"fetched_at": "2026-09-18T09:00:00Z"
},
{
"id": "7410886000000000002",
"platform": "tiktok",
"type": "post",
"author": {
"id": "7004994945112",
"username": "creatordev",
"display_name": "Creator Dev",
"verified": true
},
"text": "Photo dump from launch week.",
"created_at": "2026-09-16T08:00:00Z",
"metrics": {
"likes": 412,
"comments": 18,
"shares": 9,
"collects": 77,
"views": 52100
},
"attachments": [
{
"type": "photo",
"url": "https://cdn.example.com/p/1.jpeg"
}
],
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": "eyJ2IjoxLCJzcmMiOiJ4dGhpcmQiLCJwb3MiOiIxNzU4MzI2NDAwIn0",
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/tiktok/posts/{id}tiktok.postTikTok 影片詳情
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | TikTok 影片 id(平台原生數字字串)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 快取、資料庫與上游均未找到該貼文。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/tiktok/posts/1842951234567890123"回應範例
{
"data": {
"id": "7410886000000000001",
"platform": "tiktok",
"type": "post",
"author": {
"id": "7004994945112",
"username": "creatordev",
"display_name": "Creator Dev",
"verified": true
},
"text": "One API for every platform.",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"likes": 864,
"comments": 42,
"shares": 87,
"collects": 310,
"views": 154203
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover.jpeg",
"duration_ms": 34567
}
],
"fetched_at": "2026-09-18T07:30:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 3600,
"source_layer": "cache",
"stale": false
},
"billing": {
"amount_credits": 0,
"cache_hit": true
}
}
}/v1/tiktok/posts/{id}/commentstiktok.commentsTikTok 影片留言
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | TikTok 影片 id(平台原生數字字串)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 貼文不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/tiktok/posts/1842951234567890123/comments"回應範例
{
"data": [
{
"id": "7411111111000000001",
"platform": "tiktok",
"type": "comment",
"post_id": "7410886000000000001",
"author": {
"id": "3311223344",
"username": "curiousfan",
"display_name": "Curious Fan",
"verified": false
},
"text": "This is the future of data APIs.",
"created_at": "2026-09-17T13:00:00Z",
"metrics": {
"likes": 12,
"replies": 2
},
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 600,
"source_layer": "db",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/tiktok/search/poststiktok.search_postsTikTok 搜尋影片
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/tiktok/search/posts?q=fetchpi"回應範例
{
"data": [
{
"id": "7410999000000000001",
"platform": "tiktok",
"type": "post",
"author": {
"id": "5566778899001",
"username": "datafan",
"display_name": "Data Fan",
"verified": true
},
"text": "normalized entities for every feed!",
"created_at": "2026-09-15T10:00:00Z",
"metrics": {
"likes": 91,
"comments": 3,
"shares": 12,
"collects": 24,
"views": 40320
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/s1.jpeg",
"duration_ms": 21000
}
],
"fetched_at": "2026-09-18T09:05:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "live",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/tiktok/posts/{id}/comments/{comment_id}/repliestiktok.comment_replies取得留言回覆列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | TikTok 影片 id(平台原生數字字串)。 |
| comment_id | path | 必填 | string | 父留言 id,列出其回覆。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 貼文不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/tiktok/posts/1842951234567890123/comments/9901222200001001/replies"回應範例
{
"data": [
{
"id": "7411111111000000001",
"platform": "tiktok",
"type": "comment",
"post_id": "7410886000000000001",
"author": {
"id": "3311223344",
"username": "curiousfan",
"display_name": "Curious Fan",
"verified": false
},
"text": "This is the future of data APIs.",
"created_at": "2026-09-17T13:00:00Z",
"metrics": {
"likes": 12,
"replies": 2
},
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/tiktok/users/{username}/followerstiktok.user_followers取得粉絲列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | TikTok uniqueId 帳號,不帶 @。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 使用者名稱不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/tiktok/users/newdev/followers"回應範例
{
"data": [
{
"id": "7004994945112",
"platform": "tiktok",
"type": "profile",
"username": "creatordev",
"display_name": "Creator Dev",
"description": "Short videos about data APIs.",
"url": "https://fetchpi.com",
"profile_image_url": "https://cdn.example.com/avatar/creatordev.jpg",
"verified": true,
"is_private": false,
"created_at": "2017-10-01T00:00:00Z",
"metrics": {
"followers": 88230,
"following": 412,
"posts": 356,
"likes": 2140000
},
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/tiktok/users/{username}/followingtiktok.user_following取得關注列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | TikTok uniqueId 帳號,不帶 @。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 使用者名稱不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/tiktok/users/newdev/following"回應範例
{
"data": [
{
"id": "7004994945112",
"platform": "tiktok",
"type": "profile",
"username": "creatordev",
"display_name": "Creator Dev",
"description": "Short videos about data APIs.",
"url": "https://fetchpi.com",
"profile_image_url": "https://cdn.example.com/avatar/creatordev.jpg",
"verified": true,
"is_private": false,
"created_at": "2017-10-01T00:00:00Z",
"metrics": {
"followers": 88230,
"following": 412,
"posts": 356,
"likes": 2140000
},
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/tiktok/search/userstiktok.search_users搜尋用戶
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/tiktok/search/users?q=fetchpi"回應範例
{
"query": "data api",
"data": [
{
"id": "7004994945112",
"platform": "tiktok",
"type": "profile",
"username": "creatordev",
"display_name": "Creator Dev",
"description": "Short videos about data APIs.",
"url": "https://fetchpi.com",
"profile_image_url": "https://cdn.example.com/avatar/creatordev.jpg",
"verified": true,
"is_private": false,
"created_at": "2017-10-01T00:00:00Z",
"metrics": {
"followers": 88230,
"following": 412,
"posts": 356,
"likes": 2140000
},
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/tiktok/hashtags/{tag}tiktok.hashtag取得話題詳情
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| tag | path | 必填 | string | TikTok 話題名(不含 #);在貼文列表端點則為按原樣轉發的上游挑戰 id。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/tiktok/hashtags/trending"回應範例
{
"data": {
"id": "1600000000000000001",
"platform": "tiktok",
"type": "hashtag",
"name": "fetchpi",
"description": "One API for every platform feed.",
"cover_image_url": "https://p19-sign-sg.tiktokcdn.com/aweme/hashtag/fetchpi.jpeg",
"metrics": {
"views": 4820000000
},
"fetched_at": "2026-09-18T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/tiktok/hashtags/{tag}/poststiktok.hashtag_posts取得話題影片列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| tag | path | 必填 | string | TikTok 話題名(不含 #);在貼文列表端點則為按原樣轉發的上游挑戰 id。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/tiktok/hashtags/trending/posts"回應範例
{
"data": [
{
"id": "7410886000000000001",
"platform": "tiktok",
"type": "post",
"author": {
"id": "7004994945112",
"username": "creatordev",
"display_name": "Creator Dev",
"verified": true
},
"text": "One API for every platform.",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"likes": 864,
"comments": 42,
"shares": 87,
"collects": 310,
"views": 154203
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover.jpeg",
"duration_ms": 34567
}
],
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/tiktok/musics/{id}tiktok.music取得音樂詳情
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | TikTok 平台原生素材 id(/musics 為音樂 id、/live 為直播間 id、/download 為影片 id)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/tiktok/musics/1842951234567890123"回應範例
{
"data": {
"id": "7416880000000000001",
"platform": "tiktok",
"type": "music",
"title": "Sim Song (prod. Creator Dev)",
"author_name": "Creator Dev",
"duration_ms": 34567,
"cover_image_url": "https://p16-sign-sg.tiktokcdn.com/aweme/music/7416880000000000001.jpeg",
"metrics": {
"videos": 128000
},
"fetched_at": "2026-09-18T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/tiktok/live/{id}tiktok.live_room取得直播間資訊
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | TikTok 平台原生素材 id(/musics 為音樂 id、/live 為直播間 id、/download 為影片 id)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/tiktok/live/1842951234567890123"回應範例
{
"data": {
"id": "8800000000000000001",
"platform": "tiktok",
"type": "live_room",
"title": "Live: normalized entities Q&A",
"username": "creatordev",
"display_name": "Creator Dev",
"status": "LIVE",
"viewer_count": 2345,
"started_at": "2026-09-20T00:00:00Z",
"cover_image_url": "https://p19-sign-sg.tiktokcdn.com/aweme/live/8800000000000000001.jpeg",
"fetched_at": "2026-09-18T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/tiktok/search/livetiktok.live_search搜尋直播
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/tiktok/search/live?q=fetchpi"回應範例
{
"query": "data talk",
"data": [
{
"id": "8800000000000000001",
"platform": "tiktok",
"type": "live_room",
"title": "Live: normalized entities Q&A",
"username": "creatordev",
"display_name": "Creator Dev",
"status": "LIVE",
"viewer_count": 2345,
"started_at": "2026-09-20T00:00:00Z",
"cover_image_url": "https://p19-sign-sg.tiktokcdn.com/aweme/live/8800000000000000001.jpeg",
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/tiktok/homefeedtiktok.homefeed取得推薦流
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 使用者名稱不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/tiktok/homefeed"回應範例
{
"data": [
{
"id": "7410886000000000001",
"platform": "tiktok",
"type": "post",
"author": {
"id": "7004994945112",
"username": "creatordev",
"display_name": "Creator Dev",
"verified": true
},
"text": "One API for every platform.",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"likes": 864,
"comments": 42,
"shares": 87,
"collects": 310,
"views": 154203
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover.jpeg",
"duration_ms": 34567
}
],
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/tiktok/download/{id}tiktok.download解析無浮水印下載
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | TikTok 平台原生素材 id(/musics 為音樂 id、/live 為直播間 id、/download 為影片 id)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/tiktok/download/1842951234567890123"回應範例
{
"data": {
"id": "7412050000000000001",
"platform": "tiktok",
"type": "download",
"play_url": "https://v16-webapp.tiktok.com/aweme/v1/play/?video_id=7412050000000000001&no-watermark=1",
"preview_image_url": "https://p19-sign-sg.tiktokcdn.com/aweme/cover/7412050000000000001.jpeg",
"duration_ms": 34567,
"fetched_at": "2026-09-18T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/ig/users/{username}ig.profileInstagram 使用者資料
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | Instagram 使用者名稱,不帶 @。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 暫無可用資料(例如 cache-only 模式下沒有快取實體,或使用者名稱不存在)。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/ig/users/newdev"回應範例
{
"data": {
"id": "1295448945",
"platform": "instagram",
"type": "profile",
"username": "creatordev",
"display_name": "Creator Dev",
"description": "Photo dumps and API graphs.",
"url": "https://fetchpi.com",
"profile_image_url": "https://cdn.example.com/profile_pic/creatordev.jpg",
"verified": true,
"is_private": false,
"created_at": null,
"metrics": {
"followers": 51230,
"following": 310,
"posts": 862
},
"fetched_at": "2026-09-18T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 120,
"source_layer": "db",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/ig/users/{username}/postsig.user_postsInstagram 使用者貼文列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | Instagram 使用者名稱,不帶 @。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 使用者名稱不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/ig/users/newdev/posts"回應範例
{
"data": [
{
"id": "CwxOne00001",
"platform": "instagram",
"type": "post",
"author": {
"id": "1295448945",
"username": "creatordev",
"display_name": "Creator Dev",
"verified": true
},
"text": "Carousel dump",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"likes": 1204,
"comments": 36,
"views": 0
},
"attachments": [
{
"type": "photo",
"url": "https://cdn.example.com/1.jpg"
},
{
"type": "photo",
"url": "https://cdn.example.com/2.jpg"
}
],
"fetched_at": "2026-09-18T09:00:00Z"
},
{
"id": "CwxTwo00002",
"platform": "instagram",
"type": "post",
"author": {
"id": "1295448945",
"username": "creatordev",
"display_name": "Creator Dev",
"verified": true
},
"text": "Reel day",
"created_at": "2026-09-16T08:00:00Z",
"metrics": {
"likes": 640,
"comments": 21,
"views": 60110
},
"attachments": [
{
"type": "video",
"url": "https://cdn.example.com/reel2.mp4",
"duration_ms": 30100
}
],
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": "QVFBQ2daOTItcGxhdGZvcm0",
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/ig/posts/{id}ig.postInstagram 貼文詳情
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | Instagram 貼文 SHORTCODE(即 /p/{code} 定址鍵)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 快取、資料庫與上游均未找到該貼文。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/ig/posts/1842951234567890123"回應範例
{
"data": {
"id": "Creel00001",
"platform": "instagram",
"type": "post",
"author": {
"id": "1295448945",
"username": "creatordev",
"display_name": "Creator Dev",
"verified": true
},
"text": "Reel day",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"likes": 1204,
"comments": 36,
"views": 88231
},
"attachments": [
{
"type": "video",
"url": "https://cdn.example.com/reel.mp4",
"duration_ms": 32500
}
],
"fetched_at": "2026-09-18T07:30:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 3600,
"source_layer": "cache",
"stale": false
},
"billing": {
"amount_credits": 0,
"cache_hit": true
}
}
}/v1/ig/posts/{id}/commentsig.commentsInstagram 貼文留言
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | Instagram 貼文 SHORTCODE(即 /p/{code} 定址鍵)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 貼文不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/ig/posts/1842951234567890123/comments"回應範例
{
"data": [
{
"id": "17990000000000001",
"platform": "instagram",
"type": "comment",
"post_id": "CwxOne00001",
"author": {
"id": "8811223344",
"username": "curiousfan",
"display_name": "Curious Fan",
"verified": false
},
"text": "Clean normalized shape!",
"created_at": "2026-09-17T13:00:00Z",
"metrics": {
"likes": 5
},
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 600,
"source_layer": "db",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/ig/search/postsig.search_postsInstagram 搜尋貼文
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/ig/search/posts?q=fetchpi"回應範例
{
"data": [
{
"id": "Creel00001",
"platform": "instagram",
"type": "post",
"author": {
"id": "5566778899001",
"username": "datafan",
"display_name": "Data Fan",
"verified": true
},
"text": "search hit one",
"created_at": "2026-09-15T10:00:00Z",
"metrics": {
"likes": 341,
"comments": 12,
"views": 88231
},
"attachments": [
{
"type": "video",
"url": "https://cdn.example.com/reel1.mp4",
"duration_ms": 32500
}
],
"fetched_at": "2026-09-18T09:05:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "live",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/ig/posts/{id}/comments/{comment_id}/repliesig.comment_replies取得留言回覆列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | Instagram 貼文 SHORTCODE(即 /p/{code} 定址鍵)。 |
| comment_id | path | 必填 | string | 父留言 id,列出其回覆。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 貼文不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/ig/posts/1842951234567890123/comments/9901222200001001/replies"回應範例
{
"data": [
{
"id": "17990000000000001",
"platform": "instagram",
"type": "comment",
"post_id": "CwxOne00001",
"author": {
"id": "8811223344",
"username": "curiousfan",
"display_name": "Curious Fan",
"verified": false
},
"text": "Clean normalized shape!",
"created_at": "2026-09-17T13:00:00Z",
"metrics": {
"likes": 5
},
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/ig/users/{username}/followersig.user_followers取得粉絲列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | Instagram 使用者名稱,不帶 @。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 使用者名稱不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/ig/users/newdev/followers"回應範例
{
"data": [
{
"id": "1295448945",
"platform": "instagram",
"type": "profile",
"username": "creatordev",
"display_name": "Creator Dev",
"description": "Photo dumps and API graphs.",
"url": "https://fetchpi.com",
"profile_image_url": "https://cdn.example.com/profile_pic/creatordev.jpg",
"verified": true,
"is_private": false,
"created_at": null,
"metrics": {
"followers": 51230,
"following": 310,
"posts": 862
},
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/ig/users/{username}/followingig.user_following取得關注列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | Instagram 使用者名稱,不帶 @。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 使用者名稱不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/ig/users/newdev/following"回應範例
{
"data": [
{
"id": "1295448945",
"platform": "instagram",
"type": "profile",
"username": "creatordev",
"display_name": "Creator Dev",
"description": "Photo dumps and API graphs.",
"url": "https://fetchpi.com",
"profile_image_url": "https://cdn.example.com/profile_pic/creatordev.jpg",
"verified": true,
"is_private": false,
"created_at": null,
"metrics": {
"followers": 51230,
"following": 310,
"posts": 862
},
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/ig/search/usersig.search_users搜尋用戶
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/ig/search/users?q=fetchpi"回應範例
{
"query": "data api",
"data": [
{
"id": "1295448945",
"platform": "instagram",
"type": "profile",
"username": "creatordev",
"display_name": "Creator Dev",
"description": "Photo dumps and API graphs.",
"url": "https://fetchpi.com",
"profile_image_url": "https://cdn.example.com/profile_pic/creatordev.jpg",
"verified": true,
"is_private": false,
"created_at": null,
"metrics": {
"followers": 51230,
"following": 310,
"posts": 862
},
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/ig/users/{username}/storiesig.stories取得快拍列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | Instagram 使用者名稱,不帶 @。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 使用者名稱不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/ig/users/newdev/stories"回應範例
{
"data": [
{
"id": "CwxOne00001",
"platform": "instagram",
"type": "post",
"author": {
"id": "1295448945",
"username": "creatordev",
"display_name": "Creator Dev",
"verified": true
},
"text": "Carousel dump #1",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"likes": 1204,
"comments": 36,
"views": 0
},
"attachments": [
{
"type": "photo",
"url": "https://cdn.example.com/1.jpg"
},
{
"type": "photo",
"url": "https://cdn.example.com/2.jpg"
}
],
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/ig/users/{username}/highlightsig.highlights取得精選集列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | Instagram 使用者名稱,不帶 @。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/ig/users/newdev/highlights"回應範例
{
"data": [
{
"id": "highlight_launch",
"platform": "instagram",
"type": "highlight",
"title": "Launch Week",
"username": "creatordev",
"cover_image_url": "https://scontent.cdninstagram.com/hl-launch.jpg",
"media_count": 3,
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/ig/posts/{id}/likersig.post_likers取得貼文按讚用戶
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | Instagram 貼文 SHORTCODE(即 /p/{code} 定址鍵)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 快取、資料庫與上游均未找到該貼文。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/ig/posts/1842951234567890123/likers"回應範例
{
"data": [
{
"id": "1295448945",
"platform": "instagram",
"type": "profile",
"username": "creatordev",
"display_name": "Creator Dev",
"description": "Photo dumps and API graphs.",
"url": "https://fetchpi.com",
"profile_image_url": "https://cdn.example.com/profile_pic/creatordev.jpg",
"verified": true,
"is_private": false,
"created_at": null,
"metrics": {
"followers": 51230,
"following": 310,
"posts": 862
},
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/xhs/users/{username}xhs.profile小紅書 使用者資料
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 小紅書使用者 id——上游按數字使用者 id 定址,呼叫值按原樣轉發(handle 換算是待上游校準項)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 暫無可用資料(例如 cache-only 模式下沒有快取實體,或使用者不存在)。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/xhs/users/newdev"回應範例
{
"data": {
"id": "66f2a1de000000001e0167a1",
"platform": "xiaohongshu",
"type": "profile",
"username": "creatordev",
"display_name": "Creator Dev",
"description": "Notes about data APIs.",
"profile_image_url": "https://cdn.example.com/avatar/creatordev.jpg",
"verified": true,
"created_at": null,
"metrics": {
"followers": 51230,
"following": 310,
"posts": 862,
"likes": 2140000
},
"fetched_at": "2026-09-18T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 120,
"source_layer": "db",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/xhs/users/{username}/postsxhs.user_posts小紅書 使用者貼文列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 小紅書使用者 id——上游按數字使用者 id 定址,呼叫值按原樣轉發(handle 換算是待上游校準項)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 使用者不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/xhs/users/newdev/posts"回應範例
{
"data": [
{
"id": "66f2b1de000000001f0167a1",
"platform": "xiaohongshu",
"type": "post",
"author": null,
"title": "First note on the platform.",
"text": null,
"created_at": null,
"metrics": {
"likes": 512,
"collects": 0,
"comments": 0,
"shares": 0
},
"attachments": [
{
"type": "photo",
"url": "https://cdn.example.com/n1-cover.jpg"
}
],
"fetched_at": "2026-09-18T09:00:00Z"
},
{
"id": "66f2b1de000000001f0167a2",
"platform": "xiaohongshu",
"type": "post",
"author": null,
"title": "Freshness modes, explained in 30s.",
"text": null,
"created_at": null,
"metrics": {
"likes": 512,
"collects": 0,
"comments": 0,
"shares": 0
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/n2-cover.jpg"
}
],
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": "eyJ2IjoxLCJzcmMiOiJ4dGhpcmQiLCJwb3MiOiI2NmYyYjFkZTAwIn0",
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/xhs/posts/{id}xhs.post小紅書 貼文詳情
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 小紅書筆記 id。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 快取、資料庫與上游均未找到該貼文。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/xhs/posts/1842951234567890123"回應範例
{
"data": {
"id": "66f2b1de000000001f0167a1",
"platform": "xiaohongshu",
"type": "post",
"author": {
"id": "66f2a1de000000001e0167a1",
"username": "creatordev",
"display_name": "Creator Dev",
"verified": true
},
"title": "One API for every feed.",
"text": "One API for every platform.",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"likes": 1204,
"collects": 310,
"comments": 42,
"shares": 87
},
"attachments": [
{
"type": "video",
"url": "https://cdn.example.com/note.mp4",
"preview_image_url": "https://cdn.example.com/note-cover.jpg"
}
],
"fetched_at": "2026-09-18T07:30:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 3600,
"source_layer": "cache",
"stale": false
},
"billing": {
"amount_credits": 0,
"cache_hit": true
}
}
}/v1/xhs/posts/{id}/commentsxhs.comments小紅書 貼文留言
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 小紅書筆記 id。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 貼文不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/xhs/posts/1842951234567890123/comments"回應範例
{
"data": [
{
"id": "66f3a1de000000001f0267c1",
"platform": "xiaohongshu",
"type": "comment",
"post_id": "66f2b1de000000001f0167a1",
"author": {
"id": "66f1a1de000000001f0167d1",
"username": "curiousfan",
"display_name": "Curious Fan",
"verified": false
},
"text": "This is the future of data APIs.",
"created_at": "2026-09-17T13:06:40Z",
"metrics": {
"likes": 12,
"replies": 2
},
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 600,
"source_layer": "db",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/xhs/search/postsxhs.search_posts小紅書 搜尋貼文
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/xhs/search/posts?q=fetchpi"回應範例
{
"data": [
{
"id": "66f2c1de000000001f0167b1",
"platform": "xiaohongshu",
"type": "post",
"author": null,
"title": "search hit one",
"text": null,
"created_at": null,
"metrics": {
"likes": 512,
"collects": 0,
"comments": 0,
"shares": 0
},
"attachments": [
{
"type": "photo",
"url": "https://cdn.example.com/s1-cover.jpg"
}
],
"fetched_at": "2026-09-18T09:05:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "live",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/xhs/posts/{id}/comments/{comment_id}/repliesxhs.comment_replies取得留言回覆列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | TikTok 影片 id(平台原生數字字串)。 |
| comment_id | path | 必填 | string | 父留言 id,列出其子留言。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 貼文不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/xhs/posts/1842951234567890123/comments/9901222200001001/replies"回應範例
{
"data": [
{
"id": "66f3a1de000000001f0267c1",
"platform": "xiaohongshu",
"type": "comment",
"post_id": "66f2b1de000000001f0167a1",
"author": {
"id": "66f1a1de000000001f0167d1",
"username": "curiousfan",
"display_name": "Curious Fan",
"verified": false
},
"text": "This is the future of data APIs.",
"created_at": "2026-09-17T13:06:40Z",
"metrics": {
"likes": 12,
"replies": 2
},
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/xhs/search/usersxhs.search_users搜尋用戶
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/xhs/search/users?q=fetchpi"回應範例
{
"query": "data api",
"data": [
{
"id": "66f2a1de000000001e0167a1",
"platform": "xiaohongshu",
"type": "profile",
"username": "creatordev",
"display_name": "Creator Dev",
"description": "Notes about data APIs.",
"profile_image_url": "https://cdn.example.com/avatar/creatordev.jpg",
"verified": true,
"created_at": null,
"metrics": {
"followers": 51230,
"following": 310,
"posts": 862,
"likes": 2140000
},
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/xhs/homefeedxhs.homefeed取得推薦流
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 使用者名稱不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/xhs/homefeed"回應範例
{
"data": [
{
"id": "66f2b1de000000001f0167a1",
"platform": "xiaohongshu",
"type": "post",
"author": {
"id": "66f2a1de000000001e0167a1",
"username": "creatordev",
"display_name": "Creator Dev",
"verified": true
},
"title": "One API for every feed.",
"text": "One API for every platform.",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"likes": 1204,
"collects": 310,
"comments": 42,
"shares": 87
},
"attachments": [
{
"type": "video",
"url": "https://cdn.example.com/note.mp4",
"preview_image_url": "https://cdn.example.com/note-cover.jpg"
}
],
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/youtube/users/{username}youtube.profileYouTube 頻道資料(頻道即使用者)
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | YouTube 頻道 id(UC…)——頻道即平台使用者主體;上游按頻道 id 定址,呼叫值按原樣轉發(容錯 handle 為待上游校準項)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 暫無可用資料(例如 cache-only 模式下沒有快取實體,或頻道不存在)。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/youtube/users/newdev"回應範例
{
"data": {
"id": "UCsim0000000000000000777",
"platform": "youtube",
"type": "profile",
"username": "creatordev",
"display_name": "Creator Dev",
"description": "Videos about data APIs.",
"url": "https://www.youtube.com/@creatordev",
"profile_image_url": "https://cdn.example.com/avatar/creatordev.jpg",
"verified": true,
"created_at": "2019-04-01T10:15:00Z",
"metrics": {
"subscribers": 51230,
"views": 19824567,
"posts": 862
},
"fetched_at": "2026-09-18T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 120,
"source_layer": "db",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/youtube/users/{username}/postsyoutube.user_postsYouTube 頻道影片列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | YouTube 頻道 id(UC…)——頻道即平台使用者主體;上游按頻道 id 定址,呼叫值按原樣轉發(容錯 handle 為待上游校準項)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 頻道不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/youtube/users/newdev/posts"回應範例
{
"data": [
{
"id": "wSimVideo0001",
"platform": "youtube",
"type": "post",
"author": null,
"title": "First video on the platform.",
"text": null,
"created_at": "2026-09-16T08:00:00Z",
"metrics": {
"views": 0,
"likes": 0,
"comments": 0
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/t1.jpg",
"duration_ms": 30000
}
],
"fetched_at": "2026-09-18T09:00:00Z"
},
{
"id": "wSimVideo0002",
"platform": "youtube",
"type": "post",
"author": null,
"title": "Freshness modes, explained in 30s.",
"text": null,
"created_at": "2026-09-15T08:00:00Z",
"metrics": {
"views": 52100,
"likes": 0,
"comments": 0
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/t2.jpg",
"duration_ms": 30000
}
],
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": "eyJ2IjoxLCJzcmMiOiJ4dGhpcmQiLCJwb3MiOiJDQlFTRCJ9",
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/youtube/posts/{id}youtube.postYouTube 貼文詳情
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | YouTube 影片 id。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 快取、資料庫與上游均未找到該貼文。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/youtube/posts/1842951234567890123"回應範例
{
"data": {
"id": "wSimVideo0001",
"platform": "youtube",
"type": "post",
"author": {
"id": "UCsim0000000000000000777",
"username": "creatordev",
"display_name": "Creator Dev",
"verified": true
},
"title": "One API for every platform.",
"text": "One API for every platform.",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"views": 154203,
"likes": 864,
"comments": 42
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/thumb.jpg",
"duration_ms": 212000
}
],
"fetched_at": "2026-09-18T07:30:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 3600,
"source_layer": "cache",
"stale": false
},
"billing": {
"amount_credits": 0,
"cache_hit": true
}
}
}/v1/youtube/posts/{id}/commentsyoutube.commentsYouTube 影片留言
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | YouTube 影片 id。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 貼文不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/youtube/posts/1842951234567890123/comments"回應範例
{
"data": [
{
"id": "UgxSim000000000001",
"platform": "youtube",
"type": "comment",
"post_id": "wSimVideo0001",
"author": {
"id": "UCsimfan000000000001",
"username": "curiousfan",
"display_name": "Curious Fan",
"verified": false
},
"text": "This is the future of data APIs.",
"created_at": "2026-09-17T13:00:00Z",
"metrics": {
"likes": 12,
"replies": 2
},
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 600,
"source_layer": "db",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/youtube/search/postsyoutube.search_postsYouTube 搜尋影片
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/youtube/search/posts?q=fetchpi"回應範例
{
"data": [
{
"id": "sSimVideo001",
"platform": "youtube",
"type": "post",
"author": {
"id": "UCsimsearch00000000001",
"username": "datafan",
"display_name": "Data Fan",
"verified": false
},
"title": "normalized entities for every feed!",
"text": null,
"created_at": null,
"metrics": {
"views": 0,
"likes": 0,
"comments": 0
},
"attachments": [],
"fetched_at": "2026-09-18T09:05:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "live",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/youtube/search/usersyoutube.search_users搜尋頻道
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/youtube/search/users?q=fetchpi"回應範例
{
"query": "data api",
"data": [
{
"id": "UCsim0000000000000000777",
"platform": "youtube",
"type": "profile",
"username": "creatordev",
"display_name": "Creator Dev",
"description": "Videos about data APIs.",
"url": "https://www.youtube.com/@creatordev",
"profile_image_url": "https://cdn.example.com/avatar/creatordev.jpg",
"verified": true,
"created_at": "2019-04-01T10:15:00Z",
"metrics": {
"subscribers": 51230,
"views": 19824567,
"posts": 862
},
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/reddit/users/{username}reddit.profileReddit 使用者資料
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | Reddit 使用者名稱,不帶 u/。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 暫無可用資料(例如 cache-only 模式下沒有快取實體,或使用者名稱不存在)。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/reddit/users/newdev"回應範例
{
"data": {
"id": "1a2b3c",
"platform": "reddit",
"type": "profile",
"username": "creatordev",
"display_name": "Creator Dev",
"description": "Posts about data APIs.",
"profile_image_url": "https://cdn.example.com/avatar/creatordev.png",
"verified": true,
"created_at": "2019-04-01T08:15:00Z",
"metrics": {
"karma_posts": 8620,
"karma_comments": 15300,
"total_karma": 24100,
"followers": 4811
},
"fetched_at": "2026-09-18T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 120,
"source_layer": "db",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/reddit/users/{username}/postsreddit.user_postsReddit 使用者貼文列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | Reddit 使用者名稱,不帶 u/。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 使用者名稱不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/reddit/users/newdev/posts"回應範例
{
"data": [
{
"id": "1simpost01",
"platform": "reddit",
"type": "post",
"author": {
"id": "7004994945",
"username": "creatordev",
"display_name": null,
"verified": false
},
"title": "First post on the platform.",
"text": "One API for every platform.",
"url": "https://www.reddit.com/r/dataapi/comments/1simpost01/",
"created_at": "2026-09-16T19:23:20Z",
"metrics": {
"upvotes": 864,
"downvotes": 12,
"comments": 42
},
"attachments": [],
"fetched_at": "2026-09-18T09:00:00Z"
},
{
"id": "1simpost02",
"platform": "reddit",
"type": "post",
"author": {
"id": "7004994945",
"username": "creatordev",
"display_name": null,
"verified": false
},
"title": "Freshness modes, explained.",
"text": "One API for every platform.",
"url": "https://www.reddit.com/r/dataapi/comments/1simpost02/",
"created_at": "2026-09-16T08:00:00Z",
"metrics": {
"upvotes": 412,
"downvotes": 9,
"comments": 18
},
"attachments": [
{
"type": "photo",
"url": "https://cdn.example.com/p1-full.jpg",
"preview_image_url": "https://cdn.example.com/p1.jpg"
},
{
"type": "video",
"url": "https://cdn.example.com/p2.mp4",
"preview_image_url": "https://cdn.example.com/p2.jpg"
}
],
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": "eyJ2IjoxLCJzcmMiOiJ4dGhpcmQiLCJwb3MiOiJ0M19zaW0ifQ",
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/reddit/posts/{id}reddit.postReddit 貼文詳情
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | Reddit 貼文 id(t3 base36,不帶前綴)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 快取、資料庫與上游均未找到該貼文。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/reddit/posts/1842951234567890123"回應範例
{
"data": {
"id": "1simpost01",
"platform": "reddit",
"type": "post",
"author": {
"id": "7004994945",
"username": "creatordev",
"display_name": null,
"verified": false
},
"title": "One API for every platform.",
"text": "One API for every platform.",
"url": "https://www.reddit.com/r/dataapi/comments/1simpost01/",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"upvotes": 864,
"downvotes": 12,
"comments": 42
},
"attachments": [],
"fetched_at": "2026-09-18T07:30:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 3600,
"source_layer": "cache",
"stale": false
},
"billing": {
"amount_credits": 0,
"cache_hit": true
}
}
}/v1/reddit/posts/{id}/commentsreddit.commentsReddit 貼文留言
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | Reddit 貼文 id(t3 base36,不帶前綴)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 貼文不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/reddit/posts/1842951234567890123/comments"回應範例
{
"data": [
{
"id": "simcomment1",
"platform": "reddit",
"type": "comment",
"post_id": "1simpost01",
"author": {
"id": "fan0000001",
"username": "curiousfan",
"display_name": null,
"verified": false
},
"text": "This is the future of data APIs.",
"created_at": "2026-09-17T13:06:40Z",
"metrics": {
"upvotes": 12,
"downvotes": 1
},
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 600,
"source_layer": "db",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/reddit/search/postsreddit.search_postsReddit 搜尋貼文
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/reddit/search/posts?q=fetchpi"回應範例
{
"data": [
{
"id": "1simsear01",
"platform": "reddit",
"type": "post",
"author": {
"id": "5566778899",
"username": "datafan",
"display_name": null,
"verified": false
},
"title": "normalized entities for every feed!",
"text": "One API for every platform.",
"url": "https://www.reddit.com/r/dataapi/comments/1simsear01/",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"upvotes": 91,
"downvotes": 2,
"comments": 3
},
"attachments": [],
"fetched_at": "2026-09-18T09:05:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "live",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/reddit/search/usersreddit.search_users搜尋用戶
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/reddit/search/users?q=fetchpi"回應範例
{
"query": "data api",
"data": [
{
"id": "1a2b3c",
"platform": "reddit",
"type": "profile",
"username": "creatordev",
"display_name": "Creator Dev",
"description": "Posts about data APIs.",
"profile_image_url": "https://cdn.example.com/avatar/creatordev.png",
"verified": true,
"created_at": "2019-04-01T08:15:00Z",
"metrics": {
"karma_posts": 8620,
"karma_comments": 15300,
"total_karma": 24100,
"followers": 4811
},
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/reddit/subreddits/{name}/postsreddit.subreddit_posts取得版塊貼文列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| name | path | 必填 | string | Subreddit 版名,不帶 r/。 |
| sort | query | 可選 | hot | new | top = hot | Subreddit 貼文列表的上游資訊流排序。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/reddit/subreddits/technology/posts"回應範例
{
"data": [
{
"id": "1simpost01",
"platform": "reddit",
"type": "post",
"author": {
"id": "7004994945",
"username": "creatordev",
"display_name": null,
"verified": false
},
"title": "One API for every platform.",
"text": "One API for every platform.",
"url": "https://www.reddit.com/r/dataapi/comments/1simpost01/",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"upvotes": 864,
"downvotes": 12,
"comments": 42
},
"attachments": [],
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/reddit/users/{username}/commentsreddit.user_comments取得用戶留言列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | Reddit 使用者名稱,不帶 u/。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — 使用者名稱不存在。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/reddit/users/newdev/comments"回應範例
{
"data": [
{
"id": "simcomment1",
"platform": "reddit",
"type": "comment",
"post_id": "1simpost01",
"author": {
"id": "fan0000001",
"username": "curiousfan",
"display_name": null,
"verified": false
},
"text": "This is the future of data APIs.",
"created_at": "2026-09-17T13:06:40Z",
"metrics": {
"upvotes": 12,
"downvotes": 1
},
"fetched_at": "2026-09-18T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/douyin/users/{username}douyin.profile抖音 使用者資料
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 抖音使用者定址鍵(sec_user_id)——上游按 sec_user_id 定址,呼叫值按原樣轉發(handle 換算是待上游校準項)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/douyin/users/newdev"回應範例
{
"data": {
"id": "7004994945113",
"platform": "douyin",
"type": "profile",
"username": "fetchpi_dev",
"display_name": "FetchPI 抖音站",
"description": "短视频形式的数据 API 教程。",
"url": "https://fetchpi.com",
"profile_image_url": "https://cdn.example.com/avatar/douyin-fetchpi.jpg",
"verified": true,
"created_at": "2019-06-01T00:00:00Z",
"metrics": {
"followers": 1288000,
"following": 88,
"posts": 412,
"likes": 18600000
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/douyin/posts/{id}douyin.post抖音 影片詳細資訊
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 抖音影片 id(平台原生 aweme id;也是 /download 的定址鍵)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/douyin/posts/1842951234567890123"回應範例
{
"data": {
"id": "7412050000000001001",
"platform": "douyin",
"type": "post",
"author": {
"id": "7004994945113",
"username": "fetchpi_dev",
"display_name": "FetchPI 抖音站",
"verified": true
},
"text": "一条关于数据 API 的短视频。",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"likes": 32810,
"comments": 1204,
"shares": 988,
"collects": 5600,
"views": 2140000
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover/douyin-7412050000000001001.jpeg",
"duration_ms": 45678
}
],
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/douyin/users/{username}/postsdouyin.user_posts抖音 使用者影片
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 抖音使用者定址鍵(sec_user_id)——上游按 sec_user_id 定址,呼叫值按原樣轉發(handle 換算是待上游校準項)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/douyin/users/newdev/posts"回應範例
{
"data": [
{
"id": "7412050000000001001",
"platform": "douyin",
"type": "post",
"author": {
"id": "7004994945113",
"username": "fetchpi_dev",
"display_name": "FetchPI 抖音站",
"verified": true
},
"text": "一条关于数据 API 的短视频。",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"likes": 32810,
"comments": 1204,
"shares": 988,
"collects": 5600,
"views": 2140000
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover/douyin-7412050000000001001.jpeg",
"duration_ms": 45678
}
],
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/douyin/posts/{id}/commentsdouyin.comments抖音 影片留言
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 抖音影片 id(平台原生 aweme id;也是 /download 的定址鍵)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/douyin/posts/1842951234567890123/comments"回應範例
{
"data": [
{
"id": "7411222200000001001",
"platform": "douyin",
"type": "comment",
"post_id": "7412050000000001001",
"author": {
"id": "7004994945114",
"username": "commentfan",
"display_name": "评论粉丝",
"verified": false
},
"text": "讲得清楚,赞。",
"created_at": "2026-09-17T13:01:22Z",
"metrics": {
"likes": 823,
"replies": 12
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/douyin/posts/{id}/comments/{comment_id}/repliesdouyin.comment_replies抖音 留言回覆
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 抖音影片 id(平台原生 aweme id;也是 /download 的定址鍵)。 |
| comment_id | path | 必填 | string | 父留言 id,列出其回覆。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/douyin/posts/1842951234567890123/comments/9901222200001001/replies"回應範例
{
"data": [
{
"id": "7411222200000001001",
"platform": "douyin",
"type": "comment",
"post_id": "7412050000000001001",
"author": {
"id": "7004994945114",
"username": "commentfan",
"display_name": "评论粉丝",
"verified": false
},
"text": "讲得清楚,赞。",
"created_at": "2026-09-17T13:01:22Z",
"metrics": {
"likes": 823,
"replies": 12
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/douyin/users/{username}/followersdouyin.user_followers抖音 粉絲列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 抖音使用者定址鍵(sec_user_id)——上游按 sec_user_id 定址,呼叫值按原樣轉發(handle 換算是待上游校準項)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/douyin/users/newdev/followers"回應範例
{
"data": [
{
"id": "7004994945113",
"platform": "douyin",
"type": "profile",
"username": "fetchpi_dev",
"display_name": "FetchPI 抖音站",
"description": "短视频形式的数据 API 教程。",
"url": "https://fetchpi.com",
"profile_image_url": "https://cdn.example.com/avatar/douyin-fetchpi.jpg",
"verified": true,
"created_at": "2019-06-01T00:00:00Z",
"metrics": {
"followers": 1288000,
"following": 88,
"posts": 412,
"likes": 18600000
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/douyin/users/{username}/followingdouyin.user_following抖音 關注列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 抖音使用者定址鍵(sec_user_id)——上游按 sec_user_id 定址,呼叫值按原樣轉發(handle 換算是待上游校準項)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/douyin/users/newdev/following"回應範例
{
"data": [
{
"id": "7004994945113",
"platform": "douyin",
"type": "profile",
"username": "fetchpi_dev",
"display_name": "FetchPI 抖音站",
"description": "短视频形式的数据 API 教程。",
"url": "https://fetchpi.com",
"profile_image_url": "https://cdn.example.com/avatar/douyin-fetchpi.jpg",
"verified": true,
"created_at": "2019-06-01T00:00:00Z",
"metrics": {
"followers": 1288000,
"following": 88,
"posts": 412,
"likes": 18600000
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/douyin/hashtags/{tag}douyin.hashtag抖音 話題詳情
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| tag | path | 必填 | string | 抖音話題定址鍵:上游挑戰 id ch_id,按原樣轉發。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/douyin/hashtags/trending"回應範例
{
"data": {
"id": "1655000000000001001",
"platform": "douyin",
"type": "hashtag",
"name": "数据API",
"description": "话题详情(按上游 ch_id 寻址)。",
"cover_image_url": "https://cdn.example.com/cover/douyin-hashtag.jpeg",
"metrics": {
"views": 960000000,
"posts": 128000
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/douyin/hashtags/{tag}/postsdouyin.hashtag_posts抖音 話題影片
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| tag | path | 必填 | string | 抖音話題定址鍵:上游挑戰 id ch_id,按原樣轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/douyin/hashtags/trending/posts"回應範例
{
"data": [
{
"id": "7412050000000001001",
"platform": "douyin",
"type": "post",
"author": {
"id": "7004994945113",
"username": "fetchpi_dev",
"display_name": "FetchPI 抖音站",
"verified": true
},
"text": "一条关于数据 API 的短视频。",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"likes": 32810,
"comments": 1204,
"shares": 988,
"collects": 5600,
"views": 2140000
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover/douyin-7412050000000001001.jpeg",
"duration_ms": 45678
}
],
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/douyin/musics/{id}douyin.music抖音 音樂詳情
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 抖音平台原生素材 id(/musics 為音樂 id、/live 為直播間 id)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/douyin/musics/1842951234567890123"回應範例
{
"data": {
"id": "7416880000000001001",
"platform": "douyin",
"type": "music",
"title": "原创音源(数据 API 主题曲)",
"author_name": "数据工场",
"duration_ms": 45678,
"cover_image_url": "https://cdn.example.com/cover/douyin-music.jpeg",
"metrics": {
"videos": 128000
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/douyin/musics/{id}/postsdouyin.music_posts抖音 音樂影片
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 抖音平台原生素材 id(/musics 為音樂 id、/live 為直播間 id)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/douyin/musics/1842951234567890123/posts"回應範例
{
"data": [
{
"id": "7412050000000001001",
"platform": "douyin",
"type": "post",
"author": {
"id": "7004994945113",
"username": "fetchpi_dev",
"display_name": "FetchPI 抖音站",
"verified": true
},
"text": "一条关于数据 API 的短视频。",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"likes": 32810,
"comments": 1204,
"shares": 988,
"collects": 5600,
"views": 2140000
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover/douyin-7412050000000001001.jpeg",
"duration_ms": 45678
}
],
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/douyin/live/{id}douyin.live_room抖音 直播間資訊
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 抖音平台原生素材 id(/musics 為音樂 id、/live 為直播間 id)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/douyin/live/1842951234567890123"回應範例
{
"data": {
"id": "8800000000000001001",
"platform": "douyin",
"type": "live_room",
"title": "直播:数据 API 问答",
"username": "fetchpi_dev",
"display_name": "FetchPI 抖音站",
"status": "LIVE",
"viewer_count": 3456,
"started_at": "2026-09-21T08:00:00Z",
"cover_image_url": "https://cdn.example.com/cover/douyin-live.jpeg",
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/douyin/hot-searchdouyin.hot_search抖音 熱搜榜
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/douyin/hot-search"回應範例
{
"data": {
"platform": "douyin",
"type": "hot_search",
"words": [
{
"word": "数据开放",
"hot_value": 4821000
},
{
"word": "实体层",
"hot_value": 3120004
}
],
"updated_at": "2026-09-21T08:00:00Z",
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/douyin/download/{id}douyin.download抖音 影片位址解析
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 抖音影片 id(平台原生 aweme id;也是 /download 的定址鍵)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/douyin/download/1842951234567890123"回應範例
{
"data": {
"id": "7412050000000001001",
"platform": "douyin",
"type": "download",
"play_url": "https://v.douyincdn.com/aweme/7412050000000001001/play.mp4?no-watermark=1",
"preview_image_url": "https://cdn.example.com/cover/douyin-7412050000000001001.jpeg",
"duration_ms": 45678,
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/kuaishou/users/{username}kuaishou.profile快手 使用者資料
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 快手使用者 id——上游按數字 user_id 定址,呼叫值按原樣轉發。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/kuaishou/users/newdev"回應範例
{
"data": {
"id": "3185500122",
"platform": "kuaishou",
"type": "profile",
"username": "fetchpi_ks",
"display_name": "FetchPI 快手号",
"description": "快手短视频与数据开放。",
"url": "https://fetchpi.com",
"profile_image_url": "https://cdn.example.com/avatar/kuaishou-fetchpi.jpg",
"verified": false,
"created_at": "2018-03-15T00:00:00Z",
"metrics": {
"followers": 156000,
"following": 210,
"posts": 389,
"likes": 2100000
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/kuaishou/posts/{id}kuaishou.post快手 作品詳細資訊
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 快手作品 id(平台原生 photo_id)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/kuaishou/posts/1842951234567890123"回應範例
{
"data": {
"id": "5566778899001",
"platform": "kuaishou",
"type": "post",
"author": {
"id": "3185500122",
"username": "fetchpi_ks",
"display_name": "FetchPI 快手号",
"verified": false
},
"text": "快手短视频数据示例。",
"created_at": "2026-09-16T10:00:00Z",
"metrics": {
"likes": 8642,
"comments": 512,
"shares": 87,
"views": 154000
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover/kuaishou-5566778899001.jpeg",
"duration_ms": 38400
}
],
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/kuaishou/users/{username}/postskuaishou.user_posts快手 使用者作品
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 快手使用者 id——上游按數字 user_id 定址,呼叫值按原樣轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/kuaishou/users/newdev/posts"回應範例
{
"data": [
{
"id": "5566778899001",
"platform": "kuaishou",
"type": "post",
"author": {
"id": "3185500122",
"username": "fetchpi_ks",
"display_name": "FetchPI 快手号",
"verified": false
},
"text": "快手短视频数据示例。",
"created_at": "2026-09-16T10:00:00Z",
"metrics": {
"likes": 8642,
"comments": 512,
"shares": 87,
"views": 154000
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover/kuaishou-5566778899001.jpeg",
"duration_ms": 38400
}
],
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/kuaishou/posts/{id}/commentskuaishou.comments快手 作品留言
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 快手作品 id(平台原生 photo_id)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/kuaishou/posts/1842951234567890123/comments"回應範例
{
"data": [
{
"id": "7700112233445",
"platform": "kuaishou",
"type": "comment",
"post_id": "5566778899001",
"author": {
"id": "4400112233445",
"username": "ksfan001",
"display_name": "快手网友",
"verified": false
},
"text": "这个讲解很实用。",
"created_at": "2026-09-16T10:20:00Z",
"metrics": {
"likes": 96,
"replies": 3
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/kuaishou/search/postskuaishou.search_posts快手 搜尋作品
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/kuaishou/search/posts?q=fetchpi"回應範例
{
"data": [
{
"id": "5566778899001",
"platform": "kuaishou",
"type": "post",
"author": {
"id": "3185500122",
"username": "fetchpi_ks",
"display_name": "FetchPI 快手号",
"verified": false
},
"text": "快手短视频数据示例。",
"created_at": "2026-09-16T10:00:00Z",
"metrics": {
"likes": 8642,
"comments": 512,
"shares": 87,
"views": 154000
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover/kuaishou-5566778899001.jpeg",
"duration_ms": 38400
}
],
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"query": "数据",
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/kuaishou/posts/{id}/comments/{comment_id}/replieskuaishou.comment_replies快手 留言回覆
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 快手作品 id(平台原生 photo_id)。 |
| comment_id | path | 必填 | string | 根留言 id,列出其子留言。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/kuaishou/posts/1842951234567890123/comments/9901222200001001/replies"回應範例
{
"data": [
{
"id": "7700112233445",
"platform": "kuaishou",
"type": "comment",
"post_id": "5566778899001",
"author": {
"id": "4400112233445",
"username": "ksfan001",
"display_name": "快手网友",
"verified": false
},
"text": "这个讲解很实用。",
"created_at": "2026-09-16T10:20:00Z",
"metrics": {
"likes": 96,
"replies": 3
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/kuaishou/search/userskuaishou.search_users快手 搜尋使用者
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/kuaishou/search/users?q=fetchpi"回應範例
{
"data": [
{
"id": "3185500122",
"platform": "kuaishou",
"type": "profile",
"username": "fetchpi_ks",
"display_name": "FetchPI 快手号",
"description": "快手短视频与数据开放。",
"url": "https://fetchpi.com",
"profile_image_url": "https://cdn.example.com/avatar/kuaishou-fetchpi.jpg",
"verified": false,
"created_at": "2018-03-15T00:00:00Z",
"metrics": {
"followers": 156000,
"following": 210,
"posts": 389,
"likes": 2100000
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"query": "数据",
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/kuaishou/hashtags/{tag}/postskuaishou.hashtag_posts快手 標籤作品
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| tag | path | 必填 | string | 快手標籤定址鍵:上游 general_tag_id,按原樣轉發(該池無標籤詳情路由)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/kuaishou/hashtags/trending/posts"回應範例
{
"data": [
{
"id": "5566778899001",
"platform": "kuaishou",
"type": "post",
"author": {
"id": "3185500122",
"username": "fetchpi_ks",
"display_name": "FetchPI 快手号",
"verified": false
},
"text": "快手短视频数据示例。",
"created_at": "2026-09-16T10:00:00Z",
"metrics": {
"likes": 8642,
"comments": 512,
"shares": 87,
"views": 154000
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover/kuaishou-5566778899001.jpeg",
"duration_ms": 38400
}
],
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/kuaishou/users/{username}/livekuaishou.live_room快手 直播間資訊
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 快手使用者 id——上游按數字 user_id 定址,呼叫值按原樣轉發。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/kuaishou/users/newdev/live"回應範例
{
"data": {
"id": "8810000000000001001",
"platform": "kuaishou",
"type": "live_room",
"title": "快手直播:数据开放夜",
"username": "fetchpi_ks",
"display_name": "FetchPI 快手号",
"status": "LIVE",
"viewer_count": 1234,
"started_at": "2026-09-21T07:30:00Z",
"cover_image_url": "https://cdn.example.com/cover/kuaishou-live.jpeg",
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/xigua/users/{username}xigua.profile西瓜影片 使用者資料
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 西瓜影片使用者 id——上游按數字 user_id 定址,呼叫值按原樣轉發。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/xigua/users/newdev"回應範例
{
"data": {
"id": "7004994945115",
"platform": "xigua",
"type": "profile",
"username": "fetchpi_xigua",
"display_name": "FetchPI 西瓜号",
"description": "中视频数据 API 演示。",
"url": "https://fetchpi.com",
"profile_image_url": "https://cdn.example.com/avatar/xigua-fetchpi.jpg",
"verified": false,
"created_at": "2020-01-10T00:00:00Z",
"metrics": {
"followers": 86500,
"following": 35,
"posts": 128,
"likes": 940000
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/xigua/posts/{id}xigua.post西瓜影片 影片詳細資訊
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 西瓜影片影片 id(平台原生 item id;也是 /download 的定址鍵)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/xigua/posts/1842951234567890123"回應範例
{
"data": {
"id": "7413050000000001001",
"platform": "xigua",
"type": "post",
"author": {
"id": "7004994945115",
"username": "fetchpi_xigua",
"display_name": "FetchPI 西瓜号",
"verified": false
},
"title": "西瓜视频:一条中视频",
"text": "中视频格式的数据 API 演示。",
"created_at": "2026-09-15T08:30:00Z",
"metrics": {
"likes": 5120,
"comments": 320,
"shares": 140,
"views": 880000
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover/xigua-7413050000000001001.jpeg",
"duration_ms": 732000
}
],
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/xigua/users/{username}/postsxigua.user_posts西瓜影片 使用者影片
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 西瓜影片使用者 id——上游按數字 user_id 定址,呼叫值按原樣轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/xigua/users/newdev/posts"回應範例
{
"data": [
{
"id": "7413050000000001001",
"platform": "xigua",
"type": "post",
"author": {
"id": "7004994945115",
"username": "fetchpi_xigua",
"display_name": "FetchPI 西瓜号",
"verified": false
},
"title": "西瓜视频:一条中视频",
"text": "中视频格式的数据 API 演示。",
"created_at": "2026-09-15T08:30:00Z",
"metrics": {
"likes": 5120,
"comments": 320,
"shares": 140,
"views": 880000
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover/xigua-7413050000000001001.jpeg",
"duration_ms": 732000
}
],
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/xigua/posts/{id}/commentsxigua.comments西瓜影片 影片留言
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 西瓜影片影片 id(平台原生 item id;也是 /download 的定址鍵)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/xigua/posts/1842951234567890123/comments"回應範例
{
"data": [
{
"id": "7413222200000001001",
"platform": "xigua",
"type": "comment",
"post_id": "7413050000000001001",
"author": {
"id": "7004994945116",
"username": "xiguafan",
"display_name": "西瓜观众",
"verified": false
},
"text": "中视频也可以结构化。",
"created_at": "2026-09-15T09:12:00Z",
"metrics": {
"likes": 41,
"replies": 2
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/xigua/search/postsxigua.search_posts西瓜影片 搜尋影片
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/xigua/search/posts?q=fetchpi"回應範例
{
"data": [
{
"id": "7413050000000001001",
"platform": "xigua",
"type": "post",
"author": {
"id": "7004994945115",
"username": "fetchpi_xigua",
"display_name": "FetchPI 西瓜号",
"verified": false
},
"title": "西瓜视频:一条中视频",
"text": "中视频格式的数据 API 演示。",
"created_at": "2026-09-15T08:30:00Z",
"metrics": {
"likes": 5120,
"comments": 320,
"shares": 140,
"views": 880000
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover/xigua-7413050000000001001.jpeg",
"duration_ms": 732000
}
],
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"query": "数据",
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/xigua/download/{id}xigua.download西瓜影片 播放位址解析
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 西瓜影片影片 id(平台原生 item id;也是 /download 的定址鍵)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/xigua/download/1842951234567890123"回應範例
{
"data": {
"id": "7413050000000001001",
"platform": "xigua",
"type": "download",
"play_url": "https://v.xiguacdn.com/item/7413050000000001001/play.mp4",
"preview_image_url": "https://cdn.example.com/cover/xigua-7413050000000001001.jpeg",
"duration_ms": 732000,
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/toutiao/users/{username}toutiao.profile今日頭條 作者資料
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 今日頭條使用者 id——上游按數字 user_id 定址,呼叫值按原樣轉發。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/toutiao/users/newdev"回應範例
{
"data": {
"id": "1567049494",
"platform": "toutiao",
"type": "profile",
"username": "toutiao_datastudio",
"display_name": "数据工场头条号",
"description": "今日头条创作与数据开放。",
"url": "https://fetchpi.com",
"profile_image_url": "https://cdn.example.com/avatar/toutiao-fetchpi.jpg",
"verified": true,
"created_at": "2016-08-01T00:00:00Z",
"metrics": {
"followers": 235000,
"following": 12,
"posts": 890,
"likes": 620000
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/toutiao/posts/{id}toutiao.post今日頭條 文章詳細資訊
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 今日頭條內容 id(平台原生文章 group_id)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/toutiao/posts/1842951234567890123"回應範例
{
"data": {
"id": "1820000000001001",
"platform": "toutiao",
"type": "post",
"author": {
"id": "1567049494",
"username": "toutiao_datastudio",
"display_name": "数据工场头条号",
"verified": true
},
"title": "头条文章:实体层与数据集市",
"text": "结构化访问文章内容与互动指标。",
"url": "https://www.toutiao.com/article/1820000000001001",
"created_at": "2026-09-14T07:00:00Z",
"metrics": {
"likes": 610,
"comments": 88,
"views": 45200
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/toutiao/posts/{id}/commentstoutiao.comments今日頭條 文章留言
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 今日頭條內容 id(平台原生文章 group_id)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/toutiao/posts/1842951234567890123/comments"回應範例
{
"data": [
{
"id": "1821000000001001",
"platform": "toutiao",
"type": "comment",
"post_id": "1820000000001001",
"author": {
"id": "1567049500",
"username": "toutiaoreader",
"display_name": "头条读者",
"verified": false
},
"text": "文章数据口径讲得明白。",
"created_at": "2026-09-14T08:05:00Z",
"metrics": {
"likes": 18,
"replies": 1
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/lemon8/users/{username}lemon8.profileLemon8 使用者資料
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | Lemon8 使用者 id——上游按 user_id 定址,呼叫值按原樣轉發。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/lemon8/users/newdev"回應範例
{
"data": {
"id": "7304994945116",
"platform": "lemon8",
"type": "profile",
"username": "fetchpi_lemon",
"display_name": "FetchPI on Lemon8",
"description": "Lifestyle data notes.",
"url": "https://fetchpi.com",
"profile_image_url": "https://cdn.example.com/avatar/lemon8-fetchpi.jpg",
"verified": false,
"created_at": "2023-04-01T00:00:00Z",
"metrics": {
"followers": 24800,
"following": 150,
"posts": 96,
"likes": 158000
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/lemon8/posts/{id}lemon8.postLemon8 筆記詳細資訊
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | Lemon8 筆記 id(平台原生 item id)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/lemon8/posts/1842951234567890123"回應範例
{
"data": {
"id": "7423050000000001001",
"platform": "lemon8",
"type": "post",
"author": {
"id": "7304994945116",
"username": "fetchpi_lemon",
"display_name": "FetchPI on Lemon8",
"verified": false
},
"title": "Lemon8 note: data APIs",
"text": "A lifestyle note with structured metrics.",
"created_at": "2026-09-13T11:00:00Z",
"metrics": {
"likes": 1320,
"comments": 64,
"collects": 210
},
"attachments": [
{
"type": "photo",
"url": "https://cdn.example.com/images/lemon8-7423050000000001001-1.jpeg"
},
{
"type": "photo",
"url": "https://cdn.example.com/images/lemon8-7423050000000001001-2.jpeg"
}
],
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/lemon8/search/postslemon8.search_postsLemon8 搜尋筆記
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/lemon8/search/posts?q=fetchpi"回應範例
{
"data": [
{
"id": "7423050000000001001",
"platform": "lemon8",
"type": "post",
"author": {
"id": "7304994945116",
"username": "fetchpi_lemon",
"display_name": "FetchPI on Lemon8",
"verified": false
},
"title": "Lemon8 note: data APIs",
"text": "A lifestyle note with structured metrics.",
"created_at": "2026-09-13T11:00:00Z",
"metrics": {
"likes": 1320,
"comments": 64,
"collects": 210
},
"attachments": [
{
"type": "photo",
"url": "https://cdn.example.com/images/lemon8-7423050000000001001-1.jpeg"
},
{
"type": "photo",
"url": "https://cdn.example.com/images/lemon8-7423050000000001001-2.jpeg"
}
],
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"query": "数据",
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/lemon8/users/{username}/followerslemon8.user_followersLemon8 粉絲列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | Lemon8 使用者 id——上游按 user_id 定址,呼叫值按原樣轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/lemon8/users/newdev/followers"回應範例
{
"data": [
{
"id": "7304994945116",
"platform": "lemon8",
"type": "profile",
"username": "fetchpi_lemon",
"display_name": "FetchPI on Lemon8",
"description": "Lifestyle data notes.",
"url": "https://fetchpi.com",
"profile_image_url": "https://cdn.example.com/avatar/lemon8-fetchpi.jpg",
"verified": false,
"created_at": "2023-04-01T00:00:00Z",
"metrics": {
"followers": 24800,
"following": 150,
"posts": 96,
"likes": 158000
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/lemon8/users/{username}/followinglemon8.user_followingLemon8 關注列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | Lemon8 使用者 id——上游按 user_id 定址,呼叫值按原樣轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/lemon8/users/newdev/following"回應範例
{
"data": [
{
"id": "7304994945116",
"platform": "lemon8",
"type": "profile",
"username": "fetchpi_lemon",
"display_name": "FetchPI on Lemon8",
"description": "Lifestyle data notes.",
"url": "https://fetchpi.com",
"profile_image_url": "https://cdn.example.com/avatar/lemon8-fetchpi.jpg",
"verified": false,
"created_at": "2023-04-01T00:00:00Z",
"metrics": {
"followers": 24800,
"following": 150,
"posts": 96,
"likes": 158000
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/lemon8/topics/{id}lemon8.topicLemon8 話題詳情
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | Lemon8 話題 id(平台原生論壇 id)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/lemon8/topics/1842951234567890123"回應範例
{
"data": {
"id": "1666000000000001001",
"platform": "lemon8",
"type": "topic",
"name": "数据开放",
"description": "Lemon8 话题详情(按 forum_id 寻址)。",
"metrics": {
"posts": 8600
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/bilibili/users/{username}bilibili.profile嗶哩嗶哩 使用者資料
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | B 站(bilibili)使用者定址鍵(數字 uid)——上游按 uid 定址,呼叫值按原樣轉發。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/bilibili/users/newdev"回應範例
{
"data": {
"id": "3255000122",
"platform": "bilibili",
"type": "profile",
"username": "FetchPI 哔哩站",
"display_name": "FetchPI 哔哩站",
"description": "哔哩哔哩数据开放。",
"profile_image_url": "https://cdn.example.com/avatar/bilibili-fetchpi.jpg",
"verified": true,
"metrics": {
"followers": 328000,
"following": 45,
"posts": 388
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/bilibili/posts/{id}bilibili.post嗶哩嗶哩 影片詳情
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | B 站影片 id(平台原生 BV 號)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/bilibili/posts/1842951234567890123"回應範例
{
"data": {
"id": "BV1ma101c0001",
"platform": "bilibili",
"type": "post",
"author": {
"id": "3255000122",
"username": "FetchPI 哔哩站",
"display_name": "FetchPI 哔哩站",
"verified": true
},
"title": "哔哩哔哩:数据 API 实战",
"text": "一条关于数据 API 的视频。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 18220,
"comments": 940,
"collects": 2100,
"views": 480000
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover/bilibili-BV1ma101c0001.jpeg"
}
],
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/bilibili/users/{username}/postsbilibili.user_posts嗶哩嗶哩 使用者影片
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | B 站(bilibili)使用者定址鍵(數字 uid)——上游按 uid 定址,呼叫值按原樣轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/bilibili/users/newdev/posts"回應範例
{
"data": [
{
"id": "BV1ma101c0001",
"platform": "bilibili",
"type": "post",
"author": {
"id": "3255000122",
"username": "FetchPI 哔哩站",
"display_name": "FetchPI 哔哩站",
"verified": true
},
"title": "哔哩哔哩:数据 API 实战",
"text": "一条关于数据 API 的视频。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 18220,
"comments": 940,
"collects": 2100,
"views": 480000
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover/bilibili-BV1ma101c0001.jpeg"
}
],
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/bilibili/posts/{id}/commentsbilibili.comments嗶哩嗶哩 影片留言
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | B 站影片 id(平台原生 BV 號)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/bilibili/posts/1842951234567890123/comments"回應範例
{
"data": [
{
"id": "887711220001",
"platform": "bilibili",
"type": "comment",
"post_id": "BV1ma101c0001",
"author": {
"id": "3255000200",
"username": "哔哩网友",
"display_name": "哔哩网友",
"verified": false
},
"text": "讲得清楚,赞。",
"created_at": "2026-09-16T12:01:22Z",
"metrics": {
"likes": 96,
"replies": 3
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/bilibili/posts/{id}/comments/{comment_id}/repliesbilibili.comment_replies嗶哩嗶哩 留言回覆
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | B 站影片 id(平台原生 BV 號)。 |
| comment_id | path | 必填 | string | 父留言 id(rpid),列出其回覆。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/bilibili/posts/1842951234567890123/comments/9901222200001001/replies"回應範例
{
"data": [
{
"id": "887711220001",
"platform": "bilibili",
"type": "comment",
"post_id": "BV1ma101c0001",
"author": {
"id": "3255000200",
"username": "哔哩网友",
"display_name": "哔哩网友",
"verified": false
},
"text": "讲得清楚,赞。",
"created_at": "2026-09-16T12:01:22Z",
"metrics": {
"likes": 96,
"replies": 3
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/bilibili/search/postsbilibili.search_posts嗶哩嗶哩 搜尋影片
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/bilibili/search/posts?q=fetchpi"回應範例
{
"data": [
{
"id": "BV1ma101c0001",
"platform": "bilibili",
"type": "post",
"author": {
"id": "3255000122",
"username": "FetchPI 哔哩站",
"display_name": "FetchPI 哔哩站",
"verified": true
},
"title": "哔哩哔哩:数据 API 实战",
"text": "一条关于数据 API 的视频。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 18220,
"comments": 940,
"collects": 2100,
"views": 480000
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover/bilibili-BV1ma101c0001.jpeg"
}
],
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"query": "数据",
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/bilibili/popularbilibili.popular嗶哩嗶哩 熱門影片
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/bilibili/popular"回應範例
{
"data": [
{
"id": "BV1ma101c0001",
"platform": "bilibili",
"type": "post",
"author": {
"id": "3255000122",
"username": "FetchPI 哔哩站",
"display_name": "FetchPI 哔哩站",
"verified": true
},
"title": "哔哩哔哩:数据 API 实战",
"text": "一条关于数据 API 的视频。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 18220,
"comments": 940,
"collects": 2100,
"views": 480000
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover/bilibili-BV1ma101c0001.jpeg"
}
],
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/bilibili/hot-searchbilibili.hot_search嗶哩嗶哩 熱搜榜
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/bilibili/hot-search"回應範例
{
"data": {
"platform": "bilibili",
"type": "hot_search",
"words": [
{
"word": "数据开放",
"hot_value": 4821000
},
{
"word": "实体层",
"hot_value": 3120004
}
],
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/bilibili/live/{id}bilibili.live_room嗶哩嗶哩 直播間資訊
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | B 站直播間 id(平台原生 room_id)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/bilibili/live/1842951234567890123"回應範例
{
"data": {
"id": "8900000000001001",
"platform": "bilibili",
"type": "live_room",
"title": "直播:数据 API 问答",
"username": "FetchPI 哔哩站",
"display_name": "FetchPI 哔哩站",
"status": "LIVE",
"viewer_count": 3456,
"cover_image_url": "https://cdn.example.com/cover/bilibili-live.jpeg",
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/weibo/users/{username}weibo.profile微博 使用者資料
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 微博使用者定址鍵(數字 uid)——上游按 uid 定址,呼叫值按原樣轉發。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/weibo/users/newdev"回應範例
{
"data": {
"id": "6605000122",
"platform": "weibo",
"type": "profile",
"username": "微博数据站",
"display_name": "微博数据站",
"description": "微博数据开放。",
"profile_image_url": "https://cdn.example.com/avatar/weibo-fetchpi.jpg",
"verified": true,
"created_at": "2018-06-01T00:00:00Z",
"metrics": {
"followers": 1288000,
"following": 210,
"posts": 19800
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/weibo/posts/{id}weibo.post微博 貼文詳情
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 微博貼文 id(平台原生 status id)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/weibo/posts/1842951234567890123"回應範例
{
"data": {
"id": "5551000000001001",
"platform": "weibo",
"type": "post",
"author": {
"id": "6605000122",
"username": "微博数据站",
"display_name": "微博数据站",
"verified": true
},
"text": "一条关于数据 API 的微博。",
"created_at": "2026-09-17T04:34:56Z",
"metrics": {
"likes": 8230,
"comments": 1204,
"shares": 988
},
"attachments": [
{
"type": "photo",
"url": "https://cdn.example.com/images/weibo-5551000000001001-1.jpeg"
},
{
"type": "photo",
"url": "https://cdn.example.com/images/weibo-5551000000001001-2.jpeg"
}
],
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/weibo/users/{username}/postsweibo.user_posts微博 使用者貼文
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 微博使用者定址鍵(數字 uid)——上游按 uid 定址,呼叫值按原樣轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/weibo/users/newdev/posts"回應範例
{
"data": [
{
"id": "5551000000001001",
"platform": "weibo",
"type": "post",
"author": {
"id": "6605000122",
"username": "微博数据站",
"display_name": "微博数据站",
"verified": true
},
"text": "一条关于数据 API 的微博。",
"created_at": "2026-09-17T04:34:56Z",
"metrics": {
"likes": 8230,
"comments": 1204,
"shares": 988
},
"attachments": [
{
"type": "photo",
"url": "https://cdn.example.com/images/weibo-5551000000001001-1.jpeg"
},
{
"type": "photo",
"url": "https://cdn.example.com/images/weibo-5551000000001001-2.jpeg"
}
],
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/weibo/posts/{id}/commentsweibo.comments微博 貼文留言
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 微博貼文 id(平台原生 status id)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/weibo/posts/1842951234567890123/comments"回應範例
{
"data": [
{
"id": "5551222200001001",
"platform": "weibo",
"type": "comment",
"post_id": "5551000000001001",
"author": {
"id": "6605000200",
"username": "微博网友",
"display_name": "微博网友",
"verified": false
},
"text": "讲得清楚,赞。",
"created_at": "2026-09-17T05:01:22Z",
"metrics": {
"likes": 96,
"replies": 3
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/weibo/posts/{id}/comments/{comment_id}/repliesweibo.comment_replies微博 留言回覆
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 微博貼文 id(平台原生 status id)。 |
| comment_id | path | 必填 | string | 父留言 id(主評論 id),列出其子留言。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/weibo/posts/1842951234567890123/comments/9901222200001001/replies"回應範例
{
"data": [
{
"id": "5551222200001001",
"platform": "weibo",
"type": "comment",
"post_id": "5551000000001001",
"author": {
"id": "6605000200",
"username": "微博网友",
"display_name": "微博网友",
"verified": false
},
"text": "讲得清楚,赞。",
"created_at": "2026-09-17T05:01:22Z",
"metrics": {
"likes": 96,
"replies": 3
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/weibo/posts/{id}/repostsweibo.post_reposts微博 貼文轉發
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 微博貼文 id(平台原生 status id)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/weibo/posts/1842951234567890123/reposts"回應範例
{
"data": [
{
"id": "5551000000001001",
"platform": "weibo",
"type": "post",
"author": {
"id": "6605000122",
"username": "微博数据站",
"display_name": "微博数据站",
"verified": true
},
"text": "一条关于数据 API 的微博。",
"created_at": "2026-09-17T04:34:56Z",
"metrics": {
"likes": 8230,
"comments": 1204,
"shares": 988
},
"attachments": [
{
"type": "photo",
"url": "https://cdn.example.com/images/weibo-5551000000001001-1.jpeg"
},
{
"type": "photo",
"url": "https://cdn.example.com/images/weibo-5551000000001001-2.jpeg"
}
],
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/weibo/posts/{id}/likersweibo.post_likers微博 貼文點讚
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 微博貼文 id(平台原生 status id)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/weibo/posts/1842951234567890123/likers"回應範例
{
"data": [
{
"id": "6605000122",
"platform": "weibo",
"type": "profile",
"username": "微博数据站",
"display_name": "微博数据站",
"description": "微博数据开放。",
"profile_image_url": "https://cdn.example.com/avatar/weibo-fetchpi.jpg",
"verified": true,
"created_at": "2018-06-01T00:00:00Z",
"metrics": {
"followers": 1288000,
"following": 210,
"posts": 19800
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/weibo/users/{username}/followersweibo.user_followers微博 粉絲列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 微博使用者定址鍵(數字 uid)——上游按 uid 定址,呼叫值按原樣轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/weibo/users/newdev/followers"回應範例
{
"data": [
{
"id": "6605000122",
"platform": "weibo",
"type": "profile",
"username": "微博数据站",
"display_name": "微博数据站",
"description": "微博数据开放。",
"profile_image_url": "https://cdn.example.com/avatar/weibo-fetchpi.jpg",
"verified": true,
"created_at": "2018-06-01T00:00:00Z",
"metrics": {
"followers": 1288000,
"following": 210,
"posts": 19800
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/weibo/users/{username}/followingweibo.user_following微博 關注列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 微博使用者定址鍵(數字 uid)——上游按 uid 定址,呼叫值按原樣轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/weibo/users/newdev/following"回應範例
{
"data": [
{
"id": "6605000122",
"platform": "weibo",
"type": "profile",
"username": "微博数据站",
"display_name": "微博数据站",
"description": "微博数据开放。",
"profile_image_url": "https://cdn.example.com/avatar/weibo-fetchpi.jpg",
"verified": true,
"created_at": "2018-06-01T00:00:00Z",
"metrics": {
"followers": 1288000,
"following": 210,
"posts": 19800
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/weibo/search/postsweibo.search_posts微博 搜尋貼文
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/weibo/search/posts?q=fetchpi"回應範例
{
"data": [
{
"id": "5551000000001001",
"platform": "weibo",
"type": "post",
"author": {
"id": "6605000122",
"username": "微博数据站",
"display_name": "微博数据站",
"verified": true
},
"text": "一条关于数据 API 的微博。",
"created_at": "2026-09-17T04:34:56Z",
"metrics": {
"likes": 8230,
"comments": 1204,
"shares": 988
},
"attachments": [
{
"type": "photo",
"url": "https://cdn.example.com/images/weibo-5551000000001001-1.jpeg"
},
{
"type": "photo",
"url": "https://cdn.example.com/images/weibo-5551000000001001-2.jpeg"
}
],
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"query": "数据",
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/weibo/search/usersweibo.search_users微博 搜尋使用者
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/weibo/search/users?q=fetchpi"回應範例
{
"data": [
{
"id": "6605000122",
"platform": "weibo",
"type": "profile",
"username": "微博数据站",
"display_name": "微博数据站",
"description": "微博数据开放。",
"profile_image_url": "https://cdn.example.com/avatar/weibo-fetchpi.jpg",
"verified": true,
"created_at": "2018-06-01T00:00:00Z",
"metrics": {
"followers": 1288000,
"following": 210,
"posts": 19800
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"query": "数据",
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/weibo/hot-searchweibo.hot_search微博 熱搜榜
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/weibo/hot-search"回應範例
{
"data": {
"platform": "weibo",
"type": "hot_search",
"words": [
{
"word": "数据开放",
"hot_value": 4821000
},
{
"word": "实体层",
"hot_value": 3120004
}
],
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/zhihu/users/{username}zhihu.profile知乎 使用者資料
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 知乎使用者定址鍵(url_token)——上游按 url_token 定址,呼叫值按原樣轉發。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/zhihu/users/newdev"回應範例
{
"data": {
"id": "9905000122",
"platform": "zhihu",
"type": "profile",
"username": "fetchpi-zhihu",
"display_name": "知乎数据答主",
"description": "知乎数据开放。",
"profile_image_url": "https://cdn.example.com/avatar/zhihu-fetchpi.jpg",
"verified": false,
"metrics": {
"followers": 86500,
"following": 35,
"posts": 128
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/zhihu/answers/{id}zhihu.post知乎 回答詳情
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 知乎回答 id(知乎貼文面的規範形態)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/zhihu/answers/1842951234567890123"回應範例
{
"data": {
"id": "8801000000001001",
"platform": "zhihu",
"type": "post",
"author": {
"id": "9905000122",
"username": "fetchpi-zhihu",
"display_name": "知乎数据答主",
"verified": false
},
"title": "实体层是如何炼成的?",
"text": "回答:结构化访问知乎内容。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 5120,
"comments": 320
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/zhihu/articles/{id}zhihu.article知乎 文章詳情
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 知乎專欄文章 id。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/zhihu/articles/1842951234567890123"回應範例
{
"data": {
"id": "8801000000001001",
"platform": "zhihu",
"type": "post",
"author": {
"id": "9905000122",
"username": "fetchpi-zhihu",
"display_name": "知乎数据答主",
"verified": false
},
"title": "实体层是如何炼成的?",
"text": "回答:结构化访问知乎内容。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 5120,
"comments": 320
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/zhihu/questions/{id}zhihu.question知乎 問題詳情
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 知乎問題 id。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/zhihu/questions/1842951234567890123"回應範例
{
"data": {
"id": "7701000000001001",
"platform": "zhihu",
"type": "question",
"title": "实体层是如何炼成的?",
"detail": "问题详情:数据 API 的实体层设计。",
"metrics": {
"answers": 1280,
"followers": 8600
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/zhihu/questions/{id}/answerszhihu.question_answers知乎 問題回答列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 知乎問題 id。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/zhihu/questions/1842951234567890123/answers"回應範例
{
"data": [
{
"id": "8801000000001001",
"platform": "zhihu",
"type": "post",
"author": {
"id": "9905000122",
"username": "fetchpi-zhihu",
"display_name": "知乎数据答主",
"verified": false
},
"title": "实体层是如何炼成的?",
"text": "回答:结构化访问知乎内容。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 5120,
"comments": 320
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/zhihu/users/{username}/answerszhihu.user_answers知乎 使用者回答列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 知乎使用者定址鍵(url_token)——上游按 url_token 定址,呼叫值按原樣轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/zhihu/users/newdev/answers"回應範例
{
"data": [
{
"id": "8801000000001001",
"platform": "zhihu",
"type": "post",
"author": {
"id": "9905000122",
"username": "fetchpi-zhihu",
"display_name": "知乎数据答主",
"verified": false
},
"title": "实体层是如何炼成的?",
"text": "回答:结构化访问知乎内容。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 5120,
"comments": 320
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/zhihu/users/{username}/articleszhihu.user_articles知乎 使用者文章列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 知乎使用者定址鍵(url_token)——上游按 url_token 定址,呼叫值按原樣轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/zhihu/users/newdev/articles"回應範例
{
"data": [
{
"id": "8801000000001001",
"platform": "zhihu",
"type": "post",
"author": {
"id": "9905000122",
"username": "fetchpi-zhihu",
"display_name": "知乎数据答主",
"verified": false
},
"title": "实体层是如何炼成的?",
"text": "回答:结构化访问知乎内容。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 5120,
"comments": 320
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/zhihu/answers/{id}/commentszhihu.comments知乎 回答留言
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 知乎回答 id(知乎貼文面的規範形態)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/zhihu/answers/1842951234567890123/comments"回應範例
{
"data": [
{
"id": "9901222200001001",
"platform": "zhihu",
"type": "comment",
"post_id": "8801000000001001",
"author": {
"id": "9905000200",
"username": "zhihu-fan",
"display_name": "知乎网友",
"verified": false
},
"text": "讲得明白。",
"created_at": "2026-09-16T12:01:22Z",
"metrics": {
"likes": 41,
"replies": 2
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/zhihu/answers/{id}/comments/{comment_id}/replieszhihu.comment_replies知乎 留言回覆
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 知乎回答 id(知乎貼文面的規範形態)。 |
| comment_id | path | 必填 | string | 父留言 id,列出其子留言。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/zhihu/answers/1842951234567890123/comments/9901222200001001/replies"回應範例
{
"data": [
{
"id": "9901222200001001",
"platform": "zhihu",
"type": "comment",
"post_id": "8801000000001001",
"author": {
"id": "9905000200",
"username": "zhihu-fan",
"display_name": "知乎网友",
"verified": false
},
"text": "讲得明白。",
"created_at": "2026-09-16T12:01:22Z",
"metrics": {
"likes": 41,
"replies": 2
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/zhihu/users/{username}/followerszhihu.user_followers知乎 關注者列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 知乎使用者定址鍵(url_token)——上游按 url_token 定址,呼叫值按原樣轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/zhihu/users/newdev/followers"回應範例
{
"data": [
{
"id": "9905000122",
"platform": "zhihu",
"type": "profile",
"username": "fetchpi-zhihu",
"display_name": "知乎数据答主",
"description": "知乎数据开放。",
"profile_image_url": "https://cdn.example.com/avatar/zhihu-fetchpi.jpg",
"verified": false,
"metrics": {
"followers": 86500,
"following": 35,
"posts": 128
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/zhihu/users/{username}/followingzhihu.user_following知乎 關注列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 知乎使用者定址鍵(url_token)——上游按 url_token 定址,呼叫值按原樣轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/zhihu/users/newdev/following"回應範例
{
"data": [
{
"id": "9905000122",
"platform": "zhihu",
"type": "profile",
"username": "fetchpi-zhihu",
"display_name": "知乎数据答主",
"description": "知乎数据开放。",
"profile_image_url": "https://cdn.example.com/avatar/zhihu-fetchpi.jpg",
"verified": false,
"metrics": {
"followers": 86500,
"following": 35,
"posts": 128
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/zhihu/search/postszhihu.search_posts知乎 搜尋文章
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/zhihu/search/posts?q=fetchpi"回應範例
{
"data": [
{
"id": "8801000000001001",
"platform": "zhihu",
"type": "post",
"author": {
"id": "9905000122",
"username": "fetchpi-zhihu",
"display_name": "知乎数据答主",
"verified": false
},
"title": "实体层是如何炼成的?",
"text": "回答:结构化访问知乎内容。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 5120,
"comments": 320
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"query": "数据",
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/zhihu/search/userszhihu.search_users知乎 搜尋使用者
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/zhihu/search/users?q=fetchpi"回應範例
{
"data": [
{
"id": "9905000122",
"platform": "zhihu",
"type": "profile",
"username": "fetchpi-zhihu",
"display_name": "知乎数据答主",
"description": "知乎数据开放。",
"profile_image_url": "https://cdn.example.com/avatar/zhihu-fetchpi.jpg",
"verified": false,
"metrics": {
"followers": 86500,
"following": 35,
"posts": 128
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"query": "数据",
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/zhihu/hot-listzhihu.hot_list知乎 熱榜
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/zhihu/hot-list"回應範例
{
"data": {
"platform": "zhihu",
"type": "hot_list",
"items": [
{
"title": "实体层是如何炼成的?",
"question_id": "7701000000001001",
"heat": 4821000
},
{
"title": "数据开放意味着什么?",
"question_id": "7701000000001002",
"heat": 3120004
}
],
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/threads/users/{username}threads.profile取得用戶資料
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | Threads 使用者定址鍵——主頁按 username、列表按數字 user_id 定址,呼叫值按原樣轉發。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/threads/users/newdev"回應範例
{
"data": {
"id": "7455000122",
"platform": "threads",
"type": "profile",
"username": "fetchpi",
"display_name": "FetchPI Threads",
"description": "Threads 数据开放。",
"profile_image_url": "https://cdn.example.com/avatar/threads-fetchpi.jpg",
"verified": true,
"created_at": "2021-07-06T00:00:00Z",
"metrics": {
"followers": 815000,
"following": 310,
"posts": 4200
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/threads/posts/{id}threads.post取得貼文
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | Threads 貼文 id(平台原生 pk)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/threads/posts/1842951234567890123"回應範例
{
"data": {
"id": "7459000000001001",
"platform": "threads",
"type": "post",
"author": {
"id": "7455000122",
"username": "fetchpi",
"display_name": "FetchPI Threads",
"verified": true
},
"text": "一条关于数据 API 的 Threads。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 12480,
"comments": 214,
"shares": 66,
"views": 91000
},
"attachments": [
{
"type": "photo",
"url": "https://cdn.example.com/images/threads-7459000000001001-1.jpeg"
},
{
"type": "photo",
"url": "https://cdn.example.com/images/threads-7459000000001001-2.jpeg"
},
{
"type": "video",
"preview_image_url": "https://cdn.example.com/media/threads-7459000000001001.mp4"
}
],
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/threads/users/{username}/poststhreads.user_posts取得用戶貼文列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | Threads 使用者定址鍵——主頁按 username、列表按數字 user_id 定址,呼叫值按原樣轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/threads/users/newdev/posts"回應範例
{
"data": [
{
"id": "7459000000001001",
"platform": "threads",
"type": "post",
"author": {
"id": "7455000122",
"username": "fetchpi",
"display_name": "FetchPI Threads",
"verified": true
},
"text": "一条关于数据 API 的 Threads。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 12480,
"comments": 214,
"shares": 66,
"views": 91000
},
"attachments": [
{
"type": "photo",
"url": "https://cdn.example.com/images/threads-7459000000001001-1.jpeg"
},
{
"type": "photo",
"url": "https://cdn.example.com/images/threads-7459000000001001-2.jpeg"
},
{
"type": "video",
"preview_image_url": "https://cdn.example.com/media/threads-7459000000001001.mp4"
}
],
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/threads/users/{username}/repliesthreads.user_replies取得用戶回覆列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | Threads 使用者定址鍵——主頁按 username、列表按數字 user_id 定址,呼叫值按原樣轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/threads/users/newdev/replies"回應範例
{
"data": [
{
"id": "7458000000003001",
"platform": "threads",
"type": "comment",
"post_id": "7459000000001001",
"author": {
"id": "7455000200",
"username": "threads_fan",
"display_name": null,
"verified": false
},
"text": "讲得清楚,赞。",
"created_at": "2026-09-16T12:01:22Z",
"metrics": {
"likes": 96,
"replies": 3
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/threads/users/{username}/repoststhreads.user_reposts取得用戶轉發列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | Threads 使用者定址鍵——主頁按 username、列表按數字 user_id 定址,呼叫值按原樣轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/threads/users/newdev/reposts"回應範例
{
"data": [
{
"id": "7459000000001001",
"platform": "threads",
"type": "post",
"author": {
"id": "7455000122",
"username": "fetchpi",
"display_name": "FetchPI Threads",
"verified": true
},
"text": "一条关于数据 API 的 Threads。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 12480,
"comments": 214,
"shares": 66,
"views": 91000
},
"attachments": [
{
"type": "photo",
"url": "https://cdn.example.com/images/threads-7459000000001001-1.jpeg"
},
{
"type": "photo",
"url": "https://cdn.example.com/images/threads-7459000000001001-2.jpeg"
},
{
"type": "video",
"preview_image_url": "https://cdn.example.com/media/threads-7459000000001001.mp4"
}
],
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/threads/posts/{id}/commentsthreads.comments取得貼文留言
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | Threads 貼文 id(平台原生 pk)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/threads/posts/1842951234567890123/comments"回應範例
{
"data": [
{
"id": "7458000000003001",
"platform": "threads",
"type": "comment",
"post_id": "7459000000001001",
"author": {
"id": "7455000200",
"username": "threads_fan",
"display_name": null,
"verified": false
},
"text": "讲得清楚,赞。",
"created_at": "2026-09-16T12:01:22Z",
"metrics": {
"likes": 96,
"replies": 3
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/threads/search/usersthreads.search_users搜尋用戶
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/threads/search/users?q=fetchpi"回應範例
{
"data": [
{
"id": "7455000122",
"platform": "threads",
"type": "profile",
"username": "fetchpi",
"display_name": "FetchPI Threads",
"description": "Threads 数据开放。",
"profile_image_url": "https://cdn.example.com/avatar/threads-fetchpi.jpg",
"verified": true,
"created_at": "2021-07-06T00:00:00Z",
"metrics": {
"followers": 815000,
"following": 310,
"posts": 4200
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"query": "数据",
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/linkedin/users/{username}linkedin.profile取得會員資料
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | LinkedIn 會員定址鍵:個人主頁 URL 經百分比編碼——按原樣作為上游 url query 轉發。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/linkedin/users/newdev"回應範例
{
"data": {
"id": "6155000122",
"platform": "linkedin",
"type": "profile",
"username": "fetchpi-linkedin",
"display_name": "FetchPI LinkedIn",
"description": "结构化 LinkedIn 数据。",
"url": "https://www.linkedin.com/in/fetchpi-linkedin",
"profile_image_url": "https://cdn.example.com/avatar/linkedin-fetchpi.jpg",
"verified": false,
"metrics": {
"followers": 92000,
"following": 4800,
"posts": 610
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/linkedin/users/{username}/postslinkedin.user_posts取得會員貼文列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | LinkedIn 會員定址鍵:個人主頁 URL 經百分比編碼——按原樣作為上游 url query 轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/linkedin/users/newdev/posts"回應範例
{
"data": [
{
"id": "7255000000001001",
"platform": "linkedin",
"type": "post",
"author": {
"id": "6155000122",
"username": "fetchpi-linkedin",
"display_name": "FetchPI LinkedIn",
"verified": false
},
"text": "一条关于数据 API 的 LinkedIn 帖子。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 3120,
"comments": 96,
"shares": 18
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/linkedin/companies/{username}linkedin.company_profile取得公司主頁
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | LinkedIn 公司定址鍵:公司主頁 URL 經百分比編碼——按原樣作為上游 url query 轉發。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/linkedin/companies/newdev"回應範例
{
"data": {
"id": "6155000122",
"platform": "linkedin",
"type": "profile",
"username": "fetchpi-linkedin",
"display_name": "FetchPI LinkedIn",
"description": "结构化 LinkedIn 数据。",
"url": "https://www.linkedin.com/in/fetchpi-linkedin",
"profile_image_url": "https://cdn.example.com/avatar/linkedin-fetchpi.jpg",
"verified": false,
"metrics": {
"followers": 92000,
"following": 4800,
"posts": 610
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/linkedin/companies/{username}/postslinkedin.company_posts取得公司貼文列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | LinkedIn 公司定址鍵:公司主頁 URL 經百分比編碼——按原樣作為上游 url query 轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/linkedin/companies/newdev/posts"回應範例
{
"data": [
{
"id": "7255000000001001",
"platform": "linkedin",
"type": "post",
"author": {
"id": "6155000122",
"username": "fetchpi-linkedin",
"display_name": "FetchPI LinkedIn",
"verified": false
},
"text": "一条关于数据 API 的 LinkedIn 帖子。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 3120,
"comments": 96,
"shares": 18
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/linkedin/posts/{id}linkedin.post取得貼文詳情
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | LinkedIn 貼文定址鍵:貼文 URL 經百分比編碼——按原樣作為上游 url query 轉發。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/linkedin/posts/1842951234567890123"回應範例
{
"data": {
"id": "7255000000001001",
"platform": "linkedin",
"type": "post",
"author": {
"id": "6155000122",
"username": "fetchpi-linkedin",
"display_name": "FetchPI LinkedIn",
"verified": false
},
"text": "一条关于数据 API 的 LinkedIn 帖子。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 3120,
"comments": 96,
"shares": 18
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/linkedin/posts/{id}/commentslinkedin.post_comments取得貼文留言
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | LinkedIn 分享 URN(百分比編碼)——按原樣作為上游 urn query 轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/linkedin/posts/1842951234567890123/comments"回應範例
{
"data": [
{
"id": "7258000000002001",
"platform": "linkedin",
"type": "comment",
"post_id": "7255000000001001",
"author": {
"id": "6155000200",
"username": "linkedin-fan",
"display_name": "LinkedIn 网友",
"verified": false
},
"text": "讲得清楚,赞。",
"created_at": "2026-09-16T12:01:22Z",
"metrics": {
"likes": 12,
"replies": 1
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/linkedin/jobs/{id}linkedin.job取得職位詳情
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | LinkedIn 職缺定址鍵:職缺 URL 經百分比編碼——按原樣作為上游 url query 轉發。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/linkedin/jobs/1842951234567890123"回應範例
{
"data": {
"id": "6257000000001001",
"platform": "linkedin",
"type": "job",
"title": "数据平台工程师",
"company": "FetchPI",
"location": "Remote",
"description": "数据平台工程师职位。",
"employment_type": "FULL_TIME",
"posted_at": "2026-09-15T11:20:00Z",
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/linkedin/search/jobslinkedin.search_jobs搜尋職位
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/linkedin/search/jobs?q=fetchpi"回應範例
{
"data": [
{
"id": "6257000000001001",
"platform": "linkedin",
"type": "job",
"title": "数据平台工程师",
"company": "FetchPI",
"location": "Remote",
"description": "数据平台工程师职位。",
"employment_type": "FULL_TIME",
"posted_at": "2026-09-15T11:20:00Z",
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"query": "数据",
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/telegram/channels/{username}telegram.profile取得頻道資訊
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | Telegram 頻道定址鍵(頻道 handle)——按原樣作為上游 channel query 轉發。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/telegram/channels/newdev"回應範例
{
"data": {
"id": "8355000122",
"platform": "telegram",
"type": "profile",
"username": "fetchpi_tg",
"display_name": "FetchPI 频道",
"description": "Telegram 频道数据开放。",
"profile_image_url": "https://cdn.example.com/avatar/telegram-fetchpi_tg.jpg",
"verified": false,
"metrics": {
"followers": 230000,
"following": 0,
"posts": 5100
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/telegram/channels/{username}/poststelegram.user_posts取得頻道訊息列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | Telegram 頻道定址鍵(頻道 handle)——按原樣作為上游 channel query 轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/telegram/channels/newdev/posts"回應範例
{
"data": [
{
"id": "8359000000001002",
"platform": "telegram",
"type": "post",
"author": {
"id": "8355000122",
"username": "fetchpi_tg",
"display_name": "FetchPI 频道",
"verified": false
},
"text": "频道消息:数据 API 发布。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 0,
"comments": 2,
"shares": 120,
"views": 51000
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/telegram/channels/{username}/posts/{id}telegram.post取得單則訊息
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | Telegram 頻道定址鍵(頻道 handle)——按原樣作為上游 channel query 轉發。 |
| id | path | 必填 | string | Telegram 訊息 id(上游 post_id query)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/telegram/channels/newdev/posts/1842951234567890123"回應範例
{
"data": {
"id": "8359000000001002",
"platform": "telegram",
"type": "post",
"author": {
"id": "8355000122",
"username": "fetchpi_tg",
"display_name": "FetchPI 频道",
"verified": false
},
"text": "频道消息:数据 API 发布。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 0,
"comments": 2,
"shares": 120,
"views": 51000
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/telegram/channels/{username}/posts/{id}/commentstelegram.comments取得訊息留言
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | Telegram 頻道定址鍵(頻道 handle)——按原樣作為上游 channel query 轉發。 |
| id | path | 必填 | string | Telegram 訊息 id(上游 post_id query)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/telegram/channels/newdev/posts/1842951234567890123/comments"回應範例
{
"data": [
{
"id": "8358000000002001",
"platform": "telegram",
"type": "comment",
"post_id": "8359000000001002",
"author": {
"id": "8355000200",
"username": "tg_fan",
"display_name": "TG 网友",
"verified": false
},
"text": "讲得清楚,赞。",
"created_at": "2026-09-16T12:01:22Z",
"metrics": {
"likes": 8,
"replies": 0
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/telegram/channels/{username}/search/poststelegram.search_posts頻道內搜尋
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | Telegram 頻道定址鍵(頻道 handle)——按原樣作為上游 channel query 轉發。 |
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/telegram/channels/newdev/search/posts?q=fetchpi"回應範例
{
"data": [
{
"id": "8359000000001002",
"platform": "telegram",
"type": "post",
"author": {
"id": "8355000122",
"username": "fetchpi_tg",
"display_name": "FetchPI 频道",
"verified": false
},
"text": "频道消息:数据 API 发布。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 0,
"comments": 2,
"shares": 120,
"views": 51000
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"query": "数据",
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/telegram/channels/{username}/similartelegram.similar_channels取得相似頻道
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | Telegram 頻道定址鍵(頻道 handle)——按原樣作為上游 channel query 轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/telegram/channels/newdev/similar"回應範例
{
"data": [
{
"id": "8355000122",
"platform": "telegram",
"type": "profile",
"username": "fetchpi_tg",
"display_name": "FetchPI 频道",
"description": "Telegram 频道数据开放。",
"profile_image_url": "https://cdn.example.com/avatar/telegram-fetchpi_tg.jpg",
"verified": false,
"metrics": {
"followers": 230000,
"following": 0,
"posts": 5100
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/pipixia/users/{username}pipixia.profile取得用戶資料
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 皮皮蝦使用者定址鍵(數字 user_id)——上游按 user_id 定址,呼叫值按原樣轉發。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/pipixia/users/newdev"回應範例
{
"data": {
"id": "9255000122",
"platform": "pipixia",
"type": "profile",
"username": "皮皮虾数据站",
"display_name": "皮皮虾数据站",
"description": "皮皮虾数据开放。",
"profile_image_url": "https://cdn.example.com/avatar/pipixia-fetchpi.jpg",
"verified": false,
"created_at": "2021-06-30T17:33:20Z",
"metrics": {
"followers": 456000,
"following": 64,
"posts": 1320
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/pipixia/users/{username}/postspipixia.user_posts取得用戶作品列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 皮皮蝦使用者定址鍵(數字 user_id)——上游按 user_id 定址,呼叫值按原樣轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/pipixia/users/newdev/posts"回應範例
{
"data": [
{
"id": "9259000000001001",
"platform": "pipixia",
"type": "post",
"author": {
"id": "9255000122",
"username": "皮皮虾数据站",
"display_name": "皮皮虾数据站",
"verified": false
},
"title": "皮皮虾:数据 API 实战",
"text": "一条关于数据 API 的作品。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 21000,
"comments": 158,
"shares": 74,
"views": 780000
},
"attachments": [
{
"type": "photo",
"url": "https://cdn.example.com/images/pipixia-9259000000001001-1.jpeg"
},
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover/pipixia-9259000000001001.jpeg",
"duration_ms": 45000
}
],
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/pipixia/users/{username}/followerspipixia.user_followers取得粉絲列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 皮皮蝦使用者定址鍵(數字 user_id)——上游按 user_id 定址,呼叫值按原樣轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/pipixia/users/newdev/followers"回應範例
{
"data": [
{
"id": "9255000122",
"platform": "pipixia",
"type": "profile",
"username": "皮皮虾数据站",
"display_name": "皮皮虾数据站",
"description": "皮皮虾数据开放。",
"profile_image_url": "https://cdn.example.com/avatar/pipixia-fetchpi.jpg",
"verified": false,
"created_at": "2021-06-30T17:33:20Z",
"metrics": {
"followers": 456000,
"following": 64,
"posts": 1320
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/pipixia/users/{username}/followingpipixia.user_following取得關注列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| username | path | 必填 | string | 皮皮蝦使用者定址鍵(數字 user_id)——上游按 user_id 定址,呼叫值按原樣轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/pipixia/users/newdev/following"回應範例
{
"data": [
{
"id": "9255000122",
"platform": "pipixia",
"type": "profile",
"username": "皮皮虾数据站",
"display_name": "皮皮虾数据站",
"description": "皮皮虾数据开放。",
"profile_image_url": "https://cdn.example.com/avatar/pipixia-fetchpi.jpg",
"verified": false,
"created_at": "2021-06-30T17:33:20Z",
"metrics": {
"followers": 456000,
"following": 64,
"posts": 1320
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/pipixia/posts/{id}pipixia.post取得作品詳情
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 皮皮蝦作品 id(平台原生 cell id)。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/pipixia/posts/1842951234567890123"回應範例
{
"data": {
"id": "9259000000001001",
"platform": "pipixia",
"type": "post",
"author": {
"id": "9255000122",
"username": "皮皮虾数据站",
"display_name": "皮皮虾数据站",
"verified": false
},
"title": "皮皮虾:数据 API 实战",
"text": "一条关于数据 API 的作品。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 21000,
"comments": 158,
"shares": 74,
"views": 780000
},
"attachments": [
{
"type": "photo",
"url": "https://cdn.example.com/images/pipixia-9259000000001001-1.jpeg"
},
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover/pipixia-9259000000001001.jpeg",
"duration_ms": 45000
}
],
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/pipixia/posts/{id}/commentspipixia.comments取得作品留言
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| id | path | 必填 | string | 皮皮蝦作品 id(平台原生 cell id)。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/pipixia/posts/1842951234567890123/comments"回應範例
{
"data": [
{
"id": "9258000000002001",
"platform": "pipixia",
"type": "comment",
"post_id": "9259000000001001",
"author": {
"id": "9255000200",
"username": "皮皮虾网友",
"display_name": "皮皮虾网友",
"verified": false
},
"text": "讲得清楚,赞。",
"created_at": "2026-09-16T12:01:22Z",
"metrics": {
"likes": 22,
"replies": 1
},
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/pipixia/search/postspipixia.search_posts搜尋作品
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| q | query | 必填 | string | 搜尋關鍵字。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
- 400VALIDATION
- 401UNAUTHENTICATED
- 402INSUFFICIENT_CREDITS
- 403FORBIDDEN
- 403CREDITS_FROZEN
- 404DATA_NOT_FOUND
- 429RATE_LIMIT_EXCEEDED
- 502UPSTREAM_ERROR
- 503RATE_LIMITER_UNAVAILABLE
- defaultINTERNAL
404 — cache-only 模式且無結果時,搜尋不可用。
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/pipixia/search/posts?q=fetchpi"回應範例
{
"data": [
{
"id": "9259000000001001",
"platform": "pipixia",
"type": "post",
"author": {
"id": "9255000122",
"username": "皮皮虾数据站",
"display_name": "皮皮虾数据站",
"verified": false
},
"title": "皮皮虾:数据 API 实战",
"text": "一条关于数据 API 的作品。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 21000,
"comments": 158,
"shares": 74,
"views": 780000
},
"attachments": [
{
"type": "photo",
"url": "https://cdn.example.com/images/pipixia-9259000000001001-1.jpeg"
},
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover/pipixia-9259000000001001.jpeg",
"duration_ms": 45000
}
],
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"query": "数据",
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}/v1/pipixia/hashtags/{tag}pipixia.hashtag取得話題詳情
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| tag | path | 必填 | string | 皮皮蝦話題 id——按原樣作為上游 hashtag_id query 轉發。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/pipixia/hashtags/trending"回應範例
{
"data": {
"id": "9257000000001001",
"platform": "pipixia",
"type": "hashtag",
"name": "数据开放",
"description": "皮皮虾话题面。",
"metrics": {
"views": 88000000,
"posts": 123000
},
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}/v1/pipixia/hashtags/{tag}/postspipixia.hashtag_posts取得話題作品列表
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| tag | path | 必填 | string | 皮皮蝦話題 id——按原樣作為上游 hashtag_id query 轉發。 |
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/pipixia/hashtags/trending/posts"回應範例
{
"data": [
{
"id": "9259000000001001",
"platform": "pipixia",
"type": "post",
"author": {
"id": "9255000122",
"username": "皮皮虾数据站",
"display_name": "皮皮虾数据站",
"verified": false
},
"title": "皮皮虾:数据 API 实战",
"text": "一条关于数据 API 的作品。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 21000,
"comments": 158,
"shares": 74,
"views": 780000
},
"attachments": [
{
"type": "photo",
"url": "https://cdn.example.com/images/pipixia-9259000000001001-1.jpeg"
},
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover/pipixia-9259000000001001.jpeg",
"duration_ms": 45000
}
],
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/pipixia/homefeedpipixia.homefeed取得首頁推薦
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| limit | query | 可選 | integer = 20 | 分頁大小,1–100(預設 20)。 |
| cursor | query | 可選 | string | 上次回應 next_cursor 回傳的不透明分頁游標。 |
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/pipixia/homefeed"回應範例
{
"data": [
{
"id": "9259000000001001",
"platform": "pipixia",
"type": "post",
"author": {
"id": "9255000122",
"username": "皮皮虾数据站",
"display_name": "皮皮虾数据站",
"verified": false
},
"title": "皮皮虾:数据 API 实战",
"text": "一条关于数据 API 的作品。",
"created_at": "2026-09-16T11:20:00Z",
"metrics": {
"likes": 21000,
"comments": 158,
"shares": 74,
"views": 780000
},
"attachments": [
{
"type": "photo",
"url": "https://cdn.example.com/images/pipixia-9259000000001001-1.jpeg"
},
{
"type": "video",
"preview_image_url": "https://cdn.example.com/cover/pipixia-9259000000001001.jpeg",
"duration_ms": 45000
}
],
"fetched_at": "2026-09-21T09:00:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 200,
"cache_hit": false
}
}
}/v1/pipixia/hot-searchpipixia.hot_search取得熱搜榜
| 參數 | 位置 | 必填 | 類型 | 說明 |
|---|---|---|---|---|
| max_age | query | 可選 | integer | 接受資料的最大時長(秒);會被 freshness 覆蓋。 |
| freshness | query | 可選 | cache | default | live = default | 新鮮度模式:cache(絕不請求上游)、default、live(可能額外計費)。 |
回應
請求範例
curl -H "Authorization: Bearer $FETCHPI_API_KEY" \
"https://fetchpi.com/v1/pipixia/hot-search"回應範例
{
"data": {
"platform": "pipixia",
"type": "hot_search",
"words": [
{
"word": "数据开放",
"hot_value": 4821000
},
{
"word": "实体层",
"hot_value": 3120004
}
],
"fetched_at": "2026-09-21T09:00:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": false
}
}
}