Use case

Lead quality for real estate and insurance

Check the phone number and e-mail on real-estate and insurance enquiry forms in one request, catch fake or mistyped details, and route good leads to the right agent faster.

Last updated

A night-time world map with glowing pins for validated numbers and verified accounts across continents, under the headline Validation without borders.
Checks for numbers in every country we serve.

Lead quality checks for real estate and insurance verify the phone number and e-mail on an enquiry form before an agent calls. One request returns the line type, whether the mobile line is live, whether the number is on a messaging app and whether the mailbox exists. Fake and mistyped leads are fixed on the form or held back.

Why is lead quality a problem in these industries?

Property and insurance leads are expensive and time-sensitive. A buyer asking about a viewing, a landlord requesting a valuation or a driver comparing quotes expects a quick reply, and agents are measured on how fast they respond. That makes bad contact details costly in both money and attention:

  • Mistyped numbers. A missing digit on a mobile keyboard is the most common problem, and the lead is lost unless the form catches it.
  • Made-up details. Some visitors want to see a price or a quote without being called, so they type a filler number or an invented e-mail address.
  • Fixed lines on a text-first process. If your agents follow up by SMS or a messaging app, a landline lead needs a different path. The carrier lookup reports line_type.
  • Numbers that aren't assigned. A number can be valid in format but not in service. The HLR lookup asks the home network whether it is assigned and reachable.
  • Automated form spam. Bots and paid form fillers reuse patterns. Our anti-enumeration rules reject requests that look like sequential number ranges or generated e-mail lists.

A check doesn't judge the person. It tells you whether the contact details can be used, so your routing can send good leads to an agent at once and ask the rest for a correction.

How does lead checking work?

  1. Check at submit. When the form is submitted, call POST /v1/lookup with the number in numbers, the address in emails, and checks: ["carrier", "whatsapp", "email"]. Add hlr if you want to know whether the mobile line is live.
  2. Correct on the page. If the number is invalid_number or the mailbox is registered: false, show a friendly prompt ("please check your number") while the visitor is still there.
  3. Score the lead. Combine the results with your own signals (source, page, time on site) using the table below.
  4. Route. Send good leads straight to the agent or broker queue for that area or product line, and doubtful ones to a review queue.
  5. Store the score, not the response. Keep the score, line_type and checked_at in your CRM.
  6. Batch leads from partners you have a lawful basis for with a bulk job, then import the CSV back into your CRM.

Which checks answer which question?

CheckWhat it answersWhen to run itLink
carrierMobile, fixed line or VoIP? Which carrier?At submitCarrier lookup
hlrIs the mobile line assigned and reachable now?At submit, for high-value leadsHLR lookup
whatsappIs the number registered on WhatsApp?At submit, if agents follow up there with consentWhatsApp number check
emailDoes the mailbox exist at a major webmail provider?At submitE-mail mailbox check
network.carrier_us (bulk)Current carrier for US and Canadian numbersBatches of US/CA leadsUS/CA carrier lookup

What should you do with each result?

SignalsSuggested action
Mobile line, mailbox existsRoute to an agent straight away
Mobile line, mailbox unknown (company domain)Route as normal; unknown is not negative
number_status: invalid_numberAsk for a correction on the form
Mailbox registered: falseAsk for a correction; if not corrected, phone-only follow-up
HLR status: invalidNumber not assigned; ask for a correction
line_type: fixed_line on a text-first processRoute to a call queue instead of SMS
line_type: voip, no app account, mailbox missingReview before an agent spends time on it
Several checks unknownHandle normally; missing data is not evidence of a fake

What does a request look like?

This test-mode request checks one lead's number and e-mail. +447700900001 returns carrier data and a live line, and [email protected] returns an existing mailbox.

curl https://api.mobilevalidate.com/v1/lookup \
  -H "Authorization: Bearer mv_test_publicSandboxn9ZgneuhR1B9CRfKG3fulym" \
  -H "Content-Type: application/json" \
  -d '{"numbers":["+447700900001"],"emails":["[email protected]"],"checks":["carrier","hlr","email"],"wait":5}'

Runs as pasted with the public sandbox key, which answers the test values only. In the SDKs, omit the key to use MOBILEVALIDATE_API_KEY.

Response (excerpt, test mode: the checks of the phone row, then of the e-mail row):

JSON
[
  {
    "network.carrier": {
      "service": "network.carrier", "status": "completed", "registered": true,
      "attributes": {"line_type": "mobile", "carrier": "Test Carrier", "country": "GB"},
      "confidence": "high", "confidence_score": 0.99, "checked_at": "2026-09-29T10:02:47.515Z",
      "cached": false, "age_seconds": 0, "billed": false, "reason": null, "poll_after_ms": null
    },
    "number.hlr": {
      "service": "number.hlr", "status": "completed", "registered": true,
      "attributes": {"status": "reachable", "ported": false, "roaming": false, "network": "Test Mobile", "mcc_mnc": "23415", "country": "GB"},
      "confidence": "high", "confidence_score": 0.99, "checked_at": "2026-09-29T10:02:47.515Z",
      "cached": false, "age_seconds": 0, "billed": false, "reason": null, "poll_after_ms": null
    }
  },
  {
    "email.valid": {
      "service": "email.valid", "status": "completed", "registered": true, "attributes": null,
      "confidence": "high", "confidence_score": 0.99, "checked_at": "2026-09-29T10:02:47.515Z",
      "cached": false, "age_seconds": 0, "billed": false, "reason": null, "poll_after_ms": null
    }
  }
]

A mobile line that is reachable and a mailbox that exists: this lead goes straight to an agent.

How much does it cost?

Each check on each identifier is billed separately and only when the answer is conclusive. Unknown answers are free, and so are invalid input, duplicates and unsupported countries. The request above runs three checks and can bill up to three. The HLR lookup is $0.005 per number; see pricing for the other rates.

Compare the cost of two or three checks with what a lead costs you to acquire and what an agent's time is worth. For most teams the useful question isn't whether to check, but which checks to run: carrier and e-mail on every lead, HLR on high-value enquiries. If a visitor submits twice, the second check of the same number inside the freshness window comes free from your account's cache. Use max_cost to cap a single request.

  • Consent to contact. In the United States, the TCPA restricts autodialled and prerecorded calls and texts to mobile numbers without prior express consent, and marketing calls and texts need prior express written consent (47 CFR 64.1200). Other countries have their own rules. A check says nothing about consent; your form and records must.
  • Bought leads. Check purchased or partner leads only if you have a lawful basis to process them and the consent covers contact from your company.
  • No decisions about people. Results are contact-quality signals. They must not be used for insurance underwriting, pricing, credit, housing or employment decisions.
  • No enrichment. We don't return names, addresses or profiles, and don't offer reverse lookups.
  • Transparency. Say in your privacy notice that you verify contact details to prevent fraud and keep records accurate. People can object through the opt-out form.

This page is not legal advice. The FCC explains the consumer side of these rules in its guide to unwanted calls and texts.

What are the common mistakes?

  • Rejecting leads on unknown. Company e-mail domains and slow networks return unknown. That's missing data, not a bad lead.
  • Blocking every VoIP number. Many genuine people use VoIP. Treat it as one signal among several.
  • Checking after the visitor has left. A correction prompt only works on the page. Check at submit, not in a nightly batch.
  • Treating a passed check as consent. A reachable mobile line tells you the number works, not that its owner wants a call.
  • Storing full responses in the CRM. Keep the score and checked_at. That's enough for routing and for audits.

The general version of this playbook, for any industry, is lead and form verification.

Frequently asked questions

What makes a real-estate or insurance lead low quality?

Usually contact details that can't be used: a mistyped or made-up number, a fixed line when the agent plans to text, an e-mail mailbox that doesn't exist, or a number that is not currently assigned. A check at the form catches these before an agent spends time on them.

Can I check the phone number and e-mail in one request?

Yes. Send numbers and emails together with at least one phone check and one e-mail check. Rows come back numbers first, then e-mails, each with a checks map.

Does a missing messaging-app account mean the lead is fake?

No. Many real people don't use a given app. It is a weak signal that only matters in combination with others, such as a non-mobile line and a mailbox that doesn't exist.

Do you tell me who the lead is?

No. Checks answer yes, no or unknown, plus data such as line type or carrier. We never return names, addresses, photos or profiles, and we don't offer reverse lookups.

Can I use the results to price an insurance policy?

No. The results are contact-quality and fraud signals, not information about a person. They must not be used for insurance, credit, housing or employment decisions.

Can I check leads I bought from a third party?

Only if you have a lawful basis to process them and the people agreed to be contacted by you. A passed check doesn't make a non-consented lead usable for calls or texts.

What does it cost per lead?

Each check on each identifier is billed only when conclusive. A typical form check runs two or three checks per lead. Unknown answers, invalid input and duplicates are free. See the pricing page for current rates.

Know before you send.

Tell us about your use case. We review every request and set you up with test and live keys.