Buy a Number
You need to purchase a Vonage virtual number if you want to:
- Make or receive telephone calls with the Voice API
- Receive inbound SMS with the SMS API
- Use multichannel messaging with the Messages API
This page shows you how to buy a number programmatically.
You can also cancel a number online, using the developer dashboard or from the command line, using the Vonage CLI.
Replace the following variables in the sample code with your own values:
| Key | Description |
|---|---|
VONAGE_API_KEY | Your Vonage API key (see it on your dashboard). |
VONAGE_API_SECRET | Your Vonage API secret (also available on your dashboard). |
COUNTRY_CODE | The two digit country code for the number. For example: |
VONAGE_NUMBER | Your Vonage Number. E.g. |
Write the code
Add the following to buy-number.sh:
curl -X POST \
"https://rest.nexmo.com/number/buy?api_key=$VONAGE_API_KEY&api_secret=$VONAGE_API_SECRET" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "country=${COUNTRY_CODE}&msisdn=${VONAGE_NUMBER}"Run your code
Save this file to your machine and run it:
Prerequisites
npm install @vonage/server-sdkCreate a file named buy-number.js and add the following code:
const { Vonage } = require('@vonage/server-sdk');
const vonage = new Vonage({
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET,
});Write the code
Add the following to buy-number.js:
vonage.number.buyNumber({
country: COUNTRY_CODE,
msisdn: VONAGE_NUMBER,
})
.then((result) => console.log(result))
.catch((error) => console.error(error));Run your code
Save this file to your machine and run it:
Prerequisites
Add the following to build.gradle:
Create a class named BuyNumber and add the following code to the main method:
Run your code
We can use the application plugin for Gradle to simplify the running of our application. Update your build.gradle with the following:
Run the following gradle command to execute your application, replacing com.vonage.quickstart.kt.numbers with the package containing BuyNumber:
Prerequisites
Add the following to build.gradle:
Create a class named BuyNumber and add the following code to the main method:
VonageClient client = VonageClient.builder()
.apiKey(VONAGE_API_KEY)
.apiSecret(VONAGE_API_SECRET)
.build();Write the code
Add the following to the main method of the BuyNumber class:
client.getNumbersClient().buyNumber(NUMBER_COUNTRY_CODE, NUMBER_MSISDN);Run your code
We can use the application plugin for Gradle to simplify the running of our application. Update your build.gradle with the following:
Run the following gradle command to execute your application, replacing com.vonage.quickstart.numbers with the package containing BuyNumber:
Prerequisites
Install-Package VonageCreate a file named BuyNumber.cs and add the following code:
using Vonage;
using Vonage.Numbers;
using Vonage.Request;Add the following to BuyNumber.cs:
var credentials = Credentials.FromApiKeyAndSecret(vonageApiKey, vonageApiSecret);Write the code
Add the following to BuyNumber.cs:
var request = new NumberTransactionRequest() { Country = countryCode, Msisdn = vonageNumber };Prerequisites
composer require vonage/clientCreate a file named purchase.php and add the following code:
Run your code
Save this file to your machine and run it:
Prerequisites
pip install vonage python-dotenvWrite the code
Add the following to buy.py:
from vonage import Auth, Vonage
from vonage_numbers import NumberParams, NumbersStatus
client = Vonage(Auth(api_key=VONAGE_API_KEY, api_secret=VONAGE_API_SECRET))
status: NumbersStatus = client.numbers.buy_number(
params=NumberParams(
country=NUMBER_COUNTRY_CODE,
msisdn=NUMBER_MSISDN,
)
)
print(status.model_dump())Run your code
Save this file to your machine and run it:
Prerequisites
gem install vonageCreate a file named buy.rb and add the following code:
Run your code
Save this file to your machine and run it: