Widget Analytics
The same funnel per widget, with pagination, sorting and filtering by widget type, plus a single-widget lookup by ID.
A widget is a placement: the carousel on the home page, the stories bar on a collection, the floating player on product pages. This endpoint tells you which placement earns its space. Each item carries the widget (title, type, status, how many videos it holds) and a metrics object with the same eight fields as the summary.
Widget types
type | Where it usually lives |
|---|---|
carousel | A row of videos on the home page or a collection page. |
story | Round story bubbles, usually near the top of a page. |
floating | A small player pinned to a corner of the page. |
productpage | Videos shown on the product page, next to the product they are tagged with. |
Filter with widget_type=carousel to compare carousels only. Pagination counts are computed after the filter.
Two endpoints
| Endpoint | Returns |
|---|---|
GET /api/v1/analytics/widgets | A page of widgets, sorted the way you ask. |
GET /api/v1/analytics/widget/{widgetId} | One widget by its ID, for example widget-xyz789. |
Query parameters are the same as for videos, plus widget_type.
Typical call
Every placement, best converting first:
curl "https://help.reelplus.app/api/v1/analytics/widgets?sort_by=orders&sort_order=desc" \
-H "Authorization: Bearer rp_653f0a33f2bbf185566e8e9a11651a4fd3cfc5fe10c1694eef4d54b830c2d2cf"Authorization
BearerAuth API key with the rp_ prefix, sent as a Bearer token.
Sandbox: use the demo key from the API Overview. It is read-only and limited to the demo store.
Production: keys are issued per store on Enterprise plans, on request. Once enabled, generate them from Settings > API Access in your ReelPlus dashboard.
Format: rp_{64 hex characters}
In: header
Query Parameters
Start of the date range (ISO 8601). Defaults to 30 days ago.
dateEnd of the date range (ISO 8601). Defaults to now.
datePage number (1-indexed).
11 <= valueResults per page (max 100).
101 <= value <= 100Field to sort results by.
"views""views" | "clicks" | "impressions" | "add_to_cart" | "orders" | "revenue" | "title" | "created_at"Sort direction.
"desc""asc" | "desc"Filter by widget type.
"carousel" | "story" | "floating" | "productpage"Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://help.reelplus.app/api/v1/analytics/widgets"{
"success": true,
"data": [
{
"id": "widget-xyz789",
"title": "Home Carousel",
"type": "carousel",
"status": "active",
"video_count": 8,
"metrics": {
"impressions": 5600,
"views": 1450,
"clicks": 195,
"add_to_cart": 42,
"orders": 12,
"revenue": 967.8
}
}
],
"meta": {
"start_date": "2025-01-01T00:00:00.000Z",
"end_date": "2025-01-31T23:59:59.999Z"
},
"pagination": {
"page": 1,
"limit": 10,
"total_count": 42,
"total_pages": 5
}
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
}Authorization
BearerAuth API key with the rp_ prefix, sent as a Bearer token.
Sandbox: use the demo key from the API Overview. It is read-only and limited to the demo store.
Production: keys are issued per store on Enterprise plans, on request. Once enabled, generate them from Settings > API Access in your ReelPlus dashboard.
Format: rp_{64 hex characters}
In: header
Path Parameters
The unique widget identifier.
Query Parameters
Start of the date range (ISO 8601). Defaults to 30 days ago.
dateEnd of the date range (ISO 8601). Defaults to now.
dateResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://help.reelplus.app/api/v1/analytics/widget/widget-xyz789"{
"success": true,
"data": {
"id": "widget-xyz789",
"title": "Home Carousel",
"type": "carousel",
"status": "active",
"video_count": 8,
"metrics": {
"impressions": 5600,
"views": 1450,
"clicks": 195,
"add_to_cart": 42,
"orders": 12,
"revenue": 967.8
}
},
"meta": {
"start_date": "2025-01-01T00:00:00.000Z",
"end_date": "2025-01-31T23:59:59.999Z"
}
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
}