Skip to main content

Analytics

Retrieve performance metrics for your uploads, profiles, and connected platforms.

All analytics endpoints require authentication via session cookie or Authorization: Apikey YOUR_API_KEY header.

Plan gating

GET /api/analytics/overview, /youtube-stats, /activity, and /:upload_id are available on all plans. The remaining endpoints (/views, /platforms, /top-posts, /platform-performance, /profile/:profile_name) require a paid plan with analytics enabled. A 403 is returned otherwise.


Get Overview​

GET https://api.indreelforge.com/api/analytics/overview

Returns aggregate upload counts and account stats for the authenticated user. Available on all plans.

Query Parameters​

ParameterDefaultDescription
range30dTime range for period_uploads and trend. Any integer followed by d (e.g. 7d, 90d).
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
'https://api.indreelforge.com/api/analytics/overview?range=30d'

Response​

{
"total_uploads": 120,
"period_uploads": 47,
"completed": 115,
"failed": 3,
"trend": 12.5,
"profiles": 4,
"api_keys": 2,
"range": "30d"
}
FieldDescription
total_uploadsAll-time upload count for the account
period_uploadsUploads created within the requested range
completedAll-time completed uploads
failedAll-time failed uploads
trendPercentage change in uploads vs. the previous equivalent period (e.g. +12.5 means 12.5 % more uploads this period than last)
profilesNumber of profiles on the account
api_keysNumber of API keys on the account
rangeEcho of the range query param used

Get Daily Upload Counts​

GET https://api.indreelforge.com/api/analytics/views

Returns a day-by-day upload count series. Missing days are filled with 0. Requires a paid plan.

Alias: GET /api/analytics/views-over-time — identical behaviour.

Query Parameters​

ParameterDefaultDescription
range30dNumber of days to include, or all (capped at 365 days)
profile—Filter to a single profile by name
platform—Filter to uploads that targeted a specific platform (e.g. instagram)
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
'https://api.indreelforge.com/api/analytics/views?range=7d&platform=instagram'

Response​

{
"data": [
{ "date": "2026-04-11", "count": 3 },
{ "date": "2026-04-12", "count": 0 },
{ "date": "2026-04-13", "count": 5 }
],
"range": "7d"
}

Get Platform Breakdown​

GET https://api.indreelforge.com/api/analytics/platforms

Returns total upload count per platform for the authenticated user, sorted by count descending. Requires a paid plan.

Alias: GET /api/analytics/uploads-by-platform — identical behaviour.

Query Parameters​

ParameterDefaultDescription
range30dTime range (integer days or all)
profile—Filter to a single profile by name
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
'https://api.indreelforge.com/api/analytics/platforms?range=30d'

Response​

{
"platforms": [
{ "platform": "instagram", "count": 32, "percentage": 45.1 },
{ "platform": "youtube", "count": 18, "percentage": 25.4 },
{ "platform": "tiktok", "count": 14, "percentage": 19.7 },
{ "platform": "x", "count": 4, "percentage": 5.6 },
{ "platform": "linkedin", "count": 3, "percentage": 4.2 }
],
"total": 71
}

percentage is each platform's share of the total upload count across all platforms within the selected range.


Get Top Posts​

GET https://api.indreelforge.com/api/analytics/top-posts

Returns the 10 most recent completed uploads, optionally filtered by profile and platform. Requires a paid plan.

Query Parameters​

ParameterDefaultDescription
range30dTime range (integer days or all)
profile—Filter to a single profile by name
platform—Filter to uploads that targeted a specific platform
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
'https://api.indreelforge.com/api/analytics/top-posts?range=30d'

Response​

{
"posts": [
{
"id": "upl_abc123",
"title": "Summer campaign reel",
"upload_type": "video",
"platforms": ["instagram", "tiktok"],
"platform_statuses": {
"instagram": "completed",
"tiktok": "completed"
},
"status": "completed",
"created_at": "2026-04-10T14:32:00.000Z"
}
]
}

Get Platform Performance​

GET https://api.indreelforge.com/api/analytics/platform-performance

Returns per-platform upload counts for the current period with a percentage trend vs. the previous equivalent period. Requires a paid plan.

Query Parameters​

ParameterDefaultDescription
range30Number of days (integer only — no d suffix)
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
'https://api.indreelforge.com/api/analytics/platform-performance?range=30'

Response​

{
"platforms": [
{ "name": "instagram", "views": "32", "trend": "+14%" },
{ "name": "youtube", "views": "18", "trend": "+0%" },
{ "name": "tiktok", "views": "14", "trend": "-7%" }
]
}

views is the upload count for that platform in the selected period (formatted as "1K" for values ≥ 1000). trend is the percentage change vs. the prior period, e.g. "+14%".


Get YouTube Channel Stats​

GET https://api.indreelforge.com/api/analytics/youtube-stats

Fetches live channel statistics from the YouTube Data API for every YouTube profile connected to the account. Available on all plans.

curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
'https://api.indreelforge.com/api/analytics/youtube-stats'

Response​

{
"profiles": [
{
"profile": "my-brand",
"channel_name": "My Brand Official",
"channel_id": "UCxxxxxxxxxxxxxxxxxxxxxx",
"thumbnail": "https://yt3.ggpht.com/...",
"subscribers": 48200,
"total_views": 1820000,
"video_count": 142,
"hidden_subscribers": false
}
]
}

If a channel cannot be fetched (e.g. token expired), that entry will include an error field instead of the stats fields:

{ "profile": "my-brand", "error": "No channel found" }

Get Activity Feed​

GET https://api.indreelforge.com/api/analytics/activity

Returns a unified activity feed of recent uploads, profiles created, and API keys generated, sorted by timestamp descending. Returns up to 20 events. Available on all plans.

curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
'https://api.indreelforge.com/api/analytics/activity'

Response​

{
"activities": [
{
"type": "upload",
"message": "video uploaded to instagram, tiktok",
"title": "Summer campaign reel",
"status": "completed",
"timestamp": "2026-04-17T09:14:00.000Z"
},
{
"type": "profile",
"message": "Profile 'my-brand' created",
"timestamp": "2026-04-15T11:00:00.000Z"
},
{
"type": "api_key",
"message": "API key 'production' generated",
"timestamp": "2026-04-14T08:22:00.000Z"
}
]
}
type valueFields present
uploadtype, message, title, status, timestamp
profiletype, message, timestamp
api_keytype, message, timestamp

Get Profile Analytics​

GET https://api.indreelforge.com/api/analytics/profile/:profile_name

Returns aggregate upload stats for a single profile. Requires a paid plan.

Path Parameters​

ParameterDescription
profile_nameThe name of the profile (must belong to the authenticated user)

Query Parameters​

ParameterDefaultDescription
range30dTime range (integer days or all). Also accepted as period.
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
'https://api.indreelforge.com/api/analytics/profile/my-brand?range=30d'

Response​

{
"profile": "my-brand",
"period": "30d",
"total_uploads": 120,
"period_uploads": 47,
"completed": 115,
"failed": 3,
"top_platform": "instagram",
"growth_rate": "+12.5%",
"uploads_by_platform": {
"instagram": 32,
"tiktok": 14,
"youtube": 1
}
}
FieldDescription
total_uploadsAll-time upload count for this profile
period_uploadsUploads in the requested range
completed / failedAll-time completed / failed counts
top_platformPlatform with the most uploads in the period, or null
growth_ratePercentage change vs. prior equivalent period (e.g. "+12.5%")
uploads_by_platformUpload count per platform within the period

Returns 404 if the profile does not exist or does not belong to the authenticated user.


Get Upload Detail​

GET https://api.indreelforge.com/api/analytics/:upload_id

Returns the status and platform-level details for a specific upload. Available on all plans.

info

IndReelForge stores post IDs at publish time. Live engagement metrics (views, likes, comments) are not stored locally — retrieve them directly from each platform's API using the post_id values returned here.

Path Parameters​

ParameterDescription
upload_idThe ID of the upload
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
https://api.indreelforge.com/api/analytics/upl_abc123

Response​

{
"upload_id": "upl_abc123",
"title": "Summer campaign reel",
"type": "video",
"status": "completed",
"created_at": "2026-04-10T14:32:00.000Z",
"completed_at": "2026-04-10T14:34:12.000Z",
"platforms": {
"instagram": {
"status": "completed",
"post_id": "17846368219001234"
},
"tiktok": {
"status": "completed",
"post_id": "7012345678901234567"
}
},
"post_urls": {
"instagram": "https://www.instagram.com/p/Cxxxxxxxx/",
"tiktok": "https://www.tiktok.com/@handle/video/7012345678901234567"
}
}
FieldDescription
upload_idUpload identifier
titleUpload title
typeUpload type (video, photos, text, etc.)
statusOverall upload status (completed, failed, queued, etc.)
created_atISO 8601 timestamp when the upload was created
completed_atISO 8601 timestamp when the upload finished, or null
platformsMap of platform name → { status, post_id }
post_urlsMap of platform name → direct post URL, or null if not stored

Returns 404 if the upload does not exist or does not belong to the authenticated user.