Instagram automation API for comment-to-DM

inDM's API creates Instagram comment-to-DM automations from your own code: find the reel you just posted, build the automation on it, set it live and read how it is doing. On every plan, Free included.

inDM has an Instagram automation API at https://api.indm.social/v1, and it creates comment-to-DM automations from your own code. A script, a content calendar or a dashboard of your own can list the posts and reels in an inDM workspace, pull in one published a minute ago, build an automation on it, check it, set it live or pause it, and read its totals. The API works on every inDM plan, Free included.

The automations run on inDM, not inside your code. Once an automation is live it answers every comment that carries its keyword, whether or not your script is running, and it sends the words you approved. The full reference, with a playground, is at docs.indm.social.

What can the inDM API do?

The inDM API builds, checks, switches and reports on Instagram comment-to-DM automations. In plain words, a key with full access can:

  • See the workspace and every Instagram account connected to it, and each account's health: whether Instagram has paused the connection, since when, and how many automations are live on it.
  • List the posts and reels inDM has synced, and ask Instagram for new ones now, so a reel published a minute ago is ready to automate.
  • Create an automation on a post. Every automation starts as a draft, with its keywords, the DM and its link, and whatever else the workspace's plan allows, such as several links or a follow-up message.
  • Check an automation before it ships. A check names anything Instagram would cut off, such as a button label over 20 characters, and anything that would stop the automation doing its job, such as a DM that promises a link it never carries.
  • Edit it, set it live, and pause it. Setting it live is the one call that changes what people on Instagram receive.
  • Read its totals: how many times it fired, and how many messages were sent, failed, or are still waiting to go out.

A key with read-only access can do everything on that list that changes nothing, which is the right key for a reporting job.

What does it look like in practice?

The API is built for one loop above all: a new reel goes up, and its automation is live before the first comment lands. The docs' recipe walks through it:

  1. Your publishing tool posts the reel.
  2. Your code asks inDM to fetch the account's newest posts, then finds the reel by its link or caption.
  3. Your code creates the automation on that reel as a draft, with the keyword your reel asks viewers to comment and the link to send.
  4. Your code checks it, then sets it live.
  5. A scheduled job reads each automation's totals every morning and drops them into a sheet, a dashboard or a chat channel.

Teams running many accounts repeat the same setup on each one: the post, the keyword and the link change, and the rest stays the same.

One key, every account in the workspace

An inDM API key belongs to one workspace and reaches every Instagram account connected to it. A team running 15 Instagram accounts calls the API with one key on one subscription, without a subscription per account:

  • Free: 1 Instagram account, $0, no card.
  • Growth: up to 5 accounts, $14.99 a month after 7 days free.
  • Agency Lite: up to 15 accounts, $39 a month.
  • Agency Pro: 30 accounts, $99 a month, then $3 a month for each account after 30.

The plan decides what a workspace can build, exactly as it does in the app, and none of the plans counts messages or contacts. Instagram DM automation without a subscription per account sets the plans beside tools that bill each Instagram account on its own.

How do you get an API key?

From Settings → API keys in the inDM app. Any member of the workspace can create one, in under a minute:

  1. Choose Create key and give it a name you will recognise later, such as "Content calendar".
  2. Choose Read only or Full access.
  3. Choose when it expires: after 30 days, 90 days, 365 days, or never.
  4. Copy the key straight away. It starts with indm_, and inDM shows it once and keeps only a scrambled copy, so a lost key is revoked and replaced, never recovered.

Then send it with every request:

curl https://api.indm.social/v1/workspace \
  -H "Authorization: Bearer indm_..."

A workspace holds up to 10 active keys, so each script can have its own and be revoked without touching the rest. Authentication covers rotating a key without downtime.

The API, the ChatGPT plugin and the app build the same automations

inDM offers three ways in, and an automation made in one shows up in the other two.

  • The app, at app.indm.social, for building by hand.
  • The ChatGPT plugin, for building by asking. It runs on inDM's Instagram MCP server and installs from ChatGPT's plugin directory with no Developer Mode.
  • The API, for building from code, on a schedule or straight after a post goes up.

What the API is built not to do

The inDM API sets automations up and reports on them, and the design keeps it there so a key can never become a way to spam the account it belongs to.

  • No DM, broadcast or public reply leaves through the API. Only live automations send, and they send the words you approved.
  • Nothing about the people who comment comes back. Your code gets totals and its own setup: no handles, no messages, no email addresses.
  • A key stays on your server. The API answers no request from a web page, so a key never sits in front-end code or in an app where anyone could read it.

Is it safe for the Instagram account?

Yes, because the API never touches Instagram directly. Each Instagram account connects to inDM through Meta's own login, so neither inDM nor your code sees an Instagram password. inDM is an approved Meta Tech Provider. Approval means Meta reviewed the app and granted it permissions. It is not an endorsement.

Messages leave each account at a steady pace rather than in a burst, because Instagram restricts accounts that send in bursts. When a reel takes off, messages wait their turn and none are dropped, and the account's health shows how many are waiting.

Where Instagram's rules still apply

The API changes who sets an automation up. It does not change what Instagram allows an automation to do.

  • One private reply per comment. A comment earns one DM. Every message after it needs Instagram's 24-hour messaging window, which opens only when the person messages the account.
  • One live automation per post. A second one waits as a draft until the first is paused, so nobody who comments once receives two DMs.
  • A Business or Creator account. A personal account has to switch first, and switching is free.
  • 120 requests a minute per key, of which at most 30 can change something.

Instagram's rules, in the API docs sets out each one and the check that catches it. To start, sign up free, connect an Instagram account, and create a key in Settings.

Good to know

Questions, answered plainly

Does inDM have an API?

Yes. inDM's public API is at https://api.indm.social/v1, and it works on every inDM plan, Free included. Your own code can list the posts and reels in a workspace, create comment-to-DM automations on them as drafts, check them, set them live or pause them, and read their totals. The reference is at docs.indm.social.

Is there an API to create Instagram comment-to-DM automations?

Yes. inDM's API creates Instagram comment-to-DM automations from your own code. A script can fetch a reel published moments ago, create an automation on it with a keyword and a link, check it, and set it live, and the automation then answers every matching comment on inDM whether or not the script is running.

Can the inDM API send Instagram DMs?

No. No DM, broadcast or public reply leaves through the inDM API. It creates, edits, sets live and pauses automations, and only live automations send, with the words you approved. Nothing about the people who comment comes back through it either: no handles, messages or email addresses.

Can one API key manage several Instagram accounts?

Yes. An inDM API key belongs to one workspace and reaches every Instagram account connected to it. Growth holds up to 5 accounts for $14.99 a month after 7 days free, Agency Lite holds up to 15 for $39 a month, and Agency Pro holds 30 for $99 a month, then $3 a month for each one after, all on one subscription.

Does the inDM API work on the free plan?

Yes. The API works on every inDM plan, Free included. The plan decides what a workspace can build, exactly as it does in the app: Free connects one Instagram account, and Growth and the agency plans add accounts and features such as multiple links and follow-ups.

Get started

Turn your audience into a living

Connect Instagram, pick a post, and watch your first automation go live, in about three minutes.

Free forever, unlimited messages, no cardLive in minutesCancel anytime