> ## Documentation Index
> Fetch the complete documentation index at: https://docs.adsmcp.si/llms.txt
> Use this file to discover all available pages before exploring further.

# analyze_amazon_placements

> Compare Sponsored Products performance across placements (top of search, product pages, rest of search): metrics, shares of cost and sales, and ACOS against the account with a data flag per placement.

> [!NOTE]
>
> **Read-only.** Runs right away and changes nothing in your ad accounts. It still needs a connected platform (check `get_connections_status`) and counts as one tool call.

Compare Sponsored Products performance across placements (top of search, product pages, rest of search): metrics, shares of cost and sales, and ACOS against the account with a data flag per placement. No bid advice. Reads a live Amazon Reporting v3 report (14-day attribution): if Amazon has not finished it the result is status 'pending' with a report\_id and no rows; call again with that report\_id. Sponsored Products only; the date window is at most 93 days (read as up to 3 reports of at most 31 days).

**Platform:** Amazon Ads · **Type:** Read

## How to call it

* **MCP:** on `https://mcp.adsmcp.si/mcp`, run it through the `amazon_ads_read` tool with `{"action": "execute", "tool_name": "analyze_amazon_placements", "arguments": { ... }}`, or call `analyze_amazon_placements` by name. `search_tools` finds it and `get_tool_schema` returns its arguments; `https://mcp.adsmcp.si/mcp/flat` lists every tool by name.
* **REST:** `POST https://mcp.adsmcp.si/api/v1/tools/analyze_amazon_placements/execute` with `Authorization: Bearer sk_live_...` and a JSON body `{"platform": "amazon", "arguments": { ... }}`. The arguments are listed below; they are exactly the tool's input schema.


## OpenAPI

````yaml api-reference/openapi.json POST /api/v1/tools/analyze_amazon_placements/execute
openapi: 3.1.0
info:
  title: ADSMCP REST API
  version: 0.1.0
  description: >-
    ADSMCP REST API: every public ADSMCP tool as POST
    /api/v1/tools/{name}/execute. Generated from the ADSMCP code (the service
    serves the same document at GET /api/v1/openapi.json). Changes to ad
    accounts are staged for approval by a person on the ADSMCP dashboard;
    nothing in this API can approve them.
servers:
  - url: https://mcp.adsmcp.si
    description: ADSMCP MCP and REST service
security: []
paths:
  /api/v1/tools/analyze_amazon_placements/execute:
    post:
      tags:
        - amazon
      summary: >-
        Compare Sponsored Products performance across placements (top of search,
        product pages, rest of search): metrics, shares of cost and sales, and
        ACOS against the account with a data flag per placement. No bid advice.
        Reads a live Amazon Reporting v3 report (14-day attribution): if Amazon
        has not finished it the result is status 'pending' with a report_id and
        no rows; call again with that report_id. Sponsored Products only; the
        date window is at most 93 days (read as up to 3 reports of at most 31
        days).
      description: >-
        Compare Sponsored Products performance across placements (top of search,
        product pages, rest of search): metrics, shares of cost and sales, and
        ACOS against the account with a data flag per placement. No bid advice.
        Reads a live Amazon Reporting v3 report (14-day attribution): if Amazon
        has not finished it the result is status 'pending' with a report_id and
        no rows; call again with that report_id. Sponsored Products only; the
        date window is at most 93 days (read as up to 3 reports of at most 31
        days). Use this when you need that result and get_connections_status
        already shows the platform as connected. Read tools run without the
        approval queue.
      operationId: execute_analyze_amazon_placements
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
          description: Bearer token
        - name: Idempotency-Key
          in: header
          required: false
          schema:
            type: string
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                platform:
                  type: string
                  default: amazon
                arguments:
                  type: object
                  properties:
                    profile_id:
                      type: string
                      description: Amazon Ads profile id (see get_amazon_profiles).
                      minLength: 1
                      maxLength: 64
                    ad_product:
                      type: string
                      description: >-
                        Ad product. Only SP (Sponsored Products, also
                        SPONSORED_PRODUCTS) is supported; SB and SD are refused.
                    lookback_days:
                      type: integer
                      minimum: 1
                      maximum: 93
                      description: >-
                        Last N complete days (default 30, max 93; over 31 days
                        the window is read as up to 3 reports). Do not combine
                        with start_date/end_date.
                    start_date:
                      type: string
                      description: >-
                        First day, YYYY-MM-DD, inclusive. Give start_date and
                        end_date together, or use lookback_days.
                      pattern: ^\d{4}-\d{2}-\d{2}$
                    end_date:
                      type: string
                      description: >-
                        Last day, YYYY-MM-DD, inclusive. Give start_date and
                        end_date together, or use lookback_days.
                      pattern: ^\d{4}-\d{2}-\d{2}$
                    report_id:
                      type: string
                      description: >-
                        Continue a report that came back pending. Pass the same
                        other arguments again.
                      minLength: 1
                      maxLength: 128
                    report_ids:
                      type: array
                      minItems: 1
                      maxItems: 3
                      items:
                        type: string
                        description: Report id.
                        minLength: 1
                        maxLength: 128
                      description: >-
                        Continue a window over 31 days that came back pending:
                        pass continue_with.report_ids with the same
                        start_date/end_date.
                    campaign_id:
                      type: string
                      description: Campaign (adds a by_campaign breakdown) id.
                      minLength: 1
                      maxLength: 64
                    min_cost:
                      type: number
                      minimum: 0
                      description: >-
                        Placements with less cost are flagged insufficient_data
                        (default 0).
                    min_clicks:
                      type: integer
                      minimum: 0
                      description: >-
                        Placements with fewer clicks are flagged
                        insufficient_data (default 10).
                  required:
                    - profile_id
                  additionalProperties: false
              additionalProperties: false
      responses:
        '200':
          description: Tool execution result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecuteToolResponse'
        '400':
          description: Invalid JSON input.
        '401':
          description: Authentication error.
      security:
        - bearerAuth: []
components:
  schemas:
    ExecuteToolResponse:
      type: object
      properties:
        ok:
          type: boolean
        platform:
          type: string
        tool:
          type: string
        data: {}
        error:
          anyOf:
            - type: 'null'
            - $ref: '#/components/schemas/ErrorResponse'
        mcp_response: {}
      required:
        - ok
        - platform
        - tool
        - error
        - mcp_response
      additionalProperties: false
    ErrorResponse:
      type: object
      properties:
        code: {}
        message:
          type: string
        details: {}
      required:
        - message
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API token

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.