LinkedIn Profile thin API
Lightweight profile: name, avatar, location, followers, and a basic experience/education list (company + dates only, no job titles, descriptions, or skills; past companies may be redacted). For full experience detail, skills, certifications, connections, and verified flags use linkedin.profile.
Provider network
Providers ranked by traffic
Try it
Make your first request
{
"data": {
"about": "A short example description of this item.",
"articles": [
{
"createdUtc": 12.5,
"headline": "Example title",
"url": "https://example.com/page"
}
],
"avatarUrl": "https://example.com/image.jpg",
"education": [
{
"endDate": "2024-01-15T09:30:00Z",
"school": "example",
"schoolUrl": "https://example.com/page",
"startDate": "2024-01-15T09:30:00Z"
}
],
"experience": [
{
"company": "Acme Inc",
"companyUrl": "https://example.com/page",
"endDate": "2024-01-15T09:30:00Z",
"startDate": "2024-01-15T09:30:00Z"
}
],
"followers": 12500,
"location": "example",
"name": "Example title",
"recentPosts": [
{
"activityType": "general",
"createdUtc": 12.5,
"id": "a1b2c3d4",
"text": "A short example description of this item.",
"url": "https://example.com/page"
}
]
},
"found": true
}interface LinkedinProfileThinResponse {
data: {
about?: string;
articles?: {
createdUtc?: number;
headline: string;
url?: string;
}[] | null;
avatarUrl?: string;
education?: {
endDate?: string;
school: string;
schoolUrl?: string;
startDate?: string;
}[];
experience?: {
company: string;
companyUrl?: string;
endDate?: string;
startDate?: string;
}[];
followers?: number;
location?: string;
name: string;
recentPosts?: {
activityType?: string;
createdUtc?: number;
id: string;
text?: string;
url?: string;
}[] | null;
} | null;
found: boolean;
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
Request, response, and price
Last verified 2026-09-16 · uptime and latency measured over 30dcurl -X POST https://api.getanyapi.com/v1/run/linkedin.profile_thin \
-H "Authorization: Bearer $ANYAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.linkedin.com/in/williamhgates"}'| Field | Type | Example value |
|---|---|---|
| Request body | ||
| url | string | "https://www.linkedin.com/in/williamhgates"Full LinkedIn profile URL. |
| requireFields | array | Optional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example `headline` or `recentPosts`, and it is served only by a source that returns every one of them. Fields you do not name are still returned whenever the serving source has them. This can raise your price: when the cheapest source cannot return a named field, a dearer source serves, and you are quoted and charged its price. A named field can still be absent on a profile that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge. |
| Response | ||
| data | object | The profile result, or null when not found. |
| data.aboutcan require | string | About/summary text of the profile. |
| data.articlescan require | object[] | The profile's published articles, or null when the serving source does not publish them. |
| data.articles[].createdUtccan require | number | UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. |
| data.articles[].headlinecan require | string | Headline of the article. |
| data.articles[].urlcan require | string | Canonical URL of the article. |
| data.avatarUrlcan require | string | URL of the profile avatar image. |
| data.educationcan require | object[] | Education entries. |
| data.education[].endDatecan require | string | End date of study. |
| data.education[].schoolcan require | string | Name of the school. |
| data.education[].schoolUrlcan require | string | URL of the school page. |
| data.education[].startDatecan require | string | Start date of study. |
| data.experience | object[] | Work experience entries (company and dates only in this basic tier). Populated whenever the provider has data for the entity. |
| data.experience[].companycan require | string | Name of the company. |
| data.experience[].companyUrlcan require | string | URL of the company page. |
| data.experience[].endDatecan require | string | End date of the role. |
| data.experience[].startDatecan require | string | Start date of the role. |
| data.followerscan require | integer | Number of followers. |
| data.locationcan require | string | Location of the profile owner. |
| data.namecan require | string | Full name of the profile owner. |
| data.recentPostscan require | object[] | The profile's recent posts, or null when the serving source does not publish them. |
| data.recentPosts[].activityTypecan require | string | Type of activity for the post. |
| data.recentPosts[].createdUtccan require | number | UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. |
| data.recentPosts[].idcan require | string | Unique identifier of the post. |
| data.recentPosts[].textcan require | string | Text content of the post. |
| data.recentPosts[].urlcan require | string | Canonical URL of the post. |
| found | boolean | Whether the profile was found. |
| Price | ||
| Price per request | USD | $0.0008 |
| Price /1k req | USD | $0.80 |
FAQ
About the LinkedIn Profile thin API
The AnyAPI LinkedIn Profile thin API returns LinkedIn profile thin data as normalized JSON from one POST call to /v1/run/linkedin.profile_thin. Lightweight profile: name, avatar, location, followers, and a basic experience/education list (company + dates only, no job titles, descriptions, or skills; past companies may be redacted). For full experience detail, skills, certifications, connections, and verified flags use linkedin.profile. AnyAPI routes each request across 2 sources and falls back automatically when one fails. It costs from $0.80 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of LinkedIn profile thin calls through AnyAPI succeeded, with a median response time of 9.5 seconds across 17 measured calls.