Home › Send SMS with Node.js

Send SMS with Node.js

Send an SMS to a UK mobile from Node.js 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 fetch (Node 18+). Read the API key from process.env. 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 Node.js

const resp = await fetch("https://api.bremlio.com/v1/messages", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "X-Api-Key": process.env.BREMLIO_API_KEY,
  },
  body: JSON.stringify({ to: "+447700900123", message: "Your order has been confirmed." }),
});
const data = await resp.json();
if (resp.ok && data.status === "accepted") {
  console.log("sent:", data.message_id, "credits left:", data.credits_remaining);
} else {
  console.error("failed:", resp.status, data.error);
}

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 Node.js?
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 Node.js 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 Node.js today.

Get your API key free

Related

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