To find available phone numbers from LinkedIn profile URLs, paste the public links into the LinkedIn Phone Number Finder on Apify. Run the lookup, inspect the returned profile and mobile_phone field, then download the Dataset as CSV. Keep each returned profile URL so the number can be traced back to your source list.
The Actor matches URLs to stored professional records. You run it with an Apify account and the profile links; the input does not require LinkedIn cookies. Start with a few people you can verify before processing a larger list.
Step 1. Prepare the public LinkedIn profiles
Use ordinary person-profile links containing linkedin.com/in/. Keep your original URL, prospect context and a source_row identifier in a master sheet. Prepare a separate distinct list for the Actor.
- Remove surrounding spaces and blank cells.
- Use a consistent HTTPS LinkedIn host for comparison.
- Remove tracking queries and trailing slashes from the comparison key.
- Retain the verified public profile slug. Review different slug spellings before merging them.
- Deduplicate the lookup list while preserving every original source row.
Company pages and unresolved Sales Navigator links need a supported person-profile URL before lookup. Keep those rows in a review section rather than silently dropping them from the source file.
A five-profile pilot is enough to learn the output shape. It is easier to review identity when you already know the person’s expected name and employer.
Step 2. Start the phone lookup in Apify Console
Open the LinkedIn Phone Number Finder on Apify and click Try for free. Sign in if prompted and open the editable Input form in Apify Console.
- Paste your prepared links into LinkedIn Profile URLs.
- Keep Only Return Profiles With Phone Numbers enabled for a phone matches file.
- Review the current Pricing tab and set a run spending limit.
- Click Start and wait for the final run status.
- Open the Dataset to inspect the returned profiles.
The input reference lists both controls. The image is a read-only reference; paste your real profile list into the Console form.

JSON for a phone-first lookup
Replace the placeholder with a real public profile. Add more supported URLs to the array for a batch.
{
"linkedinUrls": [
"https://www.linkedin.com/in/YOUR_PROFILE"
],
"onlyWithPhones": true
}The publisher also lists a LinkedIn Phone Scraper with the same current URL and phone-filter controls. Keep the selected Actor name with your input and run history.
Understand the phone-only filter
With onlyWithPhones: true, profiles without an available phone are excluded from the saved results. Unmatched URLs are absent too. Keep your source list because the Dataset contains the exported matches rather than a guaranteed row for each input.
For a diagnostic test, set onlyWithPhones to false. A matching stored profile without a number may then be exported, which helps distinguish it from a URL with no returned profile. Such exported profiles can also be charged as results, so check pricing before running a large diagnostic batch.
Turning the filter off still cannot return a stored profile that the lookup did not match. Use separate statuses for a profile with a number, a profile without one, no returned profile and an incomplete or failed run.
Step 3. Check the profile identity and mobile_phone value
Read the actual mobile_phone field in the Dataset. The Finder’s output also includes the available person and company context, so you can review the contact before copying it to another system.
| Field | Review |
|---|---|
linkedin_url | Map the returned profile to your input URL. |
full_name, first_name, last_name | Check the intended person. |
job_title, company | Compare role and employer context. |
mobile_phone | Keep the returned contact value with its original formatting. |
has_phone | Whether that returned record has a phone value. |
A stored employer or role may be older than the current public profile. Check identity conflicts before accepting the number. Preserve the Actor’s field label, while treating current ownership and reachability as separate checks.
This lookup does not provide a newly crawled webpage as evidence for each number. Keep the returned profile link, run ID and lookup date as your record of where the match came from.
Step 4. Export phone data safely into a spreadsheet
- Download CSV from the completed Dataset.
- Keep the returned profile URL and identity fields beside the number.
- Import
mobile_phoneand any additional normalized-phone column as text. - Normalize only when you have enough country information.
- Join the reviewed value back to your source sheet using the normalized profile key.
- Retain rows with no match and keep a separate review status.
Text columns help preserve a leading + and prevent spreadsheet conversion. If a number already carries an international country code, retain it. When a local-format number has an unclear country, preserve the original and flag it before adding a calling code.
For a fictional US record, (202) 555-0140 can become +12025550140 after the region is confirmed. Keep both values in your working sheet. Formatting alone does not establish that the number still reaches the intended person.
Report missing phones from the original input list
Keep one source row per original prospect. If the same profile appears in two source lists, one reviewed lookup result can fill both rows. Count distinct profiles separately from enriched source rows.
| Outcome | Meaning |
|---|---|
| Number returned | A reviewed profile has a phone value. |
| Profile returned without phone | A diagnostic export returned the profile but no phone. |
| No profile returned | No saved result maps to the submitted URL; check filter and run evidence. |
| Review identity | Profile or employer context does not agree. |
| Unsupported or unprocessed | The input needs correction or the run did not complete its intended work. |
A number-only Dataset cannot explain every omitted URL by itself. Read the terminal run status and logs before marking a no-return case as a completed lookup. Keep conflicting candidates in a separate review table instead of choosing one arbitrarily.
Handle larger batches, pricing and account allowances
The input accepts up to 100,000 profile URLs per run. Split larger source files into distinct batches and save the submitted URL list, selected filter, run ID and Dataset ID for each one. Re-exporting the same profiles is separate work and can be charged again.
The current Finder documentation describes a Free-plan allowance of 500 exported profiles per UTC calendar month. That output allowance still uses the published event pricing and Apify credits. Paying users have different allowance behavior; per-run limits and budgets still apply. Use the live Pricing tab for the tariff that applies to your run.
The run’s QUOTA record provides allowance details, and ERROR contains reported errors when present. Review those records and the run log if output stops early. A quota or budget boundary can explain fewer exported profiles without establishing that the remaining inputs lack phones.
Ask your agent to run LinkedIn phone lookup through MCP
Connect your MCP-compatible agent to https://mcp.apify.com and authorize your Apify account through the Apify MCP setup. Give it the exact Actor name and the source file.
Use x_guru/linkedin-phone-number-finder.
Profile URLs or file: [MY_INPUT]
Approved event-charge cap USD: [AMOUNT]
Inspect the current schema. Start with
five distinct supported public profiles.
Keep a mapping to every original row.
Set onlyWithPhones=true.
Apply the approved cap through
callOptions.maxTotalChargeUsd.
Wait for completion. Read every Dataset
page and inspect QUOTA or ERROR if
present. Preserve linkedin_url, name,
company, job_title, mobile_phone and
has_phone where available.
Join reviewed results to the master.
Keep no-return and incomplete cases
separate. Store phone columns as text.
Save raw output and an enriched CSV.
Report counts, run ID and Dataset ID.
Wait before expanding the batch.The agent starts the Actor using call-actor, waits with get-actor-run and reads output with get-dataset-items. For a diagnostic rerun with the phone filter disabled, give it a separate budget and keep that run’s settings with the results.
To add addresses, use the LinkedIn email guide and merge both results by profile URL. For a quick lookup in Dievio, open LinkedIn Lookup. For a recurring integration, follow the Apify run and export guide.



