The SMS Works API
thesmsworks · Company
The SMS Works provides a low-cost, reliable SMS API for developers. Pay only for delivered texts, all failed messages are refunded.
Authentication
Sample Requests
Returns the number of credits currently available on the account
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/thesmsworks.co.uk/1.8.0/credits/balance"
import requests
response = requests.get(
"https://api.apis.guru/v2/specs/thesmsworks.co.uk/1.8.0/credits/balance",
)
print(response.json())const url = 'https://api.apis.guru/v2/specs/thesmsworks.co.uk/1.8.0/credits/balance'; const response = await fetch(url); const data = await response.json(); console.log(data);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://api.apis.guru/v2/specs/thesmsworks.co.uk/1.8.0/credits/balance"
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/thesmsworks.co.uk/1.8.0/credits/balance")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/thesmsworks.co.uk/1.8.0/credits/balance";
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Returns a list of messages scheduled from your account, comprising any messages scheduled in the last 3 months and any scheduled to send in the future
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/thesmsworks.co.uk/1.8.0/messages/schedule"
import requests
response = requests.get(
"https://api.apis.guru/v2/specs/thesmsworks.co.uk/1.8.0/messages/schedule",
)
print(response.json())const url = 'https://api.apis.guru/v2/specs/thesmsworks.co.uk/1.8.0/messages/schedule'; const response = await fetch(url); const data = await response.json(); console.log(data);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://api.apis.guru/v2/specs/thesmsworks.co.uk/1.8.0/messages/schedule"
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/thesmsworks.co.uk/1.8.0/messages/schedule")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/thesmsworks.co.uk/1.8.0/messages/schedule";
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Returns the customer ID to the caller
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/thesmsworks.co.uk/1.8.0/utils/test"
import requests
response = requests.get(
"https://api.apis.guru/v2/specs/thesmsworks.co.uk/1.8.0/utils/test",
)
print(response.json())const url = 'https://api.apis.guru/v2/specs/thesmsworks.co.uk/1.8.0/utils/test'; const response = await fetch(url); const data = await response.json(); console.log(data);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://api.apis.guru/v2/specs/thesmsworks.co.uk/1.8.0/utils/test"
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/thesmsworks.co.uk/1.8.0/utils/test")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/thesmsworks.co.uk/1.8.0/utils/test";
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- See official documentation for authentication and setup.
What can you build with The SMS Works API?
The SMS Works API is a Company API. Developers commonly use company APIs for:
- enriching CRM records with company firmographics
- building lead-generation and prospecting tools
- verifying business identity and registration details
- monitoring competitors and market intelligence
- powering B2B data enrichment pipelines
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. The SMS Works API is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide