Search for campaign-level recommendations to improve SEM campaign performance. Returns a paginated list of active campaigns for the authenticated seller, each enriched with actionable recommendations — including budget adjustments and bidding strategy optimizations — along with projected performance impact metrics (clicks, impressions, ad spend).
Market availability: US only
Why this API matters
SEM campaigns require continuous optimization to stay competitive. Budget constraints and suboptimal bidding strategies are the two most common reasons campaigns underperform. Without data-driven guidance, sellers either overspend without results or miss revenue opportunities by underspending.
This API bridges that gap by surfacing machine-generated recommendations for each active campaign, complete with projected impact on clicks, impressions, and ad spend. Partners can integrate these recommendations into their dashboards and automation pipelines to:
- Increase ROAS: Apply budget and bidding strategy recommendations to maximize return on ad spend
- Reduce wasted spend: Identify campaigns where budget is being underutilized or misallocated
- Automate campaign tuning: Build automated workflows that periodically fetch recommendations and apply them programmatically, reducing manual effort and reaction time
- Enable data-driven decisions: Each recommendation includes three impact scenarios (recommended, conservative, aggressive) so sellers can choose the option that fits their risk tolerance
Key use cases
- Campaign Health Dashboard: Display campaigns with pending recommendations, color-coded by type (
BUDGETvsBIDDING_STRATEGY), with projected impact metrics - Automated Budget Optimizer: Periodically poll this API and auto-apply budget recommendations that meet a minimum projected ROAS threshold
- Bidding Strategy Advisor: Surface bidding strategy change suggestions to sellers with before/after performance projections
- Bulk Campaign Management: Retrieve all recommendations across campaigns in a single paginated call, enabling batch review and bulk application of changes
How it works
The API returns only active campaigns that are eligible for recommendations. You can filter results using campaignIds or recommendationType (BUDGET or BIDDING_STRATEGY).
Default behavior
- When no request body is provided, the API defaults to
offset=0,limit=10. - By default, the API returns recommendations for both
BUDGETandBIDDING_STRATEGY. - Results are not sorted by default; use the sort object to order by adspend.
- Returns only active campaigns that have at least one pending recommendation
- Results are not sorted by default; use the
sortobject to order byadspend
Supported filters
Filters are combined with AND logic. Multiple values within a single filter act as OR.
| Filter Field | Supported Values | Description |
|---|---|---|
campaignIds | Numeric string campaign IDs | Filter by specific campaign identifiers |
recommendationType | BUDGET, BIDDING_STRATEGY | Filter by recommendation type |
Sorting
Results can be sorted using the sort object:
| Sort Field | Supported Orders | Description |
|---|---|---|
adspend | ASC, DESC | Sort campaigns by ad spend |
Recommendation types
| Type | Description |
|---|---|
BUDGET | Recommended total or daily budget adjustment to improve campaign reach |
BIDDING_STRATEGY | Recommended change to bidding strategy for better performance |
Response structure
Each response contains two top-level fields:
pagination: Standard pagination metadata (pageNo,pageSize,totalCount,totalPages,hasNextPage,hasPreviousPage)data: Array of campaign-level suggestions. Each campaign includes current settings (bidding strategy, target ROAS, daily budget) and an array ofcampaignRecommendationswith projected performance impact at three levels: recommended, minimum, and maximum.
Performance impact projections
Each recommendation includes a recommendedValueImpact object with up to three scenarios:
- recommended: The optimal suggested value (marked
isRecommended: true) - minRecommendation: A conservative lower-bound option (may be
nullif not applicable) - maxRecommendation: An aggressive upper-bound option
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||

