Fix Broken LinkedIn URLs | Live Fresh Data avatar

Fix Broken LinkedIn URLs | Live Fresh Data

Pricing

from $1.00 / 1,000 linkedin url recovereds

Go to Apify Store
Fix Broken LinkedIn URLs | Live Fresh Data

Fix Broken LinkedIn URLs | Live Fresh Data

Paste an old or broken LinkedIn URL and get a live profile: current link, headline, company, title, and experience. No match, no charge. For stale CRM data after a name change or a custom URL edit. Recovery on old lists is often up to 70%. Review a likely match before you replace the URL.

Pricing

from $1.00 / 1,000 linkedin url recovereds

Rating

0.0

(0)

Developer

Mawsool Intertaional FZCO

Mawsool Intertaional FZCO

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 minutes ago

Last modified

Share

No match, no charge. Paste an old, stale, or broken LinkedIn URL. When the person is found, the row is a live profile fetched at the moment you run: the current URL, headline, company, title, experience, and education. When nothing is found, result is No match, free and you are not charged. Starting from $1 per 1,000 live profiles.

This is a live request, not a saved copy of the link from the day you first collected it. The headline, company, and job history are the profile as it stands now.

Use it on data that has gone stale. LinkedIn lets a member edit the custom URL. A name change, a new certificate in the name, or a manual vanity edit replaces the slug, and the link in your CRM, ATS, or spreadsheet 404s. Send the URL you still have.

No match, no charge

A row with result = No match, free and matchType = none found no current profile. charge is Free. Filter those rows out and keep going. You pay only when a live profile comes back.

On stale lists, recovery is often up to 70%. The rest of the file costs nothing.

Live profile, not just a new URL

A recovered row is the current person, fetched live:

  • Current LinkedIn URL
  • Name, headline, and current title
  • Current company and company URL
  • Location and connections
  • About
  • Skills
  • Experience, one object per role, with dates
  • Education, one object per school, with degree and field

Open Live profile for the CRM columns. Open Experience and education for the history. All fields are those columns. There is no leftover JSON blob.

Use this on old or stale LinkedIn URLs

The URL you haveUse
Old, stale, broken, or no longer opensThis Actor. Live profile. No match, no charge.
Already opens, and you only want the current company and headlineProfile Freshness Check, starting from $0.40 per 1,000
Already opens, and you stored the old company and want needsUpdateCurrent Company Checker
Already opens, and you want the full scrapeLinkedIn Profile Scraper, or Mass Profile Scraper for a large file

Review likely matches before you replace a URL

resultmatchTypeWhat to do
Live profileexactThe URL itself still matches. Keep it and use the fresh headline, company, and experience.
Live profileconfidentThe old URL missed. Name, company, or title matched strongly. Write currentUrl back to the CRM.
Review this matchlikelyA weaker field match. Read the name, company, and title before you treat it as the same person.
No match, freenoneNothing found. Leave the old URL unresolved. This row is free.

If you need a different Mawsool Actor

If this is what you needOpen
You have an email and want the LinkedIn profile.Reverse Email Lookup
You have a name and company and want the profile URL.LinkedIn Profile Finder
You have a profile URL and want the personal email.LinkedIn Email Finder
You only need the current employer, before paying for a full profile.Current Company Checker
You want the current company and headline, and you will compare them to your CRM yourself.Profile Freshness Check
You want an alert when the employer or headline changes.Job Change Tracker
You have a profile URL that already opens and want the live full profile. A miss is free.Live LinkedIn Profile Scraper
You want the lighter profile snapshot.LinkedIn Profile Scraper
You have a large file of profile URLs that already open.Mass Profile Scraper
You want the current employer's website from a profile URL.Profile to Company Website
You want the job history only.Work Experience
You want schools and degrees only.Education
You want a yes or no for one certificate.Certification Checker
You want certificates, patents, courses, and publications.Certifications and Patents
You want likes and comments for outreach.Profile Activity
You have a company URL and want the full company record.Company Details
You have a large file of company URLs.Mass Company Scraper
You want the website, industry, and employee range.Firmographics and Website
You want office addresses.Company Locations
You want lookalike companies.Similar Companies
You want the recent posts on a company page.Company Posts
You want only new posts on the next scheduled run.Company Post Monitor

The same list is on Mawsool's Apify profile.

Use with AI agents

Paste this to Claude, ChatGPT, Cursor, or any client that can call an Apify Actor:

Use oday/mawsool-fix-broken-linkedin-urls on old, stale, or broken LinkedIn URLs. This is a live lookup. When result is "Live profile", return currentUrl, headline, company, jobTitle, experience, and education, and replace the stored URL. When result is "Review this match", show the name, company, and title and wait. When result is "No match, free", do not charge and do not invent a URL. Starting from $1 per 1,000 live profiles. No cookies.

To load the Actors without a Store search, add this MCP server:

https://mcp.apify.com?tools=oday/mawsool-fix-broken-linkedin-urls,oday/mawsool-email-linkedin-lookup,oday/mawsool-linkedin-personal-email-finder,oday/mawsool-linkedin-profile-freshness

No LinkedIn login. No cookies. You supply the old URL. Mawsool is not affiliated with LinkedIn.

What a row looks like

Every row uses this field set. A live profile fills them from the lookup that just ran. A miss keeps the same fields empty and sets charge to Free.

{
"inputUrl": "https://www.linkedin.com/in/old-or-broken-slug",
"currentUrl": "https://www.linkedin.com/in/current-slug",
"result": "Live profile",
"matchType": "confident",
"fullName": "Jordan Hale",
"firstName": "Jordan",
"lastName": "Hale",
"headline": "VP Sales at Northwind",
"jobTitle": "VP Sales",
"company": "Northwind",
"companyLinkedInUrl": "https://www.linkedin.com/company/northwind",
"location": "Austin, Texas, United States",
"connections": "500+",
"about": "Leads the sales team at Northwind.",
"skills": "Enterprise Sales; CRM; Forecasting",
"skillsCount": 3,
"experienceCount": 2,
"experience": [
{
"title": "VP Sales",
"company": "Northwind",
"companyUrl": "https://www.linkedin.com/company/northwind",
"start": "2022-03",
"end": "Present",
"description": "Owns the revenue number."
},
{
"title": "Director of Sales",
"company": "Contoso",
"companyUrl": "https://www.linkedin.com/company/contoso",
"start": "2018-01",
"end": "2022-02",
"description": null
}
],
"educationCount": 1,
"education": [
{
"school": "State University",
"degree": "Bachelor's degree",
"field": "Business Administration",
"start": "2010",
"end": "2014",
"schoolUrl": "https://www.linkedin.com/school/state-university"
}
],
"checkedAt": "2026-10-29T12:00:00.000Z",
"charge": "Charged"
}

experience and education are the live history, one object per role and one object per school. Descriptions are included when the profile has them.

A weaker match uses the same fields. result is Review this match and matchType is likely. Read the name, company, and title before you overwrite the CRM. This row is still charged, because a profile came back.

No current profile. Same fields, empty, and free.

{
"inputUrl": "https://www.linkedin.com/in/slug-that-cannot-be-recovered",
"currentUrl": null,
"result": "No match, free",
"matchType": "none",
"fullName": null,
"firstName": null,
"lastName": null,
"headline": null,
"jobTitle": null,
"company": null,
"companyLinkedInUrl": null,
"location": null,
"connections": null,
"about": null,
"skills": null,
"skillsCount": null,
"experienceCount": 0,
"experience": [],
"educationCount": 0,
"education": [],
"checkedAt": "2026-10-29T12:00:00.000Z",
"charge": "Free"
}

Why LinkedIn URLs break

A LinkedIn profile URL is a slug, not a permanent ID. Members can edit it. LinkedIn also replaces it when the name on the profile changes, including when someone adds a certificate or a credential to their name. The page at the old slug stops opening. Anyone who bought, scraped, or exported that URL now holds a dead link.

Sales CRMs, recruiting ATS exports, conference lists, and old data purchases all collect this debt. The contact is often still on LinkedIn. The path in your database is the part that died.

Who fixes broken LinkedIn URLs with this

RevOps and CRM admins

Quarterly hygiene on the LinkedIn URL field in HubSpot or Salesforce. Write currentUrl back where result is Live profile. Queue Review this match rows. Refresh the headline, company, and experience on the rows you keep.

Sales teams with an old outbound list

A list from last year 404s on a large share of rows. Recover the current profile and the live headline, company, and experience before the next sequence. Skip every No match, free row.

Recruiters

Candidate URLs in an ATS go stale after a name change or a new credential. Recover the profile that opens now, then continue in the LinkedIn Email Finder only on the URLs you trust.

ABM and event follow-up

Account contacts and conference attendees from a past program. The company may be right and the profile slug may be wrong.

How to fix a broken LinkedIn URL

  1. Export the LinkedIn URL column from HubSpot, Salesforce, Clay, an ATS, or a spreadsheet.
  2. Paste it, or upload the CSV. A header of url or linkedinUrl is enough.
  3. Run the Actor.
  4. In Live profile, keep rows where result is Live profile.
  5. Open rows where result is Review this match and confirm the person before you overwrite anything.
  6. Leave No match, free unresolved. Those rows were not charged.

Lists over 200 continue if the run stops. Set the same resumeId to skip URLs that already recovered, so a second run does not charge them again.

apify call oday/mawsool-fix-broken-linkedin-urls --input '{
"urls": ["https://www.linkedin.com/in/old-or-broken-slug"]
}'

What 10,000 stale URLs cost

You pay for recoveries, not for the size of the file.

At a 70% recovery rate, 10,000 old URLs return about 7,000 current links. On the Gold plan that is $7. The other 3,000 are free. The free plan prices the same 7,000 recoveries at $12.60.

10,000 current links at $1 per 1,000 is $10 when every URL recovers. A list of fresh URLs that already open will mostly come back exact and you will pay for each one. That is a poor use of this Actor. Send those to Profile Freshness Check, starting from $0.40 per 1,000.

Price

One charge per recovered profile URL. exact, confident, and likely are all recoveries. A not-found row is free. A failed request is free.

PlanPer 1,000 recovered URLs
Free$1.80
Bronze$1.50
Silver$1.20
Gold$1.00
Platinum$1.00
Diamond$1.00

Starting from $1 per 1,000 recovered URLs. Gold, Platinum, and Diamond are the same price.

Ready-made tasks

Open one, press Start, then replace the sample URL with your stale list.

JobTask
Write current links back to a CRMRepair stale CRM LinkedIn URLs
Slug died after a name or certificate changeRecover LinkedIn URLs after a name change
Outbound file full of dead linksFix dead LinkedIn links in a sales list
Last year's event exportRefresh old conference LinkedIn URLs
Candidate links in an ATSFix broken candidate URLs in an ATS
Quarterly CRM field cleanupQuarterly LinkedIn URL hygiene
Buying committee on an old account listRepair ABM contact LinkedIn URLs
Custom URL edited, old vanity link 404sRecover LinkedIn vanity URLs that 404

FAQ

Is the profile live, or a saved copy?

Live. Each URL is resolved when the run starts. The headline, company, title, experience, and education are the profile at that moment. checkedAt is the time of that request.

How do I fix a broken LinkedIn URL?

Paste the old linkedin.com/in/... link, including a link that no longer opens. When result is Live profile, currentUrl is the link that opens now, and the headline, company, title, experience, and education are the live profile. Replace your stored link on those rows.

The member edited the custom URL, or the slug changed after a name edit, including adding a certificate or credential to the name. The old path 404s. The person often still has a profile.

What does matchType likely mean?

The old URL did not match, and the remaining field match is weaker than a confident one. result is Review this match. The row still includes the current URL, headline, company, and experience so you can check them. Confirm the name, company, and title before you treat it as the same person.

Do I pay if the old URL cannot be recovered?

No. No match, free is not charged. You pay when a live profile comes back: exact, confident, or likely. A failed request is also free.

Should I run this on fresh profile URLs?

Save it for old, stale, or broken links. Fresh URLs that already open are cheaper on Profile Freshness Check when you only need the current company and headline. When you want the live full profile, use Live LinkedIn Profile Scraper. A miss there is free, starting from $0.90 per 1,000.

Can I paste a CSV from HubSpot, Salesforce, or Clay?

Yes. Use a url or linkedinUrl column, or upload the file export. The Live profile table is ready to import: old URL, current URL, name, headline, company, title, and whether the row was charged.