LinkedIn: Community & Network icon

LinkedIn Data API: profile, jobs, inbox and viewers

LinkedIn · Jobs & Careers

LinkedIn: Community & Network is the official Android app of LinkedIn, the Microsoft-owned professional network that passed one billion members in 2023. It carries the full member experience: a profile tab that works as a professional identity page shareable through a public vanity URL, a home feed for following connections and companies, a jobs tab for browsing, saving and applying to postings — some open to remote work or offering a direct line to the recruiter — and a messaging inbox with mute, archive and block controls plus InMail for reaching people outside one's network. Accepting a connection unlocks a contact-info sheet with email, phone, websites and Twitter or WeChat handles, and the Me tab shows who viewed your profile, with Premium subscribers getting the fuller viewer list. Listed under jobs alongside Indeed, Glassdoor and, in India, Naukri, it doubles as a networking and career platform used by professionals, recruiters sourcing candidates and job seekers across the US, India and Brazil — three of LinkedIn's largest member markets.

Member profiles carry the professional identity — headline, industryName, locationName, geoCountryName and the free-text summary, keyed to a publicIdentifier vanity id and a nested miniProfile that other screens reuse. A relationship-gated contact card adds emailAddress, phoneNumbers, websites, twitterHandles and weChatContactInfo, plus the connectedAt timestamp of the connection. Job postings record title, formattedLocation, listedAt, closedAt, jobState and workRemoteAllowed, with the hiring company resolved through companyDetails. Inbox threads count unreadCount and totalEventCount and flag muted, archived and withNonConnection, while who-viewed-my-profile cards stamp each visit with viewedAt, a referrer and the viewer's occupation. The signed-in member record ties it together with a numeric plainId and a premiumSubscriber flag.

Recruiter sourcing copilots assemble candidate shortlists from those profile and contact fields — headline, industry, location and contact channels in one record. Founder and sales CRMs mirror messaging threads and the viewer feed, turning profile visits and unread conversations into follow-up tasks. Market-research pipelines track postings across listed and closed dates, remote eligibility and hiring company to map which industries are hiring where. openData Studio turns these profile, job, inbox and viewer records into callable open data.

Screenshots

  • LinkedIn: Community & Network screenshot 1
  • LinkedIn: Community & Network screenshot 2
  • LinkedIn: Community & Network screenshot 3
  • LinkedIn: Community & Network screenshot 4
  • LinkedIn: Community & Network screenshot 5
  • LinkedIn: Community & Network screenshot 6

API surface

The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.

  • Fetch signed-in member (me)

    GET /v1/account/me osint

    Returns the signed-in member record that every other screen hangs off: numeric plainId, MiniProfile (name, headline, public vanity id) and public contact handles.

    Auth: Signed-in session cookie; CSRF token header mirrored from the session cookie; installation-id header; client-tracking JSON header (clientVersion, osName).

    • plainId
    • premiumSubscriber
    • realByEmerald
    • miniProfile
    • entityUrn
    • objectUrn
    • firstName
    • lastName
    • occupation
    • publicIdentifier
    • trackingId
    • publicContactInfo
    • twitterHandles
    GET /v1/account/me HTTP/1.1
    Accept: application/json
    X-CSRF-Token: <csrf-token>
    X-Client-Id: <installation-id>
    X-Client-Track: {"osName":"Android","clientVersion":"6.1.1","osVersion":"13","deviceModel":"Google_Pixel"}
    Cookie: session=<session-token>
    {
      "plainId": 123456789,
      "premiumSubscriber": false,
      "realByEmerald": true,
      "miniProfile": {
        "entityUrn": "urn:li:fs_miniProfile:ACoAAExample01",
        "objectUrn": "urn:li:member:123456789",
        "firstName": "Alex",
        "lastName": "Rivera",
        "occupation": "Product Manager at Example Corp",
        "publicIdentifier": "alex-rivera",
        "trackingId": "aq1b2c3d4e5=="
      },
      "publicContactInfo": {
        "twitterHandles": [{"name": "alexrivera"}]
      }
    }
  • Fetch member profile

    GET /v1/profiles/{profileId} osint

    Loads the full identity profile (name, headline, industry, geo, summary, WeChat name-card URL) used by the profile tab and /in/{publicIdentifier} deep links.

    Auth: Signed-in session cookie; CSRF token header mirrored from the session; installation-id and client-tracking headers.

    • entityUrn
    • firstName
    • lastName
    • maidenName
    • headline
    • summary
    • industryName
    • industryUrn
    • locationName
    • geoCountryName
    • geoLocationName
    • address
    • phoneticFirstName
    • phoneticLastName
    • student
    • versionTag
    • weChatNameCardURL
    • miniProfile
    • publicIdentifier
    GET /v1/profiles/ACoAAExample01 HTTP/1.1
    Accept: application/json
    X-CSRF-Token: <csrf-token>
    X-Client-Id: <installation-id>
    Cookie: session=<session-token>
    {
      "entityUrn": "urn:li:fs_profile:ACoAAExample01",
      "firstName": "Alex",
      "lastName": "Rivera",
      "maidenName": "",
      "headline": "Product Manager at Example Corp",
      "summary": "Building identity products.",
      "industryName": "Software Development",
      "industryUrn": "urn:li:fs_industry:4",
      "locationName": "San Francisco Bay Area",
      "geoCountryName": "United States",
      "geoLocationName": "San Francisco, California, United States",
      "address": "San Francisco, CA",
      "phoneticFirstName": "Alex",
      "phoneticLastName": "Rivera",
      "student": false,
      "versionTag": "1234567890",
      "weChatNameCardURL": "",
      "miniProfile": {
        "publicIdentifier": "alex-rivera",
        "occupation": "Product Manager at Example Corp"
      }
    }
  • Fetch profile contact info

    GET /v1/profiles/{profileId}/contact osint

    Returns the profile's private contact card — email, phones, websites, Twitter handles and WeChat QR — shown on the contact-info sheet after a connection is accepted.

    Auth: Signed-in session cookie; CSRF token header. The contact payload is gated by the viewer's relationship to the profile.

    • entityUrn
    • emailAddress
    • address
    • connectedAt
    • phoneNumbers
    • number
    • extension
    • type
    • websites
    • twitterHandles
    • weChatContactInfo
    • name
    • weChatHandle
    • qr
    • qrCodeImageUrl
    • birthDateOn
    • birthdayVisibilitySetting
    GET /v1/profiles/ACoAAExample01/contact HTTP/1.1
    Accept: application/json
    X-CSRF-Token: <csrf-token>
    Cookie: session=<session-token>
    {
      "entityUrn": "urn:li:fs_profileContactInfo:ACoAAExample01",
      "emailAddress": "[email protected]",
      "address": "San Francisco, CA",
      "connectedAt": 1609459200000,
      "phoneNumbers": [
        {"number": "+15555550100", "extension": "", "type": "MOBILE"}
      ],
      "websites": [{"url": "https://example.com"}],
      "twitterHandles": [{"name": "alexrivera"}],
      "weChatContactInfo": {
        "name": "Alex Rivera",
        "weChatHandle": "alex_rivera",
        "qr": "weixin://contacts/profile/alex_rivera",
        "qrCodeImageUrl": "https://cdn.example.com/wechat/qr.png"
      },
      "birthDateOn": {"month": 4, "day": 12},
      "birthdayVisibilitySetting": "CONNECTIONS"
    }
  • Fetch job posting

    GET /v1/jobs/postings/{jobId} opendata

    Hydrates a single job card (title, location, listing state, remote flag, apply/save state and company urn) for the jobs tab and job-view deep links.

    Auth: Signed-in session cookie; CSRF token header; client-tracking header.

    • entityUrn
    • title
    • formattedLocation
    • listedAt
    • closedAt
    • jobState
    • listingType
    • workRemoteAllowed
    • talkToRecruiterEnabled
    • sourceDomain
    • applyingInfo
    • savingInfo
    • companyDetails
    • company
    • companyResolutionResult
    GET /v1/jobs/postings/4123456789 HTTP/1.1
    Accept: application/json
    X-CSRF-Token: <csrf-token>
    Cookie: session=<session-token>
    {
      "entityUrn": "urn:li:fs_normalized_jobPosting:4123456789",
      "title": "Staff Product Manager",
      "formattedLocation": "San Francisco, CA",
      "listedAt": 1759276800000,
      "closedAt": 0,
      "jobState": "LISTED",
      "listingType": "PREMIUM",
      "workRemoteAllowed": true,
      "talkToRecruiterEnabled": true,
      "sourceDomain": "example.com",
      "applyingInfo": {"applied": false},
      "savingInfo": {"saved": false},
      "companyDetails": {
        "company": "urn:li:fs_miniCompany:1337",
        "companyResolutionResult": {"name": "Example Corp"}
      }
    }
  • List messaging conversations

    GET /v1/messages/threads osint

    Pages the signed-in inbox (thread urn, participants' MiniProfiles, unread counts, mute/archive/block flags) that powers the messaging tab.

    Auth: Signed-in session cookie; CSRF token header. Collection paging via start/count.

    • elements
    • entityUrn
    • backendUrn
    • name
    • read
    • muted
    • archived
    • blocked
    • unreadCount
    • totalEventCount
    • withNonConnection
    • notificationStatus
    • participants
    • miniProfile
    • paging
    • start
    • count
    • total
    GET /v1/messages/threads?start=0&count=20 HTTP/1.1
    Accept: application/json
    X-CSRF-Token: <csrf-token>
    Cookie: session=<session-token>
    {
      "elements": [
        {
          "entityUrn": "urn:li:fs_conversation:2-YWM5YzA=",
          "backendUrn": "urn:li:messagingThread:2-YWM5YzA=",
          "name": "Alex Rivera, Sam Lee",
          "read": false,
          "muted": false,
          "archived": false,
          "blocked": false,
          "unreadCount": 2,
          "totalEventCount": 18,
          "withNonConnection": false,
          "notificationStatus": "ACTIVE",
          "participants": [
            {
              "miniProfile": {
                "firstName": "Sam",
                "lastName": "Lee",
                "publicIdentifier": "sam-lee",
                "occupation": "Recruiter at Example Corp"
              }
            }
          ]
        }
      ],
      "paging": {"start": 0, "count": 20, "total": 42}
    }
  • List who-viewed-my-profile cards

    GET /v1/analytics/profile-views opendata

    Returns the Who Viewed My Profile cards (viewer MiniProfile or obfuscated viewer, viewedAt, referrer, InMail CTA) shown on the Me / analytics tab.

    Auth: Signed-in session cookie; CSRF token header. Viewer identity is full or obfuscated depending on subscription tier.

    • elements
    • viewedAt
    • referrer
    • pendingInvitee
    • showInMailCta
    • openProfile
    • viewer
    • profile
    • occupation
    • insights
    • timeRange
    • paging
    GET /v1/analytics/profile-views?start=0&count=10 HTTP/1.1
    Accept: application/json
    X-CSRF-Token: <csrf-token>
    Cookie: session=<session-token>
    {
      "elements": [
        {
          "viewedAt": 1759276800000,
          "referrer": "SEARCH",
          "pendingInvitee": false,
          "showInMailCta": true,
          "openProfile": true,
          "viewer": {
            "type": "FULL",
            "profile": {
              "firstName": "Sam",
              "lastName": "Lee",
              "publicIdentifier": "sam-lee"
            },
            "occupation": {"name": "Recruiter at Example Corp"}
          },
          "insights": [{"text": "Works at Example Corp"}]
        }
      ],
      "metadata": {"timeRange": {"start": 1756684800000, "end": 1759276800000}},
      "paging": {"start": 0, "count": 10, "total": 27}
    }

Data categories

  • user-profile
  • contact-info
  • jobs
  • messaging
  • profile-views
  • network

Where teams use this data

  • Recruiter sourcing copilots

    Sourcing tools fetch member profiles, profile contact info and job postings to assemble candidate shortlists — headline, industry, location and contact channels in one record.

  • Personal CRM sync

    Founder and sales CRMs mirror messaging threads and the who-viewed-my-profile feed, turning profile visits and unread conversations into follow-up tasks.

  • Job-market monitoring

    Market-research pipelines track job postings over time — listed/closed dates, remote eligibility, hiring company — to map which industries are hiring where.

Frequently asked questions

What does the LinkedIn Android data API cover?

Six resource groups: the signed-in member record at /v1/account/me, full profiles at /v1/profiles/{profileId}, a relationship-gated contact card under the profile, job postings at /v1/jobs/postings/{jobId}, the paged inbox at /v1/messages/threads, and Who Viewed My Profile cards at /v1/analytics/profile-views.

How does the app authenticate those endpoints?

Every call requires a signed-in session cookie. State-changing style protection comes from a CSRF token header whose value mirrors the session, and the client also stamps an installation id plus a client-tracking JSON blob carrying clientVersion and osName.

Which profile fields does the API return?

The profile resource includes firstName, lastName, headline, summary, industryName, locationName, geoCountryName, address, phonetic names, versionTag and weChatNameCardURL, plus a nested MiniProfile (publicIdentifier, occupation). The contact subresource adds emailAddress, phoneNumbers, websites, twitterHandles and weChatContactInfo (weChatHandle, qr, qrCodeImageUrl).

Where do jobs and inbox threads fit in?

Job cards are posting records at /v1/jobs/postings/{jobId} (title, formattedLocation, jobState, workRemoteAllowed, companyDetails). Messaging uses /v1/messages/threads, an offset-paged collection of conversation records with entityUrn, participants, unreadCount and notificationStatus.

Apps similar to LinkedIn: Community & Network

  • Indeed Job Search — Job search aggregator that pulls listings from company career pages, staffing agencies, and direct employer postings into one searchable feed.
  • Glassdoor | Jobs & Careers — Combines job listings with company reviews, salary data, and interview insights shared by current and former employees.
  • ZipRecruiter — Job board that uses AI matching to surface relevant roles and distributes a candidate's profile across more than 100 partner job sites.
  • Wellfound — Startup-focused hiring platform, formerly AngelList Talent, that lists salary ranges and equity details upfront on job posts.
  • Upwork — Freelance marketplace that connects clients with independent professionals and includes built-in payment protection.
  • Naukri: Job Search App — Indian job-search portal with vacancy listings across industries, widely used alongside LinkedIn in the India market.
  • Vagas de emprego - Infojobs — Brazilian job board used for formal CLT, operational, and administrative roles, active in the Brazilian market for over two decades.

Topics

  • linkedin api
  • linkedin profile api
  • linkedin member endpoint
  • linkedin job postings api
  • linkedin messaging api
  • who viewed my profile api
  • linkedin contact info fields
  • linkedin session cookie auth
  • linkedin mini profile
  • linkedin android data api

Need this app's data API integrated?

We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.

  • NDA + SOW on every engagement
  • Delivery in 3–7 days
  • Payment only after acceptance
  • Work scoped to authorized use

Get a quote