Skip to main content


Note: This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to Promoted Listings Advanced Access Requests in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the getAdvertisingEligibility method in Account API.
This method allows sellers to retrieve a list of keyword ideas to be targeted for Promoted Listings campaigns.


Resource URI


This method is supported in Sandbox environment. To access the endpoint, just replace the root URI with

URI parameters

campaign_idstringA unique eBay-assigned ID for an ad campaign that is generated when a campaign is created.

Note: You can retrieve the campaign IDs for a specified seller using the getCampaigns method.

Occurrence: Required

ad_group_idstringThe ID of the ad group for which the keyword suggestions will be provided.

Occurrence: Required

HTTP request headers

All requests made to eBay REST operations require you to provide the Authorization HTTP header for authentication authorization.

The table below shows additional HTTP request headers that are either required, conditionally required, or strongly recommended for this method. Other standard HTTP request headers- opens rest request components page (not in this table) can also be used, but they are optional.

Content-TypestringThis header indicates the format of the request body provided by the client. Its value should be set to application/json.

For more information, refer to HTTP request headers.

Occurrence: Required

OAuth scope

This request requires an access token created with the authorization code grant flow, using one or more scopes from the following list (please check your Application Keys page for a list of OAuth scopes available to your application):

See OAuth access tokens for more information.

Request payload

Copy complete valid JSON to clipboard

Request fields

Input container/fieldTypeDescription
additionalInfoarray of AdditionalInfoEnum

A field used to indicate whether additional information and insight data shall be provided for suggested keywords.


Occurrence: Optional

exclusionsarray of ExclusionsEnum

A field used to indicate that the keywords already selected by sellers for the specified listing IDs should be filtered out of the response, and only new and unique keyword recommendations shall be returned.


Occurrence: Optional

listingIdsarray of string

A set of comma-separated listing IDs in the paginated collection.

Maximum number of listings requested: 300

Occurrence: Optional


A field that defines the match type for the keyword.

Valid Values:


Occurrence: Required


HTTP response headers

This call has no response headers.

Response payload

Response fields

Output container/fieldTypeDescription
suggestedKeywordsarray of SuggestedKeywords

A list of suggested keywords in the paged collection.

Note: A relevancy check with items already present in the ad-group is performed even if item IDs associated with the ad-group are not explicitly passed in the request.

Occurrence: Conditional

suggestedKeywords.additionalInfoarray of AdditionalInfo

A container for the additional information and compiled insight data for suggested keywords.

Occurrence: Conditional


The type of additional information provided for the suggested keyword.


Occurrence: Conditional

suggestedKeywords.additionalInfo.metricsarray of AdditionalInfoData

A list of additional data provided for the suggested keyword.

Occurrence: Conditional


The metric used to provide additional information for the suggested keyword.

Valid Values:


Occurrence: Conditional


The data provided for the specified metric.

Note: All metric data is compiled for the marketplace associated with the specified campaign ID.

Occurrence: Conditional


The text for the keyword.

Occurrence: Always


A field that defines the match type for the keyword.

Valid Values:


Occurrence: Conditional

HTTP status codes

This call can return one of the following HTTP status codes. For an overview of the status codes, see HTTP status codes in Using eBay RESTful APIs.

400Bad Request
404Not Found
409Business error
500Internal Server error

Error codes

For more on errors, plus the codes of other common errors, see Handling errors.

35001API_MARKETINGAPPLICATIONThere was a problem with an eBay internal system or process. Contact eBay Developer Technical Support for assistance.
35013API_MARKETINGREQUESTThe listing Id {listingId} is not valid.
35041API_MARKETINGREQUESTThe 'marketplaceId' is required.
35045API_MARKETINGREQUESTNo campaign found for campaign id {campaign_id}.
35051API_MARKETINGBUSINESS'marketplaceId' {marketplaceId} is not supported. Promoted Listings is supported only on these marketplaces: {supportedMarketplaces}.
35054API_MARKETINGBUSINESSThe listing Id {listingId} was created on a different marketplace than the campaign. The listing and campaign must reside on the same marketplace.
35057API_MARKETINGBUSINESSThe listing Id {listingId} does not belong to the seller making this call.
35068API_MARKETINGBUSINESSYou have exceeded the maximum number of listing Ids. Only {maxSupportedNumber} listings are supported per call.
36210API_MARKETINGREQUESTNo ad group found for ad group id {ad_group_id}.
36301API_MARKETINGREQUESTThe provided keyword match type is not supported. Valid values are: {matchTypeValues}.
70006API_MARKETINGREQUESTThe provided exclusion is not supported. Valid values are {supportedExclusions}.
70007API_MARKETINGREQUESTThe provided additionalInfo is not supported. Valid values are {supportedAdditionalInfo}.


This call has no warnings.


New to making API calls? Please see Making a Call.

Note: Identifiers, such as order IDs or user IDs, and personal data in these samples might be anonymized or may no longer be active on eBay. If necessary, substitute current, relevant eBay data in your requests.

Sample 1: Retreive Keyword Suggestions

This example retrieves a list of keyword ideas for listings to be targeted for Promoted Listings campaigns.


The inputs for this sample are the campaign_id and ad_group_id path parameters, as well as the listingIds, matchType, additionalInfo, and exclusions fields passed in the request body.



If the call is successful, keyword suggestions matching the specified criteria are returned.