Keyword ideas

by DataForSEO

dataforseo/labs_google_keyword_ideas_live

Generate related keyword ideas for a set of seed keywords.

Billed per
call
Price
Price: $0.1152
Provider
DataForSEO
Timeout
3 min

Overview

Takes a set of seed keywords and returns keywords in the same product and service categories, rather than only those literally containing the seeds. That makes it the broader of the two expansion reports: use it to find adjacent topics and vocabulary a seed phrase would never surface on its own. Each idea comes back with monthly volume, a twelve-month history, competition, cost per click, and bid ranges. A market must be given here; the language falls back to whichever dominates that market.

The seed list and one row per idea with its volume, competition, cost per click, and bid range.

Input

These go in the input object of the run request.

FieldTypeRequiredDescription
keywordsarrayYesThe seed phrases to expand, up to 200.
location_codeintegerYesWhich market to search from.
language_codestringNoInterface and result language.
limitintegerNoHow many rows to return.
Default: 700
Maximum: 1000
closely_variantsbooleanNoMatch seeds as phrases rather than broadly.
Default: false
include_serp_infobooleanNoAttach a summary of each keyword's results page.
Default: false

Requests up to 1 MB.

Example

Use your own API key and a saved idempotency key for each new job. Replace image or media placeholders with your own publicly reachable HTTPS URLs. Keep the same key and request body when recovering a timeout.

# Set once per job; reuse this key and the identical body after a timeout.
: "${AGENTSKY_IDEMPOTENCY_KEY:?Set a unique, saved key for this job}"
curl --fail-with-body https://gateway.agentsky.dev/v1/run \
  -H "authorization: Bearer $AGENTSKY_API_KEY" \
  -H "content-type: application/json" \
  -H "Idempotency-Key: $AGENTSKY_IDEMPOTENCY_KEY" \
  -d '{"provider":"dataforseo","endpoint":"labs_google_keyword_ideas_live","input":{"keywords":["phone case","watch strap"],"location_code":2840,"language_code":"en","limit":100}}'
# If status is READY/RUNNING, poll GET /v1/runs/{runId} with the same API key.

Pricing

$0.1152 per call using your plan when signed in. Reported usage is billed under your account plan. Read the final customer charge from price.amount.value after the run finishes. A RUNNING response is not the final bill.

Questions