# Existe-t-il une API SMS sur iPhone ? Récupérer ses SMS

> Non, iOS n’a pas d’API publique qui permette à une app de lire vos SMS. Voici ce qu’Apple autorise, et comment recevoir vos SMS d’iPhone en JSON.

Dernière mise à jour : 2026-10-23
Page HTML canonique : https://www.fwrdsms.com/fr/blog/iphone-sms-api
Published: 2026-10-16

Non, il n’existe pas d’API SMS publique sur iPhone : iOS ne laisse aucune app lire vos SMS, ni même savoir qu’un SMS est arrivé. La voie prévue passe par une automatisation Message que vous créez une fois dans l’app Raccourcis d’Apple, et qui transmet chaque SMS concerné à une action. Fwrd est cette action pour les développeurs : il publie chaque SMS de l’iPhone sur votre propre webhook HTTPS, en JSON.

**Ce qu’il vous faut :** un iPhone sous iOS 26 ou version ultérieure, l’app Raccourcis (elle est déjà sur votre téléphone) et un point de terminaison HTTPS qui accepte un POST JSON, comme votre propre serveur ou un webhook Zapier, Make ou n8n.

## Une app iOS peut-elle lire les SMS ?

Non. Une app iOS tierce ne peut pas lire la boîte de réception de Messages, et elle n’est pas prévenue quand un SMS arrive. Toutes les façons de sortir les SMS d’un iPhone passent par quelque chose que la personne configure exprès.

Une [réponse de 2017 sur les forums développeurs d’Apple](https://developer.apple.com/forums/thread/86268) le dit clairement : une app n’a pas le droit de voir les SMS, ni même de savoir qu’ils sont arrivés. En octobre 2025, un ingénieur d’Apple [a indiqué sur les forums](https://developer.apple.com/forums/thread/804040) que macOS n’a pas non plus d’API pour les SMS d’un utilisateur : un Mac connecté à votre compte Apple n’est donc pas une porte dérobée.

## Et TelephonyMessagingKit ?

TelephonyMessagingKit existe bien, mais uniquement pour les apps qui remplacent Messages comme app de messagerie opérateur par défaut, et uniquement dans l’UE. Ce n’est pas un moyen pour une app ordinaire de lire vos SMS.

[La documentation d’Apple](https://developer.apple.com/documentation/telephonymessagingkit) indique que le framework gère les SMS, MMS et RCS sur l’iPhone, mais qu’une app a besoin d’un droit d’accès spécial, ne fonctionne qu’une fois choisie comme app de messagerie opérateur par défaut, et que la personne doit avoir un compte de l’UE avec l’appareil situé dans l’UE. Pour [des SMS dans un script](https://www.fwrdsms.com/fr/blog/sms-otp-codes-ci-automation-iphone), une base de données ou un agent IA, ce n’est pas le bon outil.

## Alors, comment les apps remplissent-elles les codes reçus par SMS ?

Grâce au remplissage automatique, pas en lisant le message. iOS repère le code à usage unique dans un SMS entrant et le propose au-dessus du clavier ; l’app ne reçoit le code que quand la personne le touche.

Le guide d’Apple pour [activer le remplissage automatique des mots de passe sur un champ de saisie](https://developer.apple.com/documentation/security/enabling-password-autofill-on-a-text-input-view) cite One-time code (code à usage unique) comme type de contenu et indique que vous pouvez compléter automatiquement les codes de sécurité des connexions par SMS. Dans UIKit, c’est `textContentType = .oneTimeCode`. Pour une connexion plus fluide dans votre propre app, c’est tout ce qu’il vous faut.

## Comment faire arriver les SMS de l’iPhone dans votre propre code ?

Créez une automatisation Message dans Raccourcis et ajoutez l’action de Fwrd, qui publie chaque SMS concerné de l’iPhone sur votre point de terminaison, en JSON. Le [déclencheur Message](https://support.apple.com/fr-fr/guide/shortcuts/apdd711f9dff/ios) d’Apple s’exécute quand un message arrive d’un expéditeur que vous ajoutez, ou contient une expression que vous ajoutez.

Ces étapes utilisent la destination Webhook de Fwrd :

1. **Ajoutez un webhook dans [Fwrd](https://apps.apple.com/app/apple-store/id6759069713?pt=128544281&ct=fr-blog-sms-api&mt=8).** Ouvrez Fwrd, touchez + et choisissez Webhook. Collez votre adresse HTTPS complète dans le champ Configuration, touchez Send Test Message (Envoyer un message test) pour que votre point de terminaison voie les champs, puis enregistrez avec la coche.

2. **Créez une automatisation Message.** Sur iOS 27, ouvrez Raccourcis, touchez Bibliothèque, puis Automatisation, puis +. Si vous voyez Décrire un raccourci, touchez Modifier. Touchez Automatisation, puis Message. Sur iOS 26, ouvrez l’onglet Automatisation, touchez + et choisissez Message.

3. **Choisissez les SMS à envoyer.** Choisissez Le message contient (sur iOS 27, remplacez Expéditeur par Message), puis saisissez un mot que contiennent vos SMS, comme code. Pour envoyer tout SMS qui contient une espace, saisissez plutôt une seule espace.

4. **Faites-la s’exécuter sans demander.** Sur iOS 27, touchez la flèche à côté du déclencheur et vérifiez que Confirmer avant l’exécution est désactivé. Sous ⓘ, puis Confidentialité, vérifiez que l’option Autoriser l’exécution en mode verrouillé est activée. Sur iOS 26, choisissez Exécuter immédiatement, puis touchez Suivant et Créer un raccourci.

5. **Ajoutez l’action de Fwrd.** Recherchez Forward et ajoutez l’action Forward Message to All Destinations (Transférer le message vers toutes les destinations) de Fwrd. Touchez son champ Message et choisissez Entrée de raccourci (sur iOS 26, Entrée de raccourci, puis Message). Revenez en arrière pour enregistrer (OK sur iOS 26).

6. **C’est tout.** Les nouveaux SMS contenant votre mot arrivent désormais tout seuls sur votre point de terminaison, avec l’iPhone verrouillé ou déverrouillé.

### À quoi ressemble le JSON ?

Fwrd envoie chaque SMS à votre webhook en POST avec `Content-Type: application/json`. Par défaut, le corps contient le message tel qu’il est arrivé, deux fois, car Mattermost et Rocket.Chat lisent `text` :

```json
{
  "content": "Votre code est 482913",
  "text": "Votre code est 482913"
}
```

Il n’y a pas d’horodatage. Si vous activez Include Who Sent It (Inclure l’expéditeur) dans les Réglages de Fwrd et choisissez Sender (Expéditeur) dans l’action de Fwrd dans Raccourcis, le corps reçoit aussi un champ `sender`. Chaque tentative pour un même SMS porte le même en-tête `Idempotency-Key`, ce qui vous permet d’écarter les doublons. Toute réponse 2xx en moins de 15 secondes compte comme remise, et les redirections sont refusées. Le [guide du webhook](https://www.fwrdsms.com/fr/guides/webhook) couvre en détail le côté point de terminaison.

## Vos options, côte à côte

| Approche | Lit les SMS entrants ? | Qui peut l’utiliser |
|---|---|---|
| Une API SMS publique | N’existe pas sur iOS | Personne |
| TelephonyMessagingKit | Oui, comme app de messagerie par défaut | Les apps de messagerie opérateur, UE uniquement |
| Remplissage automatique des mots de passe | Seulement le code, quand la personne le touche | Le champ de connexion de n’importe quelle app |
| Raccourcis + Fwrd | Oui, les SMS qui correspondent à votre automatisation | Tout le monde, sous iOS 26 ou version ultérieure |

Fwrd s’occupe de la tuyauterie à votre place :

- **Pas de compte.** Fwrd n’a ni connexion ni serveur Fwrd ; chaque SMS va directement de votre iPhone à votre URL.
- **Des filtres.** Chaque webhook peut ne garder que les SMS contenant les mots choisis, ceux qui ressemblent à un code de vérification, ou ceux qui arrivent à certaines heures.
- **Nouvelles tentatives et secrets gérés.** Si un envoi expire, reçoit une erreur 429 ou 5xx, ou perd sa connexion, Fwrd recommence, jusqu’à deux fois, et garde votre URL dans le trousseau de l’iPhone, pas dans un raccourci.
- **Huit destinations.** La même action couvre aussi l’e-mail, un autre téléphone ou iMessage, WhatsApp, Discord, Slack, Microsoft Teams et Telegram.

## Ce qu’un iPhone ne peut pas faire comme passerelle SMS

Un iPhone ne peut pas servir de passerelle SMS pour votre serveur. iOS n’a pas d’API qui permette à un serveur d’envoyer un SMS par son intermédiaire : Fwrd fonctionne donc uniquement en réception. Les SMS arrivent sur l’iPhone et repartent vers votre point de terminaison.

- **Envoyer depuis une API.** Les apps passerelles qui envoient des SMS depuis une API fonctionnent sur Android ; [textbee.dev](https://textbee.dev) indique dans sa FAQ qu’il ne fonctionne pour l’instant que sur les appareils Android (consulté le 16 octobre 2026).
- **Une règle est obligatoire.** L’automatisation agit sur les SMS contenant un mot que vous choisissez, ou venant de personnes de vos Contacts. Une seule espace attrape tout SMS qui contient une espace.
- **Le téléphone reste allumé et connecté.** L’iPhone qui reçoit les SMS doit être allumé, avec du Wi-Fi ou des données mobiles, à leur arrivée. Après un redémarrage, le transfert attend que vous le déverrouilliez une fois.
- **Texte uniquement.** Les images ne passent pas, et les réponses partent toujours de l’iPhone lui-même.

## Les questions suivantes

### Puis-je lire les anciens SMS déjà sur mon iPhone ?

Non. L’automatisation Message ne s’exécute que pour les nouveaux SMS qui arrivent après sa configuration.

### Est-ce que cela fonctionne avec Zapier, Make ou n8n ?

Oui. Collez un Catch Hook de Zapier, un Custom webhook de Make ou la Production URL d’un nœud Webhook de n8n dans la destination Webhook de Fwrd, et chaque SMS concerné lance votre flux. [Envoyer les SMS de l’iPhone vers Zapier, Make ou n8n](https://www.fwrdsms.com/fr/iphone-sms-to-zapier-make-n8n) donne les étapes pour chacun.

### Les iMessages comptent-ils ?

Oui. L’automatisation Message s’exécute pour les messages qui arrivent dans l’app Messages, iMessages compris : un iMessage concerné atteint donc votre webhook de la même façon qu’un SMS.

### Combien cela coûte-t-il ?

Fwrd est gratuit jusqu’à 15 transferts par mois, et un SMS ne compte qu’une fois, quel que soit le nombre de destinations. Fwrd Pro supprime la limite pour $4.99 par mois ou $29.99 par an aux États-Unis (prix en dollars américains, USD). L’App Store affiche le prix dans votre propre devise.

## Pour aller plus loin

- [Transférer les SMS de l’iPhone vers un webhook](https://www.fwrdsms.com/fr/iphone-sms-to-webhook)
- [Comment fonctionnent les automatisations de messages de Raccourcis sur l’iPhone](https://www.fwrdsms.com/fr/blog/iphone-shortcuts-message-automation)
