Search for a virtual number using Python

Use this guide to setup your Python application for use with the Numbers API to search for an available Sinch virtual number.

Note:

Before you can get started, you need the following already set up:

Steps:
  1. Set up your Python application
  2. Search for an available virtual number for SMS, Voice or both.

Set up your Python application

  1. Create a new file named search-number.py and paste the provided code found on this page into the file.

Search for a virtual number

import requests

project_id = "YOUR_projectId"
url = "https://numbers.api.sinch.com/v1/projects/" + project_id + "/availableNumbers"

query = {
  "regionCode": "US",
  "type": "LOCAL"
}
response = requests.get(url, params=query, auth=('YOUR_username','YOUR_password'))

data = response.json()
print(data)
  1. Once you activate your virtual environment, install requests if it wasn't previously installed.
Copy
Copied
pip install requests

This guide covers HTTP

Search for an available virtual number

  1. Assign your values to the following required parameters:
ParameterYour value
YOUR_ProjectIDThe project_id can be found in the Customer Dashboard.
YOUR_usernameThe username is your client_id or key_id and is found in the Sinch Customer Dashboard.
YOUR_passwordYour client_secret or key_secret. This is generated upon new key creation. Generate a new key if you have lost your secret key.
regionCodeThe two letter abbreviation of the country for which you'd like a number. ISO 3166–1 alpha–2.
typeThe type of number you would like to rent. Available options are: MOBILE, LOCAL, or TOLL_FREE. Note that 10DLC numbers should be set to LOCAL.
Want to set additional search criteria?

Check out the the API reference, then the corresponding endpoint, for a list of additional search parameters.

  1. Save the file.
  2. Execute the code to search for an available number. Open a command prompt or terminal to the location where your Python file is saved and run the following command:
Copy
Copied
python search-number.py

Response

These steps should return a JSON list of numbers available to rent.

Copy
Copied
{
  "availableNumbers": [
    {
      "phoneNumber": "+12089087284",
      "regionCode": "US",
      "type": "LOCAL",
      "capability": ["SMS"],
      "setupPrice": {
        "currencyCode": "USD",
        "amount": "0.00"
      },
      "monthlyPrice": {
        "currencyCode": "USD",
        "amount": "2.00"
      },
      "paymentIntervalMonths": 1
    }
  ]
}

Next steps

Copy the phoneNumber you would like to use and rent your virtual number using the Numbers API.

Additional resources

Was this page helpful?

Search for a virtual number

import requests

project_id = "YOUR_projectId"
url = "https://numbers.api.sinch.com/v1/projects/" + project_id + "/availableNumbers"

query = {
  "regionCode": "US",
  "type": "LOCAL"
}
response = requests.get(url, params=query, auth=('YOUR_username','YOUR_password'))

data = response.json()
print(data)