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

# Get Report

> Retrieves organic TikTok analytics for the connected account: account level daily metrics (video views, profile views, followers, engagement, bio link clicks) over a date range, or lifetime per vid...

Retrieves organic TikTok analytics for the connected account: account level daily metrics (video views, profile views, followers, engagement, bio link clicks) over a date range, or lifetime per video metrics (views, reach, watch time, full watch rate) with post prefixed fields. Per video breakdowns are dimensions paired with the 'percentage' metric: impressionSource (For You, Search, Follow), retentionSecond (watch retention curve), viewerType, viewerCountry, viewerGender, viewerCity; one breakdown dimension per report. Account and post fields cannot be mixed.

| | |
| - | - |
| **App** | TikTok Organic |
| **Operation ID** | `tiktok_get_report` |
| **Type** | Action |
| **Connection** | `tiktok` (required) |
| **Credits per run** | 1 |
| **Agent / MCP tool** | Yes |

## Inputs

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `accounts` | null | No | - | |
| `date_range` | DateRange | Yes | - | Date range for the report. Options: - Use preset='FIXED' with start/end dates (YYYY-MM-DD) for specific date ranges - Use preset='CUSTOM' with start/end dynamic values (\{\{nodeId\_\_data.start\_date}}) for dates from other nodes - Use other presets (TODAY, YESTERDAY, LAST\_7\_DAYS, etc.) for predefined ranges When using 'FIXED' or 'CUSTOM' presets, both start and end fields are required. For other presets, start and end will be ignored and calculated automatically. |
| `metrics` | array of string or SelectableOption | Yes | - | List of metrics to query. Don't try to guess metric names, use the relevant tool to discover available metrics or prompt user to browse metrics in the UI. |
| `dimensions` | array of string or SelectableOption | No | - | List of dimensions to query. Don't try to guess dimension names, use the relevant tool to discover available dimensions or prompt user to browse dimensions in the UI. |
| `filters` | array of FilterItem | No | - | List of filters to apply to the report. Each filter must have a field, operator, and value. Filters are combined using AND logic. If you want to use OR logic, use relevant operators like REGEXP\_MATCH or IN\_LIST. |
| `orders` | array of OrderItem | No | - | List of fields to sort the report by. Each order must have a `field` and `direction`. The field must be one of the current selected metrics or dimensions. |
| `limit` | integer | No | - | The maximum number of rows to return. |
| `options` | ReportOptions | No | - | Additional options for the report. |

### DateRange

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `start` | string | No | - | The start date of the date range to query, format: YYYY-MM-DD or dynamic node reference like \{\{nodeId\_\_data.start\_date}}. Required when preset is 'FIXED' or 'CUSTOM'. |
| `end` | string | No | - | The end date of the date range to query, format: YYYY-MM-DD or dynamic node reference like \{\{nodeId\_\_data.end\_date}}. Required when preset is 'FIXED' or 'CUSTOM'. |
| `preset` | string | No | - | Predefined date ranges or input modes: - Use 'FIXED' or leave empty when you want to specify exact dates (YYYY-MM-DD format) in start/end fields - Use 'CUSTOM' when you want to use dynamic values from other nodes (\{\{nodeId\_\_data.start\_date}} format) in start/end fields - Use other presets (TODAY, YESTERDAY, LAST\_7\_DAYS, etc.) for predefined date ranges (start/end will be ignored) LAST\_N\_MONTHS and LAST\_N\_WEEKS are complete calendar periods ending with last month or last week, so they exclude the current month or week; for a rolling window up to yesterday use LAST\_N\_DAYS (for example LAST\_90\_DAYS) or a FIXED range. When using 'FIXED' or 'CUSTOM', both start and end fields are required. |
| `compare` | CompareOptions | No | - | Optional comparison date range settings. ALWAYS use this field for comparisons; DO NOT create additional requests or nodes, as the backend returns current, comparison, and delta metrics in a single call. |

### FilterItem

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `field` | string or SelectableOption | Yes | - | The field to filter on, must be one of the current selected metrics or dimensions. |
| `operator` | string | Yes | - | The operator to use for filtering. Must be one of the supported values. Use REGEXP\_MATCH to search/filter by multiple OR values like '.*(summer\|holiday).*' |
| `value` | string | Yes | - | The value to filter by, always as a string: text, a number, or a regex. For IN\_LIST and NOT\_IN\_LIST, pass the values as one comma-separated string such as 'a,b,c', not as an array. For regex values, escape backslashes once in the JSON string: write \b for a word boundary, not \b. |

### OrderItem

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `field` | string or SelectableOption | Yes | - | The field to sort by. must be one of the current selected metrics or dimensions. |
| `direction` | string | Yes | - | The order to sort by, must be one of 'ASC', 'DESC' |

### ReportOptions

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `pretty_column_names` | boolean | No | - | whether to use pretty column names in the report (e.g., 'Clicks' instead of 'clicks'). |
| `show_percent_sign` | boolean | No | - | whether to show percent sign for percentage metrics (e.g., '58%' instead of '0.58'). |
| `currency_symbol` | string | No | - | the currency symbol to use for monetary values (e.g., '\$'). |
| `compact_numbers` | boolean | No | - | whether to use compact number format (e.g., '1K') and round decimals. Takes priority over thousand\_separators. |
| `thousand_separators` | boolean | No | - | whether to format numbers with thousand separators (e.g., '105,878') and round decimals. Ignored if compact\_numbers is enabled. |
| `pivot_dimensions` | array of string | No | - | the dimensions to pivot the report on. Must be one of the current selected dimensions. |
| `include_zero_impressions` | boolean | No | - | whether to include zero impressions in the report. |

### SelectableOption

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `value` | string | Yes | - | |
| `label` | string | Yes | - | |

### CompareOptions

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `start` | string | No | - | The start date of the comparison range, format: YYYY-MM-DD. Optional if preset is provided. |
| `end` | string | No | - | The end date of the comparison range, format: YYYY-MM-DD. Optional if preset is provided. |
| `preset` | string | No | - | Predefined comparison ranges. When provided, start and end will be ignored. |
| `comparison_format` | string | No | `rows` | Comparison output layout: 'rows' returns separate rows for current, comparison, and delta along with date ranges; 'columns' returns a single row with delta values only as additional \*\_pct or \*\_change columns depending on comparison\_value\_type. |
| `comparison_value_type` | string | No | `percentage` | Value type: 'percentage' or 'absolute' |

## Output

**Type**: `List[Dict]`

Returns list of rows. Account level: one row per date (or week/month, or a single totals row with no date dimension). Post level: one row per video.

**Fields**: dynamic (depend on the inputs)

**Example**:

```json theme={"dark"}
[
  {
    "date": "2026-08-10",
    "video_views": 1250,
    "profile_views": 40,
    "daily_total_followers": 3210
  }
]
```


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