← Catalog

Instagram DM API from your own account

instagram.message

live

Send a direct message from your connected Instagram account: open a new conversation with a handle (or the messaging_id from instagram.profile), or reply in an existing thread by chat_id. You are the sender of record. A first message to someone who does not follow you lands in their requests folder.

live coverage

Unipile: all inputs

✓ marks a combination proven with a real provider call. Others are wired and unit-tested; their first live run verifies them.

Providers

ProviderStatus
Unipile live

Billing

Unit: per_message · unmatched results billed: no
Priced per message sent; a refused send bills nothing. Instagram tolerates about 100 actions a day and 10 an hour per account; new accounts start lower.

The exact quote is returned by /v1/inspect before every call and held with headroom (1.5x the quote) on execution. The quote is the price floor: if the provider's actual cost overruns it, the run bills at about 1.5x cost, never above the hold. The unused part of every hold is released.

Run it

curl https://api.routergrowth.com/v1/run \
  -H "Authorization: Bearer $ROUTERGROWTH_API_KEY" \
  -d '{
    "capability": "instagram.message",
    "input": { "text": "..." },
    "routing": {"provider": "auto"}
  }'

Input schema

{
  "properties": {
    "account_id": {
      "description": "The account name (or id) from instagram.accounts; optional when you have one account",
      "type": "string"
    },
    "chat_id": {
      "description": "From instagram.messages: reply in that thread",
      "type": "string"
    },
    "handle": {
      "description": "Start a new conversation with this account (@handle)",
      "type": "string"
    },
    "messaging_id": {
      "description": "From instagram.profile; skips the lookup",
      "type": "string"
    },
    "profile_url": {
      "type": "string"
    },
    "text": {
      "type": "string"
    }
  },
  "required": [
    "text"
  ],
  "type": "object"
}

Normalized output fields

chat_id · message_id · messaging_id · handle