Instagram DM Monitor API | ManyChat Alternative avatar

Instagram DM Monitor API | ManyChat Alternative

Pricing

from $4.99 / 1,000 dm forwarded via webhooks

Go to Apify Store
Instagram DM Monitor API | ManyChat Alternative

Instagram DM Monitor API | ManyChat Alternative

ManyChat alternative for developers. Real-time Instagram DM and comment webhooks. Build comment-to-DM funnels, auto-reply bots, lead capture. Pay-per-event, ~$3/mo vs $45/mo.

Pricing

from $4.99 / 1,000 dm forwarded via webhooks

Rating

0.0

(0)

Developer

Zen Studio

Zen Studio

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Share

Instagram Realtime Monitor | DM & Comment Webhooks

Instagram Suite ➤Automation API — 43+ endpoints: likes, follows, DMs, comments, scraping

ManyChat alternative for developers. Real-time Instagram monitoring with webhook delivery. Comment-to-DM funnels, auto-replies, lead capture, all via API. Full API control, no vendor lock-in.

Subscribe once, receive webhooks as events happen. DMs arrive in sub-second. Comments, likes, follows within 45-75 seconds.

Comment WebhookDM Webhook

 

How It Works

Standby actor. Persistent REST API server. You interact via HTTP endpoints.

  1. Login an Instagram account via /login (supports 2FA)
  2. Subscribe to events via /subscribe with your webhook URL
  3. Receive real-time webhook POSTs when activity happens
  4. Reply to DMs via /reply

Two monitoring channels run simultaneously:

  • DMs: Real-time via persistent WebSocket (instant, sub-second)
  • Comments, likes, follows, mentions: Polled every 45-75 seconds

 

Comment-to-DM Funnels

The most popular Instagram automation pattern. Post says "Comment LINK to get the free guide." Someone comments. They get a DM with the link automatically.

How to Build It

  1. Subscribe to comment events with your webhook URL
  2. Your webhook receives every comment with the commenter's ID, username, and text
  3. Check if comment_text contains your keyword ("LINK", "INFO", "YES")
  4. Check can_dm_commenter (true = they accept DMs)
  5. Call /reply with user_id set to the commenter's commenter_id and your message

Webhook Payload You Receive

{
"event": "comment",
"email": "your@email.com",
"commenter_id": "48219731845",
"commenter_username": "johndoe",
"comment_text": "LINK please!",
"comment_id": "17958489471077887",
"media_id": "3852853912281981852",
"media_shortcode": "DV4FjhNCqOc",
"timestamp": 1773518250.78,
"can_dm_commenter": true
}

n8n / Make Workflow

Webhook trigger
→ Filter: comment_text contains "LINK"
→ Filter: can_dm_commenter = true
→ HTTP Request: POST /reply
{
"email": "your@email.com",
"user_id": "{{commenter_id}}",
"text": "Here's your link: https://example.com/guide"
}

No code required. Any webhook-capable automation tool works.

 

Auto-Reply Bot

Respond to DMs automatically. Your webhook receives every incoming DM:

{
"event": "dm",
"email": "your@email.com",
"thread_id": "18032952845603846",
"message_id": "mid.$cAEBy8s8...",
"text": "What are your business hours?",
"timestamp_ms": 1773500000000
}

Match keywords, route through an LLM, or apply any logic you want. Send the reply back via /reply with the thread_id. The webhook gives you the message, you decide how to respond.

 

New Follower Welcome

Greet every new follower with a DM.

{
"event": "follow",
"email": "your@email.com",
"follower_id": "48219731845",
"follower_username": "johndoe",
"timestamp": 1773518250.78
}

n8n / Make Workflow

Webhook trigger
→ Filter: event = "follow"
→ Wait: 5 minutes (looks less automated)
→ HTTP Request: POST /reply
{
"email": "your@email.com",
"user_id": "{{follower_id}}",
"text": "Hey {{follower_username}}, thanks for following! Check out our latest: https://example.com"
}

 

API Endpoints

Monitoring (3 endpoints)

EndpointMethodDescription
/subscribePOSTRegister webhook for account monitoring
/unsubscribePOSTStop monitoring an account
/subscriptionsGETList all active subscriptions

Calling /subscribe on an already-subscribed account replaces the existing subscription (tears down the old one, creates new). To change events or webhook URL, just call /subscribe again with the updated parameters.

Actions (1 endpoint)

EndpointMethodDescription
/replyPOSTSend text DM reply

Requires email, text, and either user_id (creates thread if needed) or thread_id (sends to existing thread). One of the two must be provided. Text messages only — image, voice, and link preview support is planned.

Auth & Session (2 endpoints)

EndpointMethodDescription
/loginPOSTLogin with email/password (2FA supported)
/verify-2faPOSTSubmit verification code

Response Format

Every endpoint returns a consistent envelope:

{
"success": true,
"data": { "status": "subscribed", "events": ["dm", "comment"] },
"session": { "status": "active", "email": "your@email.com" }
}

Errors return the same structure with "success": false, an error code, and a message. When session.status is "active" on an error, the session is fine and the error is temporary. When "expired" or "suspended", re-login via /login.

ErrorCodeMeaning
session_not_found404No active session, login first
login_required401Session expired, login again
account_suspended403Account suspended by Instagram
rate_limited429Too many requests, slow down
dm_delivery_failed422Couldn't send DM to this user

 

Quick Start

1. Login

curl https://<standby-url>/login \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"email": "your@email.com", "password": "...", "country": "US"}'

2FA enabled? You'll get "status": "pending_2fa". Submit the code:

curl https://<standby-url>/verify-2fa \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"email": "your@email.com", "code": "123456"}'

2. Subscribe

curl https://<standby-url>/subscribe \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"email": "your@email.com",
"webhook_url": "https://your-server.com/webhook",
"events": ["dm", "comment", "follow"]
}'

3. Reply

curl https://<standby-url>/reply \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"email": "your@email.com", "user_id": "48219731845", "text": "Thanks!"}'

 

Event Types

Subscribe to any combination. The event field in the webhook payload matches the subscribe event name.

EventDeliveryDescription
dmReal-timeIncoming direct messages
commentPolled (45-75s)Comments on your posts
followPolled (45-75s)New followers
likePolled (45-75s)Likes on your posts
mentionPolled (45-75s)Tags in other users' posts

 

Pricing

Pay-per-event. You only pay when events are forwarded or messages are sent.

EventPriceDescription
dm-forwarded$0.005Incoming DM delivered to your webhook
activity-forwarded$0.003Comment, like, follow, or mention delivered
dm-sent$0.01Reply sent via /reply

Login, subscribe, unsubscribe, health check: free.

Cost Comparison with ManyChat

ScenarioThis ActorManyChat
Small creator (10 DMs + 20 comments/day)$3.30/mo$15/mo
Growing account (50 DMs + 100 comments/day)$16.50/mo$45/mo
Agency (5 accounts, 200 DMs + 500 comments/day each)$97.50/mo$225+/mo

 

Safe Usage

Instagram restricts accounts that automate too aggressively. This actor handles proxy routing and session management, but your automation logic controls the pace.

  • Space out DMs. Don't send 50 replies in a minute. Add short delays between sends in your webhook handler.
  • Don't DM everyone. Only reply to users who engaged first (commented, DM'd you, followed). Cold outreach at scale gets flagged fast.
  • Respect can_dm_commenter. The comment webhook tells you if the user accepts DMs. Don't try to DM users where this is false.
  • Start slow on new accounts. Fresh or low-activity accounts have lower thresholds. Ramp up gradually over days.
  • Watch for rate_limited (429). When you get this error, back off for 30-60 minutes. The session is fine, Instagram is just throttling.

If your account gets temporarily restricted, it usually lifts within a few hours. If it persists, re-login via /login to get a fresh session.

 

FAQ

How is this different from ManyChat? ManyChat is a no-code platform with visual flow builders. This actor is an API that sends webhooks. You bring your own logic, whether that's n8n, Make, Zapier, or custom code. Lower cost, more flexibility, no lock-in.

Do I need to write code? No. Use n8n, Make, or Zapier to receive webhooks and call the reply endpoint. No coding required. But if you want custom logic, the API is there.

Do I need an Instagram account? Yes. You authenticate via /login. The monitor acts on behalf of your account.

Can I monitor multiple accounts? Yes. Each email gets its own session and subscription. One API, unlimited accounts.

What about 2FA? Fully supported. /login returns "pending_2fa", then submit the code via /verify-2fa.

How fast are DM notifications? Sub-second. DMs are delivered in real-time via a persistent WebSocket connection.

How fast are comment/follow/like notifications? 45-75 seconds. Activity is polled at randomized intervals.

What if my webhook is down? Failed deliveries retry up to 3 times. Events that fail all retries are dropped.

 

This actor interacts with Instagram on behalf of authenticated account owners. Users must comply with Instagram's Terms of Service and applicable data protection regulations (GDPR, CCPA).


Instagram DM automation API. ManyChat alternative for developers. Comment-to-DM funnels, auto-replies, lead capture via webhooks.