Tool Reference
Amazon Ads MCP Tool Reference
Amazon Seller Central MCP reference for Ads tools: campaign performance, bid and budget management, search terms, keyword state, attribution, DSP, and audience targeting.
Related paths
Hosted Amazon Seller Central MCP overview for Claude, ChatGPT, and custom agents.
Amazon seller data layerHow ads, inventory, orders, catalog, ranking, finance, and fulfillment data are structured for agents.
Claude connection walkthroughStep-by-step path from Seller Central OAuth to a Claude connector or MCP config.
ChatGPT Seller Central setupChatGPT-specific setup and examples for Amazon seller data through MCP.
Tools (92)
read
write
read
get_campaign_performance
readReturns campaign-level spend, ACOS, ROAS, CTR, CPC, CVR, impressions, clicks, orders, and sales over a date range.
When to use
Inspect overall ad spend efficiency, campaign comparisons, and campaign-level performance outliers.
Parameters8
| Name | Type | Description |
|---|---|---|
start_date | string (30 days ago) | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string (today) | End date (YYYY-MM-DD). Defaults to today. |
profile_id | string | Filter by ad account profile ID. |
campaign_name | string | Filter by campaign name (LIKE match, use % for wildcards). |
sort_order | enum (desc) | Sort direction: asc or desc. |
limit | number (20) | Max rows to query (1-1000). Use a higher limit when the user asks for all matching rows; large responses are capped automatically. |
sort_by | enum (spend) | Column to sort by. Options: spend, sales, acos, roas, ctr, cpc, cvr, impressions, clicks, orders, units_sold, campaign_name. |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
Tips
- Sort by ACOS descending to list campaigns with the highest ad cost of sales first.
- Use campaign_name with % wildcards to filter by your naming convention (e.g. "SP-Exact%").
- Compare 30-day windows rather than 7-day windows, because the 14-day attribution window makes short periods unreliable.
- Use profile_id to isolate a specific advertising profile. Profiles are tied to the workspace's active marketplace; non-US access is support-approved during rollout and is not broad global fan-out.
Watch out
- Ads data has a 3-day attribution lag. Recent days will show incomplete sales and ACOS.
get_campaign_snapshots
readGet Sponsored Products campaign setting snapshots and deterministic setting changes from daily campaign snapshot rows.
When to use
Use this when you need campaign state, budget, bidding, portfolio, or placement bid modifier history, or the setting deltas between daily snapshots.
Parameters12
| Name | Type | Description |
|---|---|---|
view | enum (history) | history returns daily setting snapshots; changes returns setting deltas between snapshots. |
start_date | string (30 days ago) | Snapshot start date (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string (today) | Snapshot end date (YYYY-MM-DD). Defaults to today. |
profile_id | string | Filter by ad account profile ID. |
campaign_id | string | Filter by campaign ID. |
campaign_name | string | Filter by campaign name (LIKE match, use % for wildcards). |
state | enum | history view only. Filter by campaign state: ENABLED, PAUSED, or ARCHIVED. |
change_types | array | changes view only. Optional change types: state, budget, bidding_strategy, top_of_search_bid_adjustment, product_page_bid_adjustment, rest_of_search_bid_adjustment, portfolio. |
sort_by | enum (snapshot_date) | history view only. Column to sort by: snapshot_date, campaign_name, campaign_id, state, or budget_amount. |
sort_order | enum (desc) | Sort direction: asc or desc. |
limit | number (20) | Max rows to return (1-1000). |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
Tips
- Use view="history" to audit the settings in force on a given day.
- Use view="changes" with change_types when reviewing state, budget, bidding, portfolio, or placement modifier changes.
- Pair with get_campaign_performance to separate configuration changes from metric movement.
Watch out
- Campaign snapshots are daily, so same-day writes appear after the next daily snapshot refresh.
get_adgroup_performance
readReturns ad group-level spend, ACOS, ROAS, CTR, CPC, CVR, impressions, clicks, orders, and sales. Groups rows by campaign and ad group.
When to use
Compare ad groups within a campaign by spend, sales, ACOS, and conversion rate.
Parameters9
| Name | Type | Description |
|---|---|---|
start_date | string (30 days ago) | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string (today) | End date (YYYY-MM-DD). Defaults to today. |
profile_id | string | Filter by ad account profile ID. |
campaign_name | string | Filter by campaign name (LIKE match, use % for wildcards). |
sort_order | enum (desc) | Sort direction: asc or desc. |
limit | number (20) | Max rows to query (1-1000). Use a higher limit when the user asks for all matching rows; large responses are capped automatically. |
ad_group_name | string | Filter by ad group name (LIKE match). |
sort_by | enum (spend) | Column to sort by. Includes standard metrics plus campaign_name and ad_group_name. |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
Tips
- Filter by campaign_name first, then sort by ACOS to find the worst-performing ad groups within a campaign.
- Compare ad group performance across campaigns to find where the same product performs best.
- Use ad_group_name filter with wildcards to target groups by naming pattern.
Watch out
- Ads data has a 3-day attribution lag. Recent days will show incomplete sales and ACOS.
get_keyword_performance
readGet keyword/target-level performance metrics for bidded Sponsored Products targets.
When to use
Inspect individual keyword bids, ACOS, ROAS, spend, sales, and impression share.
Parameters10
| Name | Type | Description |
|---|---|---|
start_date | string (30 days ago) | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string (today) | End date (YYYY-MM-DD). Defaults to today. |
profile_id | string | Filter by ad account profile ID. |
campaign_name | string | Filter by campaign name (LIKE match, use % for wildcards). |
sort_order | enum (desc) | Sort direction: asc or desc. |
limit | number (20) | Max rows to query (1-1000). Use a higher limit when the user asks for all matching rows; large responses are capped automatically. |
keyword | string | Filter by keyword text (LIKE match). |
keyword_type | enum | Filter by keyword type: BROAD, PHRASE, EXACT, TARGETING_EXPRESSION, or TARGETING_EXPRESSION_PREDEFINED. |
sort_by | enum (spend) | Column to sort by. Includes standard metrics plus campaign_name, keyword, keyword_type, match_type. |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
Tips
- Sort by spend descending to list highest-spend keywords first, then compare ACOS and ROAS.
- Filter by keyword_type=EXACT to focus on your most intentional targeting.
- Look at top_of_search_impression_share to gauge bid competitiveness.
- Use the keyword filter with wildcards to find all variations of a root keyword.
- Rows with keyword_type TARGETING_EXPRESSION or TARGETING_EXPRESSION_PREDEFINED are Sponsored Products target rows; their target IDs currently appear in keyword_id and can be used with update_target_bids.
Watch out
- Ads data has a 3-day attribution lag. Recent days will show incomplete sales and ACOS.
get_placement_breakdown
readGet performance broken down by ad placement (Top of Search, Detail Page, Other, Off Amazon).
When to use
Compare spend, sales, ACOS, ROAS, CTR, and CVR across ad placements.
Parameters8
| Name | Type | Description |
|---|---|---|
start_date | string (30 days ago) | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string (today) | End date (YYYY-MM-DD). Defaults to today. |
profile_id | string | Filter by ad account profile ID. |
campaign_name | string | Filter by campaign name (LIKE match, use % for wildcards). |
sort_order | enum (desc) | Sort direction: asc or desc. |
limit | number (20) | Max rows to query (1-1000). Use a higher limit when the user asks for all matching rows; large responses are capped automatically. |
sort_by | enum (spend) | Column to sort by. Includes standard metrics plus campaign_name and placement_classification. |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
Tips
- Compare ACOS between Top of Search and Rest of Search placement rows.
- Product Page placements often have lower CTR but can have good CVR for complementary products.
- Use update_campaign_bidding separately when the caller has selected placement adjustment values.
Watch out
- Ads data has a 3-day attribution lag. Recent days will show incomplete sales and ACOS.
get_product_performance
readGet Sponsored Products advertised-ASIN performance. Use this to see which products are directly advertised in SP campaigns and how they perform.
When to use
Check SP spend, clicks, sales, ACOS, and ROAS for products that are directly advertised in Sponsored Products campaigns.
Parameters9
| Name | Type | Description |
|---|---|---|
start_date | string (30 days ago) | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string (today) | End date (YYYY-MM-DD). Defaults to today. |
profile_id | string | Filter by ad account profile ID. |
campaign_name | string | Filter by campaign name (LIKE match, use % for wildcards). |
sort_order | enum (desc) | Sort direction: asc or desc. |
limit | number (20) | Max rows to query (1-1000). Use a higher limit when the user asks for all matching rows; large responses are capped automatically. |
asin | string | Filter by advertised ASIN (exact match). |
sort_by | enum (spend) | Column to sort by. Includes standard metrics plus campaign_name, advertised_asin, advertised_sku. |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
Tips
- Sort by spend descending to find your highest-cost advertised products, then check ACOS and same_sku_sales.
- Compare same_sku_sales vs total sales to see how much cross-sell attribution is happening.
- Filter by a specific ASIN to see SP campaigns and ad groups advertising that product.
Watch out
- Sponsored Brands, DSP, and campaign spend not tied to the ASIN as the advertised product are not included.
- Ads data has a 3-day attribution lag. Recent days will show incomplete sales and ACOS.
Related tools
get_purchased_products
readGet purchase attribution data showing what customers actually bought after clicking an ad.
When to use
Discover which products customers are buying after clicking ads for a different product, and identify cross-sell or halo effects.
Parameters10
| Name | Type | Description |
|---|---|---|
start_date | string (30 days ago) | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string (today) | End date (YYYY-MM-DD). Defaults to today. |
profile_id | string | Filter by ad account profile ID. |
campaign_name | string | Filter by campaign name (LIKE match, use % for wildcards). |
sort_order | enum (desc) | Sort direction: asc or desc. |
limit | number (20) | Max rows to query (1-1000). Use a higher limit when the user asks for all matching rows; large responses are capped automatically. |
advertised_asin | string | Filter by advertised ASIN (exact match). |
purchased_asin | string | Filter by purchased ASIN (exact match). |
sort_by | enum (sales) | Column to sort by: sales, orders, units_sold, campaign_name, purchased_asin, advertised_asin. |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
Tips
- Filter by advertised_asin to see all products that customers bought after clicking ads for that ASIN.
- Look for cases where purchased_asin differs from advertised_asin to identify cross-sell attribution patterns.
- This data only contains sales attribution. There is no click, impression, or cost data here.
Watch out
- This table has no click, impression, or cost data. It only contains sales attribution.
- Ads data has a 3-day attribution lag. Recent days will show incomplete sales.
Related tools
get_search_terms
readGet Sponsored Products and Sponsored Brands search term performance. Shows which customer search terms triggered ads and returns ad_product on each row.
When to use
Inspect converting search terms, non-converting spend, matched keyword text, match type, ad product, and ad-attributed metrics across SP and SB.
Parameters15
| Name | Type | Description |
|---|---|---|
start_date | string (30 days ago) | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string (today) | End date (YYYY-MM-DD). Defaults to today. |
profile_id | string | Filter by ad account profile ID. |
campaign_name | string | Filter by campaign name (LIKE match, use % for wildcards). |
sort_order | enum (desc) | Sort direction: asc or desc. |
limit | number (20) | Max rows to query (1-1000). Use a higher limit when the user asks for all matching rows; large responses are capped automatically. |
ad_product | enum (auto) | auto, SP, or SB. Defaults to auto, which searches both Sponsored Products and Sponsored Brands. |
campaign_id | string | Filter by campaign ID. Works across SP and SB when ad_product=auto. |
ad_group_id | string | Filter by ad group ID. |
ad_group_name | string | Filter by ad group name (LIKE match). |
search_term | string | Filter by search term (LIKE match). |
keyword | string | Filter by matched keyword text (LIKE match). |
match_type | enum | Filter by match type: BROAD, PHRASE, EXACT, TARGETING_EXPRESSION, TARGETING_EXPRESSION_PREDEFINED, or AUTO. |
sort_by | enum (spend) | Column to sort by. Includes standard metrics plus ad_product, campaign_name, ad_group_name, search_term, keyword, and match_type. |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
Tips
- Leave ad_product unset when the caller names a campaign but does not know whether it is SP or SB.
- Sort by spend descending with a high limit to find search terms burning budget without converting.
- Filter for search terms with high clicks and zero sales when reviewing non-converting traffic.
- Use ad_product, match_type, and keyword columns to distinguish source targeting from the customer search term.
Watch out
- Ads data has a 3-day attribution lag. Recent days will show incomplete sales and ACOS.
- Sponsored Display search-term reporting is not currently exposed as a retained search-term table; use SD targeting/campaign reports for SD analysis.
get_sales_and_traffic
readGet total sales and traffic metrics from Business Reports (organic + PPC combined). Includes sessions, page views, units ordered, revenue, conversion rate, and buy box percentage by ASIN/SKU.
When to use
Get the full picture of product performance including organic and paid traffic combined, or check conversion rates and Buy Box percentages.
Parameters8
| Name | Type | Description |
|---|---|---|
start_date | string (30 days ago) | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string (today) | End date (YYYY-MM-DD). Defaults to today. |
asin | string | Filter by ASIN (exact match). |
sku | string | Filter by SKU (exact match). |
sort_by | enum (total_sales) | Column to sort by: total_sales, units_ordered, sessions, page_views, avg_conversion_rate, avg_buy_box_pct. |
sort_order | enum (desc) | Sort direction: asc or desc. |
limit | number (20) | Max rows to return (1-1000). |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
Tips
- Compare avg_conversion_rate across ASINs to list products by conversion-rate differences.
- Low avg_buy_box_pct indicates competitive pressure or pricing issues.
- Use this alongside get_campaign_performance to see how ad spend relates to total sales.
Watch out
- Business Reports have a ~72 hour delay. For near-real-time revenue, use get_todays_sales.
Related tools
get_tacos
readCalculate ASIN-level TACOS and PPC percentage by joining Sponsored Products + Sponsored Display ASIN-grain ad spend with total sales from Business Reports. TACOS = SP + SD ad spend / total sales. PPC % = SP + SD ad sales / total sales.
When to use
Evaluate ASIN-level SP + SD advertising efficiency by comparing directly attributable ad spend against total product revenue, not just ad-attributed revenue.
Parameters7
| Name | Type | Description |
|---|---|---|
start_date | string (30 days ago) | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string (today) | End date (YYYY-MM-DD). Defaults to today. |
asin | string | Filter by ASIN (exact match). |
sort_by | enum (total_sales) | Column to sort by: total_sales, ad_spend, ad_sales, organic_sales, tacos, ppc_pct, acos, total_units, sessions. |
sort_order | enum (desc) | Sort direction: asc or desc. |
limit | number (20) | Max rows to return (1-1000). |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
Tips
- Use this as an ASIN-level SP + SD metric, not as complete brand or account ad spend.
- High ppc_pct (above 50%) means the ASIN has heavy SP + SD attributed-sales share.
- Sort by organic_sales to find products that sell well without heavy ad support.
- organic_sales is total_sales (order-date basis) minus ad_sales (14-day click-attribution basis); the bases differ, so it is approximate and clamped at 0. Check ad_sales_exceeds_total_sales to spot ASINs where attributed ad sales overshoot order-date sales (an attribution-window artifact).
- Compare TACOS trends over time to track progress toward organic ranking.
Watch out
- Sponsored Brands and DSP spend are not included because this tool only returns deterministic ASIN-grain SP + SD spend.
- Campaign-level SP or SD spend can differ from ASIN-grain spend when attribution cannot be tied cleanly to one promoted ASIN.
- Business Reports have a ~72 hour delay, so TACOS for recent days will be incomplete.
get_search_query_performance
readGet Brand Analytics Search Query Performance (SQP) data. Shows search query volume, market-level funnel metrics, and your ASIN share at each stage. Computes Brand CR vs Market CR.
When to use
Inspect search volume, market share, and conversion-rate comparisons for search queries and ASINs.
Parameters9
| Name | Type | Description |
|---|---|---|
start_date | string (30 days ago) | Start date for week range (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string (today) | End date for week range (YYYY-MM-DD). Defaults to today. |
asin | string | Filter by ASIN (exact match). |
search_query | string | Filter by search query (LIKE match, use % for wildcards). |
min_volume | number | Minimum search query volume. |
sort_by | enum (search_query_volume) | Column to sort by. Options include search_query_volume, search_query, market_cr, brand_cr, cr_delta, and all share metrics. |
sort_order | enum (desc) | Sort direction: asc or desc. |
limit | number (20) | Max rows to return (1-1000). |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
Tips
- Sort by cr_delta descending to list keywords where your conversion rate is above the market rate.
- Use min_volume to filter out long-tail keywords and keep higher-traffic query rows.
- Compare asin_impression_share_pct vs asin_purchase_share_pct to find keywords where you convert above your visibility share.
- Positive cr_delta means your brand converts better than the market for that query.
Watch out
- SQP data is weekly granularity. Dates align to Sunday-through-Saturday weeks, not arbitrary ranges.
get_search_query_ad_coverage
readGet SQP search query rows joined to observed Sponsored Products search-term and keyword-target coverage evidence.
When to use
Inspect whether SQP query rows have observed paid search-term evidence or matching configured keyword targets, with campaign and ad group locations.
Parameters12
| Name | Type | Description |
|---|---|---|
start_date | string (30 days ago) | Start date for SQP week range (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string (today) | End date for SQP week range (YYYY-MM-DD). Defaults to today. |
asin | string | Filter by SQP ASIN (exact match). |
search_query | string | Filter by SQP search query (LIKE match, use % for wildcards). |
coverage_state | enum | Filter by deterministic coverage state: exact_keyword_active, phrase_or_broad_keyword_active, auto_or_targeting_search_term_seen, search_term_seen_no_keyword_match, no_paid_coverage_observed, or data_gap. |
profile_id | string | Filter ads evidence by profile ID. |
campaign_id | string | Filter ads evidence by Sponsored Products campaign ID. |
ad_group_id | string | Filter ads evidence by Sponsored Products ad group ID. |
min_volume | number | Minimum SQP search query volume. |
sort_by | enum (search_query_volume) | Column to sort by. Options include search_query_volume, paid_spend, paid_clicks, paid_sales, matching_keyword_count, matching_search_term_count, active_campaign_count, coverage_state, market_cr, brand_cr, and share metrics. |
sort_order | enum (desc) | Sort direction: asc or desc. |
limit | number (20) | Max rows to return (1-1000). |
Tips
- Coverage matching uses normalized text equality only: case and whitespace are normalized; punctuation, stemming, and singular/plural variants are not collapsed.
- paid_spend, paid_clicks, paid_sales, and paid_orders come from matching ads search-term rows where the observed customer search term equals the normalized SQP query.
- keyword_evidence rows show configured keyword/target matches and keyword state separately from observed search-term metrics.
- advertised_asin_match_method identifies the campaign/ad-group advertised-product map used to connect ads evidence to the SQP ASIN.
Watch out
- Broad or phrase keyword coverage is configured coverage evidence, not proof that every exact SQP query variation will trigger.
- A data_gap state means no ads search-term or keyword rows were observed for the selected ads scope and SQP week.
get_brand_health
readGet Amazon Ads Brand Metrics health by brand and category. Includes awareness, consideration, sales, engaged-shopper rate, conversion rate, and new-to-brand rate versus category peers.
When to use
Use this to understand whether a brand is gaining category awareness, converting consideration into purchases, and acquiring new-to-brand customers compared with category peers.
Parameters10
| Name | Type | Description |
|---|---|---|
start_date | string (90 days ago) | Metric computation start date (YYYY-MM-DD). Defaults to 90 days ago. |
end_date | string (today) | Metric computation end date (YYYY-MM-DD). Defaults to today. |
profile_id | string | Filter by ad account profile ID. |
brand_name | string | Filter by brand name (LIKE match, use % for wildcards). |
category_tree_name | string | Filter by category tree name. |
category_path | string | Filter by category path (LIKE match, use % for wildcards). |
sort_by | enum (metrics_computation_date) | Column to sort by: metrics_computation_date, brand_name, category_path, awareness_index, consideration_index, sales_index, engaged_shopper_rate_midpoint, customer_conversion_rate, customer_conversion_rate_vs_median, new_to_brand_customer_rate, new_to_brand_customer_rate_vs_median. |
sort_order | enum (desc) | Sort direction: asc or desc. |
limit | number (20) | Max rows to return (1-1000). |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
Tips
- Compare customer_conversion_rate_vs_median to see where the brand converts better or worse than category peers.
- Use category_path with wildcards to isolate a category family.
- Track awareness_index, consideration_index, and sales_index over weekly computation dates.
Watch out
- Brand Metrics requires Amazon Ads Brand Metrics availability for the advertiser and category, so some profiles may return no rows.
get_attribution_performance
readGet Amazon Attribution performance for off-Amazon channels, including publisher, campaign, ad group, creative, product, purchases, units, sales, brand halo, and new-to-brand metrics.
When to use
Use this to measure how non-Amazon channels such as Google Ads, Facebook, Microsoft Ads, publishers, and creators drive shopping actions on Amazon through Attribution tags.
Parameters15
| Name | Type | Description |
|---|---|---|
start_date | string (30 days ago) | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string (yesterday) | End date (YYYY-MM-DD). Defaults to yesterday. |
profile_id | string | Filter by ad account profile ID. |
report_type | enum (PERFORMANCE) | PERFORMANCE, PRODUCTS, or ALL. |
publisher | string | Filter by off-Amazon publisher (LIKE match, use % for wildcards). |
campaign_id | string | Filter by Attribution campaign ID. |
ad_group_id | string | Filter by Attribution ad group ID. |
creative_id | string | Filter by Attribution creative ID. |
product_asin | string | Filter product-report rows by purchased ASIN. |
product_conversion_type | string | Filter product-report rows by conversion type. |
min_sales | number | Only include rows with at least this 14-day attributed sales value. |
sort_by | enum (attributed_sales_14d) | Column to sort by: date, publisher, campaign_id, ad_group_id, creative_id, attributed_sales_14d, attributed_purchases_14d, attributed_total_purchases_14d, total_attributed_sales_14d, click_throughs, detail_page_view_rate, or purchase_rate. |
sort_order | enum (desc) | Sort direction: asc or desc. |
limit | number (20) | Max rows to return (1-1000). |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
Tips
- Filter publisher to compare paid social, search, creator, and affiliate traffic.
- Use report_type=PRODUCTS when you need ASIN-level brand halo and new-to-brand attribution.
- Sort by purchase_rate to find efficient off-Amazon traffic sources, not just high-volume channels.
Watch out
- Amazon Attribution requires Attribution setup and eligible advertiser access. Profiles without Attribution advertisers can have no rows even when regular ads reporting works.
get_sb_campaign_performance
readGet Sponsored Brands campaign performance. Includes new-to-brand metrics, branded searches, video views, and detail page views.
When to use
Evaluate Sponsored Brands campaigns for brand awareness impact, new customer acquisition, and video engagement.
Parameters8
| Name | Type | Description |
|---|---|---|
start_date | string (30 days ago) | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string (today) | End date (YYYY-MM-DD). Defaults to today. |
profile_id | string | Filter by ad account profile ID. |
campaign_name | string | Filter by campaign name (LIKE match, use % for wildcards). |
sort_order | enum (desc) | Sort direction: asc or desc. |
limit | number (20) | Max rows to query (1-1000). Use a higher limit when the user asks for all matching rows; large responses are capped automatically. |
sort_by | enum (spend) | Column to sort by. Includes standard metrics plus campaign_name, ntb_orders, ntb_sales, branded_searches, dpv, video_completes. |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
Tips
- Track ntb_orders (new-to-brand orders) to measure customer acquisition, not just revenue.
- branded_searches indicates how much brand awareness the campaign is driving.
- video_completes helps evaluate whether video creative is engaging enough.
Watch out
- SB campaigns lack per-ASIN attribution, so they are excluded from TACOS calculations.
- Ads data has a 3-day attribution lag. Recent days will show incomplete metrics.
get_sd_campaign_performance
readGet Sponsored Display campaign performance. Includes viewability, new-to-brand metrics, and detail page views.
When to use
Evaluate Sponsored Display campaigns for retargeting effectiveness, viewability, and new customer reach.
Parameters8
| Name | Type | Description |
|---|---|---|
start_date | string (30 days ago) | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string (today) | End date (YYYY-MM-DD). Defaults to today. |
profile_id | string | Filter by ad account profile ID. |
campaign_name | string | Filter by campaign name (LIKE match, use % for wildcards). |
sort_order | enum (desc) | Sort direction: asc or desc. |
limit | number (20) | Max rows to query (1-1000). Use a higher limit when the user asks for all matching rows; large responses are capped automatically. |
sort_by | enum (spend) | Column to sort by. Includes standard metrics plus campaign_name, ntb_orders, ntb_sales, dpv, avg_viewability. |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
Tips
- Low avg_viewability (below 40%) suggests your display placements are below the fold or in poor positions.
- Compare dpv (detail page views) against clicks to measure product page engagement.
- SD data is included in TACOS calculations, unlike SB data.
Watch out
- Ads data has a 3-day attribution lag. Recent days will show incomplete metrics.
get_sponsored_ads_report
readQuery retained Sponsored Products, Sponsored Brands, and Sponsored Display report views through one bounded report surface.
When to use
Use this when an agent needs SB/SD report views that do not have narrow tools yet, or when it needs a consistent cross-product report query for campaigns, ads, advertised products, search terms, targeting, purchased products, placements, or invalid traffic.
Parameters19
| Name | Type | Description |
|---|---|---|
start_date | string (30 days ago) | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string (today) | End date (YYYY-MM-DD). Defaults to today. |
profile_id | string | Filter by ad account profile ID. |
campaign_name | string | Filter by campaign name (LIKE match, use % for wildcards). |
sort_order | enum (desc) | Sort direction: asc or desc. |
limit | number (20) | Max rows to query (1-1000). Use a higher limit when the user asks for all matching rows; large responses are capped automatically. |
ad_product* | enum | Sponsored ad product: SP, SB, or SD. |
report_view* | enum | Report view: campaigns, ad_groups, ads, advertised_products, search_terms, targeting, purchased_products, placements, or invalid_traffic. Unsupported product/view combinations return metadata instead of guessing. |
campaign_id | string | Filter by campaign ID. |
ad_group_id | string | Filter by ad group ID when available. |
ad_id | string | Filter by ad or product-ad ID when available. |
ad_group_name | string | Filter by ad group name (LIKE match) when available. |
asin | string | Filter by advertised, promoted, purchased, or targeting ASIN where available. |
search_term | string | Filter by customer search term (LIKE match). |
keyword | string | Filter by keyword text (LIKE match) where available. |
target_query | string | Filter targeting text/expression (LIKE match). |
non_zero_only | boolean (false) | Omit rows with zero or null core metrics. |
sort_by | enum (spend) | Column to sort by. Unsupported sort choices fall back to a valid default for the selected view and return fallback metadata. |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
* required
Tips
- Start with ad_product=SB and report_view=search_terms or targeting to inspect Sponsored Brands detail that was previously ingested but not exposed.
- Use report_view=invalid_traffic to compare gross and invalid impressions/clicks across SP, SB, and SD.
- For common Sponsored Products campaign, ad group, keyword, search-term, product, or placement workflows, prefer the narrower SP tools when they give the agent a clearer schema.
- Use report_view=ad_groups or report_view=ads when you need a compact rollup before drilling into advertised products, search terms, or targets.
Watch out
- This is a retained reporting tool, not a live Ads API management surface.
- Not every report_view exists for every ad_product; unsupported combinations return structured metadata with supported views.
- Some ad_group and ads views are derived rollups over the closest retained Amazon report table rather than separate source report tables.
- Ads data has a 3-day attribution lag. Recent days will show incomplete metrics.
get_dsp_performance
readGet Amazon DSP order, line item, and creative performance from Reporting v3 offline reports, including spend, sales, ROAS, viewability, and video completion metrics.
When to use
Use this to evaluate programmatic display and video campaigns at the order, line item, and creative level.
Parameters11
| Name | Type | Description |
|---|---|---|
start_date | string (30 days ago) | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string (yesterday) | End date (YYYY-MM-DD). Defaults to yesterday. |
dsp_advertiser_id | string | Filter by DSP advertiser ID. |
order_name | string | Filter by DSP order name (LIKE match, use % for wildcards). |
line_item_name | string | Filter by DSP line item name (LIKE match, use % for wildcards). |
creative_name | string | Filter by creative name (LIKE match, use % for wildcards). |
min_spend | number | Only include rows with at least this spend. |
sort_by | enum (spend) | Column to sort by: spend, sales, direct_sales, orders, units_sold, roas, acos, ctr, cpc, cvr, impressions, clicks, viewability_rate, video_completions, order_name, line_item_name, or creative_name. |
sort_order | enum (desc) | Sort direction: asc or desc. |
limit | number (20) | Max rows to return (1-1000). |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
Tips
- Sort by video_completions or video_completion_rate to compare video creative engagement.
- Use min_spend to return DSP rows with enough spend volume for stable comparisons.
- Compare viewability_rate against ROAS to separate media quality issues from conversion issues.
Watch out
- DSP rows appear only for Amazon Ads accounts with manager-account access to DSP advertisers.
get_store_performance
readGet Amazon Brand Store performance from Stores Analytics API snapshots, including page views, visits, visitors, orders, units, sales, dwell time, bounce rate, and new-to-store counts.
When to use
Use this to understand how shoppers move through Brand Stores by date, store, page, traffic source, or source tag, and which Store pages or traffic sources drive sales.
Parameters16
| Name | Type | Description |
|---|---|---|
start_date | string (30 days ago) | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string (yesterday) | End date (YYYY-MM-DD). Defaults to yesterday. |
dimension | enum (date) | Breakdown to return: date, store, page, source, or tag. |
profile_id | string | Filter by ad account profile ID. |
brand_entity_id | string | Filter by Brand Store entity ID. |
store_name | string | Filter by store name (LIKE match, use % for wildcards). |
page_id | string | Filter by Brand Store page ID. |
page_name | string | Filter by Brand Store page name (LIKE match, use % for wildcards). |
source | string | Filter by traffic source such as ADS, ORGANIC, or OTHER. |
tag | string | Filter by source tag name. |
min_views | number | Only include rows with at least this many page views. |
min_sales | number | Only include rows with at least this sales amount. |
sort_by | enum (views) | Column to sort by: date, store_name, dimension_value, views, visits, visitors, orders, units, sales, dwell_time, bounce_rate, or new_to_store. |
sort_order | enum (desc) | Sort direction: asc or desc. |
limit | number (20) | Max rows to return (1-1000). |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
Tips
- Use dimension=page to find Store pages that get traffic but do not convert.
- Use dimension=source to compare Sponsored Brands, organic, and other Store traffic.
- Use dimension=tag to evaluate external links created with Store source tags.
Watch out
- Brand Store insights only appear for advertisers with Brand Stores available to the Ads profile.
- Visitors and new_to_store are store-level/date metrics; page, source, and tag breakdowns may return zero for those columns.
get_portfolio_performance
readGet Sponsored Products performance aggregated by portfolio ID, joined from campaign metrics and the latest campaign portfolio snapshot.
When to use
Use this when you manage budgets or goals by portfolio and need one row per portfolio instead of one row per campaign.
Parameters10
| Name | Type | Description |
|---|---|---|
start_date | string (30 days ago) | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string (today) | End date (YYYY-MM-DD). Defaults to today. |
profile_id | string | Filter by ad account profile ID. |
campaign_name | string | Filter by campaign name (LIKE match, use % for wildcards). |
sort_order | enum (desc) | Sort direction: asc or desc. |
limit | number (20) | Max rows to query (1-1000). Use a higher limit when the user asks for all matching rows; large responses are capped automatically. |
portfolio_id | string | Filter by portfolio ID. Use unassigned for campaigns without a portfolio. |
include_unassigned | boolean (true) | Include campaigns that are not assigned to a portfolio. |
sort_by | enum (spend) | Column to sort by. Includes standard metrics plus portfolio_id, campaign_count, profile_count, and avg_campaign_daily_budget. |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
Tips
- Sort by spend to find the portfolios using the most budget.
- Filter portfolio_id=unassigned to return campaigns without a portfolio assignment.
- Use this before changing budgets when a seller allocates spend by portfolio rather than individual campaign.
Watch out
- Portfolio assignment comes from the latest campaign snapshot at or before the query end date, so historical performance is grouped by that snapshot assignment.
diagnose_performance
readCross-dimensional Sponsored Products, Sponsored Brands, or Sponsored Display root cause analysis comparing two time periods.
When to use
When SP, SB, or SD performance changed (ACOS spiked, sales dropped, spend increased) and you need to pinpoint which product-appropriate campaigns, ads, search terms, targets, or advertised products drove the change.
Parameters8
| Name | Type | Description |
|---|---|---|
current_start* | string | Current period start date (YYYY-MM-DD). |
current_end* | string | Current period end date (YYYY-MM-DD). |
compare_start* | string | Comparison period start date (YYYY-MM-DD). |
compare_end* | string | Comparison period end date (YYYY-MM-DD). |
ad_product | enum (SP) | Sponsored ad product to diagnose: SP, SB, or SD. |
profile_id | string | Filter by profile ID. |
campaign_name | string | Filter by campaign name (LIKE match). |
focus_metric | enum (acos) | Metric to focus root cause analysis on: spend, sales, acos, impressions, clicks. |
* required
Tips
- Use equal-length periods for fair comparison (e.g. 30 days vs prior 30 days).
- Start with focus_metric=acos, then follow up with spend or sales for deeper analysis.
- Use ad_product=SB to compare campaign, ad, search-term, and targeting movers; use ad_product=SD to compare campaign, advertised-product, and targeting movers.
- The output ranks top movers by absolute change, making it easy to spot the biggest contributors.
Watch out
- Ads data has a 3-day attribution lag. Avoid including the last 3 days in your comparison window.
- SP, SB, and SD do not expose identical dimensions; the tool uses product-appropriate sections rather than forcing one shared schema.
get_budget_pacing
readGet Sponsored Products campaign budget pacing from daily Amazon Ads budget usage snapshots, including usage percent, estimated used budget, remaining budget, and exhausted or at-risk labels.
When to use
Inspect campaigns that are exhausting daily budgets and compare pacing over recent days.
Parameters12
| Name | Type | Description |
|---|---|---|
start_date | string (7 days ago) | Start date (YYYY-MM-DD). Defaults to 7 days ago. |
end_date | string (today) | End date (YYYY-MM-DD). Defaults to today. |
profile_id | string | Filter by ad account profile ID. |
campaign_id | string | Filter by Sponsored Products campaign ID. |
campaign_name | string | Filter by campaign name (LIKE match, use % for wildcards). |
min_usage_percent | number | Only return campaigns at or above this budget usage percentage. |
at_risk_percent | number (80) | Threshold used to label campaigns as at_risk. |
latest_only | boolean (true) | Return the latest snapshot per campaign in the selected date range. |
sort_by | enum (budget_usage_percent) | Column to sort by: snapshot_date, campaign_name, campaign_id, budget_usage_percent, budget_remaining_amount, or usage_updated_at. |
sort_order | enum (desc) | Sort direction: asc or desc. |
limit | number (20) | Max rows to return (1-1000). |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
Tips
- Sort by budget_usage_percent descending to find campaigns running out of budget first.
- Use latest_only=false when you want a day-by-day history for a campaign.
- Pair with get_budget_recommendations to compare Amazon suggested budget fields with pacing snapshots.
Watch out
- Budget usage snapshots are captured daily. New accounts need at least one day of data before historical pacing appears.
write
update_keyword_bids
writePreview or submit keyword bid updates for Sponsored Products campaigns. Returns old and new bid values for each keyword. Max 100 keywords per call. Bids capped at $100. Always pre-reads current bids for audit trail.
When to use
Preview or submit explicit keyword bid values after the caller has selected keyword IDs and target bids.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
updates* | array | Array of keyword bid updates (1-100 per call). Each item has keyword_id (string) and bid (number, min $0.02). |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Always check current bids with get_keyword_performance before making changes.
- Use get_bid_recommendations to get Amazon suggested bids as a baseline.
- Changes exceeding 500% of the current bid will trigger a warning in the response.
- The tool pre-reads current bids automatically, so the response shows before and after values.
Watch out
- Minimum bid is $0.02 and maximum is $100. Bids outside this range will be rejected.
- This tool updates Sponsored Products keyword bids. Use update_target_bids for ASIN product targets, category targets, and auto targets.
update_target_bids
writePreview or submit bid updates for Sponsored Products targeting clauses on Amazon Ads /sp/targets, including ASIN product targets, category targets, and auto targets. Returns old and new bid values plus target metadata. Max 100 targets per call. Bids capped at $100.
When to use
Preview or submit explicit bid values after the caller has selected Sponsored Products target IDs for ASIN PATs, category targets, or auto targeting clauses.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
updates* | array | Array of target bid updates (1-100 per call). Each item has target_id (string) and bid (number, $0.02-$100). |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Use get_keyword_performance to find target rows. For rows where keyword_type is TARGETING_EXPRESSION or TARGETING_EXPRESSION_PREDEFINED, the target ID currently appears in keyword_id.
- The tool pre-reads /sp/targets/list and returns campaign_id, ad_group_id, state, expression_type, and targeting summary when Amazon returns them.
- Changes exceeding 500% of the current bid will trigger a warning in the response.
- The default response is a preview; submit requires confirm=true and an idempotency_key.
Watch out
- Minimum bid is $0.02 and maximum is $100. Bids outside this range will be rejected.
- Keyword bids and target bids use separate Amazon Ads endpoints: /sp/keywords for keywords and /sp/targets for targeting clauses.
update_keyword_state
writePreview or submit keyword state updates (ENABLED/PAUSED/PROPOSED) for Sponsored Products keywords. Max 100 per call. Pre-reads current state for audit trail.
When to use
Submit explicit keyword state changes after the caller has selected keyword IDs and target states.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
updates* | array | Keyword state updates (1-100 per call). Each item has keyword_id (string) and state (ENABLED, PAUSED, or PROPOSED). |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Use get_keyword_performance or get_search_terms to identify the keyword IDs before submitting state changes.
- The response shows old_state and new_state for each keyword ID.
- PAUSED keywords retain settings and can be re-enabled later.
Watch out
- Archiving is not exposed through this state update tool because the current Amazon Ads update endpoint rejects ARCHIVED.
archive_keywords
writePreview or submit irreversible Sponsored Products keyword archives through Amazon's bulk archive endpoint. Max 100 per call. Pre-reads current state for audit trail.
When to use
Submit keyword archives after the caller has selected keyword IDs and explicitly acknowledged the irreversible archive operation.
Parameters7
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
keyword_ids* | array | Keyword IDs to archive (1-100 per call). Values must be unique within the request. |
archive_acknowledgement | boolean (false) | Required as true when confirm=true because keyword archive is irreversible. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- The default response is a preview with current keyword state; no archive call is made unless confirm=true.
- The submit path requires both idempotency_key and archive_acknowledgement=true.
- Use update_keyword_state for ENABLED, PAUSED, and PROPOSED state changes.
Watch out
- Archived keywords cannot be re-enabled through the state update endpoint.
update_adgroup_bid
writePreview or submit default bid updates for Sponsored Products ad groups. Max 100 per call. Bid range: $0.02-$100. Warns on changes exceeding 500%. Pre-reads current bids for audit trail.
When to use
Change the default bid for an entire ad group when you want to adjust bid levels across all keywords in that group at once.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
updates* | array | Array of ad group bid updates (1-100 per call). Each item has ad_group_id (string) and bid (number, $0.02-$100). |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- The ad group default bid applies to new keywords and keywords without individual bids.
- Keywords with individual bids are not affected by ad group bid changes.
- Use get_adgroup_performance to review current ad group spend, ACOS, and ROAS before changing bids.
Watch out
- Minimum bid is $0.02 and maximum is $100. Changes exceeding 500% trigger a warning.
update_campaign_bidding
writePreview or submit placement bid adjustment updates for a Sponsored Products campaign. Supports Top of Search (TOS) and Product Page bid multipliers. Percentage range: 0-900%. Pre-reads current values for audit trail.
When to use
Increase or decrease bid multipliers for specific placements after analyzing placement performance data.
Parameters7
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
campaign_id* | string | Campaign ID to update. |
adjustments* | array | Placement bid adjustments (1-2 per call). Each item has placement (PLACEMENT_TOP or PLACEMENT_PRODUCT_PAGE) and percentage (integer, 0-900). |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Use get_placement_breakdown to inspect placement-level conversion metrics for this campaign.
- A percentage of 50 means bids are increased by 50% for that placement. 0 means no adjustment.
- Top of Search placements typically convert best but cost more.
update_campaign_audience_bid_adjustment
writePreview or submit single audience bid adjustment updates for Sponsored Products campaigns. Percentage range: 0-900%. Pre-reads current values for audit trail.
When to use
Submit explicit audience bid adjustment values after the caller has selected campaign IDs, audience IDs, source type, and percentage.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
updates* | array | Audience bid adjustment updates (1-100 per call). Each item has campaign_id, action (SET or REMOVE), and for SET: audience_id, audience_segment_type, and percentage. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Use get_audience_segments to inspect available audience IDs before setting an adjustment.
- BEHAVIOR_DYNAMIC is used for Amazon-built audiences; SPONSORED_ADS_AMC is used for AMC custom audiences.
- Amazon currently allows one audience bid adjustment on a campaign; setting a new one replaces the campaign-level audience adjustment payload.
Watch out
- REMOVE clears the campaign audience bid adjustment by sending an empty adjustment list.
update_campaign_budget
writePreview or submit a daily budget update for a Sponsored Products campaign. Budget range: $1-$10,000. Warns on changes exceeding 500%. Pre-reads current budget for audit trail.
When to use
Submit a daily budget value for a Sponsored Products campaign after the caller has decided the target budget.
Parameters7
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
campaign_id* | string | Campaign ID to update. |
budget* | number | New daily budget in dollars ($1-$10,000). |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Use get_budget_recommendations to inspect Amazon suggested budget fields alongside missed impressions, clicks, and sales.
- Use get_campaign_performance to inspect ROAS, ACOS, spend, and sales before submitting a budget value.
- The response shows the old and new budget values plus the percentage change.
Watch out
- Budget changes exceeding 500% of the current budget trigger a warning.
update_campaign_state
writePreview or submit campaign state updates (ENABLED/PAUSED/PROPOSED) for Sponsored Products campaigns. Max 100 per call. Pre-reads current state for audit trail.
When to use
Submit ENABLED, PAUSED, or PROPOSED state updates for Sponsored Products campaigns.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
updates* | array | Campaign state updates (1-100 per call). Each item has campaign_id (string) and state (ENABLED, PAUSED, or PROPOSED). |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- PAUSED campaigns retain all settings and can be re-enabled later.
- Use get_campaign_performance to inspect ACOS, ROAS, spend, and sales before submitting state updates.
- PAUSED campaigns can be re-enabled later.
Watch out
- Archiving is not exposed through this state update tool because the current Amazon Ads update endpoint rejects ARCHIVED.
archive_campaigns
writePreview or submit irreversible Sponsored Products campaign archives through Amazon's bulk archive endpoint. Max 100 per call. Pre-reads current state for audit trail.
When to use
Submit campaign archives after the caller has selected campaign IDs and explicitly acknowledged the irreversible archive operation.
Parameters7
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
campaign_ids* | array | Campaign IDs to archive (1-100 per call). Values must be unique within the request. |
archive_acknowledgement | boolean (false) | Required as true when confirm=true because campaign archive is irreversible. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- The default response is a preview with current campaign state; no archive call is made unless confirm=true.
- The submit path requires both idempotency_key and archive_acknowledgement=true.
- Use update_campaign_state for ENABLED, PAUSED, and PROPOSED state changes.
Watch out
- Archived campaigns cannot be re-enabled through the state update endpoint.
create_sb_campaigns
writePreview or submit Sponsored Brands campaign creation through Amazon Common Campaign Management with adProduct=SPONSORED_BRANDS. Defaults to paused unless the caller explicitly chooses enabled.
When to use
Create Sponsored Brands campaign shells after the caller has selected campaign name, budget, dates, cost type, and initial state.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
campaigns* | array | Sponsored Brands campaigns to create. Each item includes name, budget, start_datetime, optional end_datetime, budget_recurrence, cost_type, brand_id, portfolio_id, tags, and state. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first; no Amazon write occurs unless confirm=true.
- Submit requires confirm=true and an idempotency_key.
- Budget values use marketplace currency guardrails.
Watch out
- This creates campaign structure only; agentcentral does not generate brand, budget, or creative recommendations.
update_sb_campaign_budget
writePreview or submit Sponsored Brands campaign budget updates through Amazon Common Campaign Management. Pre-reads current campaign state for preview and audit context.
When to use
Change budgets for existing Sponsored Brands campaigns selected by campaign ID.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
updates* | array | Campaign budget updates. Each item has campaign_id, budget, and optional budget_recurrence. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first to inspect current campaign state and budget where Amazon returns it.
- Submit requires confirm=true and an idempotency_key.
- Budget guardrails block obvious typo values before Amazon writes.
update_sb_campaign_state
writePreview or submit reversible Sponsored Brands campaign state updates through Amazon Common Campaign Management. Use archive_sb_campaigns for permanent archive.
When to use
Pause or re-enable Sponsored Brands campaigns without archiving them.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
updates* | array | Campaign state updates. Each item has campaign_id and state (ENABLED or PAUSED). |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first to inspect current campaign state.
- Submit requires confirm=true and an idempotency_key.
- Use archive_sb_campaigns only when the user confirms permanent archive.
Watch out
- This tool intentionally does not expose ARCHIVED; archive is permanent and uses archive_sb_campaigns.
archive_sb_campaigns
writePreview or submit irreversible Sponsored Brands campaign archives through Amazon Common Campaign Management delete campaigns.
When to use
Archive selected Sponsored Brands campaigns after explicit user acknowledgement.
Parameters7
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
campaign_ids* | array | Campaign IDs to archive. Values must be unique within the request. |
archive_acknowledgement | boolean (false) | Required true when confirm=true because archive is irreversible. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview pre-reads current campaign state.
- Submit requires confirm=true, idempotency_key, and archive_acknowledgement=true.
- Use update_sb_campaign_state for reversible pause/enable changes.
Watch out
- Amazon Common Campaign Management defines archive/delete as a terminal operation that cannot be reactivated through state update.
create_sb_ad_groups
writePreview or submit Sponsored Brands ad group creation through Amazon Common Campaign Management.
When to use
Create Sponsored Brands ad groups under selected campaign IDs after the caller has selected names and initial state.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
ad_groups* | array | Sponsored Brands ad groups to create. Each item has campaign_id, name, optional tags, and state. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first; no Amazon write occurs unless confirm=true.
- Submit requires confirm=true and an idempotency_key.
- No public ad-group bid field is exposed in this tool.
Watch out
- No update_sb_ad_group_bid tool is exposed because the public proof did not pin a safe ad-group bid write field.
update_sb_ad_group_state
writePreview or submit reversible Sponsored Brands ad group state updates through Amazon Common Campaign Management.
When to use
Pause or re-enable Sponsored Brands ad groups without archiving them.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
updates* | array | Ad group state updates. Each item has ad_group_id and state (ENABLED or PAUSED). |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview pre-reads current ad group state.
- Submit requires confirm=true and an idempotency_key.
- Use archive_sb_ad_groups only for permanent archive operations.
archive_sb_ad_groups
writePreview or submit irreversible Sponsored Brands ad group archives through Amazon Common Campaign Management delete ad groups.
When to use
Archive selected Sponsored Brands ad groups after explicit user acknowledgement.
Parameters7
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
ad_group_ids* | array | Ad group IDs to archive. Values must be unique within the request. |
archive_acknowledgement | boolean (false) | Required true when confirm=true because archive is irreversible. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview pre-reads current ad group state.
- Submit requires confirm=true, idempotency_key, and archive_acknowledgement=true.
- Use update_sb_ad_group_state for reversible pause/enable changes.
Watch out
- Amazon Common Campaign Management defines archive/delete as a terminal operation that cannot be reactivated through state update.
create_sb_ads
writePreview or submit Sponsored Brands ad creation through Amazon Common Campaign Management using caller-supplied creative objects.
When to use
Create Sponsored Brands ads under selected ad group IDs after the caller supplies the documented creative payload.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
ads* | array | Sponsored Brands ads to create. Each item has ad_group_id, name, creative, optional tags, and state. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first; no Amazon write occurs unless confirm=true.
- Submit requires confirm=true and an idempotency_key.
- The creative object is passed to Amazon as caller-supplied structured data.
Watch out
- agentcentral does not generate or recommend ad creative; the caller must provide the documented creative object.
update_sb_ad_state
writePreview or submit reversible Sponsored Brands ad state updates through Amazon Common Campaign Management.
When to use
Pause or re-enable Sponsored Brands ads without archiving them.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
updates* | array | Ad state updates. Each item has ad_id and state (ENABLED or PAUSED). |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview pre-reads current ad state.
- Submit requires confirm=true and an idempotency_key.
- Use archive_sb_ads only for permanent archive operations.
archive_sb_ads
writePreview or submit irreversible Sponsored Brands ad archives through Amazon Common Campaign Management delete ads.
When to use
Archive selected Sponsored Brands ads after explicit user acknowledgement.
Parameters7
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
ad_ids* | array | Ad IDs to archive. Values must be unique within the request. |
archive_acknowledgement | boolean (false) | Required true when confirm=true because archive is irreversible. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview pre-reads current ad state.
- Submit requires confirm=true, idempotency_key, and archive_acknowledgement=true.
- Use update_sb_ad_state for reversible pause/enable changes.
Watch out
- Amazon Common Campaign Management defines archive/delete as a terminal operation that cannot be reactivated through state update.
Related tools
create_sb_targets
writePreview or submit Sponsored Brands target creation through Amazon Common Campaign Management with adProduct=SPONSORED_BRANDS.
When to use
Create Sponsored Brands keyword, product, category, or theme targets after the caller has selected ad group IDs and target details.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
targets* | array | Targets to create. Each item includes ad_group_id, target_type, initial state, and type-specific fields such as keyword/match_type, asin, category_refinement, or theme_match_type. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first; no Amazon write occurs unless confirm=true.
- Submit requires confirm=true and an idempotency_key.
- Bid values are checked against marketplace bid guardrails.
Watch out
- This tool does not create campaigns, ad groups, ads, or creatives. It only creates targeting rows.
update_sb_target_bids
writePreview or submit Sponsored Brands target bid updates through Amazon Common Campaign Management.
When to use
Update bids for existing non-negative Sponsored Brands targets after selecting target IDs.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
updates* | array | Target bid updates. Each item has target_id and bid. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview pre-reads current target state/bid.
- Submit requires confirm=true and an idempotency_key.
- Optimization rules can make some Amazon bid updates fail; failures are returned row-by-row from Amazon.
update_sb_target_state
writePreview or submit reversible Sponsored Brands target state updates through Amazon Common Campaign Management.
When to use
Pause or re-enable existing non-negative Sponsored Brands targets without archiving them.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
updates* | array | Target state updates. Each item has target_id and state (ENABLED or PAUSED). |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview pre-reads current target state.
- Submit requires confirm=true and an idempotency_key.
- Use archive_sb_targets only for permanent archive operations.
archive_sb_targets
writePreview or submit irreversible Sponsored Brands target archives through Amazon Common Campaign Management delete targets.
When to use
Archive selected non-negative Sponsored Brands targets after explicit user acknowledgement.
Parameters7
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
target_ids* | array | Target IDs to archive. Values must be unique within the request. |
archive_acknowledgement | boolean (false) | Required true when confirm=true because archive is irreversible. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview pre-reads current target state.
- Submit requires confirm=true, idempotency_key, and archive_acknowledgement=true.
- Use update_sb_target_state for reversible pause/enable changes.
Watch out
- Amazon Common Campaign Management defines ARCHIVED as a terminal state that cannot be reactivated.
Related tools
create_sb_negative_targets
writePreview or submit Sponsored Brands negative target creation through Amazon Common Campaign Management with negative=true.
When to use
Create Sponsored Brands negative keyword, product, or category targets selected by the caller.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
negative_targets* | array | Negative targets to create. Each item includes ad_group_id, target_type, initial state, and type-specific keyword/product/category fields. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first; no Amazon write occurs unless confirm=true.
- Submit requires confirm=true and an idempotency_key.
- Negative target creation does not accept bid fields.
update_sb_negative_target_state
writePreview or submit reversible Sponsored Brands negative target state updates through Amazon Common Campaign Management.
When to use
Pause or re-enable existing Sponsored Brands negative targets without archiving them.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
updates* | array | Negative target state updates. Each item has negative_target_id and state (ENABLED or PAUSED). |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview pre-reads current negative target state.
- Submit requires confirm=true and an idempotency_key.
- Use archive_sb_negative_targets only for permanent archive operations.
archive_sb_negative_targets
writePreview or submit irreversible Sponsored Brands negative target archives through Amazon Common Campaign Management delete targets.
When to use
Archive selected Sponsored Brands negative targets after explicit user acknowledgement.
Parameters7
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
negative_target_ids* | array | Negative target IDs to archive. Values must be unique within the request. |
archive_acknowledgement | boolean (false) | Required true when confirm=true because archive is irreversible. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview pre-reads current negative target state.
- Submit requires confirm=true, idempotency_key, and archive_acknowledgement=true.
- Use update_sb_negative_target_state for reversible pause/enable changes.
Watch out
- Amazon Common Campaign Management defines ARCHIVED as a terminal state that cannot be reactivated.
create_sd_campaigns
writePreview or submit Sponsored Display campaign creation through Amazon's documented POST /sd/campaigns endpoint. Defaults to paused unless the caller explicitly chooses enabled.
When to use
Create Sponsored Display campaign shells after the caller has selected names, tactic, start date, budget, cost type, and initial state.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
campaigns* | array | Sponsored Display campaigns to create (1-100 per call). Each item includes name, tactic, start_date, budget, cost_type, state, and optional end_date or portfolio_id. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first; no Amazon write occurs unless confirm=true.
- Submit requires confirm=true and an idempotency_key.
- When state is omitted, the tool prepares a paused campaign unless the caller explicitly selected enabled.
Watch out
- Only Amazon-source response rows are returned; agentcentral does not recommend tactics, budgets, or next actions.
update_sd_campaign_budget
writePreview or submit Sponsored Display campaign budget updates through Amazon's documented PUT /sd/campaigns endpoint. Pre-reads current campaign state for preview and audit context.
When to use
Change daily budgets for existing Sponsored Display campaigns selected by ID.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
updates* | array | Sponsored Display campaign budget updates (1-100 per call). Each item has campaign_id and budget. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first to inspect the pre-read campaign row.
- Submit requires confirm=true and an idempotency_key.
- Budget guardrails block obvious typo values before Amazon writes.
update_sd_campaign_state
writePreview or submit reversible Sponsored Display campaign state updates through Amazon's documented PUT /sd/campaigns endpoint. Use archive_sd_campaigns for permanent archive.
When to use
Pause or re-enable Sponsored Display campaigns without archiving them.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
updates* | array | Sponsored Display campaign state updates (1-100 per call). Each item has campaign_id and state (enabled or paused). |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first to inspect current campaign state.
- Submit requires confirm=true and an idempotency_key.
- Use archive_sd_campaigns only when the user confirms permanent archive.
Watch out
- This tool intentionally does not expose archived; archive is permanent and uses archive_sd_campaigns.
archive_sd_campaigns
writePreview or submit irreversible Sponsored Display campaign archives through Amazon's documented DELETE /sd/campaigns/{campaignId} endpoint. Max 20 per call. Pre-reads current state for audit trail.
When to use
Submit Sponsored Display campaign archives after the caller has selected SD campaign IDs and explicitly acknowledged the irreversible archive operation.
Parameters7
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
campaign_ids* | array | Sponsored Display campaign IDs to archive (1-20 per call). Values must be unique within the request. |
archive_acknowledgement | boolean (false) | Required as true when confirm=true because Sponsored Display campaign archive is permanent and cannot be undone. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- The default response is a preview with current Sponsored Display campaign state; no archive call is made unless confirm=true.
- The submit path requires confirm=true, idempotency_key, and archive_acknowledgement=true.
- Use get_sponsored_ads_entities_live with ad_product=SD and entity_type=campaign to inspect live SD campaign IDs before archiving.
Watch out
- Amazon documents this DELETE endpoint as setting status/state to archived; it is not a reversible pause operation.
create_sd_ad_groups
writePreview or submit Sponsored Display ad group creation through Amazon's documented POST /sd/adGroups endpoint.
When to use
Create Sponsored Display ad groups after the caller has selected a campaign ID, name, default bid, and initial state.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
ad_groups* | array | Sponsored Display ad groups to create (1-100 per call). Each item has campaign_id, name, default_bid, state, and optional bid_optimization. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first; no Amazon write occurs unless confirm=true.
- Submit requires confirm=true and an idempotency_key.
- Default bids use marketplace currency guardrails.
update_sd_ad_group_bid
writePreview or submit Sponsored Display ad group default bid updates through Amazon's documented PUT /sd/adGroups endpoint. Pre-reads current ad group state for preview and audit context.
When to use
Change default bids for existing Sponsored Display ad groups selected by ID.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
updates* | array | Sponsored Display ad group bid updates (1-100 per call). Each item has ad_group_id and default_bid. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first to inspect the pre-read ad group row.
- Submit requires confirm=true and an idempotency_key.
- Bid guardrails block obvious typo values before Amazon writes.
update_sd_ad_group_state
writePreview or submit reversible Sponsored Display ad group state updates through Amazon's documented PUT /sd/adGroups endpoint. Use archive_sd_ad_groups for permanent archive.
When to use
Pause or re-enable Sponsored Display ad groups without archiving them.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
updates* | array | Sponsored Display ad group state updates (1-100 per call). Each item has ad_group_id and state (enabled or paused). |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first to inspect current ad group state.
- Submit requires confirm=true and an idempotency_key.
- Use archive_sd_ad_groups only for permanent archive operations.
Watch out
- This tool intentionally does not expose archived; archive is permanent and uses archive_sd_ad_groups.
archive_sd_ad_groups
writePreview or submit irreversible Sponsored Display ad group archives through Amazon's documented DELETE /sd/adGroups/{adGroupId} endpoint. Max 20 per call. Pre-reads current state for audit trail.
When to use
Submit Sponsored Display ad group archives after the caller has selected SD ad group IDs and explicitly acknowledged the irreversible archive operation.
Parameters7
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
ad_group_ids* | array | Sponsored Display ad group IDs to archive (1-20 per call). Values must be unique within the request. |
archive_acknowledgement | boolean (false) | Required as true when confirm=true because Sponsored Display ad group archive is permanent and cannot be undone. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first to inspect current ad group state.
- Submit requires confirm=true, idempotency_key, and archive_acknowledgement=true.
- Use get_sponsored_ads_entities_live with ad_product=SD and entity_type=ad_group to inspect IDs.
Watch out
- Amazon documents this DELETE endpoint as setting state/status to archived; it is not a reversible pause operation.
create_sd_product_ads
writePreview or submit Sponsored Display product ad creation through Amazon's documented POST /sd/productAds endpoint.
When to use
Create Sponsored Display product ads after the caller has selected campaign, ad group, SKU or ASIN, and initial state.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
product_ads* | array | Sponsored Display product ads to create (1-100 per call). Each item has campaign_id, ad_group_id, exactly one of sku or asin, and state. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first; no Amazon write occurs unless confirm=true.
- Submit requires confirm=true and an idempotency_key.
- Use get_ad_eligibility before creating ads for new ASINs.
update_sd_product_ad_state
writePreview or submit reversible Sponsored Display product ad state updates through Amazon's documented PUT /sd/productAds endpoint. Use archive_sd_product_ads for permanent archive.
When to use
Pause or re-enable Sponsored Display product ads without archiving them.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
updates* | array | Sponsored Display product ad state updates (1-100 per call). Each item has ad_id and state (enabled or paused). |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first to inspect current product ad state.
- Submit requires confirm=true and an idempotency_key.
- Use archive_sd_product_ads only for permanent archive operations.
Watch out
- This tool intentionally does not expose archived; archive is permanent and uses archive_sd_product_ads.
archive_sd_product_ads
writePreview or submit irreversible Sponsored Display product ad archives through Amazon's documented DELETE /sd/productAds/{adId} endpoint. Max 20 per call. Pre-reads current state for audit trail.
When to use
Submit Sponsored Display product ad archives after the caller has selected SD ad IDs and explicitly acknowledged the irreversible archive operation.
Parameters7
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
ad_ids* | array | Sponsored Display product ad IDs to archive (1-20 per call). Values must be unique within the request. |
archive_acknowledgement | boolean (false) | Required as true when confirm=true because Sponsored Display product ad archive is permanent and cannot be undone. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first to inspect current product ad state.
- Submit requires confirm=true, idempotency_key, and archive_acknowledgement=true.
- Use get_sponsored_ads_entities_live with ad_product=SD and entity_type=product_ad to inspect IDs.
Watch out
- Amazon documents this DELETE endpoint as setting state/status to archived; it is not a reversible pause operation.
create_sd_targets
writePreview or submit Sponsored Display target creation through Amazon's documented POST /sd/targets endpoint.
When to use
Create Sponsored Display targeting clauses after the caller has selected an ad group, expression type, expression predicates, optional bid, and initial state.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
targets* | array | Sponsored Display targets to create (1-100 per call). Each item has ad_group_id, expression_type, expressions, optional bid, and state. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first; no Amazon write occurs unless confirm=true.
- Submit requires confirm=true and an idempotency_key.
- Use get_sponsored_ads_targeting_options to fetch Amazon-source targeting and bid fields before the caller chooses values.
Watch out
- Expressions are passed through as Amazon-documented predicate objects; agentcentral does not invent targeting recommendations.
update_sd_target_bids
writePreview or submit Sponsored Display target bid updates through Amazon's documented PUT /sd/targets endpoint. Max 100 per call. Pre-reads current state and verifies readback.
When to use
Submit Sponsored Display target bid changes after the caller has selected exact SD target IDs and bid values.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
updates* | array | Sponsored Display target bid updates (1-100 per call). Each item has target_id and bid. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first to inspect current target state and bid.
- Submit requires confirm=true and an idempotency_key.
- Use get_sponsored_ads_entities_live with ad_product=SD and entity_type=target to inspect IDs.
Watch out
- Amazon documents bid as mutable only when the target's ad group does not have an enabled optimization rule.
update_sd_target_state
writePreview or submit reversible Sponsored Display target state updates through Amazon's documented PUT /sd/targets endpoint. Max 100 per call. Pre-reads current state and verifies readback.
When to use
Pause or re-enable Sponsored Display targets without archiving them.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
updates* | array | Sponsored Display target state updates (1-100 per call). Each item has target_id and state (enabled or paused). |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first to inspect current target state.
- Submit requires confirm=true and an idempotency_key.
- Use archive_sd_targets only for permanent archive operations.
Watch out
- This tool intentionally does not expose archived; archive is permanent and requires archive_sd_targets with archive_acknowledgement=true.
archive_sd_targets
writePreview or submit irreversible Sponsored Display target archives through Amazon's documented DELETE /sd/targets/{targetId} endpoint. Max 20 per call. Pre-reads current state for audit trail.
When to use
Submit Sponsored Display target archives after the caller has selected SD target IDs and explicitly acknowledged the irreversible archive operation.
Parameters7
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
target_ids* | array | Sponsored Display target IDs to archive (1-20 per call). Values must be unique within the request. |
archive_acknowledgement | boolean (false) | Required as true when confirm=true because Sponsored Display target archive is permanent and cannot be undone. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first to inspect current target state.
- Submit requires confirm=true, idempotency_key, and archive_acknowledgement=true.
- Use get_sponsored_ads_entities_live with ad_product=SD and entity_type=target to inspect IDs.
Watch out
- Use update_sd_target_state for reversible pause/enable flows; archive is permanent.
create_sd_negative_targets
writePreview or submit Sponsored Display negative target creation through Amazon's documented POST /sd/negativeTargets endpoint.
When to use
Create Sponsored Display negative targeting clauses after the caller has selected ad group IDs and Amazon-documented negative expression predicates.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
negative_targets* | array | Sponsored Display negative targets to create (1-100 per call). Each item has ad_group_id, expression_type, expressions, and state. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first; no Amazon write occurs unless confirm=true.
- Submit requires confirm=true and an idempotency_key.
- Amazon documents negative predicates such as asinSameAs and asinBrandSameAs.
update_sd_negative_target_state
writePreview or submit reversible Sponsored Display negative target state updates through Amazon's documented PUT /sd/negativeTargets endpoint. Use archive_sd_negative_targets for permanent archive.
When to use
Pause or re-enable Sponsored Display negative targets without archiving them.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
updates* | array | Sponsored Display negative target state updates (1-100 per call). Each item has negative_target_id and state (enabled or paused). |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first to inspect current negative target state.
- Submit requires confirm=true and an idempotency_key.
- Use archive_sd_negative_targets only for permanent archive operations.
Watch out
- This tool intentionally does not expose archived; archive is permanent and uses archive_sd_negative_targets.
archive_sd_negative_targets
writePreview or submit irreversible Sponsored Display negative target archives through Amazon's documented DELETE /sd/negativeTargets/{negativeTargetId} endpoint. Max 20 per call. Pre-reads current state for audit trail.
When to use
Submit Sponsored Display negative target archives after the caller has selected SD negative target IDs and explicitly acknowledged the irreversible archive operation.
Parameters7
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID. |
negative_target_ids* | array | Sponsored Display negative target IDs to archive (1-20 per call). Values must be unique within the request. |
archive_acknowledgement | boolean (false) | Required as true when confirm=true because Sponsored Display negative target archive is permanent and cannot be undone. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first to inspect current negative target state.
- Submit requires confirm=true, idempotency_key, and archive_acknowledgement=true.
- Use get_sponsored_ads_entities_live with ad_product=SD and entity_type=negative_target to inspect IDs.
Watch out
- Use update_sd_negative_target_state for reversible pause/enable flows; archive is permanent.
create_keywords
writePreview or submit exact, phrase, or broad keyword creation for Sponsored Products campaigns. Max 100 per call. Bid range: $0.02-$100.
When to use
Submit keyword creations when the caller has selected campaign IDs, ad group IDs, match types, and bid values.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
keywords* | array | Keywords to create (1-100 per call). Each item has campaign_id, ad_group_id, keyword_text, match_type (EXACT, PHRASE, or BROAD), and bid ($0.02-$100). |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Use get_search_terms to inspect customer search terms and matched targeting before creating keyword records.
- Use get_bid_recommendations to inspect Amazon suggested bid fields for the selected keyword context.
- Use create_negative_keywords separately when the caller has selected negative keyword records to submit.
create_negative_keywords
writePreview or submit negative keyword creation for Sponsored Products campaigns. Items with ad_group_id are ad-group-level negatives, items without are campaign-level. Max 100 per call.
When to use
Submit campaign-level or ad-group-level negative keyword records selected by the caller.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
negatives* | array | Negative keywords to create (1-100 per call). Each item has keyword_text, match_type (NEGATIVE_EXACT or NEGATIVE_PHRASE), campaign_id, and optional ad_group_id. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Use get_search_terms sorted by spend to inspect high-spend zero-sale search terms.
- Campaign-level negatives (no ad_group_id) block the term across all ad groups in that campaign.
- Use NEGATIVE_EXACT when you want to block only the exact phrase, and NEGATIVE_PHRASE to block any query containing that phrase.
create_sp_campaigns
writePreview or create Sponsored Products campaigns through Amazon Ads /sp/campaigns. Defaults new campaigns to PAUSED unless explicitly enabled.
When to use
Create Sponsored Products campaign shells after the caller has selected names, targeting type, daily budgets, and bidding strategy.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
campaigns* | array | Campaigns to create. Each item includes name, targeting_type, daily_budget, optional dates, state, and bidding_strategy. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Default to PAUSED for safer agent launch workflows.
- Use get_budget_recommendations only as Amazon-source context; users still choose the submitted budget.
create_sp_ad_groups
writePreview or create Sponsored Products ad groups through Amazon Ads /sp/adGroups.
When to use
Create ad groups inside existing Sponsored Products campaigns after campaign IDs and default bids are selected.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
ad_groups* | array | Ad groups to create. Each item includes campaign_id, name, default_bid, and state. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- The tool pre-reads campaign state for context.
- Default state is PAUSED unless explicitly enabled.
create_sp_product_ads
writePreview or create Sponsored Products product ads through Amazon Ads /sp/productAds.
When to use
Attach advertised SKUs or ASINs to Sponsored Products ad groups before creating keywords or targets.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
product_ads* | array | Product ads to create. Each item includes campaign_id, ad_group_id, sku or asin, and state. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Use get_ad_eligibility before creating product ads for new ASINs.
- Default state is PAUSED unless explicitly enabled.
update_sp_ad_entities
writePreview or update/archive Sponsored Products ad groups and product ads through Amazon Ads /sp/adGroups and /sp/productAds.
When to use
Pause, enable, or archive Sponsored Products ad groups or product ads after selecting IDs from live entity lookup.
Parameters9
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
entity_type* | string | ad_group or product_ad. |
operation* | string | set_state for reversible state changes, or archive for irreversible archive. |
updates* | array | Rows to update. Each item has id and, for set_state, state. |
archive_acknowledgement | boolean (false) | Required true when operation=archive and confirm=true. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Use get_sp_entities_live with entity_type=ad_group or product_ad to fetch IDs first.
- Use set_state to pause before using irreversible archive.
Watch out
- Archive uses Amazon delete endpoints and is irreversible; preview mode is the default.
create_sp_targets
writePreview or create Sponsored Products targeting clauses through Amazon Ads /sp/targets for auto, ASIN, category, or Amazon expression predicates.
When to use
Create explicit Sponsored Products targets after the caller has selected campaign/ad group IDs, expression predicates, and bids.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
targets* | array | Targets to create. Each item includes campaign_id, ad_group_id, target_type, bid, state, and target expression fields. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Use get_sp_targeting_options to fetch Amazon-source ASIN/category/refinement options.
- Use target_type=expression for advanced Amazon-documented predicates only.
update_sp_target_state
writePreview or update Sponsored Products targeting clause state through Amazon Ads /sp/targets.
When to use
Pause, enable, or propose existing Sponsored Products targets without changing their bids.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
updates* | array | Target state updates. Each item has target_id and state. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Use get_sp_entities_live with entity_type=target to pre-check current state.
- Use update_target_bids for bid changes.
archive_sp_targets
writePreview or archive Sponsored Products targets through Amazon Ads /sp/targets/delete.
When to use
Irreversibly archive selected Sponsored Products targets after explicit user acknowledgement.
Parameters7
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
target_ids* | array | Target IDs to archive. |
archive_acknowledgement | boolean (false) | Required true when confirm=true. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Archive is irreversible; use update_sp_target_state to pause reversible targets.
- The tool pre-reads target details for audit context.
Watch out
- Amazon exposes archive through a delete endpoint; agentcentral presents it as archive.
create_sp_negative_targets
writePreview or create Sponsored Products negative ASIN/brand targets through /sp/negativeTargets or /sp/campaignNegativeTargets.
When to use
Add ad-group-level or campaign-level negative product/brand targets selected by the caller.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
negative_targets* | array | Negative targets to create. Each item includes scope, campaign_id, optional ad_group_id, target_type, and target fields. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Use get_sp_targeting_options with negative brand search before creating brand negatives.
- Use campaign scope when the exclusion should apply across ad groups.
update_sp_negative_keyword_state
writePreview or submit reversible Sponsored Products negative keyword state updates through /sp/negativeKeywords or /sp/campaignNegativeKeywords.
When to use
Pause or re-enable existing ad-group-level or campaign-level negative keywords after selecting IDs from live entity lookup.
Parameters7
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
scope* | enum | ad_group or campaign. |
updates* | array | Negative keyword state updates. Each item has negative_keyword_id and state (ENABLED or PAUSED). |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Use get_sp_entities_live with entity_type=negative_keyword to list IDs first.
- Submit requires confirm=true and an idempotency_key.
- Use archive_sp_negative_keywords only for permanent archive operations.
archive_sp_negative_keywords
writePreview or submit irreversible Sponsored Products negative keyword archives through /sp/negativeKeywords/delete or /sp/campaignNegativeKeywords/delete.
When to use
Archive selected ad-group-level or campaign-level negative keywords after the caller explicitly acknowledges the irreversible archive operation.
Parameters8
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
scope* | enum | ad_group or campaign. |
negative_keyword_ids* | array | Negative keyword IDs to archive. Values must be unique within the request. |
archive_acknowledgement | boolean (false) | Required true when confirm=true because archive is irreversible. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first to inspect current state.
- Submit requires confirm=true, idempotency_key, and archive_acknowledgement=true.
- Use update_sp_negative_keyword_state for reversible pause/enable changes.
Watch out
- Amazon exposes archive through delete endpoints; agentcentral presents it as archive.
update_sp_negative_target_state
writePreview or submit reversible Sponsored Products negative target state updates through /sp/negativeTargets or /sp/campaignNegativeTargets.
When to use
Pause or re-enable existing ad-group-level or campaign-level negative targets without archiving them.
Parameters7
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
scope* | enum | ad_group or campaign. |
updates* | array | Negative target state updates. Each item has negative_target_id and state (ENABLED or PAUSED). |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Use get_sp_entities_live with entity_type=negative_target to list IDs first.
- Submit requires confirm=true and an idempotency_key.
- Use archive_sp_negative_targets only for permanent archive operations.
archive_sp_negative_targets
writePreview or submit irreversible Sponsored Products negative target archives through /sp/negativeTargets/delete or /sp/campaignNegativeTargets/delete.
When to use
Archive selected ad-group-level or campaign-level negative targets after the caller explicitly acknowledges the irreversible archive operation.
Parameters8
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
scope* | enum | ad_group or campaign. |
negative_target_ids* | array | Negative target IDs to archive. Values must be unique within the request. |
archive_acknowledgement | boolean (false) | Required true when confirm=true because archive is irreversible. |
confirm | boolean (false) | Preview by default. Set true to submit the Ads API mutation. |
idempotency_key | string | Required when confirm=true. Reusing the same key blocks duplicate Ads API submissions. |
reason | string | Optional user-supplied reason for the write, stored where audit logging supports it. |
actor | string | Optional external actor label for the agent or workflow requesting the write. |
* required
Tips
- Preview first to inspect current state.
- Submit requires confirm=true, idempotency_key, and archive_acknowledgement=true.
- Use update_sp_negative_target_state for reversible pause/enable changes.
Watch out
- Amazon exposes archive through delete endpoints; agentcentral presents it as archive.
live api
get_dsp_advertisers_live
live apiReturn live Amazon DSP advertiser records available to an Ads profile, including Amazon-source advertiser IDs needed for DSP account-scoped APIs.
When to use
Use this before DSP campaign, ad group, target, or creative reads when you need to discover which DSP advertiser IDs the Ads profile can access.
Parameters4
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID used for the DSP advertiser lookup. |
advertiser_id | string | Optional DSP advertiser ID to fetch a single advertiser record. |
limit | number (100) | Maximum advertiser rows to return from list responses (1-1000). |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
* required
Tips
- Use the returned DSP advertiser ID as amazon_ads_account_id when calling get_dsp_entities_live.
- Pair this with get_dsp_performance to connect retained DSP Reporting v3 rows to advertiser names and IDs.
Watch out
- This is a live advertiser discovery read only. Accessible advertisers depend on the Ads profile and token permissions.
get_dsp_entities_live
live apiList live Amazon DSP campaigns, ad groups, or targets from documented DSP v1 campaign-management read endpoints using an explicit Amazon-Ads-AccountId advertiser header.
When to use
Use this when you need current DSP campaign/order, ad group/line-item, or target state directly from Amazon rather than retained reporting rows.
Parameters12
| Name | Type | Description |
|---|---|---|
profile_id* | string | Amazon Ads profile ID associated with the DSP advertiser account. |
amazon_ads_account_id* | string | DSP advertiser ID used as the Amazon-Ads-AccountId header. Discover accessible values with get_dsp_advertisers_live. |
entity_type* | enum | DSP entity family to list: campaign, ad_group, or target. |
campaign_ids | array | Filter campaigns by campaign ID, or ad groups by campaign ID. Not supported for target reads. |
ad_group_ids | array | Filter ad groups by ad group ID, or targets by ad group ID. |
target_ids | array | Targets only. Filter targets by target ID. Target reads require target_ids or ad_group_ids so calls stay bounded to documented target-list filters. |
states | array | Targets only. Amazon DSP state filter values such as ENABLED; campaign/ad-group state filters are not sent because Amazon does not document them for those list endpoints. |
target_types | array | Targets only. Optional target type filters such as AUDIENCE or LOCATION. |
max_results | number (50) | Maximum rows to request from Amazon (1-100). |
next_token | string | Pagination token from a previous DSP list response. |
include_regional | boolean (false) | Campaigns/ad groups only. Request cross-region records where Amazon supports includeRegional. |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
* required
Tips
- Call get_dsp_advertisers_live first and pass the advertiserId as amazon_ads_account_id.
- Use entity_type="campaign" for DSP orders and entity_type="ad_group" for DSP line items; Amazon renamed those objects in DSP v1.
- Use next_token for pagination instead of increasing max_results beyond the bounded 100-row request cap.
Watch out
- DSP target reads require target_ids or ad_group_ids and may also use states and target_types filters; campaign_ids are not sent for targets because Amazon does not document that filter. Campaign/ad-group state filters are also rejected instead of guessed.
get_sp_entities_live
live apiList live Sponsored Products entity state directly from Amazon Ads API for campaigns, ad groups, product ads, keywords, targets, negative keywords, and negative targets.
When to use
Use before writes when stored data may lag or when an agent needs current Amazon entity IDs and states.
Parameters7
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
entity_type* | enum | campaign, ad_group, product_ad, keyword, target, negative_keyword, or negative_target. |
ids | array | Optional IDs for the selected entity type. |
campaign_ids | array | Optional campaign ID filter. |
ad_group_ids | array | Optional ad group ID filter. |
states | array | Optional state filter. |
max_results | number (50) | Maximum rows to request from Amazon. |
* required
Tips
- Use this as the live pre-read surface for Sponsored Products management tools.
- For negative entities, scope can distinguish ad-group-level and campaign-level records.
Watch out
- This is a live Amazon Ads API call; keep filters narrow.
get_sponsored_ads_entities_live
live apiList live Sponsored Products, Sponsored Brands, and Sponsored Display entity state directly from Amazon Ads API for verified read-only combinations.
When to use
Use when an agent needs current Amazon entity IDs, states, budgets, bids, moderation/serving fields, or readback context across SP/SB/SD without waiting for warehouse snapshots.
Parameters11
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
ad_product* | enum | SP, SB, or SD. |
entity_type* | enum | Supported: SP campaign/ad_group/product_ad/keyword/target/negative_keyword/negative_target; SB campaign/ad_group/ad; SD campaign/ad_group/product_ad/target/negative_target. |
ids | array | Optional IDs for the selected entity type. |
campaign_ids | array | Optional campaign ID filter. |
ad_group_ids | array | Optional ad group ID filter. |
states | array | Optional state filter. |
max_results | number (50) | Maximum rows to request from Amazon. |
next_token | string | SP/SB token pagination value from a prior response. |
start_index | number (0) | SD offset pagination cursor. |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
* required
Tips
- Unsupported product/entity pairs return structured diagnostics and make no Amazon API call.
- Use SP-specific filters such as text_query, asins, expression_types, and match_types only with Sponsored Products entity families.
- Results are Amazon-source fields; agentcentral does not add recommended next actions.
Watch out
- SB uses token pagination and vendor media types; SD uses offset pagination with JSON GET endpoints. Keep filters narrow for live calls.
get_sp_targeting_options
live apiReturn Amazon-source Sponsored Products targeting candidates, category trees/refinements, and negative brand options.
When to use
Discover Amazon-provided keyword, product, category, and brand targeting inputs before explicit user-approved target creation.
Parameters7
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
option_type* | enum | keyword_recommendations, product_recommendations, category_recommendations, category_tree, category_refinements, negative_brand_search, or negative_brand_recommendations. |
campaign_id | string | Required with ad_group_id for keyword recommendations. |
ad_group_id | string | Required with campaign_id for keyword recommendations. |
asins | array | Input ASINs for product/category recommendations. |
category_id | string | Category ID for refinements. |
keyword | string | Search term for negative brand search. |
* required
Tips
- Results are Amazon-source fields, not agentcentral-authored recommendations.
- Use returned category/brand IDs in create_sp_targets or create_sp_negative_targets.
Watch out
- Endpoint availability and fields vary by marketplace and profile.
get_sponsored_ads_targeting_options
live apiReturn Amazon-source Sponsored Products, Sponsored Brands, and Sponsored Display targeting options and bid recommendation fields for documented read-only endpoints.
When to use
Use when an agent needs one cross-product read surface for Amazon-provided targeting candidates, category/refinement metadata, product counts, or bid option fields before any explicit write workflow.
Parameters10
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
ad_product* | enum | SP, SB, or SD. |
option_type* | enum | SP: keyword/product/category/category_tree/category_refinements/negative_brand options. SB: category_tree, category_refinements, products_count, bid_recommendations, optimization_recommendations. SD: target_recommendations or bid_recommendations. |
request_body | object | Advanced override: exact Amazon Ads request body for the selected documented endpoint. |
asins | array | Convenience ASIN inputs for SP recommendations or SD product payloads. |
category_id | string | Category refinement ID for category refinements or SB product count. |
landing_pages | array | SB optimization recommendation landingPages array from Amazon's schema. |
products | array | SD products array from Amazon's schema. |
targeting_clauses | array | SD bid recommendation targetingClauses array from Amazon's schema. |
include_raw_rows | boolean (true) | Set false to return a compact row preview. Defaults to true; large result sets are capped automatically to keep the response manageable. |
* required
Tips
- Unsupported or ambiguous SB keyword/audience endpoints return diagnostics and make no Amazon call; AMC is out of scope.
- Use request_body when you need the exact Amazon schema for SD target or bid recommendations.
- Results are Amazon-source fields only; agentcentral does not add opportunity ranks or recommended next actions.
Watch out
- This is a live Amazon Ads API surface. Endpoint support and returned fields vary by ad product, marketplace, and account permissions.
get_bid_recommendations
live apiGet suggested bid amounts for keywords. Requires either ASINs for a new ad group context or both campaign_id and ad_group_id for an existing ad group. Returns Amazon recommended bid themes with low, suggested, and high bids for each keyword.
When to use
Get Amazon suggested bid ranges before creating new keywords or adjusting existing bids, using either a planned ASIN set or an existing ad group as the auction context.
Parameters6
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
keywords* | array | Keywords to get bid recommendations for (1-100). Each item has keyword (string) and match_type (EXACT, PHRASE, or BROAD). |
asins | array | ASINs for a new ad group context (1-50). Provide this or both campaign_id and ad_group_id. |
campaign_id | string | Existing campaign ID to use for bid recommendations. Requires ad_group_id. |
ad_group_id | string | Existing ad group ID to use for bid recommendations. Requires campaign_id. |
bidding_strategy | enum | Optional bidding strategy for new ad group recommendations: AUTO_FOR_SALES, LEGACY_FOR_SALES, MANUAL, or RULE_BASED. Ignored when campaign_id and ad_group_id are provided. |
* required
Tips
- The suggested_bid, range_low, and range_high values are returned by Amazon for the chosen campaign or ASIN context.
- The theme column preserves Amazon recommendation theme labels when returned by the API.
- Use keyword_performance separately when comparing Amazon suggested bid fields to historical seller performance.
Watch out
- This is a live API call with rate limiting. Avoid calling in tight loops.
- Amazon requires either ASIN context for a new ad group or campaign_id + ad_group_id for an existing ad group.
get_budget_recommendations
live apiGet Amazon Ads budget recommendation API fields for campaigns, including suggested budgets and estimated missed impressions, clicks, and sales.
When to use
Return Amazon suggested budget levels and seven-day missed-impression, missed-click, and missed-sales fields for selected campaigns.
Parameters2
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
campaign_ids* | array | Campaign IDs to get budget recommendations for (1-100, string array). |
* required
Tips
- High missed_impressions and missed_clicks indicate Amazon estimated delivery constrained by budget.
- Compare suggested_budget against current budget to quantify the difference between current and Amazon-suggested budget values.
- Use get_campaign_performance separately to inspect ROAS, ACOS, spend, and sales for the same campaigns.
Watch out
- This is a live API call with rate limiting. Avoid calling in tight loops.
- Amazon may return per-campaign errors in the same response when some campaign IDs are invalid or unavailable.
get_ad_eligibility
live apiCheck product eligibility for selected ad types. Defaults to Sponsored Products, Brands, and Display, and can optionally include DSP. Returns status rows for each ASIN or SKU Amazon reports.
When to use
Before setting up new campaigns, verify which ad types each ASIN qualifies for and understand any warnings or restrictions.
Parameters3
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
asins* | array | ASINs to check eligibility for (1-50, string array). |
ad_types | array | Optional ad types to check. Supported values: SP, SB, SD, DSP. Defaults to SP, SB, SD. |
* required
Tips
- Check eligibility before creating campaigns to avoid wasted setup time.
- Ineligibility or warning details often point to listing issues such as missing images, restricted categories, or not winning the Buy Box.
- Amazon may return multiple SKU rows for a single ASIN when that ASIN is listed under more than one seller SKU.
- Sponsored Brands and Display commonly require brand or program eligibility, so many sellers will only see SP eligibility at first.
Watch out
- This is a live API call with rate limiting. Avoid calling in tight loops.
get_audience_segments
live apiDiscover available Amazon Ads audience IDs for a profile from targetableEntities/list, with optional free-text and category-path search.
When to use
Find the audience IDs available to a profile before setting Sponsored Products audience bid adjustments or building audience-based workflows.
Parameters4
| Name | Type | Description |
|---|---|---|
profile_id* | string | Ad account profile ID. |
query | string | Free-text search for audience segment names, descriptions, types, or categories. |
category_path_contains | string | Case-insensitive substring filter against Amazon category paths, such as Custom-built > Product. |
max_results | number (25) | Maximum number of audience segments to return (1-100). |
* required
Tips
- Use category_path_contains to filter Amazon's current taxonomy; type is commonly AUDIENCE on targetableEntities/list responses.
- Keep max_results small for exploratory calls; expand only after the search terms are useful.
Watch out
- This is a live API call with rate limiting. Avoid calling in tight loops.
- Returned segment availability depends on the profile and marketplace.
- Amazon may omit name, provider, status, and description on targetableEntities/list rows; diagnostics report which optional fields were populated.