{
"data": {
"carrier": "",
"reason": "Invalid phone number structure.",
"isValid": false,
"blacklisted": false,
"disposable": false,
"phone": "+12121234567",
"countryCode": "US",
"custom_rules_applied": {
"total": 0,
"rules": []
}
},
"status": "success",
"executionTime": 1
}
{
"status": "error",
"code": 101,
"type": "invalid_key",
"description": "The API Key is missing or invalid."
}
Phone Number Scoring
curl --request GET \
--url https://greipapi.com/scoring/phone \
--header 'Authorization: Bearer <token>'import requests
url = "https://greipapi.com/scoring/phone"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://greipapi.com/scoring/phone', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://greipapi.com/scoring/phone",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://greipapi.com/scoring/phone"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://greipapi.com/scoring/phone")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://greipapi.com/scoring/phone")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"carrier": "",
"reason": "Invalid phone number structure.",
"isValid": false,
"blacklisted": false,
"disposable": false,
"phone": "+12121234567",
"countryCode": "US",
"custom_rules_applied": {
"total": 0,
"rules": []
}
},
"status": "success",
"executionTime": 1
}
{
"status": "error",
"code": 101,
"type": "invalid_key",
"description": "The API Key is missing or invalid."
}
Risk Scoring
Phone Number Scoring
This method serves as an additional layer of protection in your system for validating phone numbers. It not only checks the syntax but also assesses the likelihood of the phone number being valid and operational.
By incorporating this scoring into your workflow, you can enhance fraud detection, reduce invalid inputs, and improve the overall quality of data captured.
{
"data": {
"carrier": "",
"reason": "Invalid phone number structure.",
"isValid": false,
"blacklisted": false,
"disposable": false,
"phone": "+12121234567",
"countryCode": "US",
"custom_rules_applied": {
"total": 0,
"rules": []
}
},
"status": "success",
"executionTime": 1
}
{
"status": "error",
"code": 101,
"type": "invalid_key",
"description": "The API Key is missing or invalid."
}
GET
/
scoring
/
phone
Phone Number Scoring
curl --request GET \
--url https://greipapi.com/scoring/phone \
--header 'Authorization: Bearer <token>'import requests
url = "https://greipapi.com/scoring/phone"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://greipapi.com/scoring/phone', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://greipapi.com/scoring/phone",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://greipapi.com/scoring/phone"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://greipapi.com/scoring/phone")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://greipapi.com/scoring/phone")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"carrier": "",
"reason": "Invalid phone number structure.",
"isValid": false,
"blacklisted": false,
"disposable": false,
"phone": "+12121234567",
"countryCode": "US",
"custom_rules_applied": {
"total": 0,
"rules": []
}
},
"status": "success",
"executionTime": 1
}
{
"status": "error",
"code": 101,
"type": "invalid_key",
"description": "The API Key is missing or invalid."
}
Query Parameters
string
required
The phone command is used to specify the phone number you want to validate.Expected values: a phone numberSample value:
+12121234567, 0012121234567, 12121234567, or 2121234567string
required
The
ISO 3166-1 alpha-2 format of the country code of the phone number. Learn moreSample value: USstring
default:"JSON"
The format command is used to get a response in a specific format.Expected values:
JSON, XML, CSV, or NewlineFor more information please refer to Response Format.string
default:"live"
The mode command is used to in the development stage to simulate the integration process before releasing it to the production environment.Expected values:
live, or test.For more information please refer to Development Environment.string
The userID command can be used to identify requests sent by specific users to monitor in the Events Page.Expected values: email address, phone number, user id, name, etc.For more information please refer to User Identifier.
string
The callback command can help you make the response as a JSONP format.Expected values: any name that can be used as a function name in Javascript, e.g:
myFunctionName.For more information please refer to JSONP Callback.Response properties
object
required
Hide properties
Hide properties
string
required
Carrier name of the phone number.
string
required
The reason behind considering this phone number as risky.Note: The value of this property will be empty if the
isValid is true.boolean
required
A boolean value that you can rely on to determine if the phone number is 100% safe & valid or not.
boolean
required
Indicates if the phone number is blacklisted due to applying custom
rules or were found in one of your
blacklists.
boolean
required
A boolean value that indicates if the phone number is a disposable phone number or not.
string
required
The phone number you sent in the request.
string
required
The country code you sent in the request.
object
The custom rules applied to this request, learn
more.
Hide properties
Hide properties
integer
required
The total number of custom rules applied to this request.
object
required
The custom rules applied to this request, learn
more.
string
required
The response status.Expected values:
success, or error.integer
required
Time spent in milliseconds to process the data.
What can I expect from this API?
- Detection of disposable phone numbers (also known as Temporary Phone Numbers) or numbers associated with VoIP services
- Validation of phone number syntax
Was this page helpful?
⌘I