Home › Send SMS with Java

Send SMS with Java

Send an SMS to a UK mobile from Java with one HTTPS request to the Bremlio API. Real, runnable code — authentication, request, response and error handling — at 4.65p per message, pay as you go.

Get your API key free

1. Setup & authentication

Uses the built-in java.net.http.HttpClient (Java 11+). Read the API key from the environment. Create an API key in the Bremlio dashboard and authenticate by sending it in the X-Api-Key header. Numbers can be UK national (07…) or E.164 (+44…).

2. Send an SMS in Java

import java.net.URI;
import java.net.http.*;

var client = HttpClient.newHttpClient();
var body = """
    {"to":"+447700900123","message":"Your order has been confirmed."}""";
var request = HttpRequest.newBuilder(URI.create("https://api.bremlio.com/v1/messages"))
    .header("Content-Type", "application/json")
    .header("X-Api-Key", System.getenv("BREMLIO_API_KEY"))
    .POST(HttpRequest.BodyPublishers.ofString(body))
    .build();
var resp = client.send(request, HttpResponse.BodyHandlers.ofString());
if (resp.statusCode() == 200) {
    System.out.println("accepted: " + resp.body());
} else {
    System.err.println("failed: " + resp.statusCode() + " " + resp.body());
}

3. The response

{
  "success": true,
  "message_id": "a1b2c3d4-…",
  "provider_message_id": "…",
  "status": "accepted",
  "credits_remaining": 24
}

4. Errors to handle

The API returns a JSON {"error": "..."} with an appropriate HTTP status. Common cases:

StatusMeaning
400Invalid request — e.g. missing/!UK number, or empty/too-long message.
401Invalid or missing API key.
402Insufficient credits — top up to continue.
403Account pending verification, recipient suppressed, or blocked by content policy.

5. Production tips

Frequently asked questions

How do I send an SMS with Java?
Make an HTTPS POST to https://api.bremlio.com/v1/messages with your API key in the X-Api-Key header and a JSON body of {"to", "message"}. The full Java example is above.
What do I need to start?
A Bremlio account and an API key (created in the dashboard). New accounts get 25 free credits, so you can run the example end to end before paying.
How much does it cost?
4.65p per SMS to a UK mobile, pay as you go, no monthly fee.
How do I check delivery?
The send response returns a message_id and status. Delivery status is then available in the dashboard and via the message-history API.

Send your first SMS from Java today.

Get your API key free

Related

SMS API · UK SMS API · OTP API · Full developer docs · Pricing