textbee.dev is an open-source SMS gateway that enables users to send and receive SMS messages via a web dashboard or a REST API. Perfect for businesses, developers, and hobbyists who need a reliable and cost-effective way to automate SMS messaging.

Code Snippet: Few lines of code showing how to send an SMS message via the REST API
const API_KEY = 'YOUR_API_KEY';
const DEVICE_ID = 'YOUR_DEVICE_ID';
await axios.post(`https://api.textbee.dev/api/v1/gateway/devices/${DEVICE_ID}/send-sms`, {
recipients: [ '+251912345678' ],
message: 'Hello World!',
}, {
headers: {
'x-api-key': API_KEY,
},
});
Code Snippet: Curl command to send an SMS message via the REST API
curl -X POST "https://api.textbee.dev/api/v1/gateway/devices/YOUR_DEVICE_ID/send-sms" \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"recipients": [ "+251912345678" ],
"message": "Hello World!"
}'
To receive SMS messages, you can enable the feature from the mobile app. You can then fetch the received SMS messages via the REST API or view them in the dashboard. (Webhook notifications are coming soon)
Code Snippet: Few lines of code showing how to fetch received SMS messages via the REST API
const API_KEY = 'YOUR_API_KEY';
const DEVICE_ID = 'YOUR_DEVICE_ID';
await axios.get(`https://api.textbee.dev/api/v1/gateway/devices/${DEVICE_ID}/get-received-sms`, {
headers: {
'x-api-key': API_KEY,
},
});
Code Snippet: Curl command to fetch received SMS messages
curl -X GET "https://api.textbee.dev/api/v1/gateway/devices/YOUR_DEVICE_ID/get-received-sms"\
-H "x-api-key: YOUR_API_KEY"
google-services.json file with your Firebase project configuration.textbee.dev with your own domain in the project.bash
./gradlew assembleReleaseweb directory..env.example file to .env:
bash
cp .env.example .env.env file with your own credentials.bash
pnpm installbash
pnpm buildapi directory..env.example file to .env:
bash
cp .env.example .env.env file with your own credentials.bash
pnpm installbash
pnpm buildpnpm, pm2, and Caddy on your VPS.pm2 to manage your Node.js processes:
bash
pm2 start dist/main.js --name textbee-apiCaddy to serve your web application and API. Example Caddyfile:
textbee.dev {
reverse_proxy /api/* localhost:3000
reverse_proxy /* localhost:3001
}.env in web && api folder.
bash
cd web && cp .env.example .env \
&& cd ../api && cp .env.example .envweb container, api container alongside with MongoDB and MongoExpress. TextBee database will be automatically created.
bash
docker compose up -d
To stop the containers simply type
bash
docker compose down Contributions are welcome!
main branch.main branch.Please feel free to create an issue in the repository for any bug reports or feature requests. Make sure to provide a detailed description of the issue or feature you are requesting and properly label whether it is a bug or a feature request.
Please note that if you discover any vulnerability or security issue, we kindly request that you refrain from creating a public issue. Instead, send an email detailing the vulnerability to contact@textbee.dev.
Feel free to reach out to us at contact@textbee.dev or Join our Discord server
$ claude mcp add textbee \
-- python -m otcore.mcp_server <graph>