Facebook Pixel
ApiLinkedin profiles

Fetch LinkedIn profile information (GET)

Retrieve detailed profile information for a LinkedIn member via query parameters. Same functionality as POST /profile but using GET method for simpler integration. Results are cached for 6 hours. Rate limit: 120 unique profiles per day per LinkedIn account (cached requests do not count against limit). `relationshipStatus` is the source of truth for the relationship — `CONNECTED`, `INVITATION_SENT`, `INVITATION_RECEIVED` or `NOT_CONNECTED`. `INVITATION_RECEIVED` means they invited YOU: they are not a connection and cannot be messaged. `connectionDegree` is `"1st"` when connected and `null` otherwise. Cached responses can be stale by up to 6 hours, including the relationship fields. Pass `forceRefresh=true` when the answer must be current — for example before deciding whether someone can be messaged.

GET/profile
Authentication requiredProfile

Code Examples

curl -X GET 'https://api.connectsafely.ai/linkedin/profile' \
-H 'Authorization: Bearer <your_api_key>'

Retrieve detailed profile information for a LinkedIn member via query parameters. Same functionality as POST /profile but using GET method for simpler integration. Results are cached for 6 hours. Rate limit: 120 unique profiles per day per LinkedIn account (cached requests do not count against limit).

relationshipStatus is the source of truth for the relationship — CONNECTED, INVITATION_SENT, INVITATION_RECEIVED or NOT_CONNECTED. INVITATION_RECEIVED means they invited YOU: they are not a connection and cannot be messaged. connectionDegree is "1st" when connected and null otherwise.

Cached responses can be stale by up to 6 hours, including the relationship fields. Pass forceRefresh=true when the answer must be current — for example before deciding whether someone can be messaged.

Parameters

NameInRequiredTypeDescription
profileIdqueryYesstringLinkedIn profile vanity URL slug (the part after linkedin.com/in/, e.g., "john-doe-123")
accountIdqueryNostringLinkedIn account ID to use. If not provided, uses the default account.
includeGeoLocationqueryNobooleanInclude detailed geo location data
includeContactqueryNobooleanInclude contact info if visible
forceRefreshqueryNobooleanSkip cache and fetch fresh data

Request Body

No request body.

Responses

StatusDescription
200Profile information retrieved successfully
400Bad request - Missing profileId
401Unauthorized

200 Response Parameters

NameTypeDescription
successboolean
profileIdstring
accountIdstring
cachedbooleantrue when served from the 6-hour cache. Cached relationship fields can be up to 6 hours stale — use forceRefresh=true when that matters.
profileobjectProfile object — identical shape to POST /profile.

200 Example

{
  "success": true,
  "profileId": "anandi-devi",
  "accountId": "696ce9e780e0483585e4e553",
  "cached": false,
  "profile": {
    "firstName": "Anandi",
    "lastName": "Devi",
    "headline": "Go-To-Market (GTM) Engineer @ ConnectSafely | MBA",
    "entityUrn": "urn:li:fsd_profile:ACoAAFpqSoMB8vTqRbg4mN_wbabO8w0gjgFu-6o",
    "publicIdentifier": "anandi-devi",
    "isPremium": true,
    "isConnected": true,
    "relationshipStatus": "CONNECTED",
    "connectionDegree": "1st"
  }
}

400 Example

{
  "error": "profileId query parameter is required",
  "success": false
}

401 Example

{
  "error": "Unauthorized"
}

On this page