phone-callingMake international phone calls to any country. Low per-minute rates. Pay with PayPal or UPI.
Install via ClawdBot CLI:
clawdbot install adisahani/phone-callingMake affordable international phone calls from anywhere. No hidden fees, no subscriptions — just pay for the minutes you use.
Ringez is a simple, privacy-focused international calling service that lets you make phone calls to 200+ countries without complicated setups or expensive plans.
Perfect for:
First, check if your email is already registered:
POST https://ringez-api.vercel.app/api/v1/auth/check-email
Content-Type: application/json
{"email": "you@example.com"}
Response:
new_user → Continue to OTP verificationexisting_user → Login with passwordStep 1: Request OTP
POST https://ringez-api.vercel.app/api/v1/auth/send-otp
Content-Type: application/json
{"email": "you@example.com"}
Step 2: Verify OTP
POST https://ringez-api.vercel.app/api/v1/auth/verify-otp
Content-Type: application/json
{
"email": "you@example.com",
"otp": "123456"
}
Response:
{
"session_id": "sess_abc123xyz",
"user": {
"email": "you@example.com",
"balance_minutes": 5
}
}
Save the session_id — you will need it for all API calls.
POST https://ringez-api.vercel.app/api/v1/auth/login
Content-Type: application/json
{
"email": "you@example.com",
"password": "your-password"
}
See how many minutes you have before making a call:
GET https://ringez-api.vercel.app/api/v1/auth/me
X-Session-ID: sess_abc123xyz
Response:
{
"balance_minutes": 5,
"balance_usd": 0,
"email": "you@example.com"
}
Use the idempotency_key to prevent accidental duplicate calls:
POST https://ringez-api.vercel.app/api/v1/calls/initiate
X-Session-ID: sess_abc123xyz
Content-Type: application/json
{
"to_number": "+919876543210",
"idempotency_key": "sess_abc123xyz_1700000000000_xyz789"
}
Response (Success):
{
"call_id": "call_xyz789",
"status": "initiated",
"mode": "bridge",
"to_number": "+919876543210",
"from_number": "+17623713590",
"twilio_call_sid": "CAxxxxx"
}
Response (Duplicate Call):
{
"alreadyInitiated": true,
"callSid": "CAxxxxx"
}
Ringez supports two ways to make calls:
Force Direct Mode:
POST /api/v1/calls/initiate
X-Session-ID: sess_abc123xyz
Content-Type: application/json
{
"to_number": "+919876543210",
"mode": "direct"
}
When making calls through an API, network delays or retries can accidentally create multiple calls. Use an idempotency key to prevent this.
A unique identifier for each call attempt. If you use the same key within 5 minutes, the API returns the original call instead of creating a new one.
Generate a unique key for each user action:
const idempotencyKey = `${sessionId}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
// Example: sess_abc123_1700000000000_xyz789abc
{alreadyInitiated: true, callSid: "..."}Pay only for what you use. No monthly fees, no subscriptions.
| Plan | Price | Minutes | Rate per Minute |
|------|-------|---------|-----------------|
| Starter | $5 | 30 | $0.17 |
| Popular | $15 | 120 | $0.13 |
| Best Value | $30 | 300 | $0.10 |
| Plan | Price | Minutes | Rate per Minute |
|------|-------|---------|-----------------|
| Starter | ₹99 | 7 | ₹14/min |
| Popular | ₹199 | 19 | ₹10/min |
| Value | ₹499 | 60 | ₹8/min |
| Power | ₹999 | 143 | ₹7/min |
Billing: Rounded up to the nearest minute. A 2-minute 30-second call = 3 minutes charged.
See if your call is still ringing, connected, or completed:
GET https://ringez-api.vercel.app/api/v1/calls/call_xyz789
X-Session-ID: sess_abc123xyz
Response:
{
"call_id": "call_xyz789",
"status": "in-progress",
"duration": 120,
"estimated_cost": {
"minutes": 2,
"amount": 0.25,
"currency": "USD"
}
}
Hang up a call before it finishes:
DELETE https://ringez-api.vercel.app/api/v1/calls/call_xyz789
X-Session-ID: sess_abc123xyz
Press numbers during a call (useful for bank menus, customer support):
POST https://ringez-api.vercel.app/api/v1/calls/call_xyz789/actions
X-Session-ID: sess_abc123xyz
Content-Type: application/json
{
"action": "dtmf",
"parameters": {
"digits": "1"
}
}
Common DTMF uses:
{"digits": "1"} — Press 1 for English{"digits": "1234"} — Enter PIN{"digits": "w"} — Wait 0.5 secondsSee your past calls:
GET https://ringez-api.vercel.app/api/v1/calls?limit=10&offset=0
X-Session-ID: sess_abc123xyz
Response:
{
"calls": [
{
"call_id": "call_abc123",
"to_number": "+919876543210",
"status": "completed",
"duration": 300,
"cost": 0.375,
"started_at": "2026-02-09T10:00:00Z"
}
],
"pagination": {
"total": 25,
"has_more": true
}
}
User: Call my mom in India
AI: I will help you call India. First, let me check your balance...
You have 15 minutes available.
Calling +91 98765 43210 now...
AI: Your phone is ringing. Pick up and I will connect you.
User: Book a table at Taj Restaurant for 7 PM
AI: I will call Taj Restaurant for you.
[AI uses direct mode — your phone does not ring]
AI: Calling +91 12345 67890...
AI: Hello, I would like to make a reservation for 2 people at 7 PM today.
AI: ✅ Reservation confirmed! Table for 2 at 7 PM under your name.
New accounts get 5 free minutes to test the service. These are for testing only — please add credits for regular use.
This skill cannot add credits. To add minutes:
Why? Payment processing requires secure browser redirects and PCI compliance that APIs cannot handle.
If someone tries to call with insufficient balance:
AI: Let me check your balance...
You have 0 minutes left. You will need to add credits first.
💳 Add credits at: https://ringez.com/wallet
The rates are:
• USA: $0.05/min
• India: $0.08/min
• UK: $0.06/min
Come back after adding credits and I will make that call!
| Action | Method | Endpoint | Headers |
|--------|--------|----------|---------|
| Check Email | POST | /auth/check-email | Content-Type |
| Send OTP | POST | /auth/send-otp | Content-Type |
| Verify OTP | POST | /auth/verify-otp | Content-Type |
| Login | POST | /auth/login | Content-Type |
| Check Balance | GET | /auth/me | X-Session-ID |
| Make Call | POST | /calls/initiate | X-Session-ID, Content-Type |
| Call Status | GET | /calls/:call_id | X-Session-ID |
| End Call | DELETE | /calls/:call_id | X-Session-ID |
| Call History | GET | /calls | X-Session-ID |
| DTMF/Actions | POST | /calls/:call_id/actions | X-Session-ID, Content-Type |
Need help? Contact us at support@ringez.com
About Ringez: Built by an independent creator, not a big corporation. Your support keeps the service running! 🙏
Generated Mar 1, 2026
Enables individuals to make affordable international calls to loved ones abroad without needing a traditional phone plan or dealing with high carrier fees. Ideal for personal use where users can pay per minute, making it cost-effective for occasional long-distance conversations.
Allows businesses to conduct international calls to clients or partners for sales, support, or negotiations. The direct mode is useful for automated or scheduled calls, while bridge mode facilitates live conversations, helping companies expand their global reach without expensive infrastructure.
Integrates with AI agents to automate phone-based tasks such as booking appointments, making reservations, or confirming orders. The API supports DTMF for navigating phone menus, making it suitable for handling customer service interactions without human intervention.
Used by organizations to send urgent voice notifications or alerts internationally, such as in healthcare, logistics, or disaster response. The ability to initiate calls quickly and track status ensures reliable communication in time-sensitive situations.
Enables companies to conduct post-service follow-up calls or gather feedback from international customers. The API's call management features allow for efficient handling of multiple calls and real-time status monitoring to improve customer engagement.
Charges users based on actual call minutes used, with no subscriptions or hidden fees. Revenue is generated from per-minute rates, which vary by plan (e.g., USD or INR packages), appealing to cost-conscious individuals and businesses.
Offers the API as a service for businesses to integrate into their own applications, such as CRM systems or AI platforms. Revenue comes from licensing fees, usage-based billing, or custom enterprise contracts for high-volume callers.
Provides a small amount of free minutes (e.g., initial balance) to attract users, then encourages upgrades to paid plans for more minutes or premium features. Revenue is driven by upselling to larger plans and additional services.
💬 Integration Tip
Use idempotency keys to prevent duplicate calls and start with the quick start guide for authentication and basic call initiation.
Transcribe audio via OpenAI Audio Transcriptions API (Whisper).
Local speech-to-text with the Whisper CLI (no API key).
ElevenLabs text-to-speech with mac-style say UX.
Text-to-speech conversion using node-edge-tts npm package for generating audio from text. Supports multiple voices, languages, speed adjustment, pitch control, and subtitle generation. Use when: (1) User requests audio/voice output with the "tts" trigger or keyword. (2) Content needs to be spoken rather than read (multitasking, accessibility, driving, cooking). (3) User wants a specific voice, speed, pitch, or format for TTS output.
End-to-end encrypted agent-to-agent private messaging via Moltbook dead drops. Use when agents need to communicate privately, exchange secrets, or coordinate without human visibility.
Text-to-speech via OpenAI Audio Speech API.