---
title: "Export trending videos"
method: POST
path: "/social-intelligence/videos/trending/export"
tags: ["Social Intelligence"]
---

# Export trending videos

`POST /social-intelligence/videos/trending/export`

## Request

- Base URL: `https://api.reacherapp.com/public/v1`
- URL: `https://api.reacherapp.com/public/v1/social-intelligence/videos/trending/export`
- Auth: API key in header `x-api-key` and API key in header `x-shop-id`

Export the trending-video list in one call — same filters as GET /social-intelligence/videos/trending, but without pagination. Pass `video_ids` to export a specific selection instead.

Returns JSON rows by default; pass `format: "csv"` for a downloadable file. Capped at 1000 rows for most customers; `truncated: true` in the JSON response means the cap clipped the result. Read-only, but it consumes one of the shop's daily exports — a quota shared with portal exports.

## Request body

- TrendingVideosExportBody: Body for POST /social-intelligence/videos/trending/export. Mirrors the portal's ``TrendingVideosExportRequest`` field for field, minus ``shop_id``: on the public API the shop comes from the ``x-shop-id`` header, and accepting a second, ignorable copy in the body would let a caller believe they had scoped an export that they had not. When ``video_ids`` is non-empty the filter fields are ignored and exactly those videos are exported; otherwise the export covers the current filter + sort, capped server-side.
  - `video_ids` string[], nullable: Export these specific videos. Filters below are then ignored.
  - `search` string, nullable
  - `category` string, nullable
  - `subcategory` string, nullable
  - `sort_by` string, nullable: gmv, views, likes, engagement, date
  - `sort_order` string
  - `time_range` string, nullable
  - `min_gmv` number, nullable
  - `max_gmv` number, nullable
  - `start_date` string, nullable
  - `end_date` string, nullable
  - `min_engagement` number, nullable
  - `max_engagement` number, nullable
  - `min_views` integer, nullable
  - `max_views` integer, nullable
  - `format` string: `json` returns rows; `csv` returns a downloadable file.

## Response `200`

Successful Response

- SiExportResponse: JSON form of an SI export. `format=csv` returns a CSV file instead.
  - `data` unknown[], required: Export rows, one object per record.
    - unknown
  - `row_count` integer, required
  - `row_limit` integer, nullable, required: Per-request row cap applied. Null when the customer is uncapped.
  - `truncated` boolean, required: True when the row cap clipped the result — there is more data than was returned. Narrow the filters and export again rather than treating the rows as the complete set.
  - `columns` string[], required: Column order used by the CSV form.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/reacherapp/apis/reacher-data-api.md) - [All operations](https://skmtc.dev/reacherapp/apis/reacher-data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/reacherapp/apis/reacher-data-api/revisions/63ce74b30b5a?raw)
