Powerful Telephony API for Developers & AI Systems

Provision virtual numbers in 145 countries, send and receive SMS, control calls, and connect AI voice agents — all via a simple REST API. No hardware. Instant activation.

Everything You Need to Build on Top of Voice & SMS

Four API surface areas — one account, one token, one REST interface.

Quick-Start Code Samples

All API calls use POST. First call Login to get your account_token, then pass it in every subsequent request. Full endpoint reference: API Directory.

# Step 1 — Login and get your account_token
import requests

login = requests.post("https://newsip.israelnumber.com/api/login", data={
    "username": "YOUR_ACCOUNT_NUMBER",
    "password": "YOUR_PASSWORD"
})
token = login.json()["account_token"]

# Step 2 — List available DIDs in Israel
available = requests.post("https://newsip.israelnumber.com/customer/did_crud/", data={
    "token": token,
    "action": "list",
    "country_id": "IL"
})
dids = available.json()
for d in dids["dids"][:3]:
    print(d["did_number"], d["monthly_cost"])

# Step 3 — Assign a DID to your account
order = requests.post("https://newsip.israelnumber.com/customer/did_management/", data={
    "token": token,
    "action": "assign",
    "did_id": dids["dids"][0]["did_id"]
})
print("Provisioned:", order.json())

# Step 4 — Set forwarding destination
fwd = requests.post("https://newsip.israelnumber.com/customer/did_management/", data={
    "token": token,
    "did_id": dids["dids"][0]["did_id"],
    "always": "+19175550100"   # or SIP: user@domain
})
print("Forwarding set:", fwd.json())
// Requires: npm install node-fetch form-data
const fetch = require("node-fetch");
const FormData = require("form-data");

// Step 1 — Login
async function israelnumberLogin(username, password) {
  const form = new FormData();
  form.append("username", username);
  form.append("password", password);

  const res = await fetch("https://newsip.israelnumber.com/api/login", {
    method: "POST", body: form
  });
  const data = await res.json();
  return data.account_token;
}

// Step 2 — Get available numbers
async function getAvailableDIDs(token, countryId) {
  const form = new FormData();
  form.append("token", token);
  form.append("action", "list");
  form.append("country_id", countryId);

  const res = await fetch("https://newsip.israelnumber.com/customer/did_crud/", {
    method: "POST", body: form
  });
  return res.json();
}

// Step 3 — Run it
(async () => {
  const token = await israelnumberLogin("YOUR_ACCOUNT_NUMBER", "YOUR_PASSWORD");
  const numbers = await getAvailableDIDs(token, "GB");
  console.log("Available UK numbers:", numbers.dids.slice(0,3));
})();
# Step 1 — Login and capture token
TOKEN=$(curl -s -X POST https://newsip.israelnumber.com/api/login \
  -d "username=YOUR_ACCOUNT_NUMBER" \
  -d "password=YOUR_PASSWORD" \
  | python3 -c "import sys,json; print(json.load(sys.stdin)['account_token'])")

# Step 2 — Check account balance
curl -s -X POST https://newsip.israelnumber.com/api/get_balance \
  -d "token=$TOKEN"
# Step 3 — List available numbers in Germany
curl -s -X POST https://newsip.israelnumber.com/customer/did_crud/ \
  -d "token=$TOKEN" \
  -d "action=list" \
  -d "country_id=DE"
# Step 4 — Release a DID
curl -s -X POST https://newsip.israelnumber.com/customer/did_management/ \
  -d "token=$TOKEN" \
  -d "action=release" \
  -d "did_id=12345"

What Developers Build with Israelnumber API

Explore detailed guides for each integration use case.

Frequently Asked Questions

Common questions from developers integrating the Israelnumber API.

Can I provision virtual phone numbers via API?

Yes. Israelnumber provides a REST API for programmatic provisioning of virtual phone numbers in 145 countries. You can search available numbers, assign them to your account, configure forwarding, and release them — all without logging into the dashboard.

Is there a telephony API for AI voice agents?

Yes. Israelnumber’s API supports dynamic call forwarding and webhook callbacks, making it suitable for routing inbound calls to AI voice agent platforms such as Bland.ai, Vapi, and Retell. You provision a local number via API, then point its destination to your AI system’s SIP URI or webhook URL.

What programming languages does the Israelnumber API support?

The Israelnumber API is a standard HTTP POST REST API. Any language that can send HTTP requests works: Python, Node.js, PHP, Ruby, Go, Java, and so on. Code samples are provided for Python, Node.js, and cURL on this page.

Is there a free sandbox to test the API?

Yes. The full API reference and a free sandbox environment are available at israelnumber.com/api-documentation-sandbox. You can also explore the interactive API Directory reference without writing any code.

How do I authenticate API requests?

All requests use POST. First, call the Login endpoint with your account number and password to receive an account_token. Include this token as a POST parameter in every subsequent API call.

Ready to Start Building?

Create a free account and get your API token in under 2 minutes.