HTTP / HTTPS SMS API · For developers

The SMS API that connects your applications to your customers.

Add business SMS to your website, CRM, ERP or business software. A simple HTTP SMS API, automated notifications and accurate tracking of every message.

No subscription No commitment Pay as you go
send-sms.example● Secure HTTPS
<?php// Free test: recipient 999 (no real SMS sent)$data = [  'user'  => getenv('TH_USER'),  'pass'  => getenv('TH_PASS'),  'cmd'   => 'sendsms',  'to'    => '999',  'txt'   => 'TextingHouse SMS API test',  'iscom' => 'N'];​$ch = curl_init('https://api.textinghouse.com/http/v1/do');curl_setopt_array($ch, [  CURLOPT_POST => true,  CURLOPT_POSTFIELDS => http_build_query($data),  CURLOPT_RETURNTRANSFER => true]);echo curl_exec($ch); // ID:... or ERR:...curl_close($ch);
API RESPONSEID:5d726149a129c829e8c23f7b✓ Accepted
SMS acceptedIdentifier returned by the API
€0subscription
HTTPS APIPOST or GET
Test with 999free, no real SMS
JSON callbacksstatuses and SMS replies
One API, many possibilities

Every SMS API feature your software needs.

From transactional SMS to customer communication, the TextingHouse SMS API gives you the features you need to automate your messaging without making your development more complex. Every platform feature is available through the API.

Automated SMS sending

Trigger confirmations, reminders, alerts or verification codes from your website, app or management software.

Delivery reports

Receive the final status of your SMS through a JSON callback (webhook) or query the API with getstatus.

Two-way SMS replies

Receive your recipients’ replies on a dedicated URL, where the destination and sender type allow it.

Custom sender ID

Show your company name (11 characters) instead of a number, subject to the rules of the destination country.

STOP opt-out management

Opt-outs from marketing SMS are collected automatically thanks to the STOP sms-s.top mention.

Credit balance check

Check your balance from your application with the getcredit command and keep track of usage.

Your own message ID

Attach your internal reference to every SMS with climsgid to match sends, statuses and replies.

Secure access

HTTPS connection on port 443, dedicated API credentials and sending locked to your server’s IP address.

Service continuity

A backup server, api2.textinghouse.com, takes over if the main endpoint does not respond.

Good to know: SMS replies (MO) are available depending on the country and the operator. A custom sender ID prevents recipients from replying directly. The precise technical conditions are in the SMS API documentation.

Getting started is easy

From sign-up to your first SMS sent by API.

A lightweight integration in your environment and documentation covering every SMS API parameter.

01

Create your account

Sign up for free and find your API credentials on the “Settings” page of your TextingHouse interface.

02

Connect your application

Call the HTTPS endpoint with your URL-encoded parameters, using POST or GET, from the language of your choice.

03

Test, then send

Use the 999 recipient to test the whole sending chain for free, then go live.

For developers

An HTTP SMS API. Clean code. SMS built into your tools.

No proprietary SDK to install: send an HTTPS request with the expected fields and get the message ID back. SMS API examples in PHP, Node.js, Python and cURL, ready to adapt.

  • Endpoint: https://api.textinghouse.com/http/v1/do
  • POST or GET, URL-encoded parameters, HTTPS connection
  • sendsms, getstatus and getcredit commands
  • Plain-text responses: ID:… or ERR: code | description
  • JSON callbacks for final statuses (DLR) and SMS replies (MO)
sms-api-integration
# Python 3 · requests libraryimport osimport requests​r = requests.post(    "https://api.textinghouse.com/http/v1/do",    data={        "user": os.environ["TH_USER"],        "pass": os.environ["TH_PASS"],        "cmd": "sendsms",        "to": "999",  # free test        "txt": "TextingHouse SMS API test",        "iscom": "N",        "climsgid": "ORDER-2026-0412",  # your own ID    },    timeout=10,)print(r.text)  # ID:... or ERR:...

Key SMS API parameters

sendsms command. Parameters are case-sensitive; authentication uses user and pass.

ParameterStatusPurpose
cmdRequiredCommand: sendsms (send), getstatus (status) or getcredit (credit).
toRequiredRecipient number in international format, without “+” (e.g. 447700900123). 999 for a free test.
txtRequiredSMS text, URL-encoded. Up to 160 GSM 03.38 characters per SMS.
iscomRequiredN: transactional SMS, sent at any time. Y: marketing SMS, with set sending hours and the STOP sms-s.top mention.
fromOptionalCustom sender ID (11 characters a-z, A-Z, 0-9), from the names approved for your account.
climsgidOptionalYour internal ID (up to 32 characters), included in statuses and replies.
Business SMS API

The right SMS, at the right time, from your applications.

Build automated SMS into your processes to inform customers, users or teams at the moments that matter.

E-commerce

Order confirmations, dispatch notices, parcels ready to collect or items back in stock.

SMS marketing

Appointments

Confirmations, reminders the day before and schedule changes sent automatically from your calendar.

SMS for healthcare

CRM and ERP

Follow-ups, business notifications and messages triggered by your software workflows.

SMS in HubSpot

Alerts and codes

Service alerts, verification codes and urgent information sent at any time.

SMS for logistics
No developer at hand? Send SMS from HubSpot, connect your tools with Zapier or use the SMS extension for manual sending.
Clear pricing

A free SMS API.
You only pay for your SMS.

No API access fee, no subscription, no commitment. You buy credits as you need them: the price of an SMS depends on its destination, among more than 150 countries, and on the volume purchased. Tests to 999 are free.

Sending SMS to the UK
from €0.050 excl. VAT
See SMS pricing Price per SMS by destination and volume.
Frequently asked questions

Everything you need to know about our SMS API.

The key answers before integrating an HTTP SMS gateway into your application.

What is an SMS API and what is it used for?

An SMS API is an interface that lets a website, business software, CRM or ERP send SMS programmatically. With the TextingHouse HTTP SMS API, your applications automatically send confirmations, reminders, alerts or codes, and get the status of every message.

Is the TextingHouse SMS API free?

API access is free, with no subscription or commitment. Only the SMS actually sent are charged, at the price of their destination and depending on the volume of credits purchased. Test messages to the number 999 are free. See SMS pricing.

How can I test sending SMS by API for free?

Create your account, then send a message to the special recipient 999. The API handles it like a real SMS: it returns an ID, accepts your internal ID, answers status requests and sends back a “delivered” report, without any SMS being handed to an operator. You can also unlock 10 real SMS to validate your integration.

Which programming languages can I use?

Any language that can send an HTTP request: PHP, JavaScript and Node.js, Python, Java, C#, Go, Ruby, as well as no-code tools or a simple cURL command. No SDK is needed: the API receives URL-encoded parameters by POST or GET over HTTPS and replies in plain text.

How do I receive SMS delivery reports (DLR)?

Enter a callback URL in your API account settings. TextingHouse sends it an HTTP POST request in JSON as soon as an SMS reaches a final status (delivered, expired, undeliverable…). You can also query the API with the getstatus command using the message ID or your own climsgid.

Can recipients reply to SMS sent through the API?

Yes, depending on the country and the operator. Replies (MO SMS) are forwarded in JSON to the URL of your choice. Note that when a custom sender ID is used, recipients cannot reply.

Can I customise the SMS sender ID?

Yes. The from parameter shows your company name, up to 11 characters without accents, from the names approved for your account. Some countries or operators do not accept custom sender IDs: in that case it is replaced at the time of sending.

How do I send marketing and transactional SMS with the API?

The required iscom parameter states the type of message. A transactional SMS (iscom=N: confirmation, reminder, alert, code) goes out at any time. A marketing SMS (iscom=Y) is sent Monday to Friday from 8 am to 8 pm and on Saturday from 10 am to 3 pm, in the recipient’s local time, and must end with the STOP sms-s.top mention, which handles opt-outs automatically.

How many characters can an SMS sent by API contain?

An SMS holds up to 160 characters from the GSM 03.38 alphabet. Beyond that, the message is split into several SMS and each part is counted.

What happens if the API does not respond?

Plan an automatic failover: if a request to api.textinghouse.com gets no response, send it again immediately to the backup server api2.textinghouse.com. This redundancy keeps your sending running.

What is the difference between an HTTP SMS API and an SMPP connection?

The HTTP API suits the vast majority of integrations: websites, applications and business software. For aggregators and high-traffic software publishers, TextingHouse also provides dedicated connections (SMPP, XML, FTP) or a custom connection. Contact us to discuss it.

Your project starts here

Ready to add SMS to your applications?

Create your account for free and run your first SMS API test to 999, with no commitment.