Reading data
Videos
Video submissions are the atomic unit you're paying for. Each video has a status (submitted → approved → live), a set of platform-specific stats that grow over time, and a creator. The list endpoint is filterable by status, which is handy for moderation dashboards or budget projections.
GET
/campaigns/{campaignId}/videosList videos in a campaign
Each entry includes current stats. Filter by status to look at just submissions awaiting review, or just live videos for performance work.
pageintegerPage number
per_pageintegerItems per page
statusenumsubmitted, approved, rejected, live, resubmitted
const response = await fetch(
"https://ugcbloom.com/api/v1/campaigns/:campaignId/videos", {
headers: {
"Authorization": "Bearer ugcb_live_your_api_key_here"
}
}
);
const data = await response.json();GET
/campaigns/{campaignId}/videos/{videoId}Get a single video
Includes
stats_history, a full series of engagement snapshots over time. Use it to assess whether a video has plateaued or is still climbing.const response = await fetch(
"https://ugcbloom.com/api/v1/campaigns/:campaignId/videos/:videoId", {
headers: {
"Authorization": "Bearer ugcb_live_your_api_key_here"
}
}
);
const data = await response.json();