Get Google Ads Keyword Planner Ideas
/v1/google-ads/keyword-ideasRuns one feature-gated keyword-ideas collection through a server-owned, logged-in shared browser profile. Cookies, XSRF values, account context, raw private RPC vectors, DICloak identifiers, and CDP URLs stay internal. A valid completed request costs 100 Credits, including an empty result; suggestions are not charged per record. Temporary collection startup failures return HTTP 502 with google_ads_browser_unavailable and retryable=true. Failed requests release reserved Credits and are not charged.
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/google-ads/keyword-ideas" \
-H "Authorization: Bearer $SPIDER_API_KEY" \
-H 'Idempotency-Key: docs-example-01' \
-H "Content-Type: application/json" \
-d '{
"keywords": [
"<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
keywordsarray of string requiredlanguage_idinteger | nulllocation_idsarray of integernetworkinteger | nullAllowed:
1, 2, nullcurrency_codestring | nullsearch_volume_typesarray of integerlimitintegerDefault:
100
Responses
200 Normalized keyword ideas and metrics.
application/json
queryGoogleAdsKeywordIdeasQuery requiredresultsarray of GoogleAdsKeywordIdea requiredresult_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.
GoogleAdsKeywordIdeasRequest
object
keywordsarray of string requiredlanguage_idinteger | nulllocation_idsarray of integernetworkinteger | nullAllowed:
1, 2, nullcurrency_codestring | nullsearch_volume_typesarray of integerlimitintegerDefault:
100
Complete schema
{
"type": "object",
"additionalProperties": false,
"required": [
"keywords"
],
"properties": {
"keywords": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
"language_id": {
"type": [
"integer",
"null"
],
"minimum": 1
},
"location_ids": {
"type": [
"array",
"null"
],
"maxItems": 20,
"items": {
"type": "integer",
"minimum": 1
}
},
"network": {
"type": [
"integer",
"null"
],
"enum": [
1,
2,
null
]
},
"currency_code": {
"type": [
"string",
"null"
],
"minLength": 3,
"maxLength": 3
},
"search_volume_types": {
"type": [
"array",
"null"
],
"maxItems": 6,
"items": {
"type": "integer",
"minimum": 1,
"maximum": 6
}
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"default": 100
}
}
}GoogleAdsKeywordIdeasResponse
object
queryGoogleAdsKeywordIdeasQuery requiredresultsarray of GoogleAdsKeywordIdea requiredresult_countinteger required
Complete schema
{
"type": "object",
"additionalProperties": false,
"required": [
"query",
"results",
"result_count"
],
"properties": {
"query": {
"$ref": "#/components/schemas/GoogleAdsKeywordIdeasQuery"
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GoogleAdsKeywordIdea"
}
},
"result_count": {
"type": "integer",
"minimum": 0
}
}
}GoogleAdsKeywordIdeasQuery
object
keywordsarray of string requiredlanguage_idinteger | nulllocation_idsarray of integernetworkinteger | nullcurrency_codestring | nullsearch_volume_typesarray of integer
Complete schema
{
"type": "object",
"additionalProperties": false,
"required": [
"keywords"
],
"properties": {
"keywords": {
"type": "array",
"items": {
"type": "string"
}
},
"language_id": {
"type": [
"integer",
"null"
]
},
"location_ids": {
"type": [
"array",
"null"
],
"items": {
"type": "integer"
}
},
"network": {
"type": [
"integer",
"null"
]
},
"currency_code": {
"type": [
"string",
"null"
]
},
"search_volume_types": {
"type": [
"array",
"null"
],
"items": {
"type": "integer"
}
}
}
}GoogleAdsKeywordIdea
object
textstring requiredsearch_volumeinteger | nullcompetitioninteger | nullsearch_volume_mininteger | nullsearch_volume_maxinteger | nullbid_minstring | nullbid_maxstring | nullcurrency_codestring | nullcompetition_indexinteger | null
Complete schema
{
"type": "object",
"additionalProperties": false,
"required": [
"text"
],
"properties": {
"text": {
"type": "string"
},
"search_volume": {
"type": [
"integer",
"null"
]
},
"competition": {
"type": [
"integer",
"null"
]
},
"search_volume_min": {
"type": [
"integer",
"null"
]
},
"search_volume_max": {
"type": [
"integer",
"null"
]
},
"bid_min": {
"type": [
"string",
"null"
]
},
"bid_max": {
"type": [
"string",
"null"
]
},
"currency_code": {
"type": [
"string",
"null"
]
},
"competition_index": {
"type": [
"integer",
"null"
]
}
}
}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
}
}
}