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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
orc research google-keywords locales list [options]map
Discover the available keyword-research operations and their input primitives before choosing a retrieval workflow.
orc research google-keywords map [options]overview get
Compare keyword volume, difficulty and intent. Organic keyword difficulty and paid-ad competition are different metrics.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
orc research google-keywords volume get --location-code <value>Examples
Compare search volumes.
orc research google-keywords volume get --keywords "生成AI,AI検索" --location-code 2392 --language-code ja --workspace <workspace-id> --jsonCompare search volumes.
Inspect search intent.
orc research google-keywords intent get --keywords "生成AI" --language-code ja --workspace <workspace-id> --jsonInspect 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.
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.jsonRequest 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.