API 參考

API 總覽

Base URL、身分驗證、錯誤格式以及完整錯誤碼參考

Base URL

https://openapi.thunderbit.com/openapi/v1

身分驗證

所有端點使用 HTTP Bearer(API Key):

Authorization: Bearer YOUR_API_KEY

請從 Thunderbit 主控台 取得你的 Key。Key 可撤銷、依環境區分 —— 切勿將正式 Key 嵌入用戶端程式碼。

錯誤回應結構

所有錯誤回應共用同一種 envelope。預設採用 LEGACY 格式:

{
  "success": false,
  "error": {
    "code":    "INVALID_URL",
    "status":  400,
    "message": "The provided URL is not valid",
    "details": null
  }
}

Note: 先前文件曾介紹 GOOGLE_RPC 備選 envelope,codestatus 型別互換(string ↔ number)。該模式 已棄用,不推薦使用 —— 強型別客戶端(OpenAPI codegen、Pydantic、serdeencoding/json)會直接反序列化失敗。請使用上面的 LEGACY 格式;未來 code: stringstatus: number 型別保持穩定。

details 欄位可能攜帶結構化內容 —— 例如 INVALID_PARAMETER 錯誤時會回傳欄位級驗證錯誤,格式為 { field: message }

標準錯誤碼

HTTPCode意義
400INVALID_URLURL 格式無效
400INVALID_SCHEMAJSON Schema 無效
400INVALID_PARAMETER一或多個請求參數驗證失敗
400SCHEMA_OR_PROMPT_REQUIRED擷取時必須提供 schema(或 prompt
400SCHEMA_AND_PROMPT_EXCLUSIVEschemaprompt 不可同時提供
400BATCH_SIZE_EXCEEDED批次請求超過 100 個 URL 上限
400MALFORMED_REQUEST_BODY請求主體不是合法 JSON
401API_KEY_MISSING缺少 Authorization 標頭
401API_KEY_INVALID_FORMATAPI Key 格式無效
401API_KEY_NOT_FOUND系統中找不到該 API Key
401API_KEY_REVOKEDAPI Key 已撤銷
401API_KEY_DISABLEDAPI Key 已停用
401API_KEY_EXPIREDAPI Key 已過期
401INVALID_API_KEY(已淘汰,請改用上述具體 API_KEY_* 錯誤碼)
402INSUFFICIENT_CREDITS帳戶額度不足
404JOB_NOT_FOUND找不到批次任務
404RESOURCE_NOT_FOUND找不到資源
408REQUEST_TIMEOUTAPI 請求逾時
408SCRAPE_TIMEOUT目標頁面回應逾時
422SCRAPE_SSL_ERROR目標站點有 SSL/TLS 問題
422SCRAPE_DNS_RESOLUTION_ERROR無法解析目標主機名
422SCRAPE_SITE_ERROR目標站點回傳錯誤
422SCRAPE_EMPTY_CONTENT目標頁面回傳空內容
422SCRAPE_CONTENT_TOO_LARGE目標頁面超過大小限制
422SCRAPE_TARGET_FORBIDDEN目標站點拒絕存取(403)
422SCRAPE_TARGET_NOT_FOUND目標 URL 回傳 404
422SCRAPE_UNSUPPORTED_FILE不支援的目標檔案型別
429RATE_LIMIT_EXCEEDED觸發帳戶速率限制
429SCRAPE_TARGET_RATE_LIMITED目標站點對我們的請求進行限流
500INTERNAL_ERROR通用內部錯誤
500DISTILL_FAILED蒸餾流水線失敗
500EXTRACT_FAILED擷取流水線失敗
500PIPELINE_ERROR流水線某一步發生錯誤
500AI_EXTRACTION_FAILEDAI 擷取步驟失敗
500MARKDOWN_CONVERSION_FAILEDHTML 轉 Markdown 失敗
502SCRAPE_ALL_PROVIDERS_FAILED所有抓取 provider 全部失敗
502UPSTREAM_BAD_GATEWAY上游回傳了無效回應
503SCRAPE_PROVIDER_UNAVAILABLE抓取 provider 無法使用
503AI_SERVICE_UNAVAILABLEAI 服務無法使用
503DOWNSTREAM_SERVICE_UNAVAILABLE下游服務暫時無法使用
504UPSTREAM_TIMEOUT上游閘道逾時
504AI_TIMEOUTAI 服務呼叫逾時

重試策略參考

錯誤類別是否重試?如何處理
4xx(輸入錯誤)❌ 否修正請求後重試
401(驗證)❌ 否重新產生 / 替換 API Key
402(額度)❌ 否加值
408 / 504(逾時)✅ 是指數退避,最多 3 次
429(限流)✅ 是等到 X-RateLimit-Reset —— 參見 速率限制
5xx(伺服器)✅ 是指數退避,最多 3 次
SCRAPE_TARGET_*(目標站點)⚠️ 視情況升級 renderMode 後重試一次