Voyager provides comprehensive profile access — your own profile, any public profile, contact info, skills, recommendations, badges, and network stats. All profile endpoints are pure HTTP against LinkedIn’s internal APIs (REST first, GraphQL fallback).
Every response is wrapped in the Voyager envelope: { success, statusCode, message, data, errors }. The JSON examples below show only the data payload — in your client, access it as res.data.profile, not res.profile. See Introduction for the full envelope shape.
The vanity name is the string after /in/ in a LinkedIn profile URL. For example, https://www.linkedin.com/in/williamhgates has vanity name williamhgates.
Profile responses include entityUrn which you can cache and reuse in messaging endpoints via the recipientUrn parameter for faster sends.
Get email, phone, Twitter, and website data for a profile. Contact info is typically only available for 1st-degree connections.
Contact info is only available for 1st-degree connections. For 2nd/3rd-degree profiles, fields will be empty or null.
Get endorsed skills with endorsement counts:
Get follower, connection, and following counts:
See who viewed your profile recently:
Check Premium status, Open Profile, and other badges:
Check connection degree and messaging eligibility:
Fetch up to 25 profiles in a single request:
Batch results process sequentially with short delays between requests to stay within LinkedIn’s comfort zone.
Check relationship status for up to 20 profiles at once:
Extract a member’s email address (requires connection or certain access levels):
Get a person’s recent LinkedIn posts and activity:
Useful for understanding what someone cares about before reaching out.
Get endorsements and recommendations for a profile: