Make AI phone calls, buy phone numbers, and check iMessage/FaceTime status — pay per request with USDC.
What it does
StablePhone is a pay-per-request API for initiating AI-driven phone calls to US and Canadian numbers. You POST a phone number and a natural-language task (e.g. "ask if they can meet tomorrow at 2pm"), pay $0.54 in USDC via x402 or MPP (Tempo), and receive a call_id. The AI agent places the call using your instructions, and you poll for a transcript, summary, recording URL, and call metadata. Calls support configurable voices (7 presets plus custom Bland.ai voice IDs), max duration up to 30 minutes, voicemail handling, call transfer, and custom caller ID via dedicated phone numbers.
Beyond calls, StablePhone offers dedicated phone number provisioning ($20.00 for 30 days, $15.00 to extend) for use as outbound caller ID, and an iMessage/FaceTime lookup endpoint ($0.05) that asynchronously checks whether a number is registered for Apple messaging services, returning carrier and country info as well. All paid endpoints settle in USDC on Base (or via Tempo L2). Free status-polling and listing endpoints use SIWX (Sign-In With X) wallet authentication — no API keys or accounts required.
The API is fully documented via an OpenAPI 3.1 spec and an llms.txt guidance file. Phone numbers must be in E.164 format (+1XXXXXXXXXX). Numbers on the Do-Not-Call list return 403 and should not be retried.
Capabilities
Use cases
- —Scheduling meetings or appointments via automated AI phone calls
- —Verifying whether a phone number supports iMessage or FaceTime before messaging
- —Provisioning temporary US/CA phone numbers for outbound caller ID
- —Leaving voicemails programmatically with natural-sounding AI voices
- —Building AI agents that can make phone calls on behalf of users
Fit
Best for
- —AI agents that need to place real phone calls as part of a workflow
- —Developers wanting pay-per-use telephony without API keys or accounts
- —Checking iMessage/FaceTime availability for phone numbers at scale
- —Prototyping voice-based outreach with configurable AI personas
Not for
- —High-volume call center operations (max 30-min calls, single-call pricing)
- —International numbers outside US and Canada (phone_number pattern is +1 only)
- —Real-time two-way voice conversations (calls are agent-initiated, not interactive for the caller)
Quick start
curl -X POST https://stablephone.dev/api/call \
-H 'Content-Type: application/json' \
-d '{
"phone_number": "+14155551234",
"task": "Call and ask if they can meet tomorrow at 2pm. Be friendly and professional."
}'
# Returns 402 — pay with an x402/MPP client, then receive {"success":true,"call_id":"abc-123-def"}Example
Request
{
"task": "Call this person and ask if they're available for a meeting tomorrow at 2pm.",
"model": "base",
"voice": "nat",
"record": true,
"max_duration": 5,
"phone_number": "+14155551234",
"voicemail_action": "hangup"
}Response
{
"call_id": "abc-123-def",
"message": "Call initiated successfully",
"success": true
}Endpoint
Quality
Full OpenAPI 3.1 spec with detailed schemas, clear pricing, extensive guidance/llms.txt, multiple endpoints documented with request/response schemas. The endpoint returned 405 on HEAD/GET probes (expected since it's POST-only), not a failure. Deducted slightly because /docs returns 404 and there are no separate human-readable docs beyond the landing page.
Warnings
- —Probe returned 405 on HEAD/GET — expected for a POST-only endpoint; the endpoint is live based on OpenAPI and landing page evidence
- —The /docs page returns 404; all documentation is in the OpenAPI spec and llms.txt guidance
- —Phone numbers are restricted to US/CA (+1 E.164 format only)
- —Calls that hit Do-Not-Call (DNC) numbers return 403 — do not retry
Citations
- —POST /api/call costs $0.54 per callhttps://stablephone.dev
- —POST /api/number costs $20.00 for a 30-day phone numberhttps://stablephone.dev
- —POST /api/number/topup costs $15.00 to extend by 30 dayshttps://stablephone.dev
- —POST /api/lookup costs $0.05 for iMessage/FaceTime checkhttps://stablephone.dev
- —Payment settles in USDC on Base or via Tempo L2https://stablephone.dev
- —Powered by Bland.ai for voice callshttps://stablephone.dev
- —Numbers on the Do-Not-Call list return 403https://stablephone.dev
- —Seven voice presets available: nat, josh, maya, june, paige, derek, florianhttps://stablephone.dev