SMS API Integrate our SMS API directly into your website, software, or application. Integration is easy and completely free. What is an SMS API? An SMS API (Application Programming Interface) is a technical tool that allows an application, software, or website to send and receive SMS messages automatically. In practice, it acts as a bridge between your IT system and mobile networks, giving you the ability to integrate messaging directly into your business processes. This is why you might also hear the term SMS Gateway when discussing APIs. For example, a company can use an SMS API to send delivery notifications, OTP codes, or real-time alerts to its customers. An SMS API to make your life easier Our SMS sending API solution is available in various languages, including Python and PHP. Feel free to contact our technical team if you have any questions! Sign up for free and test our SMS API in just a few clicks! Test API 20 FREE SMS No commitment, no subscription 20 free SMS messages upon registration to allow you to try our service! PHPNodejsCurlC#PYTHONJAVAGORubyPHP $request = new HttpRequest(); $request->setUrl('http://api.smspartner.fr/v1/send'); $request->setMethod(HTTP_METH_POST); $request->setHeaders(array( 'cache-control' => 'no-cache', 'Content-Type' => application/json', )); $request->setBody('{ "apiKey": "API_KEY", "phoneNumbers": "+336XXXXXX", "sender": "demo", "gamme": 1, "message": "C'est un message test" }'); try{ $response = $request->send(); echo $response->getBody(); } catch (HttpException $ex) { echo $ex; } Nodejs var http = require("http"); var options = { "method": "POST", "hostname": ["api","smspartner","fr"], "path": ["v1","send"], "headers": { "Content-Type": "application/json", "cache-control": "no-cache" } }; var req = http.request(options, function (res) { var chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { var body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({ apiKey: 'API_KEY', phoneNumbers: '+336XXXXXX', sender: 'demo', gamme: 1, message: 'C\'est un message test' })); req.end(); Curl curl -X POST \ http://api.smspartner.fr/v1/send \ -H 'Content-Type: application/json' \ -H 'cache-control: no-cache' \ -d '{ "apiKey": "API_KEY", "phoneNumbers": "+336XXXXXX", "sender": "demo", "gamme": 1, "message": "C'\''est un message test" }' C# var client = new RestClient("http://api.smspartner.fr/v1/send"); var request = new RestRequest(Method.POST); request.AddHeader("Postman-Token", "1a660c7e-ff23-41e4-b30a-808bee0a37f3"); request.AddHeader("cache-control", "no-cache"); request.AddHeader("Content-Type", "application/json"); request.AddParameter("undefined", "{\n \"apiKey\": \"API_KEY\",\n \"phoneNumbers\": \"+336XXXXXX\",\n \"sender\":\"demo\",\n \"gamme\":1,\n \"message\": \"C'est un message test\"\n}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); PYTHON import http.client import json conn = http.client.HTTPSConnection("api.smspartner.fr") payload = json.dumps({ "apiKey": "your api key smspartner", "phoneNumbers": "+336xxxxxxxx", "sender": "Your sender name", "gamme": 1, "message": "Cest un message test PYTHON", "webhookUrl": "https://webhook.site/TOKEN" }) headers = { 'Content-Type': 'application/json', 'Content-Length': str(len(payload)), 'cache-control': 'no-cache' } conn.request("POST", "/v1/send", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8")) JAVA import java.net.HttpURLConnection; import java.net.URL; import java.io.OutputStream; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.stream.Collectors; import org.json.JSONObject; public class SMSRequest { public static void main(String[] args) { try { URL url = new URL("https://api.smspartner.fr/v1/send"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/json"); conn.setRequestProperty("cache-control", "no-cache"); conn.setDoOutput(true); JSONObject json = new JSONObject(); json.put("apiKey", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); json.put("phoneNumbers", "+336XXXXXXXX"); json.put("virtualNumber", "+336XXXXXXXX"); json.put("sender", "demo JAVA"); json.put("gamme", 1); json.put("message", "C'est un message test en JAVA !"); json.put("webhookUrl", "https://webhook.site/TOKEN"); OutputStream os = conn.getOutputStream(); os.write(json.toString().getBytes()); os.flush(); BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream())); String response = br.lines().collect(Collectors.joining()); System.out.println(response); conn.disconnect(); } catch (Exception e) { e.printStackTrace(); } } } GO package main import ( "bytes" "io/ioutil" "log" "net/http" ) func main() { url := "http://api.smspartner.fr/v1/send" method := "POST" payload := []byte(`{ "apiKey": "API_KEY", "phoneNumbers": "+3516XXXXXX", "sender": "demo", "gamme": 1, "message": "C'est un message test" `) client := &http.Client{} req, err := http.NewRequest(method, url, bytes.NewBuffer(payload)) if err != nil { log.Panic(err) } req.Header.Add("Cache-Control", "no-cache") req.Header.Add("Content-Type", "application/json") res, err := client.Do(req) if err != nil { log.Panic(err) } defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) if err != nil { log.Panic(err) } log.Print(string(body)) } Ruby require 'net/http' require 'uri' require 'json' uri = URI.parse("https://api.smspartner.fr/v1/send") header = { 'Content-Type': 'application/json', 'cache-control': 'no-cache' } data = { apiKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", phoneNumbers: "+336XXXXXXXX", virtualNumber: "+336XXXXXXXX", sender: "demo RUBY", gamme: 1, message: "C'est un message test en RUBY !", webhookUrl: "https://webhook.site/TOKEN" } http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true request = Net::HTTP::Post.new(uri.request_uri, header) request.body = data.to_json response = http.request(request) puts response.body Consult our documentation on our SMS sending API API HTTP/HTTPS Your account gives you immediate access to our free SMS API. Connexion SMPP Send your SMS messages directly from an SMPP account. Mail to SMS Send one or more SMS messages by writing a simple email. SDK SMS Check out code examples shared by developers in our community. SMS API Pricing Our SMS solution is connected to over 220 countries, each with its own specific pricing. Destination Afrique du Sud Albanie Algérie Allemagne Arabie Saoudite Argentine Australie Autriche Belgique Bénin Biélorussie Brésil Bulgarie Burkina Faso Cameroun Canada Chine Colombie Corée du Sud Côte d'Ivoire Croatie Danemark Egypte Emirats Arabes Units Espagne Estonie Fédération Russe Finlande France Gabon Gambie Georgie Ghana Grèce Guadeloupe Guinée Guyane Hong Kong Hongrie Inde Iran Irlande Islande Israel Italie Japon Koweït Lettonie Liban Libéria Lituanie Luxembourg Madagascar Mali Malte Maroc Martinique Mauritanie Mexique Monaco Niger Nigeria Norvège Nouvelle Zélande Nouvelle-Calédonie Pays-Bas Pologne Polynésie française Portugal République démocratique du Congo République tchèque Réunion Roumanie Royaume-Uni Rwanda Senegal Serbie Singapour Slovaquie Slovénie Suède Suisse Taïwan Tchad Thaîlande Tunisie Turquie Ukraine Saint Pierre et Miquelon île Maurice République du Congo Etats-Unis d'Amérique Price per SMS For a pack of 200 SMS500 SMS1 000 SMS5 000 SMS10 000 SMS25 000 SMS50 000 SMS : € HT Order 200 SMS View the international price list > Features 20 free SMS messages with orders of 200 SMS or more : Instant or scheduled sending Content customization Stop SMS International sending Guaranteed sending More features Sending SMS messages via API: Use cases SMS APIs offer a multitude of uses for businesses, enabling them to automate and optimize customer communication. They are particularly useful for sending thousands of messages in seconds, while ensuring a seamless and personalized customer experience. Among the most common use cases are: ✅ Sending OTP (One-Time Password) codes to secure connections. ✅ Confirming appointments or reservations. ✅ Order tracking notifications to keep customers informed in real time. SMS APIs also allow for segmenting and personalizing marketing campaigns, such as promotions or discounts, while measuring their effectiveness through customer feedback. Finally, they facilitate the automation of repetitive tasks (follow-ups, reminders, alerts) and the scheduling of automated messages, freeing up time for teams while improving communication. SMS API available with Ruby NodeJS C# VB.net Python Swift PHP Curl Java GO The guarantees of the SMS Partner API A team available to assist you 7 days a week A secure solution via the HTTPS API Offices located in Paris A proprietary technology SMS API Features STOP SMS Legislation requires professionals to include the “Stop SMS” option in their promotional SMS messages. Issuer’s name Customize the sender name that will appear in messages sent during your campaigns. Personalizing it will help reassure your recipients. Plan your campaigns Select the date and time to send your messages in order to optimize your campaigns by choosing the opportune moment. Delivery receipt Receive delivery receipts for your SMS messages after each campaign. Analyze your feedback to optimize your future mailings. “Sandbox” Test Simply try out our SMS API by running tests in the “sandbox”. A tool to better implement our API on your site. International SMS Our API allows you to send international SMS messages to more than 220 countries worldwide at the best price (Some countries apply specific rules related to telecom networks). Multi-account space Sub-account management allows you to facilitate consumption for your customers/users. The API manages up to 10,000 sub-accounts. Short URL SMS Partner provides you with an API to create and manage your short URLs. Shorten your URLs and track the number of clicks. Type of SMS The SMS Partner API allows you to send Premium SMS messages, but also low-cost SMS messages depending on your needs. Retrieve the answers The API allows you to receive SMS replies to messages sent to you (short number / long number). Sending SMS messages in batches Send 500 SMS messages directly in a single request and save bandwidth on your server with batch SMS sending. Send SMS in bulk. Demander la documentation > Number verification Automatically verify the validity of your mobile phone numbers using a number verification via our dedicated HLR API. AboutSMS API How can I manage sending bulk SMS messages without overloading my server?The API allows sending up to 500 SMS messages in a single request (batch sending), which optimizes bandwidth and reduces server load. SMS Partner offers a sandbox environment for testing integrations before production deployment. What programming languages and frameworks are compatible with the SMS Partner API?The SMS Partner API is compatible with several languages, including PHP, Node.js, Python, Java, Go, Ruby, and cURL. Ready-to-use code examples are available for each language, and detailed technical documentation is accessible to facilitate integration. What security and legal compliance guarantees are offered by the SMS Partner API? Data security: Phone numbers are protected and are never used by SMS Partner or third parties. GDPR/CNIL compliance: The API automatically integrates the “Stop SMS” option for promotional campaigns and complies with anti-spam regulations. Technical security: The API uses the HTTPS protocol to encrypt communications and offers an infrastructure hosted in France. Enjoy our service with 20 free SMS messages, with no commitment or subscription required. Try it free20 FREE SMSNo commitment, no subscription Since 2014, over 5,000 clients have placed their trust in us.