---
title: "How to Approve Real Users and Block Fake Accounts at Sign Up with Lookup and Verify"
description: "Fake accounts and signup fraud can undermine onboarding, so the tutorial builds a Node.js flow that collects a user's name and phone number. It combines Twilio Lookup and Verify through four progressively intense checks: line type, line status, identity match, and SMS OTP possession. The implementation blocks landline, nonfixed VoIP, toll-free, and pager numbers, checks submitted first and last names against authoritative sources using exact_match or high_partial_match, and sends an OTP only after the lookup steps pass. Line status is optional in the example because access is in Private Beta, while the project uses Express, EJS, and environment variables for its Node.js setup. It also demonstrates expected outcomes for mobile, blocked, and mismatched inputs, then notes that pricing varies by country."
---

# How to Approve Real Users and Block Fake Accounts at Sign Up with Lookup and Verify

[Twilio](https://yomu.fyi/company/twilio) · Kelley Robinson · Aug 31, 2026

**Type:** Tutorial

## Summary

Fake accounts and signup fraud can undermine onboarding, so the tutorial builds a Node.js flow that collects a user's name and phone number. It combines Twilio Lookup and Verify through four progressively intense checks: line type, line status, identity match, and SMS OTP possession. The implementation blocks landline, nonfixed VoIP, toll-free, and pager numbers, checks submitted first and last names against authoritative sources using exact\_match or high\_partial\_match, and sends an OTP only after the lookup steps pass. Line status is optional in the example because access is in Private Beta, while the project uses Express, EJS, and environment variables for its Node.js setup. It also demonstrates expected outcomes for mobile, blocked, and mismatched inputs, then notes that pricing varies by country.

## Context

The tutorial addresses signup fraud and fake accounts while aiming to preserve a smooth onboarding path for real users. It motivates combining multiple phone intelligence and verification checks, with cheaper checks performed before more expensive ones.

## Approach / What changed

The implementation orchestrates Twilio Lookup and Verify in Node.js. It checks line type, optionally checks line status, compares submitted first and last names through Identity Match, and sends an SMS OTP for phone possession after the lookup checks pass.

## Takeaways

- The example rejects landline, nonfixed VoIP, toll-free, and pager numbers through Lookup Line Type Intelligence before proceeding.
- Identity Match accepts first- and last-name results only when each is exact\_match or high\_partial\_match; other results reject the request.
- Line Type Intelligence and Line Status are described as cheaper than Identity Match and Verify, and the checks can be rearranged for country-specific pricing and business logic.

**Tags:** [Authentication](https://yomu.fyi/topic/authentication), [Node.js](https://yomu.fyi/topic/node-js), [Twilio](https://yomu.fyi/topic/twilio)

- Source: [Twilio](https://www.twilio.com/en-us/blog/developers/tutorials/product/block-fake-accounts-lookup-verify-node)
- Source URL: https://www.twilio.com/en-us/blog/developers/tutorials/product/block-fake-accounts-lookup-verify-node
- Ingested by Yomu: 2026-09-09T13:35:58.171Z

[Read original post](https://www.twilio.com/en-us/blog/developers/tutorials/product/block-fake-accounts-lookup-verify-node)
