AI-Powered Structured Extraction
Extract structured data from web pages using AI. Define your desired output structure with JSON Schema, and our AI will intelligently extract the information.
Use Cases:
- Extract product information from e-commerce pages
- Parse job listings into structured format
- Extract contact information and business details
- Convert news articles into structured data
- Scrape pricing tables and specifications
How It Works:
- Provide a URL and a JSON Schema defining your desired structure
- Our AI analyzes the page content
- Extracts data matching your schema
- Returns validated JSON output
Schema Definition:
Use JSON Schema to define your desired output structure:
- Field types: string, number, boolean, array, object
- Field descriptions: Help the AI understand what to extract
- Required fields: Mark critical fields as required
- Nested structures: Support for complex, nested data
Example Schema:
{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Product name or title"
},
"price": {
"type": "number",
"description": "Current price in USD"
},
"availability": {
"type": "boolean",
"description": "Whether the product is in stock"
},
"features": {
"type": "array",
"items": {"type": "string"},
"description": "List of key product features"
}
},
"required": ["title", "price"]
}Authorization
YOUR_API_KEY Enter your API key from the Thunderbit Dashboard. The header format will be: Authorization: Bearer YOUR_API_KEY
In: header
Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
The URL of the web page to extract data from
https://thunderbit.com/playgroundJSON Schema. Optional — when omitted, Thunderbit auto-generates a schema from the page content.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Product name"
},
"price": {
"type": "number",
"description": "Product price"
},
"currency": {
"type": "string",
"description": "Currency unit"
}
},
"required": [
"name",
"price"
]
}60000Request timeout in milliseconds, default 30000
600000Time to wait (in milliseconds) after page load for dynamic content to render (default: 0, max: 10000)
2000"none"JavaScript rendering mode. none = no JS rendering (default); basic = standard rendering; full = extended wait for dynamic content
Output formats (same shape as the Distill formats array).
[
"markdown",
"links",
"images"
]Response
application/jsonSuccess response
trueShow child attributes
https://thunderbit.com/playgroundExtracted structured data matching your schema, returned as an array where each item is a key-value map
[
{
"name": "iPhone 15 Pro",
"price": 999,
"currency": "USD",
"availability": true,
"rating": 4.7,
"features": [
"A17 Pro chip with 6-core GPU",
"Pro camera system with 48MP main camera",
"Titanium design with textured matte glass"
]
}
]Links extracted from the page.
Show child attributes
Visible link text.
Read moreResolved absolute URL.
https://example.com/articleImages extracted from the page.
Show child attributes
Image source URL.
https://example.com/hero.pngImage alt text.
Hero bannerImage width in pixels.
Image height in pixels.
Page summary (LLM format).
Answer to the question supplied in the question format.
Highlighted passages.
Show child attributes
Page title extracted from tag or Open Graph
iPhone 15 Pro - AppleMeta description or excerpt
The ultimate iPhone with A17 Pro chip.Detected language code (ISO 639-1)
enArticle author if available
nullPublication date if available
nullFeatured image URL from Open Graph or Twitter Card
https://example.com/product/iphone-15-pro.jpgSource URL
https://example.com/product/iphone-15-proHTTP status code
200Length of the markdown content in characters
5000Invalid request parameters
falseShow child attributes
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
Authentication failed, invalid API Key
falseShow child attributes
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
Insufficient credits
falseShow child attributes
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
The request or target page timed out before completing
falseShow child attributes
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
The target URL could not be processed (DNS, SSL, forbidden, unsupported file, etc.)
falseShow child attributes
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
Too many requests, rate limit triggered
falseShow child attributes
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
Internal server error
falseShow child attributes
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
Downstream service temporarily unavailable
falseShow child attributes
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
Upstream or AI pipeline timed out
falseShow child attributes
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