Validate single and bulk US phone numbers with Searchbug and Google Sheets
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
Nodes used (7)
- n8n Form Trigger
n8n-nodes-base.formTrigger - If
n8n-nodes-base.if - Edit Fields (Set)
n8n-nodes-base.set - Extract from File
n8n-nodes-base.extractFromFile - HTTP Request
n8n-nodes-base.httpRequest - Code
n8n-nodes-base.code - Google Sheets
n8n-nodes-base.googleSheets
What it does
Quick overview This workflow collects a single phone number or a CSV upload via an n8n form, validates and normalizes US 10-digit numbers, enriches them using the Searchbug Phone Validator API, and appends the results (carrier, line type, VoIP, DNC/TCPA flags, and more) to Google Sheets. How it works 1. Receives a submission from an n8n form where the user enters one phone number or uploads a CSV file. 2. Routes the input as single entry or bulk CSV, then normalizes the field to a consistent phone value. 3. Filters out any records that are not 10-digit US phone numbers to avoid unnecessary API calls. 4. Strips non-numeric characters and sends each valid phone number to the Searchbug Phone Validator (apilnp3) endpoint. 5. Extracts key fields from the Searchbug JSON response (or marks the lookup as failed) and appends the flattened results to a Google Sheets tab. Setup 1. Add your Searchbug cocode and pass values to the HTTP request query parameters used for the Searchbug API call. 2. Connect a Google Sheets credential and set the target Spreadsheet ID and sheet/tab name where results should be appended. 3. Create the destination sheet with header columns that match the saved fields (for example: phone, phonetype, carrier, voip, dnc, tcpa, ported, state, timezone, cnam, locationcode, formattedphone, lata, localtime, ocn, validatedat, validationstatus). 4. If using bulk mode, upload a CSV that contains a phone column named phone, Phone, or PHONE, then activate the workflow and share the form URL as needed.