Instagram API

Instagram DMs and comments, as conversations

A DM is a chat on your Instagram channel: create it, send to it, hear replies as webhooks. Comments on your posts, reels and ads arrive as one thread per post, with public replies, one private reply per comment and hide or unhide, all from the API or your AI assistant.

Meta Technology Partner ✦ DMs and comment threads ✦ One private reply per comment, within 7 days

send-message.js

            
Run200 · queuedPOST /messaging/send-message
Acme Hotels
Webhooksyourapp.com/hooks/lodgestory

The most guest-obsessed brands trust Lodgestory to power 50M+ conversations a year

Bombay Shaving Company ELIVAAS Lyskraft COYU BBingo Hotels Bloom Hotels
Comments

Comments become threads, with the right reply for each

Switch Comments in inbox on for an account and every comment on its posts, reels and ads arrives as a thread per post. Each comment is a message with its own actions: reply publicly, send the commenter one private reply, hide or unhide. Ads are included, with the ad id and title on the comment payload.

  • One private reply per comment, within 7 days, text only; Instagram's rule, enforced for you.
  • Two ids on every comment event: the conversation id of the post's thread and the channel-level ig_media id.
  • Bot journeys can answer comments and open tickets from them.
Instagram comments in the docs
acmehotelsReel · Villa Azure at sunset
rohan.k

Why teams build on it

Send DMs through one API

The same send-message request as WhatsApp, Messenger and email, with the Instagram channel id.

Reply where the comment is

Public reply on the post, or a private DM about that comment, from the API, the inbox or your AI assistant.

Hear every comment instantly

instagram.comment.received carries the text, the author, whether it is a reply, and the media it belongs to.

Webhooks

DMs and comments on the same signed envelope

message.received and message.sent cover Direct messages. instagram.comment.received fires for every comment on your media, with the comment, the parent when it is a reply, the hidden state and the media's permalink, type and publish time. Join either stream to your own records with the ids on the payload.

  • Same envelope, same signature as every other event.
  • Ad comments carry is_ad, ad_id and ad_title.
  • Replay from the log for thirty days.
Webhook event catalogue
POST yourapp.com/hooks/lodgestory

                
X-Webhook-Signature · sha256=…
Delivery logInstagram API · 30 days

Ready to build on Instagram?

Create an organisation, enable Developer Access and run your first request against your own workspace today.

Questions, answered

What engineering teams ask before they integrate.

Create a chat on your Instagram channel with POST /messaging/create-chat, then POST /messaging/send-message with the chat id and type "text" or media. It is the same request as every other channel.

Yes. Comments arrive as threads once Comments in inbox is on for the account. Reply publicly, send one private reply per comment within 7 days, or hide and unhide; the same actions are available to an AI assistant through MCP.

message.received and message.sent for DMs, instagram.comment.received for every comment on your posts, reels and ads, and the chat, ticket and assignment events that apply to any conversation.

Yes. Comments on your ads arrive like any other comment, and the payload says it is an ad, with the ad id and title, so you can route them to a sales team.

Instagram DM and comments API | Lodgestory