Getting started

research google-keywords

orc research google-keywords discovers keyword candidates, retrieves volume and intent, and compares ranking keywords across domains. Start with map, locales list and categories list to choose operations, locations and categories.

Authenticate the CLI and select an accessible Workspace. Use --workspace to set the scope for this call.

Usage

terminal
orc research google-keywords map --workspace <workspace-id>

Discover keyword-research operations.

Subcommands

categories list

Retrieve category IDs and their hierarchy. Choose IDs from this response when using for-categories list.

terminal
orc research google-keywords categories list [options]

for-categories list

Discover keywords in the selected categories. --category-intersection true requires all categories; false matches any category.

terminal
orc research google-keywords for-categories list [options]

Unique options

--category-codes

One to 20 provider product or service category IDs. Discover IDs with GET /v1/research/google-keywords/categories.; csv

Type: string. Optional.

terminal
orc research google-keywords for-categories list --category-codes <value>
--category-intersection

true requires keywords to belong to every supplied category; false accepts keywords from any supplied category. Defaults to true.

Type: string. Optional.

terminal
orc research google-keywords for-categories list --category-intersection <value>
--language-code

Provider language code for the request. Support depends on the upstream dataset; Labs combinations are available from the locales endpoint.

Type: string. Optional.

terminal
orc research google-keywords for-categories list --language-code <value>
--location-code

Provider location identifier for geographic targeting. This is not a country ISO code. Supported locations depend on the upstream dataset.

Type: number. Optional.

terminal
orc research google-keywords for-categories list --location-code <value>
--max-keyword-difficulty

Maximum organic keyword difficulty. This differs from paid advertising competition. When omitted, no difficulty filter is applied.

Type: number. Optional.

terminal
orc research google-keywords for-categories list --max-keyword-difficulty <value>
--min-search-volume

Minimum provider-reported monthly average search volume. When omitted, no search-volume filter is applied.

Type: number. Optional.

terminal
orc research google-keywords for-categories list --min-search-volume <value>
--offset

Number of matching items to skip. Follow pagination.next_request for subsequent pages. The offset window does not guarantee access to every source result.

Type: number. Optional.

terminal
orc research google-keywords for-categories list --offset <value>
--sort

Ordering of matching items: source preserves provider ordering; volume_desc requests highest search volume first; difficulty_asc requests lowest organic difficulty first.; enum: source|volume_desc|difficulty_asc

Type: string. Optional.

terminal
orc research google-keywords for-categories list --sort <value>
--offset-token

Opaque continuation token returned in pagination.next_request. Send the complete next_request body to the same endpoint; do not combine this form with initial search filters.; max 4096 chars

Type: string. Optional.

terminal
orc research google-keywords for-categories list --offset-token <value>

for-site list

Discover keywords relevant to a site. Supply a bare hostname with --target; use --include-subdomains to control subdomain coverage.

terminal
orc research google-keywords for-site list [options]

Unique options

--include-subdomains

Include keywords associated with subdomains of target. Defaults to true; false ignores subdomains.

Type: string. Optional.

terminal
orc research google-keywords for-site list --include-subdomains <value>
--language-code

Provider language code for the request. Support depends on the upstream dataset; Labs combinations are available from the locales endpoint.

Type: string. Optional.

terminal
orc research google-keywords for-site list --language-code <value>
--location-code

Provider location identifier for geographic targeting. This is not a country ISO code. Supported locations depend on the upstream dataset.

Type: number. Optional.

terminal
orc research google-keywords for-site list --location-code <value>
--max-keyword-difficulty

Maximum organic keyword difficulty. This differs from paid advertising competition. When omitted, no difficulty filter is applied.

Type: number. Optional.

terminal
orc research google-keywords for-site list --max-keyword-difficulty <value>
--min-search-volume

Minimum provider-reported monthly average search volume. When omitted, no search-volume filter is applied.

Type: number. Optional.

terminal
orc research google-keywords for-site list --min-search-volume <value>
--offset

Number of matching items to skip. Follow pagination.next_request for subsequent pages. The offset window does not guarantee access to every source result.

Type: number. Optional.

terminal
orc research google-keywords for-site list --offset <value>
--sort

Ordering of matching items: source preserves provider ordering; volume_desc requests highest search volume first; difficulty_asc requests lowest organic difficulty first.; enum: source|volume_desc|difficulty_asc

Type: string. Optional.

terminal
orc research google-keywords for-site list --sort <value>
--target

Bare hostname of the website. Do not include a scheme, path or query string.; max 253 chars

Type: string. Optional.

terminal
orc research google-keywords for-site list --target <value>
--offset-token

Opaque continuation token returned in pagination.next_request. Send the complete next_request body to the same endpoint; do not combine this form with initial search filters.; max 4096 chars

Type: string. Optional.

terminal
orc research google-keywords for-site list --offset-token <value>

history get

Retrieve historical keyword metrics. Keep location and language consistent when comparing periods, and leave missing provider records missing.

terminal
orc research google-keywords history get [options]

Unique options

--keywords

(required) Keywords to inspect in this request. Missing provider records are not synthesized.; csv

Type: string. Optional.

terminal
orc research google-keywords history get --keywords <value>
--language-code

(required) Provider language code for the request. Support depends on the upstream dataset; Labs combinations are available from the locales endpoint.

Type: string. Optional.

terminal
orc research google-keywords history get --language-code <value>
--location-code

(required) Provider location identifier for geographic targeting. This is not a country ISO code. Supported locations depend on the upstream dataset.

Type: number. Optional.

terminal
orc research google-keywords history get --location-code <value>

ideas list

Discover keyword ideas from seed terms. Set a location and language, then filter candidates by search volume or organic keyword difficulty.

terminal
orc research google-keywords ideas list [options]

Unique options

--keywords

Keywords to inspect in this request. Missing provider records are not synthesized.; csv

Type: string. Optional.

terminal
orc research google-keywords ideas list --keywords <value>
--language-code

Provider language code for the request. Support depends on the upstream dataset; Labs combinations are available from the locales endpoint.

Type: string. Optional.

terminal
orc research google-keywords ideas list --language-code <value>
--location-code

Provider location identifier for geographic targeting. This is not a country ISO code. Supported locations depend on the upstream dataset.

Type: number. Optional.

terminal
orc research google-keywords ideas list --location-code <value>
--max-keyword-difficulty

Maximum organic keyword difficulty. This differs from paid advertising competition. When omitted, no difficulty filter is applied.

Type: number. Optional.

terminal
orc research google-keywords ideas list --max-keyword-difficulty <value>
--min-search-volume

Minimum provider-reported monthly average search volume. When omitted, no search-volume filter is applied.

Type: number. Optional.

terminal
orc research google-keywords ideas list --min-search-volume <value>
--offset

Number of matching items to skip. Follow pagination.next_request for subsequent pages. The offset window does not guarantee access to every source result.

Type: number. Optional.

terminal
orc research google-keywords ideas list --offset <value>
--sort

Ordering of matching items: source preserves provider ordering; volume_desc requests highest search volume first; difficulty_asc requests lowest organic difficulty first.; enum: source|volume_desc|difficulty_asc

Type: string. Optional.

terminal
orc research google-keywords ideas list --sort <value>
--offset-token

Opaque continuation token returned in pagination.next_request. Send the complete next_request body to the same endpoint; do not combine this form with initial search filters.; max 4096 chars

Type: string. Optional.

terminal
orc research google-keywords ideas list --offset-token <value>

intent get

Retrieve search-intent classifications for keywords in the selected language. Missing classifications remain missing.

terminal
orc research google-keywords intent get [options]

Unique options

--keywords

(required) Keywords to inspect in this request. Missing provider records are not synthesized.; csv

Type: string. Optional.

terminal
orc research google-keywords intent get --keywords <value>
--language-code

(required) Provider language code for the request. Support depends on the upstream dataset; Labs combinations are available from the locales endpoint.

Type: string. Optional.

terminal
orc research google-keywords intent get --language-code <value>

intersection list

Compare ranking keywords for two domains. --intersections true returns shared keywords; false returns keywords of target1 absent from target2.

terminal
orc research google-keywords intersection list [options]

Unique options

--intersections

true requests ranking keywords shared by target1 and target2. false requests keywords of target1 absent from target2. Defaults to true.

Type: string. Optional.

terminal
orc research google-keywords intersection list --intersections <value>
--language-code

(required) Provider language code for the request. Support depends on the upstream dataset; Labs combinations are available from the locales endpoint.

Type: string. Optional.

terminal
orc research google-keywords intersection list --language-code <value>
--location-code

(required) Provider location identifier for geographic targeting. This is not a country ISO code. Supported locations depend on the upstream dataset.

Type: number. Optional.

terminal
orc research google-keywords intersection list --location-code <value>
--max-keyword-difficulty

Maximum organic keyword difficulty. This differs from paid advertising competition. When omitted, no difficulty filter is applied.

Type: number. Optional.

terminal
orc research google-keywords intersection list --max-keyword-difficulty <value>
--min-search-volume

Minimum provider-reported monthly average search volume. When omitted, no search-volume filter is applied.

Type: number. Optional.

terminal
orc research google-keywords intersection list --min-search-volume <value>
--offset

Number of matching items to skip. Follow pagination.next_request for subsequent pages. The offset window does not guarantee access to every source result.

Type: number. Optional.

terminal
orc research google-keywords intersection list --offset <value>
--sort

Ordering of matching items: source preserves provider ordering; volume_desc requests highest search volume first; difficulty_asc requests lowest organic difficulty first.; enum: source|volume_desc|difficulty_asc

Type: string. Optional.

terminal
orc research google-keywords intersection list --sort <value>
--target1

(required) Bare hostname of the website. Do not include a scheme, path or query string.; max 253 chars

Type: string. Optional.

terminal
orc research google-keywords intersection list --target1 <value>
--target2

(required) Bare hostname of the website. Do not include a scheme, path or query string.; max 253 chars

Type: string. Optional.

terminal
orc research google-keywords intersection list --target2 <value>

locales list

List locations and languages used in keyword research. Location codes are provider identifiers, not country ISO codes; check support for the requested dataset.

terminal
orc research google-keywords locales list [options]

map

Discover the available keyword-research operations and their input primitives before choosing a retrieval workflow.

terminal
orc research google-keywords map [options]

overview get

Compare keyword volume, difficulty and intent. Organic keyword difficulty and paid-ad competition are different metrics.

terminal
orc research google-keywords overview get [options]

Unique options

--keywords

(required) Keywords to inspect in this request. Missing provider records are not synthesized.; csv

Type: string. Optional.

terminal
orc research google-keywords overview get --keywords <value>
--language-code

(required) Provider language code for the request. Support depends on the upstream dataset; Labs combinations are available from the locales endpoint.

Type: string. Optional.

terminal
orc research google-keywords overview get --language-code <value>
--location-code

(required) Provider location identifier for geographic targeting. This is not a country ISO code. Supported locations depend on the upstream dataset.

Type: number. Optional.

terminal
orc research google-keywords overview get --location-code <value>

ranked list

Find keywords for which a domain ranks. Supply a bare hostname and keep location and language consistent across comparisons.

terminal
orc research google-keywords ranked list [options]

Unique options

--language-code

(required) Provider language code for the request. Support depends on the upstream dataset; Labs combinations are available from the locales endpoint.

Type: string. Optional.

terminal
orc research google-keywords ranked list --language-code <value>
--location-code

(required) Provider location identifier for geographic targeting. This is not a country ISO code. Supported locations depend on the upstream dataset.

Type: number. Optional.

terminal
orc research google-keywords ranked list --location-code <value>
--max-keyword-difficulty

Maximum organic keyword difficulty. This differs from paid advertising competition. When omitted, no difficulty filter is applied.

Type: number. Optional.

terminal
orc research google-keywords ranked list --max-keyword-difficulty <value>
--min-search-volume

Minimum provider-reported monthly average search volume. When omitted, no search-volume filter is applied.

Type: number. Optional.

terminal
orc research google-keywords ranked list --min-search-volume <value>
--offset

Number of matching items to skip. Follow pagination.next_request for subsequent pages. The offset window does not guarantee access to every source result.

Type: number. Optional.

terminal
orc research google-keywords ranked list --offset <value>
--sort

Ordering of matching items: source preserves provider ordering; volume_desc requests highest search volume first; difficulty_asc requests lowest organic difficulty first.; enum: source|volume_desc|difficulty_asc

Type: string. Optional.

terminal
orc research google-keywords ranked list --sort <value>
--target

(required) Bare hostname of the website. Do not include a scheme, path or query string.; max 253 chars

Type: string. Optional.

terminal
orc research google-keywords ranked list --target <value>

Expand related keywords from one seed phrase. --depth controls expansion depth rather than page size; zero requests the seed level and the default is one.

terminal
orc research google-keywords related list [options]

Unique options

--depth

Related-keyword expansion depth, from 0 to 4. Zero requests the seed level; larger values explore more levels. Defaults to 1. This is not the page size and does not guarantee a result count.

Type: number. Optional.

terminal
orc research google-keywords related list --depth <value>
--include-seed-keyword

Request provider data for the seed keyword in addition to discovered keywords. Orchestor defaults this to true; set false to omit the extra seed data.

Type: string. Optional.

terminal
orc research google-keywords related list --include-seed-keyword <value>
--keyword

(required) Search term or seed phrase. Leading and trailing whitespace is removed. Use at most 10 whitespace-separated words.; max 80 chars

Type: string. Optional.

terminal
orc research google-keywords related list --keyword <value>
--language-code

(required) Provider language code for the request. Support depends on the upstream dataset; Labs combinations are available from the locales endpoint.

Type: string. Optional.

terminal
orc research google-keywords related list --language-code <value>
--location-code

(required) Provider location identifier for geographic targeting. This is not a country ISO code. Supported locations depend on the upstream dataset.

Type: number. Optional.

terminal
orc research google-keywords related list --location-code <value>
--max-keyword-difficulty

Maximum organic keyword difficulty. This differs from paid advertising competition. When omitted, no difficulty filter is applied.

Type: number. Optional.

terminal
orc research google-keywords related list --max-keyword-difficulty <value>
--min-search-volume

Minimum provider-reported monthly average search volume. When omitted, no search-volume filter is applied.

Type: number. Optional.

terminal
orc research google-keywords related list --min-search-volume <value>
--offset

Number of matching items to skip. Follow pagination.next_request for subsequent pages. The offset window does not guarantee access to every source result.

Type: number. Optional.

terminal
orc research google-keywords related list --offset <value>
--sort

Ordering of matching items: source preserves provider ordering; volume_desc requests highest search volume first; difficulty_asc requests lowest organic difficulty first.; enum: source|volume_desc|difficulty_asc

Type: string. Optional.

terminal
orc research google-keywords related list --sort <value>

serp get

Inspect Google results for one keyword. Choose a device with --device and a target depth of 10–100 results with --depth; the source may return fewer.

terminal
orc research google-keywords serp get [options]

Unique options

--depth

Requested SERP result depth. Orchestor accepts 10 to 100 and defaults to 10. This is a result-count target, not related-keyword expansion depth. The source can return fewer results.

Type: number. Optional.

terminal
orc research google-keywords serp get --depth <value>
--device

Device type for the Google results. Defaults to desktop; use mobile for mobile-device results.; enum: desktop|mobile

Type: string. Optional.

terminal
orc research google-keywords serp get --device <value>
--keyword

(required) Search term or seed phrase. Leading and trailing whitespace is removed. Use at most 10 whitespace-separated words.; max 80 chars

Type: string. Optional.

terminal
orc research google-keywords serp get --keyword <value>
--language-code

(required) Provider language code for the request. Support depends on the upstream dataset; Labs combinations are available from the locales endpoint.

Type: string. Optional.

terminal
orc research google-keywords serp get --language-code <value>
--location-code

(required) Provider location identifier for geographic targeting. This is not a country ISO code. Supported locations depend on the upstream dataset.

Type: number. Optional.

terminal
orc research google-keywords serp get --location-code <value>

suggestions list

Find search phrases containing a seed. Use --include-seed-keyword to control whether additional seed-keyword data is requested.

terminal
orc research google-keywords suggestions list [options]

Unique options

--include-seed-keyword

Request provider data for the seed keyword in addition to discovered keywords. Orchestor defaults this to true; set false to omit the extra seed data.

Type: string. Optional.

terminal
orc research google-keywords suggestions list --include-seed-keyword <value>
--keyword

Search term or seed phrase. Leading and trailing whitespace is removed. Use at most 10 whitespace-separated words.; max 80 chars

Type: string. Optional.

terminal
orc research google-keywords suggestions list --keyword <value>
--language-code

Provider language code for the request. Support depends on the upstream dataset; Labs combinations are available from the locales endpoint.

Type: string. Optional.

terminal
orc research google-keywords suggestions list --language-code <value>
--location-code

Provider location identifier for geographic targeting. This is not a country ISO code. Supported locations depend on the upstream dataset.

Type: number. Optional.

terminal
orc research google-keywords suggestions list --location-code <value>
--max-keyword-difficulty

Maximum organic keyword difficulty. This differs from paid advertising competition. When omitted, no difficulty filter is applied.

Type: number. Optional.

terminal
orc research google-keywords suggestions list --max-keyword-difficulty <value>
--min-search-volume

Minimum provider-reported monthly average search volume. When omitted, no search-volume filter is applied.

Type: number. Optional.

terminal
orc research google-keywords suggestions list --min-search-volume <value>
--offset

Number of matching items to skip. Follow pagination.next_request for subsequent pages. The offset window does not guarantee access to every source result.

Type: number. Optional.

terminal
orc research google-keywords suggestions list --offset <value>
--sort

Ordering of matching items: source preserves provider ordering; volume_desc requests highest search volume first; difficulty_asc requests lowest organic difficulty first.; enum: source|volume_desc|difficulty_asc

Type: string. Optional.

terminal
orc research google-keywords suggestions list --sort <value>
--offset-token

Opaque continuation token returned in pagination.next_request. Send the complete next_request body to the same endpoint; do not combine this form with initial search filters.; max 4096 chars

Type: string. Optional.

terminal
orc research google-keywords suggestions list --offset-token <value>

volume get

Retrieve Google Ads search volumes. These approximate counts do not directly measure unique searchers or purchasing demand.

terminal
orc research google-keywords volume get [options]

Unique options

--keywords

(required) Search terms to measure. Each term must contain at most 80 characters and 10 whitespace-separated words. Leading and trailing whitespace is removed. Similar terms may be combined by Google Ads.; csv

Type: string. Optional.

terminal
orc research google-keywords volume get --keywords <value>
--language-code

(required) Language code supported by the Google Ads dataset. Targeting is required; it does not default to your workspace locale.

Type: string. Optional.

terminal
orc research google-keywords volume get --language-code <value>
--location-code

(required) DataForSEO Google Ads location identifier. This is not a country ISO code; availability may differ from the Labs locales endpoint.

Type: number. Optional.

terminal
orc research google-keywords volume get --location-code <value>

Examples

Compare search volumes.

terminal
orc research google-keywords volume get --keywords "生成AI,AI検索" --location-code 2392 --language-code ja --workspace <workspace-id> --json

Compare search volumes.

Inspect search intent.

terminal
orc research google-keywords intent get --keywords "生成AI" --language-code ja --workspace <workspace-id> --json

Inspect search intent.

Next page

ideas, suggestions, for-site and for-categories use tokens. Pass the complete pagination.next_request unchanged to the same command with --stdin. In CLI JSON, extract data.pagination.next_request.

terminal
jq -e ' .data.pagination.next_request // empty' response.json > next-request.json &&
  orc research google-keywords ideas list --stdin --workspace <workspace-id> --json < next-request.json

Request the next page only when a continuation request is present.

Do not call when next_request is null. Do not mix continuation tokens with initial filters. related, ranked and intersection use offsets; retain the conditions in next_request. There is no automatic traversal or retry.

Inputs and interpretation

Arrays use comma-separated values; pass booleans explicitly, for example --intersections false. For keywords containing commas, use an array inside a JSON request object with --stdin. Choose category IDs from categories list. Organic difficulty differs from ad competition, and search volume is an approximate count rather than people or purchasing demand. Null is not zero.

Permissions

GET retrieval requires read scope; POST keyword retrieval requires write scope. Provider credentials are managed by the server.

Global Options

The following global options can be used with orc research google-keywords:

For details and examples, see global options.