---
title: "POST /v23/customers/{+customerId}:generateKeywordIdeas"
method: POST
path: "/v23/customers/{+customerId}:generateKeywordIdeas"
tags: ["customers"]
---

# POST /v23/customers/{+customerId}:generateKeywordIdeas

`POST /v23/customers/{+customerId}:generateKeywordIdeas`

Returns a list of keyword ideas. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [KeywordPlanIdeaError]() [QuotaError]() [RequestError]()

## Path parameters

- `customerId` string, required

## Request body

- GoogleAdsSearchads360V23ServicesGenerateKeywordIdeasRequest — Request message for KeywordPlanIdeaService.GenerateKeywordIdeas.
  - `geoTargetConstants` string[] — The resource names of the location to target. Maximum is 10. An empty list MAY be used to specify all targeting geos.
  - `keywordAnnotation` string[] — The keyword annotations to include in response.
  - `keywordAndUrlSeed` GoogleAdsSearchads360V23ServicesKeywordAndUrlSeed — Keyword And Url Seed
    - `url` string — The URL to crawl in order to generate keyword ideas.
    - `keywords` string[] — Requires at least one keyword and no more than 20 keywords.
  - `keywordPlanNetwork` 'UNSPECIFIED' | 'UNKNOWN' | 'GOOGLE_SEARCH' | 'GOOGLE_SEARCH_AND_PARTNERS' — Targeting network. If not set, Google Search And Partners Network will be used.
  - `urlSeed` GoogleAdsSearchads360V23ServicesUrlSeed — Url Seed
    - `url` string — The URL to crawl in order to generate keyword ideas.
  - `includeAdultKeywords` boolean — If true, adult keywords will be included in response. The default value is false.
  - `language` string — The resource name of the language to target. Each keyword belongs to some set of languages; a keyword is included if language is one of its languages. If not set, all keywords will be included.
  - `aggregateMetrics` GoogleAdsSearchads360V23CommonKeywordPlanAggregateMetrics — The aggregate metrics specification of the request.
    - `aggregateMetricTypes` string[] — The list of aggregate metrics to fetch data.
  - `historicalMetricsOptions` GoogleAdsSearchads360V23CommonHistoricalMetricsOptions — Historical metrics options.
    - `includeAverageCpc` boolean — Indicates whether to include average cost per click value. Average CPC is provided only for legacy support.
    - `yearMonthRange` GoogleAdsSearchads360V23CommonYearMonthRange — The year month range inclusive of the start and end months. Eg: A year month range to represent Jan 2020 would be: (Jan 2020, Jan 2020).
      - `start` GoogleAdsSearchads360V23CommonYearMonth — Year month.
        - `year` string, int64 — The year (for example, 2020).
        - `month` 'UNSPECIFIED' | 'UNKNOWN' | 'JANUARY' | 'FEBRUARY' | 'MARCH' | 'APRIL' | 'MAY' | 'JUNE' | 'JULY' | 'AUGUST' | 'SEPTEMBER' | 'OCTOBER' | 'NOVEMBER' | 'DECEMBER' — The month of the year. (for example, FEBRUARY).
      - `end` GoogleAdsSearchads360V23CommonYearMonth — Year month.
        - `year` string, int64 — The year (for example, 2020).
        - `month` 'UNSPECIFIED' | 'UNKNOWN' | 'JANUARY' | 'FEBRUARY' | 'MARCH' | 'APRIL' | 'MAY' | 'JUNE' | 'JULY' | 'AUGUST' | 'SEPTEMBER' | 'OCTOBER' | 'NOVEMBER' | 'DECEMBER' — The month of the year. (for example, FEBRUARY).
  - `pageToken` string — Token of the page to retrieve. If not specified, the first page of results will be returned. To request next page of results use the value obtained from `next_page_token` in the previous response. The request fields must match across pages.
  - `keywordSeed` GoogleAdsSearchads360V23ServicesKeywordSeed — Keyword Seed
    - `keywords` string[] — Requires at least one keyword and no more than 20 keywords.
  - `siteSeed` GoogleAdsSearchads360V23ServicesSiteSeed — Site Seed
    - `site` string — The domain name of the site. If the customer requesting the ideas doesn't own the site provided only public information is returned.
  - `pageSize` integer — Number of results to retrieve in a single page. A maximum of 10,000 results may be returned, if the page_size exceeds this, it is ignored. If unspecified, at most 10,000 results will be returned. The server may decide to further limit the number of returned resources. If the response contains fewer than 10,000 results it may not be assumed as last page of results.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/searchads360.md) · [All operations](https://skmtc.net/google/apis/searchads360/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/searchads360/versions/40d087435afd/schema)
