Skip to content
ProofTell
Sign inSign up
Verification for teams

Verify what matters.

Phone, email and IP verification in one API and one file, at published prices, with the paper your procurement asks for. When you need a verdict, one call scores the three together.

Sandbox keys are free. Evaluating for your company? Ask for a $10 credit from your dashboard.

Phone check
+1 415 555 2671
United States · San Francisco, CA
Valid
Line type
mobile
Original carrier
T-Mobile USA, Inc.
E.164
+14155552671
Local format
(415) 555-2671
Time zone
America/Los_Angeles
Sign-up check Deny
signup-4821395 / 100
The IP address is a Tor exit nodeThe email address uses a disposable providerThe number is a VoIP line, easy to obtain anonymously
Running since
2019
Verification APIs, built and run by our team
Paying customers
1,900+
On our team’s APIs, since 2019
Checks a month
40M+
On our team’s APIs, October 2026
Phone coverage
244
Countries and territories
Hosting
European Union
Belgium, on Google Cloud
One call

Send what you know. Get back what matters.

  1. 1
    Send a phone, an email, an IP, or all three
    Whatever you collect at sign-up, login or checkout.
  2. 2
    We check every source in parallel
    The numbering plan and line type, the mailbox and its domain, the network behind the address.
  3. 3
    You get the facts, and a verdict when you ask for one
    Each signal answers for itself. Ask for a score and the three are weighed together: 0 to 100, allow, review or deny, every point explained in plain words.

The sample is the sandbox’s real answer. Run it with a pt_test_ key and you get exactly this, free. With a live key the same call costs $0.0070.

Read the API reference
curl https://api.prooftell.com/v1/assess \
  -H "Authorization: Bearer $PROOFTELL_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "+15005550002",
    "email": "disposable@sandbox.prooftell.com",
    "ip": "203.0.113.66",
    "reference": "signup-48213"
  }'
const res = await fetch("https://api.prooftell.com/v1/assess", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.PROOFTELL_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    phone: "+15005550002",
    email: "disposable@sandbox.prooftell.com",
    ip: "203.0.113.66",
    reference: "signup-48213",
  }),
})
const { score, verdict, reasons } = await res.json()
import os, requests

res = requests.post(
    "https://api.prooftell.com/v1/assess",
    headers={"Authorization": f"Bearer {os.environ['PROOFTELL_KEY']}"},
    json={
        "phone": "+15005550002",
        "email": "disposable@sandbox.prooftell.com",
        "ip": "203.0.113.66",
        "reference": "signup-48213",
    },
)
result = res.json()
print(result["verdict"], result["score"])
Response
{
  "id": "asm_uevezsnajjrt3t2r",
  "mode": "test",
  "reference": "signup-48213",
  "score": 95,
  "verdict": "deny",
  "reasons": [
    { "code": "phone_voip", "points": 20,
      "message": "The number is a VoIP line, easy to obtain anonymously." },
    { "code": "email_disposable", "points": 35,
      "message": "The email address uses a disposable provider." },
    { "code": "ip_tor", "points": 40,
      "message": "The IP address is a Tor exit node." }
  ],
  "signals": {
    "phone": { "status": "ok", "cost": "0.000000", "result": { … } },
    "email": { "status": "ok", "cost": "0.000000", "result": { … } },
    "ip":    { "status": "ok", "cost": "0.000000", "result": { … } }
  },
  "ruleset": "2026-10-07",
  "cost": "0.000000",
  "currency": "USD",
  "createdAt": "2026-10-02T08:27:43Z"
}
The phone ladder

From a valid number to a live one.

Basic and line type read what the number says about itself. Each level above asks the network for more, and includes the ones before it.

Basic basic
Free

Valid or not, its formats and its country.

Line type line_type
$2.50 per 1,000

The line type and the carrier it was issued to.

Current carrier current_carrier
$8.00 per 1,000

The carrier it is on today, and whether it was ported.

Send level with the number, or run a whole file at the level you pick. Each price is the whole call, and each part is charged when it returns a result: where a level doesn’t reach a number’s network it costs nothing, and the rest still answers.

Each level in detail
Risk on top

Every fraud has a tell.

Ask for a verdict and the three signals are weighed together: 0 to 100, allow, review or deny, and every point a sentence your team can repeat to a customer or an auditor. No black box.

Phone

VoIP or virtual number

Cheap to create by the thousand and easy to obtain anonymously. The favorite of fake-account farms.

Phone

A number that cannot exist

Wrong length, unassigned prefix, a typo or an invention. It fails the numbering plan of its own country.

Email

Disposable inbox

A mailbox that expires in ten minutes rarely belongs to a customer who plans to stay.

Email

A mailbox nobody owns

The mail server says there is no such user. Real customers give addresses that receive mail.

IP

Hidden network

Tor exits, VPN providers and datacenter ranges, where real shoppers rarely come from.

Phone + IP

Two countries at once

A number from one country, a connection from another. Not damning alone; it weighs in with the rest.

How the score works
phoneemailpt_phone_line_typept_email_result
+14155550132dana@northwind.examplemobiledeliverable
+442079460958sales@contoso.examplefixed_linecatch_all
+15005550002x9@tempbox.examplevoipdisposable
+33639980123lee@fabrikam.examplemobileundeliverable
Bulk

A whole file, checked the same way.

Upload a CSV or an Excel file, pick the columns, and download it back with the results added to every row, in the order you sent them. The phone column runs at the level you pick. Duplicates run once. Files are deleted 30 days after upload.

Bulk verification
Pricing

Pay for what you check. In dollars.

One public rate card for everyone. You are charged per signal that returns a result, from a balance that never expires.

Phone intelligence, line type
$2.50 per 1,000

$0.0025 per number.

Email verification
$4.00 per 1,000

$0.0040 per address.

IP intelligence
$0.50 per 1,000

$0.0005 per address.

The price of a check falls with your month's volume, down to 20 % of the list, automatically. The phone levels are on the rate card too. Enterprise contracts are invoiced.

See the rate card
Security & privacy

Built to keep little. Written to pass a review.

Where your data goes, who touches it and when it is deleted are published, down to the sub-processor list and the things we do not have.

Hosted in the EU

The API, the database and file storage run in Belgium, on Google Cloud.

Retention you control

Assessments are kept 90 days by default. Choose any period up to a year, or zero, and nothing is stored.

Inputs stay out of logs

Phone numbers, addresses and IPs never reach our logs or error messages: on /v1 they travel in request bodies.

A DPA you can file today

Pre-signed, GDPR Article 28, applies to every account. No call, no countersignature.

Where it pays off

One check, at every door.

Account opening

Check every sign-up before it costs you a welcome bonus, a free trial or a support ticket.

List hygiene

Upload the file you already have and get it back with every phone, address and IP checked. Dead numbers out before the campaign.

Lead capture

A real mobile line and a mailbox that exists are stronger buying signals than a form that was merely filled in.

Checkout

Send the order’s phone, email and IP. Let the clean ones through, hold the rest for a second look.

FAQ

Questions, answered plainly.

What does ProofTell check?
Three things about the person in front of you: the phone number (is it valid, what kind of line, which carrier, which country), the email address (does the mailbox exist, is it disposable, a catch-all or a role account) and the IP address (Tor, VPN or datacenter, and where it is). Each is sold on its own, by API or over a file; the risk score weighs them together when you ask for a verdict.
Is ProofTell a fraud tool?
It is a verification platform first: it tells you whether a phone number, an email address and an IP address are what they claim to be, in one call or one file. The risk score sits on top of that, for the moment you need a verdict rather than the facts. There is no consortium data and no device fingerprint: what you get is explained, checkable and priced per check.
What are the phone levels?
Basic says whether a number is valid, for free; line type adds what kind of line it is and the carrier it was issued to. Each level above it asks the network for more: the carrier the number is on today, whether it is live on the network. A level includes the ones before it and is priced as the whole call; every level from line type up runs by API or over a whole file. The phone intelligence page has each level and its price.
How is the score calculated?
By a transparent, versioned set of rules. Each rule that matches adds points and a readable reason; the score is the sum, capped at 100; your thresholds turn it into allow, review or deny. There is no machine-learning model in the path, so the same signal results always give the same score, and every score can be explained.
What happens when one of the signals is down?
You still get an answer. The score comes from the signals that ran, the missing one is reported as unavailable at no charge, and the verdict is raised to at least review, so an outage cannot turn a deny into an allow (unless your organization switched that raise off). If none of the signals you asked for could run, the call fails with a 503 and your own fallback applies.
Do you contact the person I am checking?
No. Nothing is sent to the phone and no message lands in the inbox. The email check asks the mail server whether the mailbox exists and stops before any message is delivered. ProofTell does not send one-time codes.
Can I use a single signal on its own?
Yes. /v1/phone, /v1/email and /v1/ip each sell one signal at its own rate, and file uploads run them over a whole list. /v1/assess is the one endpoint that scores.
How much does it cost?
You pay per signal that returns a result, from one balance in US dollars: $2.50 per 1,000 for phone intelligence, $4.00 per 1,000 for email verification, $0.50 per 1,000 for IP intelligence. A full check with all three is $7.00 per 1,000. No plans and no credit packs. The pricing page has the whole rate card.
Is there a free trial?
There is no free plan. Sandbox keys are free: they return simulated, deterministic results for documented inputs, so you can build your integration without paying. If you are evaluating ProofTell for your company, sign up with your work email and ask for the $10 evaluation credit from the Billing page of your dashboard: it is granted once per account, usually at once.
Where is my data processed, and for how long is it kept?
In the European Union, in Belgium, with one exception the email check requires: asking an address’s mail server whether the mailbox exists goes through verification servers in several countries. Lookups made through the API are not stored, and one run in the dashboard only if you keep it. Assessments are kept for 90 days by default so you can review them, and you can choose a shorter period or switch storage off. Uploaded files are deleted 30 days after upload, or as soon as you delete them. The security page has the detail.
Do you sign a DPA, or our own contract?
The data processing agreement is published and pre-signed, and applies to every account. If your policies require a signed master services agreement, a service level agreement or a negotiated DPA, that is what the enterprise agreement is for.

Integrate today. Bring procurement when you’re ready.

Create an account, take a sandbox key, make your first call in minutes.