複数ページのバッチディスティル
非同期処理で複数のWebページを同時にディスティルします。
ユースケース:
- Webサイト全体のセクションやカテゴリの処理
- ナレッジベースへのコンテンツの一括インポート
- 大規模なコンテンツ移行
- 複数ソースからの定期的なコンテンツ更新
動作の仕組み:
- 最大100個のURLでバッチジョブを送信
- ジョブIDを即座に受信
- ステータスエンドポイントをポーリングするか、Webhook通知を受信
- 完了時にすべての結果を取得
機能:
- 高スループットのための非同期処理
- 失敗時の自動リトライ
- 完了時のWebhook通知
- URLごとの詳細なステータスとエラーレポート
認証
YOUR_API_KEY Thunderbit Dashboard から API キーを取得してください。ヘッダー形式:Authorization: Bearer YOUR_API_KEY
位置: header
ボディ
application/json
TypeScript Definitions
Use the request body type in TypeScript.
ディスティルするURLのリスト、最大100件
[
"https://example.com/page1",
"https://example.com/page2",
"https://example.com/page3"
]30000リクエストごとのタイムアウト(ミリ秒)、デフォルト30000
"US"ジオターゲティング用の 2 文字 ISO 国コード。各 URL に適用されます(デフォルト: US)
US"none"各 URL に適用される JavaScript レンダリングモード: none(デフォルト)、basic、または full
false各 URL の元の HTML を含めるかどうか(デフォルト: false)。代わりに include パラメータを推奨します。
false各 URL のリンクを抽出するかどうか(デフォルト: false)。代わりに include パラメータを推奨します。
各 URL に含めるオプションフィールド。利用可能な値: metadata、html、links。
[
"metadata",
"links"
]Webhookコールバック設定、タスク完了時に通知。コールバックペイロードの形式、ヘッダー、HMAC-SHA256 署名検証については Webhooks ガイドを参照してください。
子属性を表示
Webhook callback URL, must be HTTPS
https://your-server.com/api/webhook/distillHMAC-SHA256 secret for signature verification. When set, each webhook request includes an X-Webhook-Signature header
whsec_your_secret_keyCustom headers (reserved for future use, not yet implemented by the server).
{
"X-Custom-Auth": "your-token"
}レスポンス
application/jsonSuccess response
true子属性を表示
バッチタスクID
batch_abc123PROCESSING300Timestamp when the job was created
Timestamp when the job completed (null if still processing)
無効なリクエストパラメータ
false子属性を表示
Canonical error codes returned in the error.code field (LEGACY) or error.status field (GOOGLE_RPC). Codes are grouped by HTTP status:
400 Bad Request
INVALID_URL— URL format is invalidINVALID_SCHEMA— JSON Schema is invalidINVALID_PARAMETER— One or more request parameters failed validationSCHEMA_OR_PROMPT_REQUIRED—schema(orprompt) is required for extractionSCHEMA_AND_PROMPT_EXCLUSIVE—schemaandpromptcannot both be providedBATCH_SIZE_EXCEEDED— Batch request exceeds the 100-URL limitMALFORMED_REQUEST_BODY— Request body is not valid JSON
401 Unauthorized
API_KEY_MISSING—Authorizationheader missingAPI_KEY_INVALID_FORMAT— API key format is invalidAPI_KEY_NOT_FOUND— API key not found in the systemAPI_KEY_REVOKED— API key has been revokedAPI_KEY_DISABLED— API key has been disabledAPI_KEY_EXPIRED— API key has expiredINVALID_API_KEY— (deprecated, use the specific API_KEY_ codes above)*
402 Payment Required
INSUFFICIENT_CREDITS— Not enough credits on the account
404 Not Found
JOB_NOT_FOUND— Batch job not foundRESOURCE_NOT_FOUND— Generic resource not found
408 Request Timeout
REQUEST_TIMEOUT— The API request timed outSCRAPE_TIMEOUT— The target page took too long to respond
422 Unprocessable Entity
SCRAPE_SSL_ERROR— Target site has SSL/TLS problemsSCRAPE_DNS_RESOLUTION_ERROR— Cannot resolve target hostnameSCRAPE_SITE_ERROR— Target site returned an errorSCRAPE_EMPTY_CONTENT— Target page returned empty contentSCRAPE_CONTENT_TOO_LARGE— Target page exceeds size limitsSCRAPE_TARGET_FORBIDDEN— Target site refused access (403)SCRAPE_TARGET_NOT_FOUND— Target URL returned 404SCRAPE_UNSUPPORTED_FILE— Target file type is not supported
429 Too Many Requests
RATE_LIMIT_EXCEEDED— Account rate limit triggeredSCRAPE_TARGET_RATE_LIMITED— Target site rate-limited our request
500 Internal Server Error
INTERNAL_ERROR— Generic internal errorDISTILL_FAILED— Distillation pipeline failedEXTRACT_FAILED— Extraction pipeline failedPIPELINE_ERROR— Pipeline step reported a failureAI_EXTRACTION_FAILED— AI extraction step failedMARKDOWN_CONVERSION_FAILED— HTML-to-Markdown conversion failed
502 Bad Gateway
SCRAPE_ALL_PROVIDERS_FAILED— All scraping providers failedUPSTREAM_BAD_GATEWAY— Upstream returned an invalid response
503 Service Unavailable
SCRAPE_PROVIDER_UNAVAILABLE— Scraping provider is unavailableAI_SERVICE_UNAVAILABLE— AI service is unavailableDOWNSTREAM_SERVICE_UNAVAILABLE— A downstream service is temporarily unavailable
504 Gateway Timeout
UPSTREAM_TIMEOUT— Upstream gateway timed outAI_TIMEOUT— AI service call timed out
HTTP status code (LEGACY format) or canonical error code (GOOGLE_RPC format). See the API_ERROR_FORMAT note in the Error schema description
Human-readable error message
Optional structured details — for example, field-level validation errors as { field: message } pairs
認証失敗、無効なAPIキー
false子属性を表示
Canonical error codes returned in the error.code field (LEGACY) or error.status field (GOOGLE_RPC). Codes are grouped by HTTP status:
400 Bad Request
INVALID_URL— URL format is invalidINVALID_SCHEMA— JSON Schema is invalidINVALID_PARAMETER— One or more request parameters failed validationSCHEMA_OR_PROMPT_REQUIRED—schema(orprompt) is required for extractionSCHEMA_AND_PROMPT_EXCLUSIVE—schemaandpromptcannot both be providedBATCH_SIZE_EXCEEDED— Batch request exceeds the 100-URL limitMALFORMED_REQUEST_BODY— Request body is not valid JSON
401 Unauthorized
API_KEY_MISSING—Authorizationheader missingAPI_KEY_INVALID_FORMAT— API key format is invalidAPI_KEY_NOT_FOUND— API key not found in the systemAPI_KEY_REVOKED— API key has been revokedAPI_KEY_DISABLED— API key has been disabledAPI_KEY_EXPIRED— API key has expiredINVALID_API_KEY— (deprecated, use the specific API_KEY_ codes above)*
402 Payment Required
INSUFFICIENT_CREDITS— Not enough credits on the account
404 Not Found
JOB_NOT_FOUND— Batch job not foundRESOURCE_NOT_FOUND— Generic resource not found
408 Request Timeout
REQUEST_TIMEOUT— The API request timed outSCRAPE_TIMEOUT— The target page took too long to respond
422 Unprocessable Entity
SCRAPE_SSL_ERROR— Target site has SSL/TLS problemsSCRAPE_DNS_RESOLUTION_ERROR— Cannot resolve target hostnameSCRAPE_SITE_ERROR— Target site returned an errorSCRAPE_EMPTY_CONTENT— Target page returned empty contentSCRAPE_CONTENT_TOO_LARGE— Target page exceeds size limitsSCRAPE_TARGET_FORBIDDEN— Target site refused access (403)SCRAPE_TARGET_NOT_FOUND— Target URL returned 404SCRAPE_UNSUPPORTED_FILE— Target file type is not supported
429 Too Many Requests
RATE_LIMIT_EXCEEDED— Account rate limit triggeredSCRAPE_TARGET_RATE_LIMITED— Target site rate-limited our request
500 Internal Server Error
INTERNAL_ERROR— Generic internal errorDISTILL_FAILED— Distillation pipeline failedEXTRACT_FAILED— Extraction pipeline failedPIPELINE_ERROR— Pipeline step reported a failureAI_EXTRACTION_FAILED— AI extraction step failedMARKDOWN_CONVERSION_FAILED— HTML-to-Markdown conversion failed
502 Bad Gateway
SCRAPE_ALL_PROVIDERS_FAILED— All scraping providers failedUPSTREAM_BAD_GATEWAY— Upstream returned an invalid response
503 Service Unavailable
SCRAPE_PROVIDER_UNAVAILABLE— Scraping provider is unavailableAI_SERVICE_UNAVAILABLE— AI service is unavailableDOWNSTREAM_SERVICE_UNAVAILABLE— A downstream service is temporarily unavailable
504 Gateway Timeout
UPSTREAM_TIMEOUT— Upstream gateway timed outAI_TIMEOUT— AI service call timed out
HTTP status code (LEGACY format) or canonical error code (GOOGLE_RPC format). See the API_ERROR_FORMAT note in the Error schema description
Human-readable error message
Optional structured details — for example, field-level validation errors as { field: message } pairs
リクエスト過多、レート制限が発動
false子属性を表示
Canonical error codes returned in the error.code field (LEGACY) or error.status field (GOOGLE_RPC). Codes are grouped by HTTP status:
400 Bad Request
INVALID_URL— URL format is invalidINVALID_SCHEMA— JSON Schema is invalidINVALID_PARAMETER— One or more request parameters failed validationSCHEMA_OR_PROMPT_REQUIRED—schema(orprompt) is required for extractionSCHEMA_AND_PROMPT_EXCLUSIVE—schemaandpromptcannot both be providedBATCH_SIZE_EXCEEDED— Batch request exceeds the 100-URL limitMALFORMED_REQUEST_BODY— Request body is not valid JSON
401 Unauthorized
API_KEY_MISSING—Authorizationheader missingAPI_KEY_INVALID_FORMAT— API key format is invalidAPI_KEY_NOT_FOUND— API key not found in the systemAPI_KEY_REVOKED— API key has been revokedAPI_KEY_DISABLED— API key has been disabledAPI_KEY_EXPIRED— API key has expiredINVALID_API_KEY— (deprecated, use the specific API_KEY_ codes above)*
402 Payment Required
INSUFFICIENT_CREDITS— Not enough credits on the account
404 Not Found
JOB_NOT_FOUND— Batch job not foundRESOURCE_NOT_FOUND— Generic resource not found
408 Request Timeout
REQUEST_TIMEOUT— The API request timed outSCRAPE_TIMEOUT— The target page took too long to respond
422 Unprocessable Entity
SCRAPE_SSL_ERROR— Target site has SSL/TLS problemsSCRAPE_DNS_RESOLUTION_ERROR— Cannot resolve target hostnameSCRAPE_SITE_ERROR— Target site returned an errorSCRAPE_EMPTY_CONTENT— Target page returned empty contentSCRAPE_CONTENT_TOO_LARGE— Target page exceeds size limitsSCRAPE_TARGET_FORBIDDEN— Target site refused access (403)SCRAPE_TARGET_NOT_FOUND— Target URL returned 404SCRAPE_UNSUPPORTED_FILE— Target file type is not supported
429 Too Many Requests
RATE_LIMIT_EXCEEDED— Account rate limit triggeredSCRAPE_TARGET_RATE_LIMITED— Target site rate-limited our request
500 Internal Server Error
INTERNAL_ERROR— Generic internal errorDISTILL_FAILED— Distillation pipeline failedEXTRACT_FAILED— Extraction pipeline failedPIPELINE_ERROR— Pipeline step reported a failureAI_EXTRACTION_FAILED— AI extraction step failedMARKDOWN_CONVERSION_FAILED— HTML-to-Markdown conversion failed
502 Bad Gateway
SCRAPE_ALL_PROVIDERS_FAILED— All scraping providers failedUPSTREAM_BAD_GATEWAY— Upstream returned an invalid response
503 Service Unavailable
SCRAPE_PROVIDER_UNAVAILABLE— Scraping provider is unavailableAI_SERVICE_UNAVAILABLE— AI service is unavailableDOWNSTREAM_SERVICE_UNAVAILABLE— A downstream service is temporarily unavailable
504 Gateway Timeout
UPSTREAM_TIMEOUT— Upstream gateway timed outAI_TIMEOUT— AI service call timed out
HTTP status code (LEGACY format) or canonical error code (GOOGLE_RPC format). See the API_ERROR_FORMAT note in the Error schema description
Human-readable error message
Optional structured details — for example, field-level validation errors as { field: message } pairs