Skip to content
iMessage APIs
All answers

Apple's position

Why does iMessage have no bot API?

Apple has never shipped a bot API for iMessage and has given no indication it intends to. A bot platform would mean automated senders reaching any phone number, which is what turned SMS into a filtered, distrusted channel. iMessage is valuable to Apple precisely because it has not been opened that way, and it is end-to-end encrypted between devices, which a server-side bot inherently breaks.

What Apple ships that is close, and is not it

FrameworkWho sendsReaches a new recipient?
Messages framework (iMessage apps)The userNo — only the conversation already open
MessageUI compose sheetThe userPre-fills only; the user taps send
SiriKit messaging intentsYour own app's serviceNot iMessage at all
Messages for BusinessYour serverOnly after the customer messages first
Shortcuts / AppleScriptThe device ownerYes, as that person, on their device

Every row keeps a human or a prior customer action in the loop. That is not a gap in the roadmap — it is the same policy expressed five times. The full tour of Apple's Messages frameworks.

The two reasons

Channel value. Every platform that opened programmatic access ended up with a spam problem and a filtering arms race. The blue bubble is trusted because it has not been flooded, and it is a reason to buy an iPhone. Opening it would spend an asset Apple has spent a decade accumulating.

Encryption. iMessage is end-to-end encrypted between devices. A server-side bot is by definition an endpoint reading plaintext, and every bot platform is an argument about where that boundary sits. Apple has consistently declined to open one.

The uncomfortable corollary

The third-party providers in this category are commercially valuable because Apple holds this line. An official API would commoditise them within a year — and the channel would be worth less to everyone, because it would start to behave like SMS.

What people build instead

Almost every commercial iMessage bot you have seen is a third-party provider running Apple accounts and devices, with a normal REST API in front. You call HTTP; they carry the unofficial part. How that works, and what running an agent on this channel actually involves.