Back to Blog
Carrier Lookup: How to Find Out What Carrier a Phone Number Belongs To
Education
November 3, 2026
12 min

Carrier Lookup: How to Find Out What Carrier a Phone Number Belongs To

PT

PilotLookup Team

Author

A carrier lookup answers a simple question: which phone company currently serves this number? Sometimes you need that answer once, because an unknown number called you or you want to know whether a contact is on a mobile network. Other times you need it a hundred thousand times, because you are routing SMS, scoring signups, or cleaning a CRM. The right method depends on which of those situations you are in.

This guide covers both. Part one walks through quick ways to check a single number, including a free option that needs no account, and explains why many free lookup sites give wrong answers for ported numbers. Part two shows how to run lookups programmatically through an API, with a working request, a sample response, and a comparison of the common methods on cost, accuracy for ported numbers, line type support, and volume.

1. What a carrier lookup actually tells you

Every US phone number belongs to the North American Numbering Plan (NANP) and has the format NPA-NXX-XXXX: a three-digit area code (NPA), a three-digit exchange or prefix (NXX), and a four-digit line number. Historically, blocks of numbers were assigned to a specific carrier by area code and prefix, so knowing the first six digits told you who served the line.

That stopped being reliable when local number portability (LNP) arrived. Wireline portability rolled out in the late 1990s, and wireless number portability took effect in late 2003 and 2004. Since then, customers can keep their number when they switch providers. A number originally issued by one carrier may now live on a completely different network, and the prefix no longer tells the whole story.

A good carrier lookup therefore returns the current carrier, not the original one. Most lookup services also return related data that is often more useful than the carrier name itself:

  • Line type — mobile, landline, VoIP, or toll-free. This decides whether SMS will work and how much trust to place in the number.
  • Validity — whether the number is a real, assignable NANP number at all.
  • Location — the city and state associated with the number's rate center (not the person's physical location).

For a deeper explanation of the data sources behind this, see What Is a Carrier Lookup API and How Does It Work?

2. Quick ways to check one number

If you just want to know "what carrier is this number?" for a single number, you have a few options. They differ mainly in how current their data is.

Use the PilotLookup live demo (free, no account)

The PilotLookup homepage includes a live demo that runs a real lookup against the same API developers use. Each visitor gets 3 free lookups per day, and you do not need to create an account or enter a card. Type in a 10-digit US number and you get back the carrier, line type, city, state, and whether the number is valid.

Because the demo uses the production lookup, the result reflects number portability data rather than a static prefix table. That makes it a reasonable free option for occasional checks. If you need more than three a day, signing up gives you 10 free lookups with no credit card required.

Ask the carrier or the person

Some carriers offer their own tools, such as a lookup page or a text-based check, that tell you whether a number is on their network. These vary by carrier, change over time, and usually only answer "is this one of ours?" rather than naming the competitor. They are fine for confirming one specific network but not for general identification. And of course, for a contact you know, simply asking is still the most reliable method.

Use a generic "free phone carrier lookup" website

Search for "free carrier lookup" and you will find many sites that promise an instant answer. Some are thin front ends to a real lookup API. Many others answer from a prefix database, which maps the area code and exchange to whichever carrier the block was originally assigned to. Those sites are fast and free, but they have a structural accuracy problem that the next section explains.

💡 Quick test for a free lookup site
If you have a phone number you know was ported (for example, your own number that you moved from one carrier to another), run it through the site. If it returns your old carrier, the site is using prefix data and will be wrong for every other ported number too.

3. Why free carrier lookup sites are often wrong

The NANP assigns numbers to carriers in blocks. When a carrier receives a block, the area code and prefix (and sometimes a thousands-block within the prefix) are recorded against that carrier in industry routing data. Building a prefix table from that is straightforward, which is why so many free tools and open-source libraries use one.

The problem is porting. When a subscriber moves their number from Carrier A to Carrier B, the number keeps its original prefix. The routing change is recorded in the Number Portability Administration Center (NPAC), which assigns the number a Location Routing Number (LRN) pointing to the new carrier's switch. A prefix table never sees that change. It keeps reporting Carrier A indefinitely.

Porting has been common for two decades, and a large share of US mobile numbers have moved at least once. So a prefix-based tool will be wrong on a meaningful portion of real-world numbers, and you cannot tell which ones from the output. The result looks just as confident whether it is right or wrong.

A carrier lookup that uses portability data checks whether the number has been ported and, if so, reports the carrier that holds it now. PilotLookup refreshes its carrier data continuously from authoritative sources, including daily NPAC updates, and maintains more than 1.5 million carrier records. We go deep on this in Carrier Detection for Ported Numbers: Why Prefix Lookups Get It Wrong.

4. Carrier lookup at scale with an API

Checking numbers one at a time in a browser does not work once you have a signup form, an SMS campaign, or a CRM with tens of thousands of records. At that point you want a carrier lookup API: a single HTTP call that returns structured data your code can act on.

The request

PilotLookup exposes one endpoint. Pass the number as a query parameter and authenticate with a Bearer token in the header:

cURL
curl 'https://www.pilotlookup.net/api/validate?phone=2032145454' \
  -H 'Authorization: Bearer YOUR_API_KEY'

The response

The response contains six fields and nothing else:

JSON response
{
  "phone": "+12032145454",
  "valid": true,
  "carrier": "Verizon Wireless",
  "line_type": "mobile",
  "city": "New Haven",
  "state": "CT"
}

The sample values above are illustrative. In production, phone is returned in E.164 format, valid is a boolean, and line_type is one of mobile, landline, voip, toll-free, or unknown. PilotLookup reports a median response time of about 120ms thanks to edge acceleration, so the call is fast enough to run inline during a form submission.

Running many lookups

There is no bulk CSV upload; bulk lookup means calling the API concurrently from a script while staying inside your rate limit. Rate limits depend on the largest credit pack you have bought: 30 requests per minute on Starter, 100 on Professional, 200 on Business, and 500 on Enterprise. Once you reach a tier, the limit never drops. A simple Python loop with a small thread pool is enough for most list-cleaning jobs:

Python — concurrent carrier lookups
import requests, time
from concurrent.futures import ThreadPoolExecutor

API_KEY = "YOUR_API_KEY"
URL = "https://www.pilotlookup.net/api/validate"

def lookup(number):
    r = requests.get(URL, params={"phone": number},
                     headers={"Authorization": f"Bearer {API_KEY}"},
                     timeout=5)
    r.raise_for_status()
    return r.json()

numbers = ["2032145454", "3125550147", "4155550199"]

with ThreadPoolExecutor(max_workers=3) as pool:
    for result in pool.map(lookup, numbers):
        print(result["phone"], result["carrier"], result["line_type"])
        time.sleep(0.5)  # pace requests to stay under your per-minute limit

For a full walkthrough of batching, retries, and pacing, see Bulk Phone Number Validation: How to Clean Large Lists. For endpoint details and error handling, the Carrier Lookup API Complete Guide for Developers covers the rest.

What it costs

PilotLookup sells credit packs rather than subscriptions, and credits never expire. One lookup uses one credit:

PackCreditsPricePer lookupRate limit
Starter5,000$25$0.00530 req/min
Professional25,000$75$0.003100 req/min
Business125,000$125$0.001200 req/min
Enterprise500,000$300$0.0006500 req/min

See current pricing and Carrier Lookup Pricing Explained for how this compares to per-request and subscription models.

5. Carrier lookup methods compared

Here is how the common methods stack up. Prices are published list prices as of mid-2026; vendors change pricing, so verify current rates on each vendor's site before you decide.

MethodCostPorted-number awareLine typeVolumeCoverage
PilotLookup homepage demoFree, 3 lookups/dayYesYesManual onlyUS
Prefix database / libphonenumberFree (open source)NoPartial (number-range based)Unlimited, offlineGlobal
Numverify (APILayer)Free 100/mo non-commercial; paid from $14.99/mo for 5,000Numbering-plan basedYesMonthly quota + overage232 countries
Twilio Lookup v2 (Line Type Intelligence)$0.008/requestYesYes, incl. fixed vs non-fixed VoIPHighGlobal
PilotLookup API$0.005 down to $0.0006/lookup, credits never expireYes (daily NPAC updates)YesUp to 500 req/minUS only

A few honest notes on the table:

  • libphonenumber is excellent for parsing and formatting, and it costs nothing. It simply was not designed to know the current carrier of a ported number.
  • Numverify covers far more countries than PilotLookup. If you need international numbers, that coverage matters more than US-specific depth.
  • Twilio offers extra packages (line status, caller name, SIM swap, SMS pumping risk) that PilotLookup does not. If you already run on Twilio and need those signals, it is a natural choice.
  • PilotLookup is built for US numbers only. Its strengths are a single, simple response, Bearer-header authentication, no data retention, non-expiring credits, and low per-lookup cost at volume.
ℹ️ PilotLookup is US-only
PilotLookup covers NANP numbers in the United States. If your users are worldwide, use a global provider such as Twilio, Numverify, Abstract, or Veriphone for non-US numbers.

6. What the carrier name does (and doesn't) tell you

Once you have a carrier name, it is tempting to treat it as "the company the customer pays." That is not always the case.

MVNOs and the network operator

Many US mobile brands are mobile virtual network operators (MVNOs) or sub-brands. Services such as Mint Mobile, Visible, and Cricket Wireless sell plans to consumers but run on the networks of larger carriers. Depending on how a number is provisioned and how the data source records it, a carrier lookup may return the underlying network operator rather than the retail brand on the customer's bill. A Visible subscriber might therefore appear as Verizon, for example.

For most technical uses this is fine, because routing and deliverability depend on the network, not the brand. Just do not build logic that assumes the carrier field equals the customer's billing relationship.

VoIP providers and wholesale carriers

Numbers from VoIP services are often held by a wholesale or interconnect carrier rather than the consumer-facing app. The carrier name may be one most people have never heard of. In these cases the line_type field is usually more actionable than the carrier name. A voip result tells you more about risk and SMS behavior than an unfamiliar company name does. Our guide to VoIP number lookup covers how to handle those numbers.

What a carrier lookup does not include

PilotLookup does not return the subscriber's name (CNAM), a fraud risk score, SIM-swap status, or live handset reachability. Those require different data sources. If you need them, vendors such as Twilio, Telesign, or IPQualityScore offer them as separate products.

⚠️ Location is not a person's location
The city and state come from the number's rate center. A mobile number issued in Chicago may belong to someone who now lives in Denver. Use location for rough segmentation, not for verifying where someone is.

7. FAQ

How can I find out what carrier a phone number belongs to for free?

For occasional checks, use the PilotLookup homepage demo, which gives every visitor 3 free lookups per day without an account. Signing up adds 10 free lookups with no credit card. Avoid free sites that only use prefix tables, since they report the original carrier for ported numbers.

Is a carrier lookup accurate for ported numbers?

It depends on the data source. Lookups based on area code and prefix alone cannot see ports. A carrier lookup that uses number portability data, such as daily NPAC updates, reports the carrier currently serving the number.

What is the difference between a carrier lookup and a carrier lookup API?

A carrier lookup is the act of identifying a number's carrier, which you can do manually on a website. A carrier lookup API exposes the same data as an HTTP endpoint, so your application can check numbers automatically during signup, before sending SMS, or while cleaning records.

Can a carrier lookup tell me who owns a phone number?

No. A carrier lookup returns the carrier, line type, and location associated with the number. PilotLookup does not return subscriber names. Caller name (CNAM) data is a separate product offered by some other providers.

Does PilotLookup work for numbers outside the US?

No. PilotLookup is focused on US numbers in the North American Numbering Plan. For international carrier lookup, use a global provider.

8. Conclusion

For a single number, a carrier lookup can be as simple as typing it into a free demo, as long as the tool uses portability data rather than a prefix table. For anything at scale, a carrier lookup API is the practical route: one request, a small JSON response, and fields your code can branch on. Whichever method you choose, check how it handles ported numbers, because that is where most free tools quietly fail.

PilotLookup gives you current carrier, line type, and location for US numbers in a single call, with non-expiring credits and no data retention. Explore the full feature list or start with free lookups today.

Run your first carrier lookup in under a minute

Get 10 free lookups when you sign up. No credit card, no subscription, and credits never expire when you buy more.

Get Your Free API Key →

See pricing · support@pilotlookup.net · 1-888-370-6801

carrier lookupphone carrierfree toolsnumber portabilityapiline typeus phone numbers
Tags
carrier lookup
phone carrier
free tools
number portability
api
line type
us phone numbers