You have a list of 5,000 leads. Names and email addresses. Maybe company names. That's it.
Your sales team needs more. They need job titles to know if someone is a decision maker. They need company information to prioritize accounts. They need work history to personalize outreach. They need contact details to reach people where they actually respond.
Manually researching each lead takes 3 to 5 minutes. For 5,000 leads, that's 250 to 400 hours of work. Nobody has that kind of time.
A Profile Lookup API solves this problem. You send in an identifier (a username, a profile URL, a name and company) and get back complete professional data in under a second. Work history. Education. Skills. Contact information. Current role. Social proof metrics.
We built LinkdAPI to make this lookup fast, reliable, and affordable. This guide covers everything you need to know about looking up professional profiles programmatically: the endpoints available, what data you get back, and how teams use this for sales, recruiting, and business intelligence.
What Profile Lookup Actually Means
Profile lookup is the process of taking a small piece of information about a person and expanding it into a complete professional record.
You start with what you have:
- A profile URL from your CRM
- A username from an email signature
- A name and company from a business card
- A profile identifier from another system
You end up with what you need:
- Current job title and company
- Complete work history with dates
- Education background
- Skills and endorsements
- Professional certifications
- Contact information (when public)
- Follower counts and social proof metrics
- Profile photo URL
The difference between a name and a complete profile is the difference between guessing and knowing. Sales reps with complete data close more deals. Recruiters with complete data make better matches. Analysts with complete data spot patterns others miss.
Why Real-Time Lookup Matters
Professional data changes constantly. People switch jobs every 2 to 3 years on average. They update their titles, add new skills, earn certifications, move to new cities.
Static databases go stale within months. That "VP of Sales" in your CRM might have left six months ago. The "startup founder" might have been acquired and is now a division head at a public company.
Real-time lookup means you get data as it exists right now. Not as it existed when someone last ran a batch job. Not as it existed when a data vendor last updated their files.
When you query our API, we return current data. The profile information your sales rep sees is the same information they would see if they manually looked up that person themselves. No staleness. No outdated titles. No embarrassing emails to people who left the company.
The Business Case for Profile Enrichment
Let's make this concrete with some numbers.
Sales Development
A typical SDR handles 50 to 100 new leads per day. Without enrichment, they spend significant time researching each one to determine if it's worth pursuing.
With enrichment:
- Instant qualification based on title and seniority
- Automatic prioritization by company size and industry
- Personalization data available without manual research
- Contact information for multi-channel outreach
The math is simple. If enrichment saves 2 minutes per lead and an SDR processes 75 leads per day, that's 150 minutes saved daily. Over a month, that's 50+ hours of selling time recovered per rep.
Recruiting
Sourcers often spend more time researching candidates than actually reaching out. They need to verify current employment, understand career trajectory, assess skill fit, and find contact information.
With enrichment:
- Immediate verification of current role and company
- Complete work history for trajectory analysis
- Skills data for technical fit assessment
- Education history for credential verification
- Contact details for direct outreach
A sourcer who enriches 200 candidates per week versus researching them manually can process 3 to 5x more candidates in the same time.
Investment Research
Due diligence on companies includes understanding who runs them. Investors need to verify founder backgrounds, assess management team experience, and map out advisory boards.
With enrichment:
- Instant verification of claimed credentials
- Complete career history for pattern recognition
- Board and advisory positions across portfolio
- Network mapping through connections
- Track record at previous companies
What takes an analyst hours to compile manually takes seconds with API access.
Our Profile Lookup Endpoints
We offer multiple ways to look up professional profiles depending on what identifier you have and what data you need.
Full Profile Lookup
Endpoint: /api/v1/profile/full
The most comprehensive option. Returns everything about a person in a single API call. Use this when you need complete data and want to minimize round trips.
| Parameter | Type | Required |
|---|---|---|
username | string | One of these |
urn | string | One of these |
You can look up by username (the public identifier from their profile URL) or by URN (a unique identifier used internally by professional networks).
What you get back:
Basic information:
- First name, last name, full name
- Headline (current title and company)
- Location (city, region, country)
- Profile picture URL
- Background image URL
Professional metrics:
- Follower count
- Connection count
- Creator status
- Premium account status
- Top voice badges
- Influencer status
Current positions:
- Job title
- Company name
- Company ID (for further lookup)
- Start date
- Description
Complete work history:
- All previous positions with dates
- Company information for each role
- Job descriptions where available
- Duration calculations
Education:
- Schools attended
- Degrees earned
- Dates of attendance
- Fields of study
Additional data:
- About section text
- Featured posts
- Languages spoken
- Skills with endorsement counts
- Certifications with dates
- Recommendations given and received
This single endpoint returns what would otherwise require 8 to 10 separate API calls. For most use cases, this is the endpoint you want.
Profile Overview
Endpoint: /api/v1/profile/overview
A lighter weight option that returns basic profile information. Use this when you only need surface-level data or want to verify a profile exists before fetching full details.
| Parameter | Type | Required |
|---|---|---|
username | string | Yes |
Returns: name, headline, location, follower count, connection count, current positions, profile picture, and the URN for further lookups.
Profile Details
Endpoint: /api/v1/profile/details
Detailed information including work history and education. Requires a URN (which you can get from the overview endpoint or username-to-urn endpoint).
| Parameter | Type | Required |
|---|---|---|
urn | string | Yes |
Returns: about section, featured posts, complete position history with dates and descriptions, education history with degrees and dates, languages with proficiency levels.
Contact Information
Endpoint: /api/v1/profile/contact-info
Returns contact details that the person has made publicly visible on their profile.
| Parameter | Type | Required |
|---|---|---|
username | string | Yes |
Returns: email address (if public), phone number (if public), websites (personal sites, company sites, portfolio links).
Note: This only returns information the person has chosen to make public. Private contact information is not accessible.
Username to URN
Endpoint: /api/v1/profile/username-to-urn
A lightweight endpoint that converts a username to a URN. Useful when you have URLs and need URNs for other API calls.
| Parameter | Type | Required |
|---|---|---|
username | string | Yes |
Returns: the URN and username confirmation. Costs minimal credits and is useful for validation.
Skills Lookup
Endpoint: /api/v1/profile/skills
Returns all skills listed on a profile with endorsement counts.
| Parameter | Type | Required |
|---|---|---|
urn | string | Yes |
Returns: skills with names, endorsement counts, and whether they've passed any skill assessments. Useful for technical recruiting and skills-based filtering.
Education History
Endpoint: /api/v1/profile/education
Returns complete education history with parsed dates.
| Parameter | Type | Required |
|---|---|---|
urn | string | Yes |
Returns: schools, degrees, fields of study, start and end dates, descriptions, and activities.
Work Experience
Endpoint: /api/v1/profile/full-experience
Returns complete work history with detailed position information.
| Parameter | Type | Required |
|---|---|---|
urn | string | Yes |
Returns: all positions with company names, titles, dates, descriptions, and calculated durations. Handles multiple positions at the same company correctly.
Certifications
Endpoint: /api/v1/profile/certifications
Returns professional certifications with issuing organizations and dates.
| Parameter | Type | Required |
|---|---|---|
urn | string | Yes |
Returns: certification names, issuing organizations, issue dates, and links to verification where available.
Social Metrics
Endpoint: /api/v1/profile/social-matrix
Returns follower and connection counts.
| Parameter | Type | Required |
|---|---|---|
username | string | Yes |
Returns: follower count and connection count. Lightweight endpoint for tracking audience growth or filtering by reach.
Similar Profiles
Endpoint: /api/v1/profile/similar
Returns profiles similar to a given person. Useful for finding more people like your best customers or candidates.
| Parameter | Type | Required |
|---|---|---|
urn | string | Yes |
Returns: list of similar profiles with basic information (name, headline, URN, profile picture).
Recommendations
Endpoint: /api/v1/profile/recommendations
Returns recommendations given and received by a profile.
| Parameter | Type | Required |
|---|---|---|
urn | string | Yes |
Returns: received recommendations with text and recommender details, given recommendations with text and recipient details, total counts.
Finding Profiles by Name and Company
Sometimes you don't have a username or URL. You just have a name and maybe a company name.
Our People Search endpoint handles this:
Endpoint: /api/v1/search/people
| Parameter | Type | Description |
|---|---|---|
keyword | string | Free text search |
firstName | string | First name filter |
lastName | string | Last name filter |
title | string | Job title filter |
Returns: matching profiles with URNs, names, headlines, and profile pictures.
Once you have a URN from search, you can use any of the profile endpoints to get complete data.
Practical Implementation
Start building with 100 free credits
Access profiles, companies, jobs, and more through our reliable, high-performance API. No credit card required.
Here's how to enrich a batch of leads using the async Python SDK:
1from linkdapi import AsyncLinkdAPI
2import asyncio
3
4async def enrich_leads(usernames):
5 """
6 Enrich a list of usernames with complete profile data
7 """
8 async with AsyncLinkdAPI("your_api_key") as client:
9 tasks = [client.get_full_profile(username=u) for u in usernames]
10 results = await asyncio.gather(*tasks, return_exceptions=True)
11
12 enriched = []
13 for username, result in zip(usernames, results):
14 if isinstance(result, Exception):
15 continue
16 if result.get('success'):
17 data = result['data']
18 enriched.append({
19 'username': username,
20 'name': data.get('fullName'),
21 'headline': data.get('headline'),
22 'location': data.get('location', {}).get('fullLocation'),
23 'followers': data.get('followerCount'),
24 'current_company': data.get('currentPositions', [{}])[0].get('company'),
25 'current_title': data.get('currentPositions', [{}])[0].get('title')
26 })
27
28 return enriched
29
30# Enrich 100 leads concurrently
31usernames = ["username1", "username2", "username3"] # Your lead list
32enriched_leads = asyncio.run(enrich_leads(usernames))This processes 100 profiles in seconds rather than minutes. The async SDK handles concurrency automatically, respecting rate limits while maximizing throughput.
For simpler use cases, the synchronous SDK works just as well:
1from linkdapi import LinkdAPI
2
3client = LinkdAPI("your_api_key")
4
5# Look up a single profile
6profile = client.get_full_profile(username="johndoe")
7
8if profile['success']:
9 data = profile['data']
10 print(f"Name: {data['fullName']}")
11 print(f"Title: {data['headline']}")
12 print(f"Followers: {data['followerCount']}")Use Case: CRM Enrichment
Your CRM has thousands of contacts with incomplete data. Email addresses exist. Names exist. Everything else is spotty.
The workflow:



