List Structured Crawl Items
/v1/crawl/{crawl_id}/itemsReturns item-level structured extraction rows derived from crawl page results.
On this page
Request example
Replace placeholders with your values. Use your Team API key for authenticated requests.
https://kieapi.comcurl -G "https://kieapi.com/v1/crawl/{crawl_id}/items" \
-H "Authorization: Bearer $SPIDER_API_KEY" \
--data-urlencode 'limit=20'Authentication
BearerAuth
Parameters
crawl_idpath · string requiredlimitquery · integerDefault:
20Minimum: 1
Maximum: 100
cursorquery · string | null
Responses
200 Crawl structured items page.
application/json
crawlPublicCrawl requireditemsarray of PublicCrawlItem requirednext_cursorstring | null
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.
CrawlItemsResponse
object
crawlPublicCrawl requireditemsarray of PublicCrawlItem requirednext_cursorstring | null
Complete schema
{
"type": "object",
"additionalProperties": false,
"required": [
"crawl",
"items"
],
"properties": {
"crawl": {
"$ref": "#/components/schemas/PublicCrawl"
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PublicCrawlItem"
}
},
"next_cursor": {
"type": [
"string",
"null"
]
}
}
}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"
}
}
}PublicCrawlItem
object
crawl_idstring requiredrun_idstring requiredpage_urlstring (uri) requiredfinal_urlstring | null (uri)schema_namestring | nullpositioninteger requireddataobject required
Complete schema
{
"type": "object",
"additionalProperties": false,
"required": [
"crawl_id",
"run_id",
"page_url",
"position",
"data"
],
"properties": {
"crawl_id": {
"type": "string"
},
"run_id": {
"type": "string"
},
"page_url": {
"type": "string",
"format": "uri"
},
"final_url": {
"type": [
"string",
"null"
],
"format": "uri"
},
"schema_name": {
"type": [
"string",
"null"
]
},
"position": {
"type": "integer",
"minimum": 0
},
"data": {
"type": "object",
"additionalProperties": true
}
}
}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
}
}
}