Skip to main content


Note: This method is only available for select partners who have been approved for the eBay priority strategy program. For information about how to request access to this program, refer to Priority Strategy Access Requests in the Promoted Listings Playbook. To determine if a seller qualifies for priority strategy, use the getAdvertisingEligibility method in Account API.
This method creates keywords using a specified campaign ID for an existing priority strategy campaign that uses manual targeting.

In the request, supply the campaign_id as a path parameter.

Call the suggestKeywords method to retrieve a list of keyword ideas to be targeted for priority strategy campaigns, and call the getCampaigns method to retrieve a list of current campaign IDs for a seller.


Resource URI


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

URI parameters

campaign_idstringThis path parameter specifies the unique eBay-assigned identifier of the ad campaign for which a keyword is being created.

Use the getCampaigns method to retrieve campaign IDs.

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

This adGroupId is created when an ad group is first created and associated with a campaign. This is the ad group that the corresponding keyword will be added to. This ad group must be a part of the campaign that is specified in the call URI. Use the getAdGroups method to retrieve the ad group IDs for a seller, and getKeywords to retrieve the keyword IDs for a seller's keywords.

Occurrence: Required


This container is used to set the maximum bid for the keyword. Each time a listing is retrieved in search results using this keyword and clicked on, the seller will be charged, at most, this amount. Each click goes toward the daily budget set up for the CPC campaign. If the bid is not provided, then the default bid associated with the ad group is used.

Note: You can call the suggestBids method to retrieve the suggested bids for keywords.

Occurrence: Optional


The base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD

Occurrence: Conditional


The monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional


The text of the keyword. Keywords are not case sensitive and compound words can be used without additional encoding (for example, tennis ball).

Maximum number of characters: 100

Maximum number of words: 10

Occurrence: Required


A field that defines the match type for the keyword.

Valid Values:


Occurrence: Required


HTTP response headers

See HTTP response headers for details.

LocationThe location response header contains the getKeyword URI of the newly created keyword. The URI includes the newly created keywordId, which you can use to reference the keyword.

Response payload

This call has no payload.

Response fields

This call has no field definitions.

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.

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.
35002API_MARKETINGAPPLICATIONInternal error. Please wait a few minutes and try the call again.
35035API_MARKETINGREQUESTThe campaign with campaign id {campaign_id} has ended.
35045API_MARKETINGREQUESTNo campaign found for campaign id {campaign_id}.
35089API_MARKETINGBUSINESSWe are currently testing a premium ads product with a small invite-only group. We will share more information when we are ready to expand.
35129API_MARKETINGBUSINESSThis method is not supported for campaigns with smart targeting type.
36210API_MARKETINGREQUESTNo ad group found for ad group id {ad_group_id}.
36219API_MARKETINGREQUESTThe ad group with ad group id {ad_group_id} has been archived.
36301API_MARKETINGREQUESTThe keyword match type {matchType} is not supported. Valid values are: {matchTypeValues}.
36303API_MARKETINGREQUESTA keyword with text {keywordText} and match type {matchType} already exists for this Ad Group.
36304API_MARKETINGREQUESTThe keywordText {keywordText} cannot be more than {maxKeywordTextLength} characters.
36305API_MARKETINGREQUESTThe 'bid' value {bidValue} is not valid. The default bid value should be a double precision value.
36306API_MARKETINGREQUESTThe 'bid' value {bidValue} is below floor value {bidFloorValue}.
36307API_MARKETINGREQUESTThe 'bid' value {bidValue} is above max value {bidMaxValue}.
36308API_MARKETINGREQUESTThe 'bid' currency {bidCurrency} is not valid or missing.
36309API_MARKETINGREQUESTThe 'bid' currency {bidCurrency} should be the same as the daily budget.
36311API_MARKETINGREQUESTThe keywordText cannot be null or empty.
36312API_MARKETINGREQUESTThe keywordText contains invalid characters {invalidCharacters}
36313API_MARKETINGREQUESTThe 'bid' value {bidValue} is more than maximum daily budget {maxDailyBudget}.
36319API_MARKETINGBUSINESSYou have exceeded the maximum number of create Keyword for an Ad Group. Only {maxSupportedNumber} Ids are supported per Ad Group.
36320API_MARKETINGBUSINESSThe keywordText {keywordText} cannot have total number of words more than {maxWordsInKeyword} words.


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

35133API_MARKETINGBUSINESSThe bid provided in the call was ignored because the selected biddingStrategy is DYNAMIC for the campaign.


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: Create a keyword

This sample creates a keyword for a priority strategy ad campaign.


The inputs for this sample are the campaign_id of the ad campaign for which the keyword shall be created, as well as the keyword details (such as the match type, keyword text, and ad group) in the request body.



A successful call returns the HTTP status code 201 Created. In addition, the response includes a location response header that contains the URI for the newly-created keyword.

This method has no response payload.

Sample 2: Create a keyword for a Cost per Click (CPC) campaign that is using dynamic bidding

This sample creates a keyword for a Cost per Click (CPC) ad campaign that is using the dynamic bidding strategy.


This sample creates a keyword for a Cost per Click (CPC) ad campaign that is using the dynamic bidding strategy.

Since dynamic bidding does not support seller-specified bid values, the bid.value and bid.currency parameters should be omitted from the request payload.



A successful call returns the HTTP status code 201 Created. In addition, the response includes a location response header that contains the URI for the newly-created keyword.

If values for the bid.value and bid.currency parameters have been included in the request payload, the following Warning message is returned:

The bid provided in the call was ignored because the selected biddingStrategy is DYNAMIC for the campaign.

This method has no response payload.