SendSMSforFree

Accueil › API SMS gratuite

Une API SMS gratuite, avec votre téléphone Android

Codes de vérification, alertes, confirmations de commande, rappels automatiques : votre site, votre CRM ou un simple script envoie une requête HTTP, et votre téléphone Android envoie le SMS avec sa carte SIM. Pas de crédits, pas d’abonnement, pas de numéro à louer.

Comment ça marche

L’appli SendSMSforFree transforme le téléphone en passerelle SMS : elle reçoit les demandes d’envoi par HTTP, les met en file, les envoie au rythme autorisé par Android et note le résultat de chaque SMS. Deux façons de l’appeler :

Chaque téléphone a sa propre clé API, visible dans l’appli et dans la page API de l’interface web.

Exemples

Remplacez ADRESSE par l’adresse donnée par l’appli et VOTRE_CLE par la clé API du téléphone.

curl

curl -X POST ADRESSE/api/v1/messages \
  -H "Authorization: Bearer VOTRE_CLE" \
  -H "Content-Type: application/json" \
  -d '{"to": "+33612345678", "text": "Votre code de vérification : 482913"}'

En une seule URL

Pour un outil qui ne sait faire que des liens ou des requêtes GET (automate, bouton, webhook simple) :

ADRESSE/api/v1/send?key=VOTRE_CLE&to=%2B33612345678&text=Bonjour

Python

import requests

requests.post("ADRESSE/api/v1/messages",
    headers={"Authorization": "Bearer VOTRE_CLE"},
    json={"to": "+33612345678", "text": "Votre commande est prête."})

Node.js (côté serveur)

await fetch(`${process.env.SENDSMS_URL}/api/v1/messages`, {
  method: 'POST',
  headers: { Authorization: `Bearer ${process.env.SENDSMS_KEY}`, 'Content-Type': 'application/json' },
  body: JSON.stringify({ to: '+33612345678', text: 'Rappel : rendez-vous demain à 9 h.' }),
});

Envoi en masse

curl -X POST ADRESSE/api/v1/batches \
  -H "Authorization: Bearer VOTRE_CLE" -H "Content-Type: application/json" \
  -d '{
    "text": "Bonjour {nom}, RDV le {date}.",
    "recipients": [
      {"to": "+33612345678", "name": "Marie", "variables": {"date": "lundi 6"}},
      {"to": "+33698765432", "name": "Paul", "variables": {"date": "mardi 7"}}
    ]
  }'

Ce que fait l’API

RouteUsage
POST /api/v1/messagesEnvoyer un SMS : texte ou modèle, variables, SIM, date d’envoi programmée.
GET /api/v1/sendLe même envoi en une seule URL.
GET /api/v1/messages/:idStatut d’un SMS : en attente, envoyé, reçu ou échec avec la raison.
POST /api/v1/batchesEnvoi en masse, jusqu’à 10 000 destinataires par lot.
GET /api/v1/messagesHistorique, avec recherche et filtre par statut.
/api/v1/templatesModèles de messages réutilisables.

Les numéros sont nettoyés automatiquement (espaces, points, 00 → +) et complétés avec l’indicatif réglé dans l’appli. Les erreurs sont renvoyées en JSON avec un code explicite (invalid_phone, device_offline…).

Limites et bonnes pratiques

Questions fréquentes

L’API est-elle vraiment gratuite ?

Oui. Il n’y a ni crédits ni abonnement : les SMS partent de la carte SIM de votre téléphone et sont décomptés de votre forfait.

Quel débit puis-je attendre ?

Celui d’un téléphone : environ 30 SMS par tranche de 30 minutes avec la limite par défaut d’Android, davantage sur un téléphone dédié dont la limite a été relevée. L’API met les messages en file et les envoie au rythme autorisé.

Faut-il ouvrir un port sur ma box ?

Non. Sur le même Wi-Fi, vous appelez directement le téléphone. Par Internet, c’est le téléphone qui se connecte au relais SendSMSforFree : aucun port à ouvrir, aucune adresse IP fixe nécessaire.

Puis-je appeler l’API depuis le navigateur ?

Pour un outil interne, oui. Sur un site public, appelez l’API depuis votre serveur : la clé API ne doit jamais apparaître dans une page web.

Aller plus loin