FAQs#
Service Speeds#
What can affect speeds from Global Phone?#
The location of the client server.
The distance between our server to yours will make a difference in overall speed. See here for our current server location list: https://www.melissa.com/company/server-locations-uptime
The current load of our public cloud servers.
We maintain and make available a large amount of processing capacity. However, all things being equal, the more usage at any given time will decrease overall speed during that time.
Real time vs batch.
Real time means sending one record at a time, while for batch you will send up to 100 records at a time and loop through your data. Processing 100 at a time will increase your overall service speed by up to 25%-50%.
Express mode vs Premium mode.
Premium mode requests are substantially slower than Express mode requests when ran on phone numbers that aren’t cached. After an uncached number has been ran through Premium mode, it enters the cache for 180 days, during which time Premium mode requests on it will result in response times nearly identical to Express mode requests.
Throughput Speeds#
When to use real-time vs. batch processing#
Real-Time (Single Request)
Customer onboarding
CRM data entry
Checkout or form entry
Batch
Processing a spreadsheet or database
Processing historical data
Scheduled processing
ETL transformations
What speeds can you expect?#
Real-Time Speeds#
Response times can vary, but the following is the average expected response time for each request configuration:
Express Mode: 75ms – 150ms.
Premium Mode: 500ms – 1000ms.
CNAM (CallerID): 300ms – 600ms.
Premium Mode + CNAM: 1000ms – 2000ms.
Cached Data: 75ms – 150ms.
Batch Speeds#
Single-Threaded#
A single-threaded batch process is recommended when:
Fast development is a priority.
Processing small to medium-sized lists (1,000 - 100,000 records).
Expected processing speed is 75,000 – 125,000 records per hour.
Multi-Threaded#
Multi-threading involves sending multiple requests to the web server simultaneously and handling responses as they are returned. This approach can significantly improve performance by reducing the overall time required for processing.
A multi-threaded batch process is recommended when:
Processing large volumes of records quickly.
Handling large lists (100,000+ records).
We recommend starting with 5-10 threads to avoid rate limiting errors.
Expected processing speed is 200,000 – 300,000 records per hour.
Note
A single-threaded process remains a viable option for processing larger lists, though it may take longer compared to a multi-threaded approach.
Scaling and Rate Limiting#
Melissa utilizes dynamic scaling to improve throughput speeds during peak usage periods. This behavior ensures that our web services can adjust to changes in traffic and consistently provide optimal performance regardless of demand.
To maintain service stability and prevent excessive load, Melissa enforces rate limiting based on request volume and frequency. For more information, please refer to our rate limiting page: Rate Limiting.
Accuracy#
How accurate is Global Phone at identifying disconnected and invalid numbers?#
Global Phone is 90% accurate when identifying disconnected and invalid numbers.
Coverage#
What countries does Global Phone cover?#
For CallerID, Global Phone covers all countries except Israel.
For details on premium coverage, see the following sections:
Validation#
How does Global Phone validation work?#
Global Phone uses proprietary technology that includes live Telco network data, phone switch signaling data, and years of research and development to validate phone numbers.
Reliability#
Latitude/Longitude#
What Exactly do the Latitude/Longitude fields designate to?#
The coordinates from a phone response gives a general area of where the phone had originated from.
For example, if a phone was registered and activated in New York, but the recipient is currently in Pennsylvania, then the coordinates would show the New York area.
The coordinates do not correspond to a cellphone’s current location or the exact coordinates of a store the phone was activated in. The coordinates do not change with premium mode, but may be updated with our updates to the service.
“XV” or “XG” Abbreviations#
Why is the response giving me a country abbreviation called “XV” or “XG”?#
Deprecated since version v4.0.0.25: These country codes have been deprecated and no longer show in the latest version! 4.0.0.25 Build History.
The International Organization for Standardization, or ISO, assigns each country a two letter code, known as the alpha-2 codes. For example, the United States ISO 3166 Alpha-2 code is US. Canada is CA. Germany is DE. This is what fills the CountryAbbreviation response for our Global Phone service.
Their prominent use is for top level domains (.us, .uk, .de), but these codes are not always assigned on a country-to-country basis. Organizations can use an ISO3166 Alpha-2 code; for example, the European Patent Organization, uses the alpha-2 code EP (1).
In this case, alpha-2 code XV, falls under “User-assigned code elements” from codes XA to XZ, QM-QZ, and AA. For these assignments, Countries or organizations can request to use these codes for their own use; for example, the Unicode CLDR project took QO to represent Oceania (2).
For XV in particular, it is in use for a code representing multiple countries. Example uses:
BaFin (German Federal Financial Supervisory Authority) used XV for defining assets found in multiple countries.
ITU (Internation Telecommunications Union) assigned country dialing codes +882 and +883 to the alpha-2 code XV, to represent services that are not dedicated for a single country (3).
XG is part of the User Assigned Code Elements in the ISO 3166 Alpha-2 standard - similar to XV.
Also similar to XV (+882/+883), XG (+881) covers multiple countries but the difference is that the service is used for satellite systems.
Here are some resources to learn more about ISO 3166’s Alpha-2 standards:
https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Codes_currently_agreed_not_to_use
https://en.wikipedia.org/wiki/International_Networks_(country_code)
https://en.wikipedia.org/wiki/Global_Mobile_Satellite_System (article on the +881/XG country code)
https://en.wikipedia.org/wiki/List_of_country_calling_codes (article on what country codes belong to which calling codes)
https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#User-assigned_code_elements (article on the alpha-2 User assigned code elements)
Valid Inputs#
What are the valid inputs for the Global Phone’s Lookup method?#
The Lookup method can take in a phone number, a country name or ISO2 code, and a country of origin’s name or ISO2 code.
The phone number can be inserted in the local or international format.
The phone country and the country of origin can take in the official country name or the ISO2 code for that region.
Territory Name |
Territory’s ISO2 Code |
Country it falls in |
Reassigned ISO2 |
---|---|---|---|
Åland Islands |
AX |
Finland |
FI |
Bouvet Island |
BV |
Norway |
NO |
Cocos (Keeling) Islands |
CC |
Australia |
AU |
Christmas Island |
CX |
Australia |
AU |
Western Sahara |
EH |
Morocco |
MA |
South Georgia and the South Sandwich Islands |
GS |
Great Britain / United Kingdom |
GB |
Heard Island and McDonald Islands |
HM |
Australia |
AU |
Pitcairn |
PN |
Great Britain / United Kingdom |
GB |
Svalbard and Jan Mayen |
SJ |
Norway |
NO |
French Southern Territories |
TF |
FR |
FR |
United States Minor Outlying Islands |
UM |
United States |
US |
Vatican City / Holy See |
VA |
Italy |
IT |
Result Code Examples#
What are some examples of input that returns specific codes?#
Code |
Short Description |
Example Input |
---|---|---|
PS - Phone Status |
||
|
Valid Phone |
|
|
Land Line |
|
PE - Phone Error |
||
|
Invalid Phone |
|
|
Blank Phone |
|
|
Bad Phone |
|
|
Bad Prefix/Prefix +1 |
|