# Phone number reputation lookup: free ways to check a number, and when you need an API

> Free ways to run a phone number reputation lookup (regulator complaint data, phone labels, report sites), their limits, and when an API score is worth it.

Canonical: https://mobilevalidate.com/blog/phone-number-reputation-lookup · Last updated: 2026-10-17

![Three small cards on the left, a phone showing a warning label, a complaint file and two comment bubbles, each with a different partial verdict, feed through a funnel into one answer card with a risk gauge, reason rows and a high level.](https://mobilevalidate.com/images/blog/phone-number-reputation-lookup.svg)

*Free checks give one partial view at a time; an API combines them into a level, score and reasons.*


By MobileValidate team (https://mobilevalidate.com/about) · Published: 2026-10-17 · Category: Fraud prevention · Tags: Spam reputation, Call screening, Robocalls, Fraud prevention, Lead verification, FTC

A phone number reputation lookup tells you whether a number has a history of complaints or spam reports. For one number, free methods work: your phone's or carrier's spam label, community report sites, and public regulator complaint data such as the FTC's Do Not Call files. For many numbers, or for automated decisions, you need an API that returns a level, a score and reasons.

That is the honest split between free and paid. This guide lists the free checks that exist, shows where each one stops, and gives a decision table for the four jobs people usually mean: screening inbound calls, keeping your own caller ID healthy, scoring sign-ups and cleaning lead lists. If you want the concepts first (who scores numbers, which signals count, why STIR/SHAKEN is not reputation), read [phone number reputation explained](/blog/phone-number-reputation-explained).

## What does a phone number reputation lookup actually check?

**It checks what others have observed about the number, not who owns it.** A reputation answer summarises reports and complaints tied to a number's digits. It never tells you the caller's name, and a good lookup won't pretend to.

Reputation data comes from a few kinds of observers, and each free method below reads only one or two of them:

- **Regulator complaint data:** people report unwanted calls to a regulator, and some regulators publish those reports.
- **Community reports:** people describe calls on public spam-report sites and in call-blocking apps.
- **Network analytics:** carriers watch calling patterns such as bursts of short calls. In 2019 the FCC said providers may block calls based on "any reasonable analytics designed to identify unwanted calls" ([FCC 19-51](https://docs.fcc.gov/public/attachments/FCC-19-51A1.pdf)). This view is the least visible from outside.
- **Regulator actions:** enforcement that names specific numbers.

A number can look clean to one observer and bad to another. That is normal, and it is the main reason one free check is rarely the whole answer.

## What free ways are there to check a number's reputation?

**There are four, and all of them work one number at a time.**

| Free method | What you see | Who it suits | Main limits |
|---|---|---|---|
| Your phone's or carrier's spam label | A warning such as "spam" or "scam likely" when the call rings | Anyone receiving a call | Only on your phone, only for calls to you, no reason given |
| Community spam-report sites | Comments and report counts from other people | A one-off curious check | Unverified, uneven by country, hard to automate, terms usually forbid scraping |
| FTC Do Not Call complaint data | Complaints that name the reported number, date, subject and robocall flag | US numbers, analysts | Unverified, US only, daily files you have to download and search |
| FCC unwanted-call complaint data | Informal consumer complaints about unwanted calls | US numbers, analysts | Unverified, US only, a dataset rather than a lookup page |

### Your phone's and carrier's spam labels

The quickest free caller ID reputation check is the one already on your phone. Carriers and call-blocking apps label or filter suspected spam. The FTC explains that with call labeling "shady calls will still come through" and you may see a warning such as "spam" or "scam likely" before you decide whether to answer. It also notes that "Some services are free, but others might charge you a fee," and that blocking "might block some calls you want to get" ([FTC](https://consumer.ftc.gov/articles/how-block-unwanted-calls)). The FCC keeps a list of call-blocking tools offered by carriers, phone makers and app developers ([FCC](https://www.fcc.gov/call-blocking)).

Labels are useful at the moment a call rings. They don't help you check a number that isn't calling you, they don't say why a number was labelled, and different carriers can label the same number differently.

### Community spam-report sites

Search engines will find many sites where people post about numbers that called them. For one number, a few recent, specific reports ("claimed to be my bank, asked for a code") are a real warning sign. But read them with care. Reports are not verified, a spoofed number collects complaints its real owner never earned, and a reminder line or a delivery driver can attract angry comments too. Coverage is uneven by country, and most of these sites don't allow automated querying.

### Regulator complaint data

In the US, two regulators publish complaint data, and it is the most solid free source because it is public and structured.

The FTC publishes Do Not Call reported calls data with "the originating telephone number", the date and time, the consumer's city and state, the subject of the call and whether it was a robocall. The page says the file is "typically updated each weekday" and warns that "None of the information about the reported calls is verified" ([FTC](https://www.ftc.gov/policy-notices/open-government/data-sets/do-not-call-data)). To check a number, you download the daily files and search them.

The FCC publishes informal consumer complaints about unwanted calls as an open dataset you can filter or query ([FCC](https://opendata.fcc.gov/Consumer/Consumer-Complaints-Data-Unwanted-Calls/vakf-fz8e)). It is built for analysis, not for a quick look at one number.

Both are US only. For an overview of what the two datasets contain and how to read them, see [our analysis of US nuisance-call complaints](/blog/us-nuisance-call-complaints-what-the-data-shows).

### Checks for your own numbers

If the number is yours, you have two more free views: test calls to phones on different carriers to see what label appears, and the reports your voice provider or a caller registration portal may offer. Our guide to a business number marked as "Spam Likely" walks through registration, disputes and calling patterns.

## Why are free reputation checks not enough?

**Because most bad numbers have no reports yet, and free checks can't tell you that.** A free check that finds nothing looks like a clean result, but it is only the absence of evidence.

We measured this. In 362,116 complaints from 30 daily FTC Do Not Call files (August to September 2026), **92.5% of reported caller numbers appeared in exactly one complaint**, and the 100 most-reported numbers accounted for only 2.9% of complaints. Method and tables are in [our nuisance-call analysis](/blog/us-nuisance-call-complaints-what-the-data-shows). Callers rotate and spoof numbers faster than reports pile up on any single one.

The other limits are practical:

- **One number at a time.** Free checks don't run on a list of 10,000 leads or on every inbound call.
- **No consistent scale.** "Twelve comments" on one site and "two complaints" in a regulator file can't be compared or written into a rule.
- **No freshness.** You often can't tell whether reports are from last week or four years ago, and a number reported years ago may now belong to someone new.
- **Uneven coverage.** Public complaint data is mostly North American. Elsewhere, finding nothing means even less.
- **No audit trail.** If you act on a number, you want to store what you saw and when.

## What does a reputation API add?

**It turns scattered reports into one consistent answer you can act on automatically.** A good API answer has four parts: a level, a score, the reasons, and dates.

| What you get | Why it matters | Free methods |
|---|---|---|
| A risk level (for example high, medium, low, no reports) | One field to route on | No common scale |
| A 0–100 score | Finer thresholds, trends over time | No |
| Reasons by signal class | Tells a regulator action apart from a few community comments | Partly, by reading reports yourself |
| First and last seen dates | Old problems can be weighted down | Rarely clear |
| `checked_at` on every answer | Shows how old the answer is; supports audits | No |
| Real time and bulk | Works while a call rings and on whole lists | No |

MobileValidate's [spam reputation check](/services/spam-reputation) (`checks: ["spam"]`, result `number.spam`) returns exactly these fields: `risk_level` (`high`, `medium`, `low` or `no_reports`), `risk_score`, the reason flags `reason_regulator`, `reason_government`, `reason_community` and `reason_unassigned`, a `voip_range` hint that adds no points, `top_category` (such as `robocall` or `impersonation`), `first_seen`, `last_seen` and `sources`. `high` requires a score of 80 or more **and** either a regulator action or at least two independent signal classes, so one noisy source can't make a number high on its own. Reports last seen more than 12 months ago count half. Reference data is refreshed daily.

Two things it does not do. It doesn't return report texts, reporters or names. And it can't see what a carrier displays on a handset, so it complements test calls rather than replacing them.

**Access:** the spam reputation check is in **limited access**, available to approved customers only for now. If you need it, say so when you [request access](/request-access). It accepts numbers from all countries except sanctioned ones, and report coverage is strongest in North America and Europe, so `no_reports` is weaker evidence elsewhere.

## Should you use a free check or an API?

**Use free checks for one-off curiosity and for your own phone; use an API when you decide about many numbers or decide automatically.**

| Use case | Free checks | API check | Recommended approach |
|---|---|---|---|
| A single unknown number called you | Phone label plus a quick search are usually enough | Not needed | Don't call back numbers that ask for codes or payment |
| Inbound call screening in a contact centre | Labels don't reach your routing system | Real-time spam check on the caller ID | Route `high` to an IVR or verification step, never block on reputation alone; see [screening inbound calls](/blog/screening-inbound-calls-with-spam-reputation) |
| Caller ID health of your own outbound numbers | Test calls and provider reports | Scheduled bulk check of your numbers | Combine all three; fix calling patterns before disputing labels |
| Sign-up and account risk | Not practical | Real-time spam plus [carrier lookup](/services/carrier-lookup) | Add `risk_level` and `reason_unassigned` to your risk score as one signal |
| Lead lists before sales calls | Not practical | Bulk job | Drop or review leads with `reason_unassigned`; add [HLR](/services/hlr-lookup) to remove dead numbers; see [lead verification](/use-cases/lead-verification) |
| Research on nuisance-call trends | Regulator datasets are the right source | Not needed | Use the FTC and FCC files directly |

A practical pattern is to stack cheap signals first: validate the format, remove duplicates, then run the reputation check only on the numbers you will actually answer, call or approve. For the call-centre version, see [call-center screening](/use-cases/call-center-screening).

## How do you run a reputation lookup with the API?

**Send the number to `POST /v1/lookup` with `checks: ["spam"]`.** This is the documented request with a test number. Test keys never reach real data; with spam access, `+447700900001` returns `high` and `+447700900002` returns `no_reports` (see [test mode](/docs/test-mode)). Without access, the request is refused with `403 service_disabled`.

```bash
curl https://api.mobilevalidate.com/v1/lookup \
  -H "Authorization: Bearer $MOBILEVALIDATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"numbers": ["+447700900001"], "checks": ["spam"]}'
```

The answer for each number is under `checks["number.spam"]`. The [service page](/services/spam-reputation) shows the full test-mode response. You can add `"carrier"` to `checks` in the same request to get line type next to reputation. Real-time requests take up to 100 numbers.

For lists, use a bulk job (`POST /v1/jobs`, up to 50,000 numbers). Run the free estimate first with `POST /v1/jobs/estimate` and the same body: it removes invalid rows and duplicates and shows the maximum cost before anything is checked. Pass `max_cost` when you create the job. The [bulk jobs docs](/docs/bulk-jobs) cover progress and downloads.

On billing: every conclusive answer is billed, including `no_reports`, because the check was carried out. `unknown` answers and numbers from sanctioned countries are free, and repeat checks of the same number within 24 hours come from your account's cache at no charge. Current prices are on the [pricing page](/pricing).

## How do you use reputation results responsibly?

**Treat a reputation answer as a reason for a next step, not a verdict about a person.**

- **Check only numbers you have a lawful reason to process:** callers to your lines, your own numbers, your sign-ups and leads who gave you their number.
- **Route, don't punish.** Spoofing puts reports on innocent numbers. Send risky calls to an IVR or a verification step instead of blocking them outright.
- **No identity lookups.** A reputation check never returns a name or profile, and you shouldn't combine it with other data to identify people.
- **No eligibility decisions.** Don't use it for credit, jobs, housing or insurance. Our [acceptable use policy](/legal/acceptable-use) forbids that, and it forbids using checks to build lists for unsolicited messages.
- **Store `checked_at`.** Scores change as reports arrive and age.

If your own number appears in our data and you think it shouldn't, use the [opt-out form](/opt-out).

## What are the key takeaways?

- A **phone number reputation lookup** shows whether a number has complaints or spam reports; it never identifies the caller.
- **Free checks** exist: phone and carrier labels, community report sites, and US regulator complaint data from the FTC and FCC. They work one number at a time.
- Free checks can't show **freshness, a consistent scale or coverage gaps**, and most bad numbers have no reports at all: 92.5% of numbers in our FTC sample appeared once.
- An **API** adds a level, a score, reasons and dates, in real time or in bulk, so you can route calls, score sign-ups and clean lead lists by rule.
- MobileValidate's spam reputation check is in **limited access**: mention it when you [request access](/request-access). Coverage is strongest in North America and Europe.
- `no_reports` is not "safe"; unknown answers are never charged. See [pricing](/pricing) for current prices.

## Sources

1. [Do Not Call (DNC) Reported Calls Data](https://www.ftc.gov/policy-notices/open-government/data-sets/do-not-call-data) — Federal Trade Commission, 2026
2. [Consumer Complaints Data - Unwanted Calls](https://opendata.fcc.gov/Consumer/Consumer-Complaints-Data-Unwanted-Calls/vakf-fz8e) — Federal Communications Commission, 2026
3. [How To Block Unwanted Calls](https://consumer.ftc.gov/articles/how-block-unwanted-calls) — Federal Trade Commission, Consumer Advice, 2026
4. [Call Blocking Tools and Resources](https://www.fcc.gov/call-blocking) — Federal Communications Commission, 2026
5. [Advanced Methods to Target and Eliminate Unlawful Robocalls, Declaratory Ruling and Third FNPRM (FCC 19-51, adopted 6 June 2019), paragraphs 34–35](https://docs.fcc.gov/public/attachments/FCC-19-51A1.pdf) — Federal Communications Commission, 2019

## Frequently asked questions

### How can I check a phone number's reputation for free?

Three free ways work for single numbers: see whether your phone or carrier labels the call (for example as spam or scam likely), search the number on community spam-report sites, and look for it in public regulator complaint data such as the FTC's daily Do Not Call complaint files. Each shows only part of the picture and none of them scales to many numbers.

### Is there a free caller ID reputation check?

Your phone and your carrier already run one when a call arrives: many carriers and call-blocking apps label suspected spam on screen. It is free or low cost, but it only works on your own phone, only for calls you receive, and it doesn't explain why a number was labelled.

### Why does a free reputation check say a number is clean when it isn't?

Because most bad calls come from numbers nobody has reported yet. In 30 days of FTC Do Not Call complaints we analysed, 92.5% of reported caller numbers appeared in exactly one complaint. Callers rotate and spoof numbers, so no reports means no evidence either way, not a safe number.

### What does a phone number reputation API add over free checks?

A consistent answer for any number, in real time or in bulk: a risk level, a score, the classes of signal behind it and when the number was first and last reported. That lets you write rules for call routing, sign-ups and lead lists instead of judging each number by hand.

### Can I use MobileValidate's spam reputation check today?

It is in limited access: approved customers only for now. Mention it when you request access. The public sandbox key and accounts without access get 403 service_disabled for the spam check. It accepts numbers from all countries except sanctioned ones, with report coverage strongest in North America and Europe.

### How do I check the reputation of my own business numbers?

Make test calls to phones on the major carriers to see what label appears, read any reports your voice provider or a caller registration portal gives you, and check the numbers against report-based reputation data on a schedule. None of these shows everything, so use them together.
