# TikTok Ads insights

Query TikTok Ads performance insights using the current native/calculated metric catalog and query planning. Works on your own TikTok Ads account, connected through Get MCP Ads. Needs advertiser id, metrics, start date and more.

Query TikTok Ads performance insights using the current native/calculated metric catalog and query planning.
Use tiktok://metrics resource to see available metrics. Use tiktok://dimensions for dimensions.
Age/gender dimensions route automatically to AUDIENCE reports via tiktok_get_audience_report, including campaign/ad group levels. Other dimensions use the BASIC planner. Multiple audience breakdowns remain separate reports, never joined. Agentik price: $0.005 per call.

- Tool ID: `tiktok-ads/get-insights`
- Name in the catalog: TikTok: Get insights
- Provider: [TikTok Ads](/providers/tiktok-ads.md)
- Capability: [TikTok Ads reporting](/tools/tiktok-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": {
    "advertiserId": {
      "type": "string",
      "description": "TikTok advertiser ID"
    },
    "reportType": {
      "type": "string",
      "enum": [
        "BASIC",
        "AUDIENCE"
      ],
      "description": "Defaults to AUDIENCE for age/gender, BASIC otherwise. Explicit BASIC with demographics is rejected."
    },
    "metrics": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "description": "Metric keys from tiktok://metrics (e.g., spend, impressions, clicks)"
    },
    "dimensions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Dimension keys from tiktok://dimensions (e.g., stat_time_day, campaign_id)"
    },
    "dataLevel": {
      "type": "string",
      "enum": [
        "AUCTION_ADVERTISER",
        "AUCTION_CAMPAIGN",
        "AUCTION_ADGROUP",
        "AUCTION_AD"
      ],
      "default": "AUCTION_CAMPAIGN",
      "description": "TikTok reporting aggregation level. Metrics and dimensions must be compatible with this level."
    },
    "startDate": {
      "type": "string",
      "description": "Start date YYYY-MM-DD"
    },
    "endDate": {
      "type": "string",
      "description": "End date YYYY-MM-DD"
    },
    "queryLifetime": {
      "type": "boolean",
      "default": false,
      "description": "Query lifetime metrics (cannot use time dimensions)"
    },
    "campaignIds": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^\\d+$"
      },
      "minItems": 1,
      "maxItems": 100,
      "description": "Restrict audience reports to these campaigns."
    },
    "adgroupIds": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^\\d+$"
      },
      "minItems": 1,
      "maxItems": 100,
      "description": "Restrict audience reports to these ad groups."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10000,
      "description": "AUDIENCE report page; follow nextPage."
    },
    "adIds": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^\\d+$"
      },
      "minItems": 1,
      "maxItems": 100,
      "description": "Restrict AUCTION_AD reports to these ad IDs, including daily trends."
    },
    "orderField": {
      "type": "string",
      "enum": [
        "spend",
        "impressions",
        "clicks"
      ],
      "description": "Order the native report before limiting rows. Include this metric in metrics."
    },
    "orderType": {
      "type": "string",
      "enum": [
        "ASC",
        "DESC"
      ],
      "description": "Native sort direction; defaults to DESC when orderField is selected."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000,
      "default": 500,
      "description": "Maximum number of returned items or rows. The declared bounds and default apply; use pagination for additional results."
    },
    "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": [
    "advertiserId",
    "metrics",
    "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/tiktok-ads/get-insights) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/tiktok-ads/get-insights) · [Agent index](/llms.txt)
