# Run a Pinterest Ads report

Run a read-only Pinterest Ads report. Works on your own Pinterest Ads account, connected through Get MCP Ads. Needs start date and end date.

Run a read-only Pinterest Ads report. Auto-routes old/wide or explicit async requests through Pinterest async reports. Uses raw Pinterest reporting column names. Agentik price: $0.005 per call.

- Tool ID: `pinterest-ads/run-report`
- Name in the catalog: Pinterest: Run report
- Provider: [Pinterest Ads](/providers/pinterest-ads.md)
- Capability: [Pinterest Ads reporting](/tools/pinterest-ads/reporting.md)
- Price: $0.005 per call
- Workspace access is automatic. Connect a platform using the link and notice returned to your AI assistant; an owner or admin completes platform consent and returns to the conversation; see the [guide](/docs/getmcpads.md).
- Authentication: an authorised Agentik workspace is required for execution, including zero-price tools.

## Pricing contract

The provider’s price, with no markup. Billed for measured usage.


```json
{
  "model": "per_call",
  "amountUsd": 0.005
}
```

## Complete input schema


```json
{
  "type": "object",
  "properties": {
    "adAccountId": {
      "type": "string",
      "description": "Owning advertising account ID. Use the exact ID returned by account discovery; do not substitute a campaign or business ID."
    },
    "level": {
      "type": "string",
      "enum": [
        "AD_ACCOUNT",
        "CAMPAIGN",
        "AD_GROUP",
        "AD",
        "PRODUCT_GROUP"
      ],
      "default": "CAMPAIGN",
      "description": "Entity or aggregation level for the requested report."
    },
    "startDate": {
      "type": "string",
      "description": "First date of the reporting period, in YYYY-MM-DD format."
    },
    "endDate": {
      "type": "string",
      "description": "Last date of the reporting period, in YYYY-MM-DD format, on or after startDate."
    },
    "granularity": {
      "type": "string",
      "enum": [
        "TOTAL",
        "DAY",
        "WEEK",
        "MONTH",
        "HOUR"
      ],
      "default": "DAY",
      "description": "Time bucket used to aggregate reporting rows."
    },
    "columns": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "default": [
        "SPEND_IN_DOLLAR",
        "IMPRESSION_1",
        "CLICKTHROUGH_1",
        "OUTBOUND_CLICK_1",
        "REPIN_1",
        "TOTAL_CHECKOUT",
        "TOTAL_CHECKOUT_VALUE_IN_MICRO_DOLLAR",
        "CHECKOUT_ROAS"
      ],
      "description": "Native Pinterest reporting column names. Discover supported columns before selecting metrics."
    },
    "executionMode": {
      "type": "string",
      "enum": [
        "auto",
        "sync",
        "async"
      ],
      "default": "auto",
      "description": "Choose the supported synchronous, asynchronous or automatic report execution strategy."
    },
    "waitForReport": {
      "type": "boolean",
      "default": true,
      "description": "False starts or polls an async report once and returns a resumable reportToken instead of waiting. Use the same query and token on the next call."
    },
    "reportToken": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "description": "Resume a previously returned async reporting token for this ad account; never starts a second job."
    },
    "entityIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Exact IDs of the entities to include in the selected reporting level."
    },
    "targetingTypes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Native targeting categories used to break down delivery."
    },
    "filters": {
      "type": "object",
      "additionalProperties": {},
      "description": "Filters combined according to this tool's query schema. Use provider field names and the declared operators."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 5000,
      "default": 500,
      "description": "Maximum number of returned items or rows. The declared bounds and default apply; use pagination for additional results."
    },
    "clickWindowDays": {
      "type": "integer",
      "minimum": 0,
      "maximum": 60,
      "default": 30,
      "description": "Click-through attribution window, in days."
    },
    "engagementWindowDays": {
      "type": "integer",
      "minimum": 0,
      "maximum": 60,
      "default": 30,
      "description": "Engagement-through attribution window, in days."
    },
    "viewWindowDays": {
      "type": "integer",
      "minimum": 0,
      "maximum": 60,
      "default": 1,
      "description": "View-through attribution window, in days."
    },
    "conversionReportTime": {
      "type": "string",
      "enum": [
        "TIME_OF_AD_ACTION",
        "TIME_OF_CONVERSION"
      ],
      "default": "TIME_OF_AD_ACTION",
      "description": "Whether conversions are assigned to the ad action date or the conversion date."
    },
    "attributionTypes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "INDIVIDUAL",
          "HOUSEHOLD"
        ]
      },
      "description": "Provider attribution categories included in the report."
    },
    "reportingTimezone": {
      "type": "string",
      "enum": [
        "PINTEREST_TIME_ZONE",
        "AD_ACCOUNT_TIME_ZONE"
      ],
      "default": "PINTEREST_TIME_ZONE",
      "description": "Provider reporting timezone selector. Keep it consistent when comparing periods."
    },
    "workspace_id": {
      "type": "string",
      "description": "Authorized workspace ID from list_accounts/list_workspaces. Use the user's chosen workspace; never guess between clients. Optional when a unique account identifies it."
    }
  },
  "required": [
    "startDate",
    "endDate"
  ]
}
```

## Published example

No example input is published for this tool. Ask for the inputs required by its schema.

## Execute and retrieve

Inspect again before execution, explain the price and obtain the required authority. Use MCP run_tool or POST /v1/run with this tool ID, valid input and an idempotency key. Save the returned run ID and follow the actual state. If Agentik answers that the tool is temporarily unavailable, do not retry it blindly; use discovery to propose an alternative.

A partial or uncertain result can still have consumed provider resources. Consult [billing](/docs/billing.md), [idempotency](/docs/idempotency.md) and [asynchronous results](/docs/async.md).

[REST inspection](https://api.agentik.cc/v1/tools/pinterest-ads/run-report) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/pinterest-ads/run-report) · [Agent index](/llms.txt)
