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 header
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 后重试一次