LinkedIn profile API

Retrieve any LinkedIn profile from its URL. Get experience, education, skills, and current position as structured JSON in real-time.

< 4
s

Avg Response

+ 50

Endpoints

99.9
%

Uptime

1import requests
2
3response = requests.post(
4    "https://api.linkupapi.com/v2/profiles",
5    headers={"x-api-key": "YOUR_API_KEY"},
6    json={
7        "account_id": "YOUR_ACCOUNT_ID",
8        "action": "get",
9        "params": {"profile_url": "https://linkedin.com/in/johndoe"}
10    }
11)
12
13print(response.json())
1const response = await fetch("https://api.linkupapi.com/v2/profiles", {
2  method: "POST",
3  headers: {
4    "x-api-key": "YOUR_API_KEY",
5    "Content-Type": "application/json"
6  },
7  body: JSON.stringify({
8    account_id: "YOUR_ACCOUNT_ID",
9    action: "get",
10    params: { profile_url: "https://linkedin.com/in/johndoe" }
11  })
12});
13
14const data = await response.json();
15console.log(data);
1<?php
2$ch = curl_init("https://api.linkupapi.com/v2/profiles");
3curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
4curl_setopt($ch, CURLOPT_HTTPHEADER, [
5    "x-api-key: YOUR_API_KEY",
6    "Content-Type: application/json"
7]);
8curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
9    "account_id" => "YOUR_ACCOUNT_ID",
10    "action" => "get",
11    "params" => ["profile_url" => "https://linkedin.com/in/johndoe"]
12]));
13
14$response = curl_exec($ch);
15echo $response;
1package main
2
3import (
4    "bytes"
5    "fmt"
6    "io"
7    "net/http"
8)
9
10func main() {
11    payload := []byte(`{
12        "account_id": "YOUR_ACCOUNT_ID",
13        "action": "get",
14        "params": {"profile_url": "https://linkedin.com/in/johndoe"}
15    }`)
16
17    req, _ := http.NewRequest("POST", "https://api.linkupapi.com/v2/profiles", bytes.NewBuffer(payload))
18    req.Header.Set("x-api-key", "YOUR_API_KEY")
19    req.Header.Set("Content-Type", "application/json")
20
21    resp, _ := http.DefaultClient.Do(req)
22    defer resp.Body.Close()
23    body, _ := io.ReadAll(resp.Body)
24    fmt.Println(string(body))
25}
1HttpClient client = HttpClient.newHttpClient();
2
3String payload = """
4    {
5      "account_id": "YOUR_ACCOUNT_ID",
6      "action": "get",
7      "params": {"profile_url": "https://linkedin.com/in/johndoe"}
8    }""";
9
10HttpRequest request = HttpRequest.newBuilder()
11    .uri(URI.create("https://api.linkupapi.com/v2/profiles"))
12    .header("x-api-key", "YOUR_API_KEY")
13    .header("Content-Type", "application/json")
14    .POST(HttpRequest.BodyPublishers.ofString(payload))
15    .build();
16
17HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
18System.out.println(response.body());

Turn any LinkedIn profile into structured data

Retrieve the complete profile of any professional from a single LinkedIn URL.

The Profile API returns structured data in real-time: current position, work history, education, skills, headline, and location.

Perfect for enriching CRM records, qualifying inbound leads, screening candidates, or giving an AI agent full context on a prospect before writing an outreach message.

Results come back as clean JSON with consistent field names, ready to pipe into your database, spreadsheet, or agent workflow.

Pair it with the Search API to go from a target persona to fully enriched LinkedIn profiles in two calls.

1{
2  "account_id": "YOUR_ACCOUNT_ID",
3  "action": "get",
4  "params": {
5    "profile_url": "https://linkedin.com/in/johndoe"
6  }
7}
Example result returned by the LinkupAPI LinkedIn profile API

Profile enrichment

  • linkedin_url: https://linkedin.com/in/username
  • first_name, last_name, headline
  • current_company, current_position
  • experience: full work history with dates
  • education: schools, degrees, years
  • skills, languages, certifications
  • location: city, country
  • linkedin_url: https://linkedin.com/in/username
  • first_name, last_name, headline
  • current_company, current_position
  • experience: full work history with dates
  • education: schools, degrees, years
  • skills, languages, certifications
  • location: city, country

Privacy and security with no compromise.

Your users trust you with their accounts. Here is how we keep them safe.

Passwords never stored

We never keep your users' passwords. Sessions are encrypted, isolated per account and revocable at any time.

EU-hosted, GDPR & CCPA

Data is processed and hosted in the European Union. GDPR and CCPA compliant, with a data processing agreement on request.

Google-verified security

LinkupAPI passed Google's CASA security assessment and is a verified Gmail app. Same review, same standards for every channel.

Plug it into your AI assistant.

Every endpoint is a native tool for Claude, ChatGPT, Gemini, Mistral, Cursor and any other MCP client. Connect the LinkupAPI MCP server once and your assistant runs the calls on your accounts.

Our frequently asked questions.

LinkupAPI V2 - See what’s new

LinkedIn, email and WhatsApp through one API. Unlimited accounts, one fixed price.

50
+

Endpoints

99.9
%

Uptime

< 3
s

Avg Response