Search Google Images SERP Results
/v1/serp/google/imagesSearch Google Images by query, country and language and return normalized results. A completed search costs 2 Credits, including an empty result. Failed searches are not charged. Reuse the same Idempotency-Key when retrying the same request after a lost response.
On this page
Request example
Replace placeholders with your values. Use your Team API key for authenticated requests.
https://kieapi.comcurl -X POST "https://kieapi.com/v1/serp/google/images" \
-H "Authorization: Bearer $SPIDER_API_KEY" \
-H 'Idempotency-Key: docs-example-01' \
-H "Content-Type: application/json" \
-d '{
"q": "<value>"
}'Authentication
BearerAuth
Parameters
Idempotency-Keyheader ยท string- Caller-generated key, up to 128 characters, that identifies one API Market write and its billing event. Reuse the same key only when retrying the same logical request. Replays do not create another reservation or capture.
Request body required
application/json
qstring requiredcountrystringDefault:
"US"hlstringDefault:
"en"devicestringAllowed:
"desktop", "mobile", "tablet"Default:
"desktop"
Responses
200 Normalized Google Images results.
application/json
enginestring requiredAllowed:
"google"verticalstring requiredAllowed:
"images"querySerpOrganicQuery requiredrequest_urlstring requiredstatus_codeinteger requiredclassificationstring requiredimagesarray of SerpImageItem requiredimages_countinteger required
400 Request validation failed.
401 Missing or invalid API key.
402 The Team does not have enough available Credits for the maximum reservation.
403 Authenticated principal cannot access this resource.
409 Billing settlement requires reconciliation, or the idempotency key was reused for a different logical request.
429 Temporary rate limit.
502 Upstream fetch or network failure.
503 Required runtime service is unavailable.
Schemas
Field definitions and complete validation rules for this API. Follow a type link to its definition.
SerpGoogleOrganicRequest
object
qstring requiredcountrystringDefault:
"US"hlstringDefault:
"en"devicestringAllowed:
"desktop", "mobile", "tablet"Default:
"desktop"
Complete schema
{
"type": "object",
"additionalProperties": false,
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"minLength": 1,
"maxLength": 512
},
"country": {
"type": "string",
"minLength": 2,
"maxLength": 8,
"default": "US"
},
"hl": {
"type": "string",
"minLength": 2,
"maxLength": 16,
"default": "en"
},
"device": {
"type": "string",
"enum": [
"desktop",
"mobile",
"tablet"
],
"default": "desktop"
}
}
}SerpImagesResponse
object
enginestring requiredAllowed:
"google"verticalstring requiredAllowed:
"images"querySerpOrganicQuery requiredrequest_urlstring requiredstatus_codeinteger requiredclassificationstring requiredimagesarray of SerpImageItem requiredimages_countinteger required
Complete schema
{
"type": "object",
"required": [
"engine",
"vertical",
"query",
"request_url",
"status_code",
"classification",
"images",
"images_count"
],
"properties": {
"engine": {
"type": "string",
"enum": [
"google"
]
},
"vertical": {
"type": "string",
"enum": [
"images"
]
},
"query": {
"$ref": "#/components/schemas/SerpOrganicQuery"
},
"request_url": {
"type": "string"
},
"status_code": {
"type": "integer"
},
"classification": {
"type": "string"
},
"images": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SerpImageItem"
}
},
"images_count": {
"type": "integer"
}
}
}SerpOrganicQuery
object
qstring requiredcountrystring required
Complete schema
{
"type": "object",
"required": [
"q",
"country"
],
"properties": {
"q": {
"type": "string"
},
"country": {
"type": "string"
}
}
}SerpImageItem
object
rankintegertitlestringurlstringsource_urlstringencoded_urlstringsubtitlestringaltstringdomainstring
Complete schema
{
"type": "object",
"properties": {
"rank": {
"type": "integer",
"nullable": true
},
"title": {
"type": "string"
},
"url": {
"type": "string"
},
"source_url": {
"type": "string",
"nullable": true
},
"encoded_url": {
"type": "string",
"nullable": true
},
"subtitle": {
"type": "string",
"nullable": true
},
"alt": {
"type": "string",
"nullable": true
},
"domain": {
"type": "string",
"nullable": 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
}
}
}