canonical: https://jentic.com/apis/ebay.com/sell-marketing

# Ebay Marketing API

The eBay Marketing API lets sellers run promoted listing campaigns, build email and on-site promotions, and pull marketing performance data programmatically. Across 82 endpoints it covers Promoted Listings (Standard, Advanced, and Priority), promotional offers like coded coupons and item-level discounts, ad reports, and keyword and negative-keyword management for Advanced campaigns. Sellers can bulk-add or remove ads by listing ID or inventory reference, update bids, and schedule promotions across the eBay marketplace.

## For AI agents

Run promoted listings campaigns, manage keywords and bids, and build coded-coupon and discount promotions for eBay sellers.

## Scope

Does not handle order fulfillment, listing creation, or buyer messaging - use for eBay seller advertising, promotions, and store-email campaigns only.

## Capabilities

- Create and update Promoted Listings campaigns with bulk ad operations by listingId or inventoryReference
- Adjust per-ad bids in batch and toggle ad status across thousands of listings in a single call
- Manage Advanced campaign keywords and negative-keyword lists for cost-per-click bidding
- Build coded-coupon, item-promotion, and order-discount promotions with eligibility rules
- Schedule and retrieve ad performance reports with impression, click, and sales attribution data
- Manage email-campaign audiences and broadcasts to a seller's eBay store followers

## Use cases

### Promoted Listings Campaign Automation

Sellers running thousands of SKUs use the Marketing API to add or remove Promoted Listings ads in bulk by listingId or inventoryReference, set per-ad bids, and toggle status without using Seller Hub. The bulk_create_ads, bulk_update_ads_bid, and bulk_update_ads_status endpoints accept arrays of items so a nightly job can rebalance an entire campaign in minutes.

Example prompt: POST /ad_campaign/{campaign_id}/bulk_update_ads_bid_by_listing_id with new bid percentages for the seller's top 200 listings.

### Advanced Keyword and Negative Keyword Management

Promoted Listings Advanced campaigns rely on keywords and bids similar to paid search. The Marketing API exposes keyword and negative-keyword resources so an agent can pull current bids, identify under-performing keywords, raise bids on winners, and add negative keywords to suppress wasted spend. Each keyword change is scoped to a specific campaignId and adGroupId.

Example prompt: List keywords for an Advanced campaign, identify keywords with cost above a threshold and zero attributed sales, and add them as negative keywords.

### Coupon and Promotion Creation

The Marketing API supports coded coupons, item promotions, and order discounts that sellers can attach to their eBay storefront. Each promotion has an inventory criterion (categories, listings, or inventory references), a budget, and a schedule. Agents can spin up time-limited offers to drive conversion during a sales event without manual store edits.

Example prompt: Create a coded coupon worth 15 percent off for a category of listings, valid for seven days, with a budget cap of $500.

### Ad Performance Reporting

The Marketing API generates and retrieves ad reports with impressions, clicks, sales attribution, and ad fees by campaign, listing, or keyword. Reports run asynchronously and complete reports are downloaded by reportId. Sellers feed these into BI tools to track ROAS at the SKU level and adjust bids based on outcomes.

Example prompt: Schedule an ad performance report for the last 30 days, poll until ready, and download the report by reportId.

### AI Agent Promoted Listings Optimisation

An AI agent invoked by a seller's commerce platform can use Jentic to discover Marketing API operations, pull current ad performance, and rebalance bids on its own schedule. Jentic delivers OAuth scope, operation schemas, and bulk-update endpoints into the agent's context so the agent can apply policy changes across thousands of ads without reading the eBay developer portal.

Example prompt: Through Jentic, search 'update ebay ad bids', load the bulk_update_ads_bid_by_listing_id schema, and apply a +10% bid adjustment to listings with strong attributed sales.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /ad_campaign/{campaign_id}/ad | Create an ad in a Promoted Listings campaign |
| POST | /ad_campaign/{campaign_id}/bulk_create_ads_by_listing_id | Bulk-create ads from a list of listing IDs |
| POST | /ad_campaign/{campaign_id}/bulk_update_ads_bid_by_listing_id | Bulk-update ad bids by listing ID |
| POST | /ad_campaign/{campaign_id}/bulk_update_ads_status | Bulk-update ad status across a campaign |
| GET | /ad_campaign/{campaign_id}/ad | List ads in a campaign |

## Key resources

- **ad_campaign** — Create and manage Promoted Listings campaigns and their ads
- **keyword / negative_keyword** — Manage keyword bids and exclusions for Advanced campaigns
- **promotion (coded coupon, item promotion, order discount)** — Build storefront promotions with eligibility and schedule rules
- **ad_report** — Schedule and retrieve ad performance reports with attribution data
- **email_campaign** — Manage seller-store email broadcasts to followers

## Why Jentic

- **Setup:** Wiring the eBay Marketing API by hand means implementing eBay's OAuth 2.0 authorization-code flow for a seller user token, refreshing it, and pointing requests at the api.ebay.com sell/marketing host across dozens of campaign and promotion endpoints. Through Jentic you install once, import the Marketing API from the API Directory, store the eBay OAuth credentials once, and your agent calls it.
- **Permission scoping:** Marketing operations put the campaign id in the URL path (/ad_campaign/{campaign_id}/...), so a rule can pin your agent to one campaign. You choose the operations it may call, so you can allow creating ads and updating bids for that campaign while leaving bulk status changes out unless you add them.
- **Credential handling:** Your eBay OAuth seller credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'update eBay ad bids' or 'create an eBay coupon', and Jentic returns the matching ad or coupon operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **eBay Analytics API** — Seller performance metrics that complement Marketing's ad-level data
- **eBay Account API** — Manages seller policies that promotions and campaigns reference
- **eBay Buy Marketing API** — Buyer-side marketing data used by partners rather than seller campaign management

## FAQ

### What authentication does the eBay Marketing API use?

The eBay Marketing API uses OAuth 2.0 (the api_auth scheme) with seller-scoped access tokens. Through Jentic the OAuth client credentials and refresh tokens stay encrypted in your Jentic One instance and the agent only receives short-lived access tokens scoped to the sell.marketing scope.

### Can I bulk-update Promoted Listings ad bids with the eBay Marketing API?

Yes. POST /ad_campaign/{campaign_id}/bulk_update_ads_bid_by_listing_id and the inventory_reference equivalent accept arrays of ads with new bid percentages so you can rebalance hundreds of ads in one call.

### What are the rate limits for the eBay Marketing API?

eBay enforces per-application call limits across the Sell APIs that depend on the seller's Application Growth Check tier rather than per-endpoint quotas in the spec. Bulk endpoints exist precisely to keep within those limits at scale.

### How do I create a coded coupon with the eBay Marketing API through Jentic?

Search 'create ebay coupon' in Jentic, load the POST /item_promotion or coded_coupon schema, and submit the discount, eligible inventory, schedule, and budget. Jentic returns the created promotion ID.

### Does the eBay Marketing API support keyword bidding for Promoted Listings Advanced?

Yes. The keyword and negative_keyword endpoints under an Advanced campaign let you list, create, update, and delete keywords with cost-per-click bids and exclusion lists for that ad group.

### Can I retrieve Promoted Listings performance data with the eBay Marketing API?

Yes. The ad_report endpoints schedule reports asynchronously and return reportId values. Once ready, the report download exposes impressions, clicks, ad fees, and attributed sales by campaign, listing, or keyword.

### Can I limit what my agent is allowed to do with the eBay Marketing API?

Yes. Because you run Jentic One yourself, your own rules decide which eBay Marketing operations and credentials the agent may use. Since each campaign id sits in the URL path (/ad_campaign/{campaign_id}/...), you can pin the agent to a single campaign, and you pick the exact operations it may call, so you can allow creating ads and updating bids while leaving bulk ad-status changes out unless you add them. The eBay OAuth seller credentials stay encrypted in your instance and are injected only at execution time, never reaching the agent's prompt or logs.
