Get Website Crawl Status
/v1/crawl/{crawl_id}Check an existing website crawl by crawl ID before retrieving its page results and structured extraction items.
On this page
Request example
Replace placeholders with your values. Use your Team API key for authenticated requests.
https://kieapi.comcurl -X GET "https://kieapi.com/v1/crawl/{crawl_id}" \
-H "Authorization: Bearer $SPIDER_API_KEY"Authentication
BearerAuth
Parameters
crawl_idpath ยท string required
Responses
200 Crawl status.
401 Missing or invalid API key.
403 Authenticated principal cannot access this resource.
404 Crawl was not found or is not visible to this workspace.
429 Temporary rate limit.
503 Required runtime service is unavailable.
Schemas
Field definitions and complete validation rules for this API. Follow a type link to its definition.
CrawlStatusResponse
object
crawlPublicCrawl required
Complete schema
{
"type": "object",
"additionalProperties": false,
"required": [
"crawl"
],
"properties": {
"crawl": {
"$ref": "#/components/schemas/PublicCrawl"
}
}
}PublicCrawl
object
idstring requiredrun_idstring | nullstatusPublicStatus requiredsubmitted_url_countinteger | nullqueued_url_countinteger | nullmax_depthinteger | nullqueue_countsobjectprocessed_countinteger | nullremaining_countinteger | nullstop_reasonstring | nulldiagnosticsPublicCrawlDiagnosticslinksobjectresults_urlstring | null
Complete schema
{
"type": "object",
"additionalProperties": false,
"required": [
"id",
"status"
],
"properties": {
"id": {
"type": "string"
},
"run_id": {
"type": [
"string",
"null"
]
},
"status": {
"$ref": "#/components/schemas/PublicStatus"
},
"submitted_url_count": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"queued_url_count": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"max_depth": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"queue_counts": {
"type": "object",
"additionalProperties": {
"type": "integer"
}
},
"processed_count": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"remaining_count": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"stop_reason": {
"type": [
"string",
"null"
]
},
"diagnostics": {
"$ref": "#/components/schemas/PublicCrawlDiagnostics"
},
"links": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"results_url": {
"type": [
"string",
"null"
]
}
}
}PublicStatus
string
Complete schema
{
"type": "string",
"enum": [
"queued",
"running",
"paused",
"completed",
"failed",
"low_quality",
"budget_exhausted",
"expired"
]
}PublicCrawlDiagnostics
object
Public crawl diagnostics are sanitized aggregate counters for processed pages, blocked pages, engine attempts, and retry taxonomy. They do not expose raw selectors, profile data, proxy data, CDP URLs, DICloak/provider internals, identity feedback kinds, retry policy reasons, or raw audit attempt rows.
processed_countintegerDefault:
0blocked_countintegerDefault:
0block_reasonsobjectengine_attemptsobject
Complete schema
{
"type": "object",
"additionalProperties": false,
"description": "Public crawl diagnostics are sanitized aggregate counters for processed pages, blocked pages, engine attempts, and retry taxonomy. They do not expose raw selectors, profile data, proxy data, CDP URLs, DICloak/provider internals, identity feedback kinds, retry policy reasons, or raw audit attempt rows.\n",
"properties": {
"processed_count": {
"type": "integer",
"minimum": 0,
"default": 0
},
"blocked_count": {
"type": "integer",
"minimum": 0,
"default": 0
},
"block_reasons": {
"type": "object",
"additionalProperties": {
"type": "integer",
"minimum": 0
}
},
"engine_attempts": {
"type": "object",
"additionalProperties": {
"type": "integer",
"minimum": 0
}
},
"retry": {
"$ref": "#/components/schemas/PublicCrawlRetryDiagnostics"
}
}
}PublicCrawlRetryDiagnostics
object
Public sanitized aggregate for crawl retry taxonomy. Counts are bucketed into safe categories and do not expose queue row internals, retry policy reasons, identity feedback kinds, or audit attempts.
scheduled_countintegerDefault:
0failed_countintegerDefault:
0categoriesobjectnext_retry_atstring | null (date-time)
Complete schema
{
"type": "object",
"additionalProperties": false,
"description": "Public sanitized aggregate for crawl retry taxonomy. Counts are bucketed into safe categories and do not expose queue row internals, retry policy reasons, identity feedback kinds, or audit attempts.\n",
"properties": {
"scheduled_count": {
"type": "integer",
"minimum": 0,
"default": 0
},
"failed_count": {
"type": "integer",
"minimum": 0,
"default": 0
},
"categories": {
"type": "object",
"additionalProperties": {
"type": "integer",
"minimum": 0
}
},
"next_retry_at": {
"type": [
"string",
"null"
],
"format": "date-time"
}
}
}PublicErrorResponse
object
errorPublicError required
Complete schema
{
"type": "object",
"additionalProperties": false,
"required": [
"error"
],
"properties": {
"error": {
"$ref": "#/components/schemas/PublicError"
}
}
}PublicError
object
codestring requiredAllowed:
"seoapi_price_pending", "seoapi_unavailable", "seoapi_busy", "seoapi_not_found", "seoapi_rate_limited", "seoapi_budget_exceeded", "seoapi_idempotency_conflict", "seoapi_insufficient_credits", "seoapi_admission_failed", "seoapi_execution_interrupted", "seoapi_delivery_unknown", "seoapi_response_invalid", "seoapi_model_unsupported", "seoapi_model_options_invalid", "seoapi_provider_rejected", "seo_price_pending", "seo_provider_blocked", "seo_local_rate_limited", "seo_fallback_unavailable", "seo_fallback_budget_exceeded", "seo_pagination_expired", "seo_delivery_uncertain", "seo_auth_required", "seo_initialization_required", "seo_permission_denied", "seo_verification_required", "seo_rate_limited", "seo_upstream_unavailable", "seo_transport_failed", "seo_invalid_response", "seo_rpc_error", "seo_period_unavailable", "seo_account_unavailable", "seo_session_busy", "seo_configuration_required", "validation_error", "invalid_request", "unsupported_feature", "authentication_required", "permission_denied", "not_found", "run_not_found", "crawl_not_found", "artifact_not_found", "session_not_found", "profile_not_found", "profile_in_use", "profile_not_ready", "profile_not_cloneable", "profile_limit_reached", "profile_proxy_conflict", "proxy_not_found", "proxy_unavailable", "invalid_session_options", "invalid_query_options", "invalid_cursor", "idempotency_key_required", "browser_session_limit_reached", "browser_capacity_exhausted", "browser_start_timeout", "browser_runtime_unavailable", "session_not_active", "controller_already_connected", "browser_relay_unavailable", "precondition_required", "precondition_failed", "timeout", "run_not_ready", "artifact_expired", "quota_exceeded", "insufficient_credits", "billing_reconciliation_required", "rate_limited", "fetch_failed", "render_failed", "maps_rate_limited", "maps_challenge", "maps_schema_changed", "maps_invalid_response", "maps_transport_failed", "maps_page_budget_exhausted", "google_trends_rate_limited", "google_trends_challenge", "google_trends_explore_failed", "google_trends_widget_missing", "google_trends_related_failed", "google_trends_invalid_response", "google_trends_transport_failed", "google_trends_collection_failed", "google_ads_account_context_missing", "google_ads_batch_failed", "google_ads_browser_context_missing", "google_ads_browser_unavailable", "google_ads_collection_failed", "google_ads_page_failed", "google_ads_protocol_drift", "google_ads_rate_limited", "google_ads_timeout", "twitter_provider_unavailable", "twitter_provider_rejected", "twitter_submission_unknown", "wechat_transport_failed", "wechat_rate_limited", "wechat_invalid_response", "wechat_redirect_rejected", "wechat_verification_required", "wechat_parse_failed", "blackhatworld_search_failed", "blackhatworld_no_results", "reddit_read_failed", "idempotency_conflict", "idempotency_in_progress", "service_unavailable", "internal_error"messagestring requiredtypestring requiredAllowed:
"auth", "validation", "quota", "rate_limit", "not_found", "execution", "conflict", "internal"retryableboolean requiredrequest_idstring | nulldetailsobject
Complete schema
{
"type": "object",
"additionalProperties": false,
"required": [
"code",
"message",
"type",
"retryable"
],
"properties": {
"code": {
"type": "string",
"enum": [
"seoapi_price_pending",
"seoapi_unavailable",
"seoapi_busy",
"seoapi_not_found",
"seoapi_rate_limited",
"seoapi_budget_exceeded",
"seoapi_idempotency_conflict",
"seoapi_insufficient_credits",
"seoapi_admission_failed",
"seoapi_execution_interrupted",
"seoapi_delivery_unknown",
"seoapi_response_invalid",
"seoapi_model_unsupported",
"seoapi_model_options_invalid",
"seoapi_provider_rejected",
"seo_price_pending",
"seo_provider_blocked",
"seo_local_rate_limited",
"seo_fallback_unavailable",
"seo_fallback_budget_exceeded",
"seo_pagination_expired",
"seo_delivery_uncertain",
"seo_auth_required",
"seo_initialization_required",
"seo_permission_denied",
"seo_verification_required",
"seo_rate_limited",
"seo_upstream_unavailable",
"seo_transport_failed",
"seo_invalid_response",
"seo_rpc_error",
"seo_period_unavailable",
"seo_account_unavailable",
"seo_session_busy",
"seo_configuration_required",
"validation_error",
"invalid_request",
"unsupported_feature",
"authentication_required",
"permission_denied",
"not_found",
"run_not_found",
"crawl_not_found",
"artifact_not_found",
"session_not_found",
"profile_not_found",
"profile_in_use",
"profile_not_ready",
"profile_not_cloneable",
"profile_limit_reached",
"profile_proxy_conflict",
"proxy_not_found",
"proxy_unavailable",
"invalid_session_options",
"invalid_query_options",
"invalid_cursor",
"idempotency_key_required",
"browser_session_limit_reached",
"browser_capacity_exhausted",
"browser_start_timeout",
"browser_runtime_unavailable",
"session_not_active",
"controller_already_connected",
"browser_relay_unavailable",
"precondition_required",
"precondition_failed",
"timeout",
"run_not_ready",
"artifact_expired",
"quota_exceeded",
"insufficient_credits",
"billing_reconciliation_required",
"rate_limited",
"fetch_failed",
"render_failed",
"maps_rate_limited",
"maps_challenge",
"maps_schema_changed",
"maps_invalid_response",
"maps_transport_failed",
"maps_page_budget_exhausted",
"google_trends_rate_limited",
"google_trends_challenge",
"google_trends_explore_failed",
"google_trends_widget_missing",
"google_trends_related_failed",
"google_trends_invalid_response",
"google_trends_transport_failed",
"google_trends_collection_failed",
"google_ads_account_context_missing",
"google_ads_batch_failed",
"google_ads_browser_context_missing",
"google_ads_browser_unavailable",
"google_ads_collection_failed",
"google_ads_page_failed",
"google_ads_protocol_drift",
"google_ads_rate_limited",
"google_ads_timeout",
"twitter_provider_unavailable",
"twitter_provider_rejected",
"twitter_submission_unknown",
"wechat_transport_failed",
"wechat_rate_limited",
"wechat_invalid_response",
"wechat_redirect_rejected",
"wechat_verification_required",
"wechat_parse_failed",
"blackhatworld_search_failed",
"blackhatworld_no_results",
"reddit_read_failed",
"idempotency_conflict",
"idempotency_in_progress",
"service_unavailable",
"internal_error"
]
},
"message": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"auth",
"validation",
"quota",
"rate_limit",
"not_found",
"execution",
"conflict",
"internal"
]
},
"retryable": {
"type": "boolean"
},
"request_id": {
"type": [
"string",
"null"
]
},
"details": {
"type": "object",
"additionalProperties": true
}
}
}