US Phone Number Validator & Reverse Lookup — Carrier & Owner avatar

US Phone Number Validator & Reverse Lookup — Carrier & Owner

Pricing

$100.00 / 1,000 results

Go to Apify Store
US Phone Number Validator & Reverse Lookup — Carrier & Owner

US Phone Number Validator & Reverse Lookup — Carrier & Owner

Validate any US phone number and enrich it with carrier, line type (mobile / landline / VoIP), prepaid status and the people or businesses linked to it — names, age range, addresses and industry. You pay per completed lookup — $0.10 per row, an unmatched number included.

Pricing

$100.00 / 1,000 results

Rating

5.0

(1)

Developer

NeuralVerge

NeuralVerge

Maintained by Community

Actor stats

0

Bookmarked

10

Total users

9

Monthly active users

20 hours ago

Last modified

Share

US Phone Number Validator & Reverse Lookup — Carrier & Owner ✅ No API Key

Validate any US phone number and enrich it with carrier, line type, prepaid status and the people or businesses linked to it — names, age range, addresses and industry. Powered by the Neuralverge API. No API key or account required. You pay per completed lookup — matched or not, at $0.100 per row; a run that fails is never charged.

Ideal for lead validation, TCPA / line-type screening, identity resolution, fraud checks and CRM hydration.

✨ Why this Actor

  • ☎️ Validate + enrich in one call — confirm a US number is real and get its carrier, line type (mobile / landline / VoIP) and prepaid flag.
  • 👤 Reverse lookup — resolve the number to the linked people and businesses, with names, age range, gender, addresses and industry.
  • 💸 One flat price, no run fee — $0.100 per row written. A number that is invalid or unlisted comes back as one no result row and is billed the same $0.100; only a failed run costs nothing.
  • 🔑 No API key or account — enrichment runs on the Neuralverge backend.
  • Real-time & structured — fresh data each run, ready for a spreadsheet, CRM or AI pipeline.

🔧 How it works

  1. Provide a US phone number — any format works (the Actor strips +, spaces, dashes and parentheses and sends digits only; the leading 1 country code is optional).
  2. Run the Actor. Validation and enrichment happen on the Neuralverge backend.
  3. Get one flat dataset row per lookup — 15 columns, all at the top level (phone, id, phoneNumber, isValid, activityScore, countryCallingCode, …). Export to CSV, JSON or Excel, or pull it over the Apify API.

If the number is invalid or returns no result, the run still writes one explicit no result row with the reason — billed at the normal $0.100. A run that fails writes nothing and is free.

Input

One number per run.

FieldTypeNotes
phonestringThe US phone number to validate and enrich. Any format; digits are extracted automatically. Leading 1 is optional.
{
"phone": "19165058708"
}

What you'll receive

One flat row per number. Every field sits at the top level of the row, so the Output tab shows a single table with all 15 columns — there are no views to switch between. Exports (CSV, JSON, XML, Excel) contain exactly the same fields.

Columns: phone, id, phoneNumber, isValid, activityScore, countryCallingCode, countryCode, countryName, lineType, carrier, isPrepaid, isLitigatorRisk, warnings, error.

Listsowners — come back as arrays. The table renders each as an expandable "N items" cell; a CSV/JSON/Excel export carries them in full.

Nulls are normal. The column set is the same on every run, so a field the source does not expose for this number comes back null rather than disappearing — a spreadsheet or CRM mapping built on one run keeps working on the next.

Example output (real run)

A real dataset row, shown in full.

{
"phone": "9165058708",
"id": "Phone.88b010e6-d1a7-4f0b-8ffe-e41aac0eab6d",
"phoneNumber": "+19165058708",
"isValid": true,
"activityScore": null,
"countryCallingCode": "1",
"countryCode": null,
"countryName": null,
"lineType": "Mobile",
"carrier": "T-Mobile USA, Inc.",
"isPrepaid": false,
"isLitigatorRisk": null,
"owners": [
{
"id": "Person.29d3ffb8-b9d9-3937-b1bb-137b6b95acf7",
"name": "Stephen M Sewell",
"firstname": "Stephen",
"middlename": "M",
"lastname": "Sewell",
"alternateNames": [
"Steve M Sewell",
"S M Sewell"
],
"ageRange": "36-40",
"gender": "M",
"type": "Person",
"linkToPhoneStartDate": "2004-03-26",
"industry": [],
"currentAddresses": [
{
"id": "Location.5290fe2a-6ee5-4120-9de6-7b95244a3c4f",
"locationType": "Address",
"streetLine1": "585 29th St Apt C",
"streetLine2": null,
"city": "San Francisco",
"postalCode": "94131",
"zip4": "2240",
"stateCode": "CA",
"countryCode": "US",
"deliveryPoint": "MultiUnit",
"linkToPersonStartDate": "2021-03-01"
}
]
},
{
"id": "Business.4dc14931-dd9b-397f-b084-cb3e4e748e28",
"name": "Builder.io, Inc",
"firstname": null,
"middlename": null,
"lastname": null,
"alternateNames": [],
"ageRange": null,
"gender": null,
"type": "Business",
"linkToPhoneStartDate": null,
"industry": [
"Data Processing, Hosting, & Related Services"
],
"currentAddresses": [
{
"id": "Location.7a4b3bb1-d40e-4d1a-8c57-04752c0f9031",
"locationType": "Address",
"streetLine1": "95 3rd St PMB 2 San Fr",
"streetLine2": null,
"city": "San Francisco",
"postalCode": "94103",
"zip4": "3103",
"stateCode": "CA",
"countryCode": "US",
"deliveryPoint": "SingleUnit",
"linkToPersonStartDate": null
}
]
}
],
"warnings": null,
"error": null
}

When nothing is found

A lookup that runs but matches nothing still returns a row, so a batch never silently loses an input. An invalid US number (bad format, non-existent line) and a valid but unlisted number both land here:

ColumnValue
phoneechoed back exactly as submitted
foundfalse
messagethe reason — e.g. the number failed validation, or it is valid but no owner record is linked to it

Filter these out with found != false (or drop rows where message is set). This row is billed as one result at the full $0.100 — see Pricing.

Pricing

Pay per event — $0.100 per result ($100 per 1,000) written to the dataset. There is no run fee and no start fee.

EventPriceCharged
Actor startfreenever
Failed run — missing input, API error, timeoutfreenever
Row written to the dataset$0.100 ($100 / 1,000)every row, including the "no result" row

A completed lookup is billed as one result, matched or not. When the source returns nothing, the Actor writes one explicit no-result row — the query you submitted plus found: false and a message explaining it — and that row is charged at the normal per-result price. A run that fails (missing input, bad key, upstream error) writes no row and costs $0.00.

This Actor is priced at $0.100 per row, so a lookup that matches nothing costs $0.100, exactly the same as one that returns a full owner record. An invalid or unlisted US number is not a failed run — the lookup completed and returned a verdict, so it writes a found: false row and is billed the full $0.100.

Pricing is on top of your Apify platform usage.

Rate limit

Every Neuralverge Actor talks to the same backend, so there is a ceiling on how fast one Apify account can pull from it: 5 requests per second, counted across all Neuralverge Actors together. One run is normally one request, so this is about how many runs you start at once, not about the size of a single run — 5 requests per second is roughly 30 runs in flight at the same time, which is well above ordinary use.

Above the ceiling the backend answers HTTP 429. The Actor waits out the Retry-After it asks for and retries a few times before giving up; a run that does give up writes no row and is not charged.

If you need a higher rate for a bulk job, get in touch.

Free plan limits

Users on any paid Apify plan are not affected by anything in this section.

On the Apify Free plan all Neuralverge Actors share one budget, per user and per calendar month: 15 runs in total, at most 5 of them on this Actor, and 35 returned rows. A run that finds nothing still counts, because the lookup is performed either way. LinkedIn People Search is metered differently — one run there uses 25 of the 35 rows, because a full page of 25 profiles is bought upstream whether or not all of them are returned. When a limit is reached the Actor stops gracefully with a status message naming it; everything resets on the 1st of every month, and any paid Apify plan removes all of it.

Integrations & API

Results are stored in a standard Apify dataset — export as CSV, JSON, XML or Excel, or fetch on demand through the Apify API. The Actor also plugs into Apify's integrations (Make, Zapier, n8n, webhooks) and can be called from any MCP client.

FAQ

Do I need an account or API key? No. Validation and enrichment run on the Neuralverge backend.

Which numbers are supported? US phone numbers. Any format — the Actor strips +, spaces, dashes and parentheses and sends digits only. The leading 1 country code is optional.

What line types can it detect? Mobile, landline and VoIP, along with the carrier and prepaid status.

Am I charged if a number is invalid or unlisted? Yes — $0.100, the same as any other row. A lookup that ran is billed as one result even when it matched nothing; you get a no result row carrying found: false and the reason, so you can see what you paid for. Only a run that fails — missing input, a bad key, an upstream error or timeout — writes no row and costs $0.00.


Disclaimer: This Actor is an independent tool. Use enriched personal data in compliance with applicable privacy laws (e.g. TCPA, CCPA, GDPR) and only where you have a lawful basis.