Skip to main content
Beyond publishing, MADIAD Hub lets you act on the audience a profile has built — list recent media, read and reply to comments, send direct messages, and run AutoDM monitors that respond to new commenters automatically. Every call is scoped to one of your own profiles via profile_id.
To leave your own first comment automatically when a post publishes (a link or hashtags), use the post’s first_comment field instead — that’s part of publishing, not engagement.
Replying to and moderating comments is available on the Starter plan and above. Direct messages and AutoDM monitors are available on the Business plan and above, and each plan has a daily DM cap — exceeding it returns 429. Requests on a plan that does not include the feature return 403.
The inactive plan has no write actions at all. To see what your own plan includes, read GET /v1/usage: comments.included covers the comment actions, direct_messages.included covers messaging and review replies.
Direct messages and AutoDM are also subject to each platform’s own messaging limits (for example Instagram’s window for messaging a user who hasn’t messaged you recently). When a platform rejects a send, the reason surfaces in the response.

List recent media

Retrieve recent posts, reels, and videos across a profile’s connected accounts — useful for finding the media_id to read comments on.
This list resolves by the CONNECTED ACCOUNT, not by the Profile. If the Facebook (or LinkedIn) account you connected administers several Pages, the endpoint returns that account’s default Page — not the Page belonging to the Profile you asked for. Measured 2026-09-04. Instagram and Threads do filter correctly.You only ever see Pages your own account administers — never another customer’s data. But on a multi-Page account, check each item’s owner id before you use it. The response carries a scope_warning field saying the same thing.For post metrics scoped to the Profile, use GET /v1/analytics/posts.

Comments

Platforms — reading comments: Instagram · Facebook · YouTube · LinkedIn · TikTok. Threads, X, Pinterest, Reddit, Bluesky, Google Business and the credential channels are not covered.
Read the comments on a post. Pass platform and identify the post by post_id (the media id from the listing above) or post_url:
Reply under a comment publicly, or send the commenter a private DM:
Both require profile_id, comment_id, and message.

Direct messages

Platforms: Instagram only. DMs and AutoDM are not available on any other channel.
Send a DM to a user by their platform-specific id, and list existing conversations. Both require a platform:

AutoDM monitors

An AutoDM monitor watches a post and automatically DMs anyone who comments — optionally only when their comment contains a trigger keyword.
AutoDM monitors are Instagram only, using Meta’s official Private Replies API. The monitor runs in the background and de-duplicates commenters automatically, so each person is messaged once.
The response returns a monitor_id. Manage the monitor with it:

Comment moderation

Beyond replying, you can write, delete and hide / like / pin comments on your own posts.
All three are comment writes — Starter plan and above. Reading comments is open to every active plan.

Create a comment

comment_id → a public reply under that comment. post_id or post_url → a new top-level comment. Platforms: instagram, facebook, youtube, linkedin, tiktok.
Instagram allows replies only — it publishes no way to start a comment thread, so comment_id is required. TikTok always needs post_id (the video id), replies included. Both rules are checked here and answer 400 with the reason, rather than letting the platform refuse.

Delete a comment

LinkedIn additionally needs post_id (the post URN). Deletion is irreversible on the platform.

Hide, like, pin

Every action carries its own inverse — you send a verb, never a boolean, so replaying a request can never flip a comment back to where it started.
Only TikTok answers this group today. Other platforms return 400 with error_code platform_not_supported naming what is supported — branch on the code, don’t hard-code a list.