Why UGC API
Posting APIs post. UGC API runs the campaign and tells you what won.
Built for teams that put the same clips on dozens of creator accounts across TikTok, Instagram, Facebook and YouTube. Six things you would otherwise build yourself.
1 · One call
A whole campaign is one request, not a loop.
Other APIs post one thing to one account. You write the loop, the per-platform options, the rate limiting and the schedule. Here you name an account group, set each platform's options once, and get back every post, time and credit before anything is scheduled.
- ●targets: account tags and platforms instead of 40 ids
- ●defaults: TikTok privacy, Instagram Stories, YouTube visibility set once
- ●cadence: round-robin across accounts, minutes apart, in your timezone
- ●dry_run: the full plan and its credit cost first
POST /v1/campaigns
{
"targets": { "tags": ["skincare-creators"] }, // 40 accounts, no ids
"defaults": { "tiktok": { "privacy": "PUBLIC_TO_EVERYONE" },
"instagram": { "story": true } }, // once, not per post
"posts": [{ "media": ["https://cdn.you.com/day3.mov"],
"caption_variants": ["3 days in 👀", "ok this actually works"] }],
"cadence": { "per_day": 2 },
"rules": [{ "when": "breakout", "action": "repost",
"targets": { "tags": ["backup-creators"] } }],
"dry_run": true
}2 · Send any file
Send what your creators shot. We fit it to each platform.
Instagram rejects PNGs and anything outside 4:5 to 1.91:1. Facebook Reels stop at 90 seconds. Every platform has its own caption and hashtag limits. UGC API converts, pads or crops, trims and skips per placement, and tells you exactly what it changed.
- ●PNG and WebP become the JPEG Instagram needs
- ●Aspect ratios padded (default) or cropped, or skip if you prefer
- ●Captions and hashtags trimmed to each platform's limit
- ●Placements a file can't go to are skipped, not failed
POST /v1/posts · "dry_run": true → warnings
- converted
launch.png · 1080×1350
→ JPEG for Instagram
- adjusted
banner.webp · 3:1
→ Padded to 1.91:1
- adjusted
Caption · 38 hashtags
→ Trimmed to 30 on Instagram
- skipped
unbox.mp4 · 94 s
→ Skipped as a Facebook Reel (90 s max), posted everywhere else
- adjusted
Slideshow · 12 photos
→ First 10 as the Instagram carousel
Nothing is scheduled until you drop dry_run. Conversions run on our side at no extra cost.
3 · The clip is the unit
One clip, one id, on every account and platform.
Posting APIs give you a post id per platform and leave the joining to you. UGC API gives every clip a clip_id that follows it to every account and platform, so its numbers add up: TikTok views, Reel plays and Shorts views as one views number, and null where a platform doesn't report something.
- ●GET /v1/clips/:id: one clip's results on every platform
- ●Views at 1 h, 6 h, 1 d, 3 d and 7 d from hourly snapshots
- ●Same clip_id when you post it again next month
- ●Bring your own clip_id to match your asset library

clip_7f3a9c21e04b8d10
“Day 3 serum update”
34 posts · 4 platforms · 1 report
2.5× next platform
10.5% engagement · 400 saves
best 7-day tail
4 · See what won
Which platform, creator and caption won.
A campaign report groups results by platform, account, clip, caption variant or day, names the winner, and shows lift over the campaign median and cost per 1,000 views from the credits you spent. Caption variants rotate across creators so every test has a control.
- ●group_by platform, account, clip, variant or day
- ●Winner and how far ahead of the runner-up
- ●Lift, engagement rate, cost per 1,000 views
- ●Plain-language insights you can paste into a client update
report?group_by=variant
5 · Breakouts
When a clip takes off, it reposts itself.
A clip is a breakout when it reaches 3× its account's median views within 48 hours. You get a post.breakout webhook, and a repost rule can send it to the creators in another group who haven't posted it yet, after a delay and up to a limit you set.
- ●Measured against each account's own median, not a global number
- ●Repost to a tag, skipping accounts that already have the clip
- ●max and delay keep it from flooding
- ●rule.reposted webhook and the new posts in the same report
- +4 h post.breakout: 1.9k views, 3.2× this account’s median
- +4.5 h rule fires: repost to 5
backup-creatorswithout this clip - +5 h rule.reposted webhook, 5 new posts in the report
6 · Pay per post
100 creator accounts cost what one does.
UGC lives on many accounts that each post a little. Per-profile and per-channel pricing punishes exactly that. UGC API charges per post: $10 a month per 1,000, on a plan you can resize or cancel any time. Failed posts are refunded, and conversions and reports are included.
- ●No per-account, per-seat or per-channel fee
- ●Failed and cancelled posts refunded as credits
- ●File fitting, reports and webhooks included
- ●Plans from 1,000 to 100,000 posts a month
100 creator accounts · 3,000 posts a month
Compared
What each posting API documents.
| Capability | UGC API | Postiz | Upload-Post | Ayrshare | Zernio | Post for Me | Outstand | Blotato |
|---|---|---|---|---|---|---|---|---|
| Fits files to each platform (format, aspect, limits) | ✓ | — | ◐ | ◐ | ◐ | ✓ | — | ✓ |
| Dry run that lists every change and credit | ✓ | — | — | ◐ | ◐ | — | ◐ | — |
| Account groups you can target in one call | ✓ | ◐ | ◐ | — | ✓ | — | — | — |
| One clip id rolled up across platforms | ✓ | — | ◐ | ◐ | — | — | — | — |
| Campaign report with a winning platform, creator and caption | ✓ | — | — | — | — | — | — | — |
| Caption variants rotated across accounts and compared | ✓ | — | ◐ | ◐ | — | — | — | — |
| Breakout detection that reposts to more creators | ✓ | ◐ | — | — | — | — | — | — |
| Priced per post, no per-account fee | ✓ | — | — | — | — | ✓ | ✓ | — |
| MCP server for AI agents | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
✓ documented · ◐ partly (for example per-post analytics but no cross-platform rollup) · — not found in the vendor's public docs. From public docs and pricing pages, checked October 2026; tell us at hello@ugcapi.dev if something changed. Full comparisons.
Try it on your next campaign.
Connect a few creator accounts, send one campaign with dry_run, and see the plan, the file fixes and the cost before anything posts.