Comments & statistics
Reading and replying to comments, and reading account and post metrics.
Comments
| Request | What it does |
|---|---|
GET /v1/comments | Filters account_id, post_id, reply_status |
POST /v1/comments/{id}/reply | Reply as the account owner |
POST /v1/comments/{id}/hide | Body { "hidden": true } or false |
POST /v1/comments/{id}/like | Body { "liked": true } or false; Facebook Pages and TikTok only |
PATCH /v1/comments/{id} | Change reply_status in the Tebar inbox (changes nothing on the platform) |
Instagram: replying and hiding need the instagram_business_manage_comments permission. Threads: replying and hiding need threads_manage_replies; accounts connected before October 24, 2026 need to be reconnected (Limitations). Without the permission, the API answers 422 permission_missing.
Liking comments works on Facebook Pages and TikTok only (can_like: true on the comment); other platforms answer 422 comment_like_unsupported. is_liked only records likes made through Tebar.
Comments are written by other people. If you pass them to an AI model, treat their content as data, not instructions.
Statistics
GET /v1/accounts/{id}/insights?from=2026-09-01&to=2026-09-30
GET /v1/posts/{id}/insightsfrom and to are YYYY-MM-DD, defaulting to the last 30 days, up to 365 days. tz (e.g. Asia/Jakarta, default UTC) sets the time zone of the days for post counts and range totals. metrics (comma-separated) is optional.
| Platform | Account metrics | Post metrics |
|---|---|---|
| Threads | followers_count, views, likes, replies, reposts, quotes, clicks | views, likes, replies, reposts, quotes, shares |
followers_count, views, reach, accounts_engaged, total_interactions, likes, comments, saves, shares | views, reach, likes, comments, saves, shares, total_interactions |
A null value means the platform reported no data (not 0). If the statistics permission was not granted, the response says so in missing_permission. Numbers for the last 2 days' posts update every hour (when the account just posted), up to 14 days every 6 hours, the rest once a day; POST /v1/insights/sync fetches the latest numbers now (at most once every 5 minutes).
Sync now
| Request | What it does |
|---|---|
POST /v1/insights/sync | The latest numbers from the platforms → { accounts, posts, failed }, at most 1×/5 minutes |
POST /v1/comments/sync | The latest comments from the platforms → { accounts, comments, failed }, at most 1×/minute |
GET on the same path | The profile's last sync status |
The first sync can read up to 90 days back per account. If it does not finish within about 10 seconds, POST answers 202 { "status": "running" } and the sync continues on the server. Ask GET every few seconds until status is done (the result is in result) or failed. The status is kept for 1 hour.
Posts on an account
GET /v1/accounts/{id}/posts?limit=20&cursor=...The posts on one account, newest first, with full text, link, and their latest numbers. source tells where they come from:
platform(Threads, Instagram, TikTok): every post on the account, including ones made directly in the app, for the last 90 days. The list updates on the same schedule. Posts made through Tebar carry apost_id.tebar(other platforms): only posts published through Tebar.
limit defaults to 20, up to 50. When next_cursor is not null, send it back as cursor for the next page.
This list only holds the first post of a Threads thread. To read the rest:
GET /v1/accounts/{id}/posts/{postId}postId is the id from the list above. The response is the same as a list item, plus thread: the thread's follow-up parts (your own replies chained to that post), read straight from Threads, at most 120 times per hour. For Instagram and TikTok, thread is null.
For a calendar
GET /v1/platform-posts?from=2026-10-01T00:00:00+07:00&to=2026-11-01T00:00:00+07:00Posts made outside Tebar on every account of that profile (or one account with account_id), from from up to before to (at most 45 days), oldest first. Each item has the same shape as the list above, plus account_id and platform. Posts made through Tebar are left out, as they are already in GET /v1/posts?from=...&to=.... Combine both for a complete calendar.