A numverify alternative for phone scam checks

numverify documents phone number validation, formatting, country, location, carrier and line type. Bewary checks phone scam evidence and other identifiers through a scam detection API and MCP server, with 1,000 free credits a month.

Last updated November 12, 2026

Choose numverify for its documented validity, formatting, location and carrier fields.

Choose Bewary for scam verdicts, supporting evidence and lookups your app or MCP agent can run on other identifiers.

At a glance

numverifyBewary
Primary checkPhone validation against international numbering plansScam detection for phone numbers and other identifiers
Phone responseValidity, formats, country, location, carrier, line typeCountry, number type, scam list evidence
API authenticationaccess_key query parameterAPI key required
Free allowance100 requests a month, read November 12, 20261,000 credits a month, no card
Pricing structureMonthly plans with overage feesPrepaid packs with credits that never expire
Lookup privacyValidation-only processing and storage, according to its FAQNo record of who asked

numverify validates phone numbers against numbering plans

numverify is apilayer's REST/JSON phone number validation API, according to its API documentation. It accepts national and international phone numbers. Its FAQ describes validation against international numbering-plan databases.

The documented check returns validity, country and line type. The numbering plans carry syntax rules, carrier information, line-type information and location data.

The sample response also includes local and international formats, country prefix, country code, country name, location and carrier. Its location field gives a city, state or county when available.

For developers choosing a phone validation API, those documented fields address number validity and contact-number metadata. If your signup form needs a formatted number or your product needs a carrier field, numverify documents those outputs directly.

Bewary returns scam verdicts through REST and MCP

Bewary is a scam detection API and MCP server for apps and AI agents. It looks up phone numbers, SMS short codes, links, domains, IP addresses, email addresses, crypto wallets, IBANs, mobile apps and payment handles.

Each lookup returns a typed JSON envelope with verdict, p_scam, reason_codes, classification, entities and signals. Entities include typed facts and the datasets checked. Signals identify their source class, weight, dataset and coverage.

The verdict is scam, suspicious, safe or unknown. Unknown means the evidence was insufficient or a source failed. Your code should never treat unknown as safe.

The remote MCP server at https://api.bewary.app/mcp runs the same code as the REST API. Claude, ChatGPT, Cursor, VS Code and other MCP clients can receive its typed answers through outputSchema and structuredContent.

Bewary also assesses an account's contact points together, finds related domains and watches supported identifiers. Lookups use no language model.

Bewary's response contract permits additions within /v1, including fields, enum values and reason codes. Existing names remain unchanged, and existing fields are never removed. An integration can store reason codes for later review and branch on their stable names while allowing for new codes in future responses.

numverify is stronger for documented phone validation metadata

numverify documents a phone-validation response with explicit validity, formatting, location and carrier fields. Keep it in your integration when those fields decide whether your app accepts or stores a contact number.

Its homepage states coverage of 232 countries.

Its API documentation says example SDKs and Postman collections are available inside the account dashboard.

The FAQ says numverify does not process or store phone numbers for purposes other than validation. That stated restriction matters if your product requires validation-only processing. Bewary keeps no record of who requested a lookup, but a lookup can add the queried value to its datasets.

For example, Bewary queues a looked-up domain for its web-archive history. It also records a looked-up mobile app as seen on its store.

The pricing page says the API keeps answering past the monthly allowance, with extra calls billed as overage.

Bewary adds scam evidence and checks beyond phone numbers

numverify's documented input is a phone number. Bewary also accepts identifiers your app may encounter alongside that number, including a link in an SMS, a seller's email address, a crypto wallet or a payment handle.

A Bewary phone lookup returns the country and number type from the numbering plan, plus whether the number appears on Bewary's scam list. With line_type=true, it adds live line type from the carrier network.

We measured first-time phone lookups from Europe on October 23, 2026 at a median of 115 ms.

Bewary's SMS short code lookup identifies a legitimate operator with its brand, a shared code used by several senders, or a code known for scam texts. Its directory lists 33 US short codes, each researched with its operator and status.

Bewary reads phone numbers in FTC Do Not Call complaints and FCC complaints every hour. A number named only as the caller ID of unwanted calls receives PHONE_REPORTED_CALLER_ID as a caution. It stays unknown unless other evidence names it, because callers can fake caller ID.

On November 6, 2026, Bewary's scam list held 14,767 active phone numbers. GET /v1/datasets publishes dataset geography, entity coverage and active-entry counts.

Each listed entry carries where it is from (a number's country or a domain's country-code TLD) and the countries it is aimed at. The aimed-at countries come from the national lists that name the entry, including CERT Polska for Poland, Taiwan's 165 line for Taiwan, Germany's telecoms regulator for Germany, and the FTC and FCC for the US. Nothing is guessed from the entry itself.

Bewary produces its own verdict and orders reason_codes strongest first. Its p_scam ranges from 0 to 1 and is not yet calibrated against labelled data. Store the evidence and reason codes alongside the verdict when your product needs an explanation.

Free allowances, HTTPS and commercial terms differ

The numverify FAQ, read November 12, 2026, describes a Free trial with no time limit and 100 requests a month. Its product page restricts that plan to non-commercial use.

The numverify homepage's mobile layout advertises 1,000 free validations a month, while its FAQ and pricing table list a 100-request Free plan.

Every Bewary lookup needs an API key. A free key gets 1,000 credits a month with no card, and keyed requests have a limit of 600 requests a minute. The browser checkers allow 10 checks a day per visitor without a key.

numverify's HTTPS statements also conflict. Its FAQ says HTTPS is available on every plan, while its pricing tooltip restricts HTTPS to paid customers. Its documentation also lists an error for plans without HTTPS support.

numverify's documentation says each plan has a rate limit and returns an error when it is exceeded.

The numverify terms restrict use of its returned data to reference by customers' own end users.

Published prices use monthly calls or prepaid credits

Reviewed on November 12, 2026, the numverify pricing table lists Basic at $14.99 a month for 5,000 calls, with $0.011992 per extra call. Professional costs $59.99 a month for 50,000 calls, with $0.0047992 per extra call. Enterprise costs $129.99 a month for 250,000 calls, with $0.00207984 per extra call.

The pricing page says yearly payment saves up to 15%. The homepage's mobile layout advertises plans from $19.99, which conflicts with the pricing table's $14.99 Basic plan.

Bewary sells prepaid credits without a subscription. A pack of 10,000 credits costs $20, and 60,000 credits cost $100. Larger packs cost $500 for 375,000 credits or $2,000 for 2,000,000 credits.

Prepaid Bewary credits never expire. A standard phone lookup costs 1 credit and a lookup with live line type costs 10 credits, at $2.00 down to $1.00 per 1,000 credits.

Moving a phone check changes the request and response

The documented numverify call submits a phone number and authenticates through an access_key query parameter. Its documented base URL uses http://. The APILayer marketplace version instead takes an apikey header at api.apilayer.com.

Bewary phone lookups use GET https://api.bewary.app/v1/phone/{number} with the optional query parameter line_type.

The Bewary CLI runs as npx bewary and has a phone command for the same API call. It reads the API key from BEWARY_API_KEY or --key. The --json option prints the API response, while --fail-on suspicious or --fail-on scam exits with code 2 when the verdict reaches the selected threshold.

The CLI needs Node 18 or newer and has no dependencies. Its default output includes verdict, p_scam, reason codes and each entity's verdict. The package is published on npm under the name bewary.

Check Bewary's verdict and reason_codes before your app moves money or trusts the phone number.

Bewary publishes its OpenAPI specification at https://api.bewary.app/v1/openapi.json, with TypeScript types and Python models at bewary.app/types.

Both APIs can serve different checks in one app

Numbering-plan validity and scam evidence answer different questions. Your app can use the validation and formatting outputs described in numverify's getting started guide when collecting a phone number, then request Bewary's phone verdict before a fraud-sensitive action.

A seller review can also check the seller's domain, email address or payment identifier through Bewary. Its batch endpoint returns the same lookup envelope for each item, so your app can retain identifier-specific evidence.

A Bewary batch accepts up to 1,000 values in one request at 1 credit per item.

An AI agent can call Bewary's lookup_phone MCP tool and inspect the verdict, reason codes and typed facts before continuing. Keep the validation result separate from the scam assessment in your application model.

Questions

Is numverify free?

Yes, numverify's FAQ, consulted on November 12, 2026, lists a Free trial with 100 requests a month and no time limit. Its product page limits that plan to non-commercial use.

Does numverify use HTTPS on the free plan?

numverify's published pages disagree. Its FAQ says HTTPS works on every plan, while its pricing tooltip reserves HTTPS for paid customers.

Can numverify tell if a phone number is a scam?

numverify documents numbering-plan validation and metadata, without a scam verdict in its documented response. Bewary checks phone scam evidence and returns a verdict with reason codes.

What is a numverify alternative?

Bewary is a numverify alternative for phone scam checks through REST or MCP. It returns country, number type, scam list evidence and a typed verdict. Keep numverify if you require its documented validity, formatting, location or carrier fields.

Sources

  1. docs.apilayer.com: Api documentationdocs.apilayer.com/numverify/docs/api-documentation
  2. numverify.com: Faqnumverify.com/faq
  3. numverify.comnumverify.com/
  4. docs.apilayer.com: Getting starteddocs.apilayer.com/numverify/docs/getting-started
  5. numverify.com: Productnumverify.com/product
  6. marketplace.apilayer.com: Number verification apimarketplace.apilayer.com/number_verification-api
  7. numverify.com: Termsnumverify.com/terms

Start with 1,000 free credits a month

Free keys get 1,000 credits monthly without a card. Lookups cost 1 credit.

claude mcp add --transport http bewary https://api.bewary.app/mcp --header "Authorization: Bearer $BEWARY_API_KEY"