FAQs#

Service Speeds#

What can affect speeds from Global Phone?#

  1. 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

  2. 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.

  3. 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%.

  4. 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#

How reliable is the coverage for premium?#

For CallerID, a new field is added onto the response that returns the name associated with the phone, if available.

For Premium, no new fields are added; instead, relevant fields are updated with up-to-date information from the live check.

  • Result codes can change, allowing PS17 (live phone number) and PS22 (high confidence) to appear

  • The phone type indicated in the result codes (PS07, PS08) may change as well

  • Carrier may be updated to reflect latest changes

Please do note that since coverage is on a carrier to carrier basis, some carriers may stop supporting coverage for our premium services, and thus certain countries or carriers of countries can stop returning results.

Premium Features#

How does Premium and CallerID impact the results, compared to Express?#

CallerID - A new field is added onto the response that returns the name associated with the phone, if available.

Premium - No new fields are added; instead, relevant fields are updated with up-to-date information from the live check.

  • Result codes can change, allowing PS17 (live phone number) and PS22 (high confidence) to appear

  • The phone type indicated in the result codes (PS07, PS08) may change as well

  • Carrier may be updated to reflect latest changes

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:

  1. https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Codes_currently_agreed_not_to_use

  2. https://www.drupal.org/node/1157504

  3. https://en.wikipedia.org/wiki/International_Networks_(country_code)

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

PS01

Valid Phone

949 - 589 - 5200

PS08

Land Line

949 - 589 - 5200

PE - Phone Error

PE01

Invalid Phone

411-777-8000

PE02

Blank Phone

(___)___ - ____

PE03

Bad Phone

949-589

PE05

Bad Prefix/Prefix +1

909-698-8988