Search for a virtual number using Node.js
Use this guide to setup your Node.js application for use with the Numbers API and search for an available Sinch virtual number.
Note:
Before you can get started, you need the following already set up:
- Complete all Numbers API prerequisite steps.
- Node.js and a familiarity with how to create a new app.
Steps:
- Set up your Node.js application.
- Search for an available virtual number for SMS, Voice or both.
Set up your Node.js application
- Once your free Sinch account is setup and you have a virtual number, create a new node app with npm.
npm init
- Accept the defaults for the application.
- Add the fetch package with npm to generate the necessary dependencies.
npm install node-fetch
Search for an available virtual number
Create your file
Create a new file named index.mjs
in the project and paste the "Search for a virtual number" code.
Search for a virtual number
import fetch from 'node-fetch';
async function run() {
const query = new URLSearchParams({
regionCode: 'US',
type: 'LOCAL'
}).toString();
const projectId = 'YOUR_projectId_PARAMETER';
const resp = await fetch(
`https://numbers.api.sinch.com/v1/projects/${projectId}/availableNumbers?${query}`,
{
method: 'GET',
headers: {
Authorization: 'Basic ' + Buffer.from('<username>:<password>').toString('base64')
}
}
);
const data = await resp.text();
console.log(data);
}
run();
Fill in your parameters
Parameter | Your value |
---|---|
YOUR_ProjectID | The project ID found in the Sinch Customer Dashboard. |
YOUR_username | your client_id or key_id found in the Customer Dashboard. |
YOUR_password | Your client_secret or key_secret . This is generated upon new key creation. Generate a new key if you have lost your secret key. |
regionCode | The two letter abbreviation of the country for which you'd like a number. ISO 3166–1 alpha–2. |
type | The 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 . |
- Save the file.
Run the file
Run the following command in your terminal or command prompt:
node index.mjs
Response
The response should look something like this (repeated many times over!):
{
"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
- Explore the API specification to test more endpoints.
- Prefer a UI to search for a number? Follow the entire number searching and renting process in the Customer Dashboard.