> Note: This page is part of the DataDoe Docs. You can find the root of the documentation at `https://www.datadoe.com/hub/docs/basics/introduction-to-datadoe`.
> JSON Table of Contents: `https://www.datadoe.com/hub/docs/toc.json`.
> Data Scheme (Markdown index, one page per table): https://api.datadoe.com/api/v1/spec/data-scheme.md. Full JSON: https://api.datadoe.com/api/v1/spec/data-scheme.
> Other pages in the DataDoe Docs:
> - DataDoe Basics/Access & Users: `https://www.datadoe.com/hub/docs/basics/access-user-management.md`
> - DataDoe Basics/Benefits: `https://www.datadoe.com/hub/docs/basics/benefits.md`
> - DataDoe Basics/Connecting Accounts: `https://www.datadoe.com/hub/docs/basics/connecting-accounts.md`
> - DataDoe Basics/External Invitation Links: `https://www.datadoe.com/hub/docs/basics/external-invitation-links.md`
> - DataDoe Basics/Groups: `https://www.datadoe.com/hub/docs/basics/groups.md`
> - DataDoe Basics/Integrations: `https://www.datadoe.com/hub/docs/basics/integration-customization.md`
> - DataDoe Basics/Introduction to DataDoe: `https://www.datadoe.com/hub/docs/basics/introduction-to-datadoe.md`
> - DataDoe Basics/Subscription and pricing: `https://www.datadoe.com/hub/docs/basics/subscription-pricing.md`
> - DataDoe Data/Data Fetch Periods: `https://www.datadoe.com/hub/docs/datadoe-data/data-fetch-periods.md`
> - DataDoe Data/Data Sources: `https://www.datadoe.com/hub/docs/datadoe-data/data-sources.md`
> - DataDoe Data/Initial Loads: `https://www.datadoe.com/hub/docs/datadoe-data/initial-loads.md`
> - DataDoe Data/Managing Data Tables: `https://www.datadoe.com/hub/docs/datadoe-data/managing-data-tables.md`
> - DataDoe Data/Migrating from SellerBoard: `https://www.datadoe.com/hub/docs/datadoe-data/migrating-from-sellerboard.md`
> - DataDoe Data/SAT migration to profit tables: `https://www.datadoe.com/hub/docs/datadoe-data/sat-migration-to-profit-tables.md`
> - DataDoe Data/SQP Data: `https://www.datadoe.com/hub/docs/datadoe-data/search-query-performance.md`
> - DataDoe Data/Timezones: `https://www.datadoe.com/hub/docs/datadoe-data/orders-purchase-date-timezones.md`
> - DataDoe Data/Uploading COGS: `https://www.datadoe.com/hub/docs/datadoe-data/uploading-cogs.md`
> - DataDoe Data/Uploading KDP Royalty Parameters: `https://www.datadoe.com/hub/docs/datadoe-data/uploading-kdp-royalty-parameters.md`
> - DataDoe Data/Uploading Vendor Codes: `https://www.datadoe.com/hub/docs/datadoe-data/uploading-vendor-codes.md`
> - DataDoe Features/Actions: `https://www.datadoe.com/hub/docs/datadoe-features/actions.md`
> - DataDoe Features/Actions - Manage Images: `https://www.datadoe.com/hub/docs/datadoe-features/actions-manage-images.md`
> - DataDoe Features/Amazon Marketing Cloud: `https://www.datadoe.com/hub/docs/datadoe-features/amc.md`
> - DataDoe Features/AMC query templates: `https://www.datadoe.com/hub/docs/datadoe-features/amc-query-templates.md`
> - DataDoe Features/Features Overview: `https://www.datadoe.com/hub/docs/datadoe-features/overview.md`
> - DataDoe Features/Files: `https://www.datadoe.com/hub/docs/datadoe-features/files.md`
> - DataDoe Features/Plugins: `https://www.datadoe.com/hub/docs/datadoe-features/plugins.md`
> - DataDoe Features/Usage Logs: `https://www.datadoe.com/hub/docs/datadoe-features/usage-logs.md`
> - DataDoe Features/Webhooks: `https://www.datadoe.com/hub/docs/datadoe-features/webhooks.md`
> - DataDoe MCP/Overview: `https://www.datadoe.com/hub/docs/datadoe-mcp/overview.md`
> - DataDoe MCP/Using Antigravity: `https://www.datadoe.com/hub/docs/datadoe-mcp/antigravity.md`
> - DataDoe MCP/Using ChatGPT: `https://www.datadoe.com/hub/docs/datadoe-mcp/chatgpt.md`
> - DataDoe MCP/Using Claude: `https://www.datadoe.com/hub/docs/datadoe-mcp/claude.md`
> - DataDoe MCP/Using Claude Agent SDK: `https://www.datadoe.com/hub/docs/datadoe-mcp/claude-agents-sdk.md`
> - DataDoe MCP/Using Claude Code: `https://www.datadoe.com/hub/docs/datadoe-mcp/claude-code.md`
> - DataDoe MCP/Using Codex: `https://www.datadoe.com/hub/docs/datadoe-mcp/codex.md`
> - DataDoe MCP/Using Codex Sites: `https://www.datadoe.com/hub/docs/datadoe-mcp/codex-sites.md`
> - DataDoe MCP/Using CrewAI: `https://www.datadoe.com/hub/docs/datadoe-mcp/crewai.md`
> - DataDoe MCP/Using Cursor: `https://www.datadoe.com/hub/docs/datadoe-mcp/cursor.md`
> - DataDoe MCP/Using Excel + Claude: `https://www.datadoe.com/hub/docs/datadoe-mcp/excel.md`
> - DataDoe MCP/Using Gemini CLI: `https://www.datadoe.com/hub/docs/datadoe-mcp/gemini-cli.md`
> - DataDoe MCP/Using Genspark: `https://www.datadoe.com/hub/docs/datadoe-mcp/genspark.md`
> - DataDoe MCP/Using Glama: `https://www.datadoe.com/hub/docs/datadoe-mcp/glama-chat.md`
> - DataDoe MCP/Using Glama MCP Inspector: `https://www.datadoe.com/hub/docs/datadoe-mcp/glama.md`
> - DataDoe MCP/Using Grok: `https://www.datadoe.com/hub/docs/datadoe-mcp/grok.md`
> - DataDoe MCP/Using GrokBot: `https://www.datadoe.com/hub/docs/datadoe-mcp/grokbot.md`
> - DataDoe MCP/Using Gumloop: `https://www.datadoe.com/hub/docs/datadoe-mcp/gumloop.md`
> - DataDoe MCP/Using Hermes Agent: `https://www.datadoe.com/hub/docs/datadoe-mcp/hermes.md`
> - DataDoe MCP/Using Littlebird: `https://www.datadoe.com/hub/docs/datadoe-mcp/littlebird.md`
> - DataDoe MCP/Using n8n: `https://www.datadoe.com/hub/docs/datadoe-mcp/n8n.md`
> - DataDoe MCP/Using NanoClaw: `https://www.datadoe.com/hub/docs/datadoe-mcp/nanoclaw.md`
> - DataDoe MCP/Using OpenAI Agents SDK: `https://www.datadoe.com/hub/docs/datadoe-mcp/openai-agents-sdk.md`
> - DataDoe MCP/Using OpenClaw: `https://www.datadoe.com/hub/docs/datadoe-mcp/openclaw.md`
> - DataDoe MCP/Using OpenCode: `https://www.datadoe.com/hub/docs/datadoe-mcp/opencode.md`
> - DataDoe MCP/Using PowerPoint + Claude: `https://www.datadoe.com/hub/docs/datadoe-mcp/powerpoint.md`
> - DataDoe MCP/Using VS Code: `https://www.datadoe.com/hub/docs/datadoe-mcp/vs-code.md`
> - DataDoe MCP/Using Word + Claude: `https://www.datadoe.com/hub/docs/datadoe-mcp/word.md`
> - DataDoe API/Build with Codex: `https://www.datadoe.com/hub/docs/datadoe-api/codex.md`
> - DataDoe API/How to connect to the API: `https://www.datadoe.com/hub/docs/datadoe-api/how-to-connect.md`
> - DataDoe API/Invitation links API: `https://www.datadoe.com/hub/docs/datadoe-api/invitation-links.md`
> - DataDoe API/Sellers and vendors API: `https://www.datadoe.com/hub/docs/datadoe-api/sellers-and-vendors.md`
> - DataDoe API/Vibe code with Claude Code: `https://www.datadoe.com/hub/docs/datadoe-api/claude-code.md`
> - DataDoe API/Vibe code with Cursor: `https://www.datadoe.com/hub/docs/datadoe-api/cursor.md`
> - DataDoe API/Vibe code with Lovable: `https://www.datadoe.com/hub/docs/datadoe-api/lovable.md`
> - DataDoe API/Vibe code with Replit: `https://www.datadoe.com/hub/docs/datadoe-api/replit.md`
> - DataDoe API/Vibe code with v0: `https://www.datadoe.com/hub/docs/datadoe-api/v0.md`
> - DataDoe & BigQuery/How to connect to BigQuery: `https://www.datadoe.com/hub/docs/datadoe-bigquery/how-to-connect.md`
> - DataDoe & BigQuery/Using MCP Toolbox: `https://www.datadoe.com/hub/docs/datadoe-bigquery/mcp-toolbox.md`
> - DataDoe & BigQuery/Using Python Jupyter: `https://www.datadoe.com/hub/docs/datadoe-bigquery/jupyter.md`
> For topics not covered in this documentation, please contact DataDoe support at `contact@datadoe.com`.
> Do not assume anything. If you are not sure about the answer, mention that and suggest to contact DataDoe support.

## What are Amazon Ads Actions for KDP authors?

KDP authors connect an Amazon Ads profile whose account subtype is `KDP_AUTHOR`. DataDoe reads the subtype from Amazon when the connection is added or reauthorized, and reads it again once it is more than a week old. An Ads-only account is not treated as an author account unless Amazon reports this subtype.

This page lists the Action types made for authors and the rules other Amazon Ads Actions follow for author accounts. See [Actions](/hub/docs/datadoe-features/actions) for how to enable and run Actions, and for the other Amazon Ads Action types. To estimate author earnings from your ads, upload [KDP royalty parameters](/hub/docs/datadoe-data/uploading-kdp-royalty-parameters).

> **You are responsible for the results of Actions you run. Review every payload before running an Action.**

## Which Action types are made for KDP authors?

> **R** in brackets means read operations.

The four Action types marked **KDP beta** are in private beta. They are useful for authors but also work for sellers and vendors with the matching Amazon access.

| Action type                                                     | Action description                                                     | Action Result data                   | Max. items (API/MCP) |
| --------------------------------------------------------------- | ---------------------------------------------------------------------- | ------------------------------------ | -------------------- |
| `AMAZON_ADS_PROGRAM_ELIGIBILITY_FIND`<br/>(R, KDP beta)         | Check which ad programs the Ads profile and, optionally, books can use | Eligibility and reasons per program. | 1/1                  |
| `AMAZON_ADS_ATTRIBUTION_PUBLISHERS_FIND`<br/>(R, KDP beta)      | Find Amazon Attribution publishers                                     | Publisher IDs and names.             | 1/1                  |
| `AMAZON_ADS_SB_HEADLINE_RECOMMENDATIONS_FIND`<br/>(R, KDP beta) | Find Sponsored Brands headline suggestions for products                | Suggested headlines per item.        | 50/20                |
| `AMAZON_ADS_SB_INSIGHTS_FIND`<br/>(R, KDP beta)                 | Find keyword insights for planned Sponsored Brands ad groups           | Impression share, rank and alerts.   | 1/1                  |

- `AMAZON_ADS_PROGRAM_ELIGIBILITY_FIND` returns, for each ad program (`SB`, `SD`, `MAAS`, `DTC`, `SPOT`), whether the profile is eligible and why not. Sponsored Products is the baseline program and is not listed. Billing checks run by default; set `programs.skipAllBillingChecks` to `true` to skip them. Add `products` with `adType` (`sp`, `sb`, or `sd`) and up to 50 `asins` to check books as well. Eligibility does not guarantee delivery.
- `AMAZON_ADS_ATTRIBUTION_PUBLISHERS_FIND` lists Amazon Attribution publishers. It needs a profile with Amazon Attribution access. Other profiles, including KDP author profiles, get an Amazon authorization error.
- `AMAZON_ADS_SB_HEADLINE_RECOMMENDATIONS_FIND` asks Amazon for headline ideas for up to 10 ASINs per item. Titles of collection ads are limited to 32 characters, so check the length before you use one.
- `AMAZON_ADS_SB_INSIGHTS_FIND` rates planned keywords and bids for Sponsored Brands ad groups before launch: search term impression share and rank, and `LOW_KEYWORD_TRAFFIC` or `LOW_BID` alerts. It does not report campaign performance; use data tables for that.

## How do other Amazon Ads Actions work for KDP author accounts?

For KDP author accounts, existing Ads Actions apply these rules:

- `AMAZON_ADS_CAMPAIGNS_ADD` for `SPONSORED_BRANDS` does not send `goal` or `smartDefault`, because Amazon sets them for authors. `smartDefault: "TARGETING"` is rejected. `brandId` must be an author brand: use `AMAZON_ADS_BRANDS_FIND` with `brandTypeFilter: "bookAuthor"` and send its `brandEntityId`.
- `AMAZON_ADS_BRANDS_FIND` without `brandTypeFilter` returns author brands.
- `AMAZON_ADS_ADS_ADD` for a Sponsored Brands product collection needs at least 3 unique product ASINs and a headline of at most 32 characters, and does not accept `customImages`. Amazon creates these ads as Manual Collection ads.
- `AMAZON_ADS_CAMPAIGNS_REMOVE` and the other remove Actions archive entities; archiving cannot be undone.
- Search term text in targets is not a target ID; use `AMAZON_ADS_TARGETS_FIND` to look up IDs.
- Bid, keyword, and budget recommendations and budget rules optimize Amazon's reported ad sales, not author royalties.
