Instagram Interactions
Comments, direct messages and AutoDM are not available yet. Until they launch, every endpoint on this page returns 501 with "error_code": "COMING_SOON". This page describes the planned API and may change before release.
These endpoints let you read and reply to comments, send direct messages, and manage AutoDM monitors for an Instagram Business account. All requests require an Instagram Business (or Creator) account connected to the target profile via OAuth. Pass your API key in every request using the Authorization: Apikey YOUR_API_KEY header.
Comments
List Comments
GET https://api.indreelforge.com/api/instagram/comments
Returns all comments (and nested replies) on a specific media post. You can identify the post either by its Instagram media ID or by its public URL.
| Parameter | Type | Required | Description |
|---|---|---|---|
profile | string | Yes | The IndReelForge profile name whose Instagram account to use |
media_id | string | Conditional | Instagram media ID. Required if media_url is not provided |
media_url | string | Conditional | Public Instagram post URL. Required if media_id is not provided |
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
'https://api.indreelforge.com/api/instagram/comments?profile=my-brand&media_id=17854360229135492'
Response
{
"media_id": "17854360229135492",
"comments": [
{
"id": "17858893269000001",
"text": "Love this product!",
"username": "janedoe",
"timestamp": "2026-04-17T10:23:00+0000",
"replies": {
"data": [
{
"id": "17858893269000002",
"text": "Thanks so much!",
"username": "my-brand",
"timestamp": "2026-04-17T10:45:00+0000"
}
]
}
}
],
"paging": {
"cursors": {
"before": "MAZDZD",
"after": "MQZDZD"
},
"next": "https://graph.instagram.com/..."
}
}
Reply to a Comment (Private DM)
POST https://api.indreelforge.com/api/instagram/comments/reply
Sends a private DM to the person who left a specific comment. Uses the Instagram Messaging API — the reply is delivered as a direct message, not a public comment reply.
| Parameter | Type | Required | Description |
|---|---|---|---|
profile | string | Yes | The IndReelForge profile name whose Instagram account to use |
comment_id | string | Yes | The Instagram comment ID to reply to |
message | string | Yes | The text to send as a private DM |
curl \
-X POST \
-H 'Authorization: Apikey YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"profile": "my-brand",
"comment_id": "17858893269000001",
"message": "Thanks for your kind words! Here is a 10% discount code: THANKS10"
}' \
https://api.indreelforge.com/api/instagram/comments/reply
Response
{
"success": true,
"message_id": "aWdfZAG4aWRlbnRpdHkZD"
}
Direct Messages
Send a DM
POST https://api.indreelforge.com/api/instagram/dms/send
Sends a direct message to any Instagram user by their platform user ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
profile | string | Yes | The IndReelForge profile name whose Instagram account to use |
recipient_id | string | Yes | The Instagram-scoped user ID of the recipient |
message | string | Yes | The message text to send |
curl \
-X POST \
-H 'Authorization: Apikey YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"profile": "my-brand",
"recipient_id": "6109560149124133",
"message": "Hey! Thanks for following us. Here is a welcome gift for you."
}' \
https://api.indreelforge.com/api/instagram/dms/send
Response
{
"success": true,
"message_id": "aWdfZAG4aWRlbnRpdHkZD"
}
List DM Conversations
GET https://api.indreelforge.com/api/instagram/dms/conversations
Returns all DM conversations for the connected Instagram account, including participants and recent messages in each thread.
| Parameter | Type | Required | Description |
|---|---|---|---|
profile | string | Yes | The IndReelForge profile name whose Instagram account to use |
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
'https://api.indreelforge.com/api/instagram/dms/conversations?profile=my-brand'
Response
{
"conversations": [
{
"id": "t_10153913738212036",
"participants": {
"data": [
{ "id": "6109560149124133", "name": "Jane Doe" },
{ "id": "104039549309093", "name": "My Brand" }
]
},
"messages": {
"data": [
{
"id": "m_abc123",
"message": "Thanks for following us!",
"from": { "id": "104039549309093", "name": "My Brand" },
"created_time": "2026-04-17T11:00:00+0000"
}
]
}
}
]
}
AutoDM
AutoDM monitors watch a media post for new comments and automatically send a DM to each commenter. Monitors expire automatically after 15 days. A maximum of 2 monitors can be created per profile per day.
Start an AutoDM Monitor
POST https://api.indreelforge.com/api/instagram/autodm/start
Creates a new active AutoDM monitor for a media post. Optionally filters by keyword so the DM is only sent when a comment contains a specific word or phrase.
| Parameter | Type | Required | Description |
|---|---|---|---|
profile | string | Yes | The IndReelForge profile name whose Instagram account to use |
media_id | string | Yes | The Instagram media ID to watch for new comments |
dm_message | string | Yes | The message to send automatically to each new commenter |
keyword_filter | string | No | Only trigger the DM when a comment contains this keyword (case-insensitive) |
curl \
-X POST \
-H 'Authorization: Apikey YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"profile": "my-brand",
"media_id": "17854360229135492",
"dm_message": "Thanks for commenting! Use code SAVE20 for 20% off your next order.",
"keyword_filter": "price"
}' \
https://api.indreelforge.com/api/instagram/autodm/start
Response
{
"success": true,
"monitor_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "active",
"expires_at": "2026-05-03T11:00:00.000Z"
}
You can create at most 2 monitors per profile per day. Monitors automatically expire and stop after 15 days.
List AutoDM Monitors
GET https://api.indreelforge.com/api/instagram/autodm
Returns all AutoDM monitors for the authenticated account, across all profiles, ordered by creation date (newest first).
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
https://api.indreelforge.com/api/instagram/autodm
Response
{
"monitors": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"user_id": 42,
"profile_id": "p_abc123",
"profile_name": "my-brand",
"media_id": "17854360229135492",
"keyword_filter": "price",
"dm_message": "Thanks for commenting! Use code SAVE20 for 20% off your next order.",
"status": "active",
"expires_at": "2026-05-03T11:00:00.000Z",
"created_at": "2026-04-18T11:00:00.000Z"
}
]
}
Get AutoDM Event Logs
GET https://api.indreelforge.com/api/instagram/autodm/logs
Returns the event log for a specific monitor — each row records one triggered DM delivery attempt, whether it succeeded or failed.
| Parameter | Type | Required | Description |
|---|---|---|---|
monitor_id | string | Yes | The UUID of the AutoDM monitor |
limit | integer | No | Number of log entries to return. Defaults to 50, maximum 200 |
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
'https://api.indreelforge.com/api/instagram/autodm/logs?monitor_id=a1b2c3d4-e5f6-7890-abcd-ef1234567890&limit=25'
Response
{
"monitor_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"logs": [
{
"id": "log_00001",
"event": "dm_sent",
"recipient_id": "6109560149124133",
"message_id": "aWdfZAG4aWRlbnRpdHkZD",
"error_message": null,
"created_at": "2026-04-18T12:05:00.000Z"
},
{
"id": "log_00002",
"event": "dm_failed",
"recipient_id": "6109560149124134",
"message_id": null,
"error_message": "User has restricted DMs from unknown accounts",
"created_at": "2026-04-18T12:07:00.000Z"
}
]
}
Pause, Resume, or Stop a Monitor
PATCH https://api.indreelforge.com/api/instagram/autodm/:id
Changes the status of an existing monitor. Use pause to temporarily halt DM delivery, resume to reactivate a paused monitor, or stop to permanently end it.
| Parameter | Type | Required | Description |
|---|---|---|---|
action | string | Yes | One of pause, resume, or stop |
curl \
-X PATCH \
-H 'Authorization: Apikey YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"action": "pause"}' \
https://api.indreelforge.com/api/instagram/autodm/a1b2c3d4-e5f6-7890-abcd-ef1234567890
Response
{
"success": true,
"monitor_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "paused"
}
| Action | Resulting status |
|---|---|
pause | paused |
resume | active |
stop | stopped |
Delete a Monitor
DELETE https://api.indreelforge.com/api/instagram/autodm/:id
Permanently removes an AutoDM monitor and all associated configuration. This does not delete event logs.
curl \
-X DELETE \
-H 'Authorization: Apikey YOUR_API_KEY' \
https://api.indreelforge.com/api/instagram/autodm/a1b2c3d4-e5f6-7890-abcd-ef1234567890
Response
{
"success": true
}