Mobile Phone Waterfall avatar

Mobile Phone Waterfall

Pricing

from $17.00 / 1,000 mobile founds

Go to Apify Store
Mobile Phone Waterfall

Mobile Phone Waterfall

Find mobile phone numbers for your contacts by chaining your own Prospeo, Lusha, ContactOut, and FullEnrich keys. One flat row per contact with the number, line type, country, Do Not Call flag, and the provider and credits used. No keys stored.

Pricing

from $17.00 / 1,000 mobile founds

Rating

0.0

(0)

Developer

Mamba Labs

Mamba Labs

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

2

Monthly active users

4 hours ago

Last modified

Security

Limited permissions

Share

What's new (October 2026)

  • Validate only mode. Set the new mode input to validate and send the numbers you already hold in a phone field. Each row adds input_phone, phone_e164, phone_valid, phone_number_type, and phone_country, read from the numbering plan at no cost. With your own twilio_account_sid and twilio_auth_token, rows also carry phone_line_type, phone_carrier, and phone_reachable from Twilio Lookup. validation_source says which was used. Each number checked bills once as mobile-found. Off by default (mode is find).
  • Email and mobile in one pass. Turn on include_work_email and add your email keys (findymail_api_key, icypeas_api_key, and reoon_api_key or bounceban_api_key to verify; prospeo_api_key is shared). The Work Email Waterfall chain runs in the same run, and each row adds work_email, work_email_status, and work_email_found_by. One run start; the work email rides free in the row. Off by default.

No price change. Existing fields and saved inputs work as before.

๐Ÿ“ฑ What can Mobile Phone Waterfall do?

Give it contacts and it finds a mobile phone number for each one by calling the phone providers you already pay for, one after another, until one returns a number. Every row says which provider found it, what line type it is, and how many of your credits it spent.

Bring your own keys. You supply your own Prospeo, Lusha, ContactOut, or FullEnrich key, any one of them or all four. Mamba Labs supplies no keys and stores none. You pay your providers directly at your own plan's rate.

๐Ÿ“ฆ What you getโš™๏ธ Features and integrations
๐Ÿ“ž A mobile number in E.164 format, or an honest null
๐Ÿท๏ธ Line type, country, and the Do Not Call flag where the provider reports them
๐Ÿงพ Per provider credits on every row
๐Ÿ”ข 35 fields, one flat row per contact, always
๐Ÿ”— Four providers in the order you set
๐Ÿ”Œ A circuit breaker per provider on a bad key or an empty balance
๐Ÿ›‘ Your own credit cap and an Apify charge cap
โฌ‡๏ธ Export to JSON, CSV, Excel, HTML, or XML

๐Ÿšซ This is not a data provider and sells you no phone data. It runs the accounts you already have. With no key supplied it still runs, says which providers were unavailable, charges only the run start fee ($0.0005), and exits cleanly.

๐Ÿ’ก Why use Mobile Phone Waterfall?

No single provider finds every mobile. Running two or three by hand means exporting, matching, and paying twice for the same person. This calls the next provider only when the one before it came back empty, so a found contact never spends credits on a second provider.

If you wantRead these fields
The numbermobile_phone, phone_line_type, phone_country
Whether you may dial itphone_dnc (Lusha reports it; null means not reported)
Which provider earned its keepfound_by_provider, found_by, chain_position
What the contact cost you at your providersprovider_credits_used, providers_attempted_json
Run totalsrun_summary_json on the summary row

๐Ÿ”Œ Supported providers

ProviderYour key fieldIdentifiers it takesCredits per mobile, as documented
Prospeoprospeo_api_keyLinkedIn URL, name plus domain, email, name plus company10 per mobile found, a miss is free
Lushalusha_api_keyLinkedIn URL, email, first and last name plus domain or companyone search charge plus a phone charge per revealed phone
ContactOutcontactout_api_keyLinkedIn profile URL (/in/ or /pub/) onlyone phone credit when a phone comes back
FullEnrichfullenrich_api_keyfirst and last name plus company domain, LinkedIn URL optional10 per mobile found, landlines free

The default order is Prospeo, Lusha, ContactOut, FullEnrich. FullEnrich runs last because it is itself a waterfall over 20 plus sources and takes up to two and a half minutes per contact. Change the order with provider_order. A provider with no key is skipped and reported, never an error.

Live verification. The Prospeo path has been run live on a real key (2026-10-19). The Lusha, ContactOut, and FullEnrich steps are built to each provider's documented API but have not yet been run on a live key. Every run summary lists them under providers_not_live_verified.

A LinkedIn URL is passed to the provider as an identifier. The actor never opens LinkedIn.

๐Ÿ“‹ What data can Mobile Phone Waterfall extract?

35 fields per row. One row per input contact, always, including the ones where nothing was found, plus one run summary row.

FieldWhat it holds
contact_idYour own id or contact_id, echoed back, or a row id
input_full_name, input_first_name, input_last_nameThe name you supplied
input_company_domain, input_company_nameThe company you supplied
input_linkedin_url, input_emailThe identifiers you supplied
mobile_phoneThe number in E.164, for example +14155550123, or null
phone_line_typemobile, landline, voip, or unknown
phone_countryTwo letter country code of the number
phone_dncTrue when the provider flags the number Do Not Call
phone_statusfound, not_found, no_usable_identifier, no_provider_available, skipped_spend_cap, skipped_free_plan_cap, not_started_charge_limit, or a summary state
found_by_provider, found_byThe provider, and the exact registry entry, that answered
chain_positionWhich position in your order found it
providers_calledHow many providers were actually called for this contact
providers_attempted_jsonEvery provider step with its outcome, credits, and time
provider_credits_usedCredits this contact spent on your accounts
is_summary_row, run_summary_jsonThe run summary row and its totals
row_status, error_reasonok, no_match, skipped, error, or summary, and why
billable_events_jsonThe Apify events this row charged, [] when free
checked_atWhen the row was written
input_phone, phone_e164, phone_validValidate mode: the number you sent, in E.164, and whether it is valid
phone_number_typeValidate mode: mobile, fixed_line, toll_free, fixed_line_or_mobile (North America), or unknown, from the numbering plan
phone_carrier, phone_reachableValidate mode with your Twilio credentials: carrier name, and whether the line is active
validation_sourceValidate mode: numbering_plan or numbering_plan+twilio_lookup
work_email, work_email_status, work_email_found_byWith include_work_email: the work email, its verdict, and the registry entry that found it

โฌ‡๏ธ Input

FieldWhat it does
contactsOne object per person: full_name, first_name, last_name, company_domain, company_name, linkedin_url, email, and your own id. Also accepted as a JSON string or one line per person.
full_name, company_domain, linkedin_url, emailOne person per run, the shape a Clay row sends
prospeo_api_key, lusha_api_key, contactout_api_key, fullenrich_api_keyYour keys. Secret fields: never logged, stored, or written to the dataset
provider_orderProvider names in call order. Empty means the default order
mobile_onlyOn by default: a landline or VoIP number does not end the chain. Numbers without a reported line type are kept as unknown
max_contactsCeiling on contacts processed
max_provider_creditsYour spend cap on provider credits. Remaining contacts are skipped, uncharged
max_charge_usdYour cap on this run's Apify charges
modefind (the default) looks up mobiles. validate checks the numbers you send in phone
default_countryValidate mode: the country for numbers sent without a calling code. US by default
twilio_account_sid, twilio_auth_tokenValidate mode, optional: your Twilio credentials for line type, carrier, and reachability. Secret fields
include_work_emailOff by default. On also finds the work email in the same run
findymail_api_key, icypeas_api_key, reoon_api_key, bounceban_api_keyYour email keys for include_work_email. Secret fields

Example:

{
"contacts": [
{ "id": "crm-1042", "full_name": "Jane Doe", "company_domain": "example.com", "linkedin_url": "https://www.linkedin.com/in/janedoe" }
],
"prospeo_api_key": "YOUR_PROSPEO_KEY",
"lusha_api_key": "YOUR_LUSHA_KEY",
"max_provider_credits": 200
}

๐Ÿ’ฐ Pricing

Pay per event. You pay Apify for the orchestration below, and you pay your providers separately on your own keys.

EventWhen it firesFreeBronzeSilverGold
apify-actor-startOnce per run$0.0005$0.0005$0.0005$0.0005
phone-search-submittedOnce per contact on which at least one provider was called$0.003 ($3.00 per 1,000)$0.00285$0.0027$0.00255
mobile-foundOnce per contact that comes back with a number, or once per number checked in validate mode$0.020 ($20.00 per 1,000)$0.019$0.018$0.017

A contact that reached no provider (no key, no identifier a provider accepts, your credit cap, the free plan cap) is free. Summary rows are free. The run stops at the maximum cost per run you set in Apify and at max_charge_usd, and keeps every row already paid for.

Free plan: up to 65 contacts per calendar month on the Apify Free plan, which is 1.50 USD of evaluation at the Free prices. Paid plans have no monthly contact cap.

๐Ÿงช Usage examples

Apify Console or API. Paste your contacts and at least one key, then run. Over the API, start POST /v2/acts/<actor id>/runs with the input above and read the dataset when the run finishes.

Validate numbers you already have.

{ "mode": "validate", "contacts": [{ "id": "crm-1", "phone": "+44 7911 123456" }, { "id": "crm-2", "phone": "(512) 555-0199" }] }

Each row comes back with phone_e164, phone_valid, phone_country, and phone_number_type. Add twilio_account_sid and twilio_auth_token for line type, carrier, and reachability.

Clay. Add an HTTP API or Apify column, map full_name, company_domain, and linkedin_url to the single contact fields, and pass your key in the matching key field. Clay sends every value as a string; the actor accepts that.

MCP. The Mamba Labs MCP server @mambalabsdev/mcp-mobile-phone-waterfall-orchestrator exposes this actor as the tool find_mobile_phone for Claude, Cursor, and other MCP clients.

๐Ÿงฏ Error handling

SituationWhat you get
No key at allOne summary row, phone_status no_run, nothing called, only the run start fee charged, exit 0
A bad key or an empty balanceThat provider is switched off for the rest of the run after one failed call; the chain continues
Rate limitCalls are paced to each provider's documented limits; a 429 is not retried into a second 429
A provider times outThat step is recorded as an error and the chain moves on
FullEnrich still working after 150 secondsRecorded as an error. FullEnrich may still finish and charge your account later
A masked or national format number with no countryNot counted as found

โš ๏ธ Limitations

  • Match rates are not stated here because they have not been measured on a shared contact set. They vary by provider, country, and seniority.
  • Only Lusha reports a Do Not Call flag. A null phone_dnc means not reported, not cleared. Calling and texting rules (TCPA, national Do Not Call registers, GDPR) are yours to follow.
  • ContactOut reports no line type, so its numbers read unknown and pass the mobile_only filter.
  • Each provider's own terms bind your account. Lusha and Kaspr forbid reselling their data; Kaspr is not supported. Apollo is not supported because it delivers phone numbers only to a webhook.
  • Credits are reported as each provider reports or documents them. Dollar cost depends on your plan.

๐Ÿ†˜ Support

Open an issue on the Issues tab with the run id. Want another provider added? Say which one.

๐Ÿงฉ Want other GTM data?

Mamba Labs builds a fleet of enrichment actors that share one flat output convention:

ActorActor ID
Account Hiring WatchgRAZA5WBi1r6L0gy7
Agent Accessibility AuditoranxbRv0lKrpQ1pnua
Agent to Brokerage ResolverePRRGLxOGyaVHO4dI
AI Answer Visibility TrackerRJZvzKniYK4nswcMg
AI List Extractor for Any WebsiteD5hOdIez45M0NX5jD
AI Tooling DetectorEwkHhmqiuJgRoVEbE
Amazon Product, Price, and Stock TrackerMtJPZoyjJ3IeqTFyo
API Deprecation and Breaking Change MonitorpHsbS3xXUK8Jqutz5
App Store and Google Play Review MonitorMaCMEhGrbchxQZ92G
B2B Reddit Conversation MonitorSoDryzzsjmY3SsiyG
Bluesky Brand Presence MappereLpxzP4IuXznlFVND
Bluesky Posts ScraperKldSjS7wjoeZ7vQGm
Brand Sponsor FinderPPgK6xrgOmvL7Nrys
Bulk WHOIS and RDAP Domain Age LookupMTrkG5FLU6SjqLdJY
Career Change Signal EnginevX2Yga1a6wGaXaP14
Company Careers Page Jobs, 17 ATS BoardsizP0rfIgf5YaRZfIh
Company Change Event FeedoX44rS0fkEJ3rXLWe
Company Discovery List Builderjch0HdaZnpbMqlcGS
Company Firmographic EnricherYlUtLWjfPpqykmB8g
Company Funding RecordOFS4Mt1gyYNtGfUbE
Company Headcount EstimatoraHC4GROnNt6kfZe5r
Company Identity Resolverlr8fTRAmZCBZmuwwh
Company Role Email, Phone and Address Finder4mMncKaJykiq94grz
Company Social Presence Mapper4k6CCemkgBDz18m2h
Competitor Price, Stock, and Changelog MonitoryxdgCbUQ4PYQWwRNU
Contact Classifier0lGSeYJmniXhGANnO
Contractor License Search, CA, TX, WA, OR, LAWBYK3CPI2kdeq4bP1
CRM Contact Job Change CheckerL8UbEmMJC1XYPSZOb
Domain Deliverability Checker0tVgxI7A6o9jMlxmc
Domain to LinkedIn URL Resolver3HtnSaqPHOg1Qg5gx
Ecommerce Platform Profiler5G2NeYjBbQTjaTn9L
Ecommerce Store DiscoveryPeHu4sLyFvQHXUUrX
Email List Verifier, Bring Your Own KeyCzVJ4NlaCKk80xpgE
Event Presence IndexWLhMy8fMDgsxdYxv5
Expert Witness Finder, US and AustraliaLIpwlgfE3LaQBaXd4
Facebook Posts ScraperT6jxIeq4ua0SLXnqG
Funding and Press Signal ScannerFS13X6dhQVgX3XOM6
GDPR Cookie Banner and Consent CheckerTrKyOS0KBoGC35nbr
GitHub Followers and Following ExportSGNxDmFb9v3tRDaFI
GitHub Organization Signal ScannerahF8RRpv5mzPao5CN
Google Ads Transparency Center Scraper by Domain1eOwxhBVxzvOXAm4s
Google Maps Places ScraperSuvHCNJ7pIuw6gn54
Google Trends ScraperOeDzaACKmBYJXzHZk
GTM Hiring Signal ScraperD7O1SA2EqwHGsGr1P
GTM Signals AggregatorxKdRfnfFNkdMpFuNs
Healthcare Provider NPI EnricherMrgbHzcpDq3mOv9Df
ICP Fit ScorerW161DT8W4kW55dMFh
Influencer Change Monitord2VVgahNL6UmcLkhg
Influencer Lead List BuilderKnmByszcv135yM30G
Influencer Profile ScraperEqEnklDVMIcB1V499
Influencer Search Across TikTok, Instagram and YouTubetpkedmloIIWtXx6sg
Influencer Talent Agency LookupzCuX4Mgyg6JvXgGzd
Instagram Facebook Brand Presence MapperHXh65I0JBjPsunbY8
Integration and Marketplace Presence MapperV0guNuvM85Q61f2gj
Job Board Keyword Signal Scanner4DvqpvhMR74NLcDDY
Job Posting MonitorQCfICD9kOPiOdj5iI
Journalist and Media List BuildermAfizsZC8qRoR0ecS
Launch Directory List BuildercRq3bmvEZxZtioQ7U
Lead File Import CheckerRwlGVXTf46LqZdUgt
Legal Entity ResolverKHFyPCDIx7CyqULYm
Link in Bio Scraper and Newsletter DetectorOorucdheTIgu7RFzK
LinkedIn Company Page MapperzOPm6A9JEhUGcIdFW
LinkedIn Jobs FeedSH6N0d8cz46BhCC8B
LinkedIn Post TrackeroiGLNPuaf5BRaz9K5
Local Business Lead BuilderqMN97aoHhsAS5bznV
Local Rank and Map Pack Trackergv0kyHGDIg8XscclB
Lookalike Companies from Seed Domainse2O426WBAbLLQL4Z2
Manufacturer and Supplier FinderQcsdmd0lUfPzVkonh
MCP Server Change and Health MonitorIeqjWF9U0BdDQFY08
Media URL TranscriberSyfr7Ya3EsHgWfrB6
Meta Ad Library Ads by Company, Graph APIJ1GWlSXfSGU3u8Wng
Mobile Phone Waterfall6OOgPktf7RIa5XCOP
New Hire FindercKuc38p4nYHNF3IW8
Newly Registered Companies, UK, Norway, Finland, Franceg2WfZhWvCtc57g2Jo
News and Media Mention Monitorgol1PPUKrsIk4QLBd
Newsletter Sponsor TrackerqSwpqxD1TiPZpLQHv
Open Tender and RFP FinderkPTGz6t6TFoUUyfaO
Outbound Stack Detectorv43UJC8r7qW7cBSTG
Page Finder and ExtractorTpurgcOZbVnknlaiC
Partner and Member Directory ExtractorZX0XJPPUvnFJxeC1a
People Finder & Email VerifierLEgloG7tWgQl4o6TD
Person LinkedIn URL ResolverssuyPV8LnEsL8qbnb
Person Social Footprint MapperjfQXa2zW9FHCJot9K
Personal Email to Company ResolverAefT5Ye6YNPFQwJBf
Pinterest Brand Presence Mapperd1HvjZfKhgvWsoEwn
Podcast Guest and Host Findero2MGSvgbSLeeXOsIo
Product Hunt Daily Launches with Maker DomainsO4VX63drWK9Y9x641
Prospect Engineq9rT6v64nUJdPexOQ
Public Feature Board and Roadmap MonitorrcHF5gj5r2Vqnry35
Publishing Frequency TrackerTbLwaUUATdYb6wp4N
Recent Funding Rounds FeedKueVp9MOz7iOoAgDp
Reddit Brand Presence MapperpKQZmDaT70SEb54bZ
Reddit Search and Thread Scraper4Gsth5cP2Xt9V2xDN
Reporting Window FinderuINxR7a1IW8qUTRUX
Research Topic Institutions and AuthorsOH8ANqt7bCKbo72Gk
Sequencer Event PollerS6s8Rjd61tGdrMRk4
Sequencer Lead Push0Jv27VeWM5tSZQs9x
Shopify App Store and Chrome Web Store ListingsgaY0BzkLyN77mD3wI
Site Crawler for Links and TableslLLJ6JxZ4XqN8ULz0
Substack Newsletter and Posts ScraperUEFsdwiPLmPNVy9xd
Team Page People Extractorj8a9zX0k4mNbvDbWK
Tech Stack Signal Detectorqyd7nNyqFPelQViBx
Tennis Match Datav3OX6zxXHZOf2yurO
Threads Posts by Keyword, Exact Match2OT8K8RiEEWtaj2MW
TikTok Brand Presence Mapperfco8FvoJcSafbeyd1
Trustpilot Reputation Enricher3lIqfCt61j4hqE1xz
US and UK Contract Award Winners by CompanyzhEtllASykOcx9hJ8
US Import Records Buyer FinderVIMafpKF5ggOw0COU
VC and Accelerator Portfolio List BuilderchH8hrfuoqqolW06m
Website Accessibility Checker, WCAG 2.2 AAP3jBj3FRghKEhX52z
Website Phrase and Business Model ClassifierCBuZ9k7sRwBeiKiCS
Website Traffic Rank EstimatorGnOFUzlNVIoXgeJjH
Work Email WaterfallOT6xqTFThC0Rjf7Zj
Workplace Program DetectorLi6pPDhqbdzFz3h7G
X Brand Presence MapperoLOgadhHUkNAyDA3w
YouTube Channel from Company Domain6hSpD3kd2s2IQ4VSs
Zillow Listing DetailsyG4zM0Enfsw2NefJ1

Every actor in the suite takes a domain or a company and returns one flat row, so they stack in the same Clay table without reshaping anything.

Built by Mamba Labs.