링크드인 스크래핑, 경력·학력은 한 호출로
링크드인 스크래핑에서 경력과 학력은 profile/all 한 호출로 받아요. 2026-10-05 캡처에서 게시글 키는 없었고, 최근 글은 다른 호출이었어요.
링크드인 스크래핑에서 공개 프로필의 경력·학력은 GET /v1/linkedin/profile/all?url= 한 호출로 받아요. 2026-10-05 00:50 KST에 https://www.linkedin.com/in/williamhgates를 호출했을 때 posts 키는 없었어요. 경력은 3건, 학력은 2건, 팔로워는 40,702,334이고, followers_approximate는 false였어요.
최근 게시글은 그 응답이 아니에요. 그 사람 글은 profile/with-posts이고, 키워드 글은 search/posts예요. 호출은 HTTP GET이에요. 헤더는 x-api-key이고, 경로는 /v1/linkedin/...예요. curl로 보내면 돼요. 표본은 공개 프로필 1명과 검색 4건이라 벤치마크가 아니에요.
준비물은 공개 프로필 URL과 API 키예요
호출 전에 필요한 건 계정, API 키, 공개 프로필 URL이에요.
- API 키 하나로 헤더를 맞춰요. 키는 가입 뒤에 나와요. 헤더 이름은
x-api-key예요. 키 값은 이 글에 적지 않아요. - 공개 프로필 URL이 필요해요. 형태는
https://www.linkedin.com/in/다음에 회원 슬러그예요. 이번 캡처는https://www.linkedin.com/in/williamhgates하나예요. - curl로 보내면 돼요. 별도 SDK는 없어요. HTTP GET만 보낼 줄 알면 돼요.
- 이 글의 숫자는 그 URL 1명과 키워드
api검색 4건에서 나온 거예요. 업종 평균으로 읽지 않아요.
공식 Profile API 샘플은 이름, 사진, 헤드라인이고, 다른 회원은 person id가 필요해요. 링크드인 로그인 문서의 userinfo에도 경력·학력·스킬은 없어요. 마케팅 접근 문서는 r_member_profileAnalytics를 타인 경력·학력 목록이라고 적지 않아요. 아래 예시는 그 승인 절차를 대신하는 우회가 아니에요. 공개 URL을 profile/all에 넣는 호출이에요.
경력과 학력을 읽는 링크드인 프로필 api는 이 GET이에요. 코드 한 줄 쓰기 전에 SocialCrawl 비주얼 익스플로러에서 같은 GET을 볼 수 있어요. 대시보드 쪽 익스플로러와는 다른 페이지예요.
1단계. 링크드인 프로필 스크래핑은 경력·학력까지 한 호출인가요?
경력, 학력, 소개, 받은 추천 키, 팔로워는 이 호출에 있어요. 최근 게시글 배열은 없어요. 2026-10-05 00:50 KST 캡처의 credits_used는 5예요.
curl -sS \
-H "x-api-key: $SOCIALCRAWL_API_KEY" \
-H "Cache-Control: no-cache" \
"https://www.socialcrawl.dev/v1/linkedin/profile/all?url=https://www.linkedin.com/in/williamhgates"응답 전문은 붙이지 않아요. 읽을 값만 골랐어요. posts 키는 응답에 없어서 아래에도 없어요.
{
"success": true,
"credits_used": 5,
"data": {
"author": {
"display_name": "Bill Gates",
"id": "williamhgates",
"username": "williamhgates",
"followers": 40702334,
"following": 8,
"posts_count": null,
"verified": true,
"joined_at": "2013-05-02",
"location": "Seattle, United States of America",
"ext": {
"followers_approximate": false,
"website": "https://gatesnot.es/AI",
"member_id": 251749025,
"is_influencer": true,
"is_top_voice": null
}
},
"services": null,
"section_totals": {
"experiences": 3,
"educations": 2,
"skills": 0,
"recommendations": 0
}
}
}data 최상위에 record 키는 없었어요. post가 들어간 data 키도 없었어요. author.posts_count는 null이에요. 팔로워 40,702,334는 author.ext.followers_approximate가 false였고, raw followerCount도 같은 정수예요. 이 수를 반올림이나 약으로 부르지 않아요. author.following은 8이고 raw connectionsCount도 8이에요. canonical author.connections 키는 없어요. 연결 수로 적지 않아요.
SocialCrawl API가 내려준 경력과 학력은 통합 스키마의 background에 있어요. 이번 링크드인 프로필 스크래핑에서 배열 길이와 section_totals는 같았어요. 경력 3, 학력 2예요. 개수는 배열 length가 아니라 section_totals로 세는 게 맞아요. raw sectionTotals는 숫자만 같고 키 이름이 달랐어요. raw 키는 experience, education, receivedRecommendations, honorsAndAwards예요.
| 제목 | 회사 | 시작 | 끝 |
|---|---|---|---|
| Co-chair | Gates Foundation | 2000 | Present |
| Founder | Breakthrough Energy | 2015 | Present |
| Co-founder | Microsoft | 1975 | Present |
Founder 행의 회사명 Breakthrough Energy 뒤에는 응답에 공백이 한 칸 있어요. 표에서는 잘려 보일 수 있어서 여기 적어요. current_position.title은 Co-chair예요. Microsoft의 date.end도 Present예요. 끝난 경력으로 고치지 않았어요.
| 학교 | id | 기간 | degree |
|---|---|---|---|
| Harvard University | 1646 | 1973-1975 | null |
| Lakeside School | 30288 | 빈 객체 | null |
top_education.school은 Harvard University예요. background.summary는 136자예요. "Chair of the Gates Foundation. Founder of Breakthrough Energy. Co-founder of Microsoft. Voracious reader. Avid traveler. Active blogger." bio는 "Chair, Gates Foundation and Founder, Breakthrough Energy"예요.
스킬 0과 받은 추천 0은 이 프로필의 길이예요. 엔드포인트가 그 필드를 뺀 것이 아니에요. background.skills 길이 0, background.recommendations 키는 있고 길이 0이에요. given_recommendations 키는 없었어요. 준 추천이 필요하면 profile/complete인데, 그 호출은 하지 않았어요. emails 길이는 0이에요. services는 data와 background 모두 null이에요. 서비스 페이지가 채워졌다고 쓰지 않아요.
background.featured는 2건이에요. URL은 둘 다 linkedin.com/feed/update/예요. 제목은 "The turbulent AI era is here. The choices we make now are critical."와 "What the Gates Foundation hopes to accomplish over the next 20 years"예요. Featured는 최근 게시글 배열이 아니에요.
similar_profiles는 20건이에요. 첫 id는 sundarpichai예요. 이름 20명은 적지 않아요. 관심사 학교 버킷은 Lakeside School과 Northern Arizona University예요. 학력 2건은 Harvard University와 Lakeside School이에요. 학교 버킷을 학력으로 고쳐 쓰지 않았어요. 회사 버킷은 Microsoft, LinkedIn이고, top_voices 2, newsletters 2, groups 0, other 0이에요.
certifications, recommendations, skills, courses, languages, projects, volunteering, publications, patents, organizations, honors, causes는 합계도 배열 길이도 0이에요. 이번 링크드인 스크래핑 샘플에서는 section_totals가 배열보다 크지 않았어요. 자격, 수상, 언어, 프로젝트, 출판, 봉사, 수강, 특허, 조직이 항상 비어 있다는 뜻은 아니에요. 이 한 명의 길이예요.
2단계. 링크드인 크롤링으로 최근 게시글은 어디서 받나요?
링크드인 크롤링이라고 해도 경로는 하나가 아니에요. 이 사람 글은 with-posts이고, 키워드 글은 search/posts예요. 둘 다 profile/all이 아니에요. 쿠키나 프록시를 붙인 링크드인 크롤러 절차는 이 글에 없어요.
이 사람 글은 with-posts예요. credits_used는 10, data.posts는 50이에요. 원소는 post와 computed예요. author.posts_count는 여기도 null이라, 게시글 수는 data.posts 길이로 세는 게 맞아요.
curl -sS \
-H "x-api-key: $SOCIALCRAWL_API_KEY" \
-H "Cache-Control: no-cache" \
"https://www.socialcrawl.dev/v1/linkedin/profile/with-posts?url=https://www.linkedin.com/in/williamhgates"{
"success": true,
"credits_used": 10,
"data": {
"author": {
"followers": 40702335,
"posts_count": null,
"following": 8,
"verified": null,
"joined_at": null,
"ext": {
"website": null,
"is_top_voice": true,
"is_influencer": null
}
}
}
}posts 배열 길이는 50이에요. 위 JSON에 배열을 통째로 넣지 않았어요. 가장 최근 id는 7511951889291456512, published_at은 2026-10-03T00:54:55.724Z예요. 50건의 published_at은 2026-08-17T01:10:56.521Z부터 그 시각까지예요. 50건 모두 engagement.views는 null, engagement.saves는 null, computed.engagement_rate는 null이에요. 조회수가 없어서 참여율을 만들지 않았어요. 계산은 조회수와 참여율 글로 넘겨요. 그 글의 공식과 표본 숫자는 여기 옮기지 않아요.
같은 URL인데 작성자 필드가 호출마다 달랐어요. 한 숫자로 합치지 않아요.
| 필드 | profile/all | with-posts |
|---|---|---|
| credits_used | 5 | 10 |
| followers | 40,702,334 | 40,702,335 |
| followers_approximate | false | 키 없음 |
| verified | true | null |
| joined_at | 2013-05-02 | null |
| website | https://gatesnot.es/AI | null |
| is_top_voice | null | true |
| is_influencer | true | null |
| following | 8 | 8 |
| posts | 키 없음 | 50 |
| recommendations | 키 있음, 길이 0 | 키 없음 |
with-posts의 background는 experiences, educations, skills, summary만이에요. 경력 제목 3개, 학교 2개, summary는 profile/all과 같았어요. 스킬 길이는 0이에요. recommendations 키도 given_recommendations 키도 없어요. featured 2건과 관심사 버킷은 profile/all에만 있었어요. followers_approximate 키는 with-posts에 없어요. false라고도, 근사값이라고도 말하지 않아요. 팔로워 차이는 1이에요. 왜 1이 다른지는 이 두 응답만으로 말하지 않아요.
키워드 글은 search/posts예요. 회원 호출이 아니에요. 이번 런은 query=api, limit=4예요. items 4건, dropped 0, credits_used 1이에요. labels.extra_credits와 relevance.extra_credits는 0이에요. 4건과 1크레딧으로 게시글당 단가를 나누지 않아요. 2026-09-20 배포 노트의 limit 상한은 200이에요. 이번 런은 4만 썼고, limit=200은 호출하지 않았어요. limit는 page, cursor와 같이 보내지 않았어요.
curl -sS \
-H "x-api-key: $SOCIALCRAWL_API_KEY" \
-H "Cache-Control: no-cache" \
"https://www.socialcrawl.dev/v1/linkedin/search/posts?query=api&limit=4"{
"success": true,
"credits_used": 1,
"data": {
"dropped": 0,
"walk": {
"requested": 4,
"returned": 4,
"pages_attempted": 1,
"pages_served": 0,
"duplicates_removed": 0,
"stopped": "limit"
},
"pagination": {
"next_cursor": null,
"has_more": true,
"page_size": 4
},
"relevance": {
"rows": 4,
"scored": 4,
"kept": 4,
"dropped": 0,
"threshold": 0.5,
"status": "complete",
"methodology_version": "relevance/2"
}
}
}walk.stopped는 "limit"예요. pages_served는 0이고 returned는 4예요. pagination.next_cursor는 null이고 has_more는 true예요. 커서가 null이라고 다음이 없다고 쓰지 않아요. computed.relevance.p는 0.8, 0.6, 0.23, 0.79예요. 0.23은 threshold 0.5보다 작은데 kept는 4예요. 네 행 모두 sense는 target, niche.label은 technology예요. engagement_rate, views, saves는 null이에요. 본문 문장은 옮기지 않아요.
| 작성 | likes | comments | shares | text_len | relevance.p |
|---|---|---|---|---|---|
| Vu Tran | 0 | 1 | 0 | 259 | 0.8 |
| Techanic Infotech | 1 | 0 | 0 | 554 | 0.6 |
| James Dean | 2 | 0 | 0 | 565 | 0.23 |
| Yash Patil | 4 | 0 | 0 | 1,195 | 0.79 |
3단계. 링크드인 스크래퍼로 여러 명을 한 번에 부르면 무엇이 오나요?
urls=에 전체 프로필 URL을 쉼표로 이어요. 이번 링크드인 스크래퍼 예시는 서로 다른 두 사람이 아니에요. 같은 URL을 두 번 넣었어요. 이 한 번으로 여러 명의 성공률을 말하지 않아요.
curl -sS \
-H "x-api-key: $SOCIALCRAWL_API_KEY" \
-H "Cache-Control: no-cache" \
"https://www.socialcrawl.dev/v1/linkedin/profile/all?urls=https://www.linkedin.com/in/williamhgates,https://www.linkedin.com/in/williamhgates"{
"success": true,
"credits_used": 5,
"data": {
"dropped": 0,
"total": 1
}
}입력 URL은 2개, 서로 다른 URL은 1개예요. data 키는 dropped, items, total뿐이에요. total 1, items 1, dropped 0, credits_used 5예요. 합쳐진 뒤의 행이 1개예요. dropped가 0인데 중복 1건이 dropped로 빠졌다거나, dropped 때문에 크레딧이 줄었다고 말하면 이번 응답과 달라요. 맞는 말은 행 1개, 크레딧 5예요. 한 명 호출도 5였으니, 이번 중복은 두 배로 과금되지 않았어요. 그 이상을 단가 공식으로 만들지 않아요.
한 명 호출과 봉투가 달라요. url=은 data 안에 author와 background가 바로 있어요. urls=의 data에는 그 키가 없고, 작성자는 items 행 안에 있어요. 한 명용으로 data.author만 읽으면 이번 일괄 응답에서는 작성자를 못 찾아요.
항목에 posts 키는 없어요. followerCount와 author.followers는 둘 다 40,702,334이고 followers_approximate는 false예요. 2026-09-21 배포 노트에서 중복 회원은 호출 전에 합쳐져요. 해석되지 않는 프로필은 빈 경력과 달라요. 이번 행은 해석된 프로필이에요.
링크드인 프로필 수집에서 없는 회원은 빈 경력인가요?
아니에요. 빈 experiences와 404는 다른 결과예요. 링크드인 프로필 수집을 하다가 둘을 같은 것으로 읽으면, 없는 사람을 경력 없는 사람으로 저장하게 돼요.
2026-09-21 배포 노트에서 없는 회원은 profile, profile/experiences, profile/educations, profile/all 모두 404예요. 2026-10-05 캡처는 있는 공개 URL만 호출해서 그 404 본문은 없어요. 가짜 본문을 만들지 않았어요. 네 번의 데이터 응답은 body success가 true예요. HTTP 상태 숫자는 그 네 건의 파일에 없어요.
개수는 이번 샘플에서 어긋나지 않았어요. section_totals와 배열 길이가 같았어요. 같은 배포 노트에서는 긴 섹션의 합계가 배열보다 클 수 있어요. 원천에서 잘릴 수 있기 때문이에요. 잘린 사례는 이번 한 명에게 없었어요. 그래도 개수는 합계로 세는 게 맞아요. 배열 length로 세면, 잘리는 경우에는 적게 세어요. featured 2건은 section_totals 밖에 있어요.
팔로워도 플래그를 먼저 봐요. 이번 40,702,334는 followers_approximate false예요. 큰 팔로워가 반올림될 수 있다는 말은 그 플래그가 true일 때의 계약이에요. 이번 수를 그 반올림의 예외라고 부르지 않아요. 정수 그대로가 필요하면 GET /v1/linkedin/profile이에요. 그 호출은 이번 런에 없어요. with-posts에는 그 플래그 키 자체가 없었어요.
연결 필드는 더 좁아요. canonical connections가 없고, raw 8은 following 8과 같아요. 서비스 페이지는 멤버가 공개한 경우에만 붙어요. 이번 services는 null이에요. 받은 추천 키(길이 0)와 준 추천 키 부재도 달라요. with-posts에는 recommendations 키 자체가 없어요. endorsements_is_floor는 이번 샘플에서 안 보였어요. 추천 수의 하한을 만들지 않아요.
검색 쪽도 비슷해요. 크레딧 1과 4건으로 단가를 만들지 않아요. next_cursor가 null이어도 has_more는 true였어요.
게시글 수와 참여율은 이 호출에서 세지 않아요
profile/all의 author.posts_count는 null이었고 posts 키는 없었어요. 게시글 수와 참여율 같은 링크드인 데이터는 그 호출에서 세지 않아요. with-posts 50건도 views와 engagement_rate가 전부 null이라 비율이 비어 있어요. 그 계산이 필요하면 조회수와 참여율 글로 가세요. 엔드포인트 지도는 링크드인 API 개요에 있어요. 그 목록을 여기 다시 적지 않아요.
같은 쿼리는 링크드인 플랫폼 페이지에서 다시 볼 수 있어요. 다시 칠 때는 Cache-Control: no-cache를 붙여요. 팔로워와 반응 수는 2026-10-05 00:50 KST 값이라 시각이 바뀌면 달라질 수 있어요.
자주 묻는 질문
링크드인 스크래핑으로 스킬이랑 받은 추천도 같이 오나요?
profile/all에는 스킬과 받은 추천이 들어가요. 2026-10-05 00:50 KST에 https://www.linkedin.com/in/williamhgates를 호출했을 때 background.skills 길이는 0, background.recommendations 길이도 0이었어요. 필드가 빠진 게 아니라 이 프로필의 길이가 0이에요. given_recommendations 키는 없었어요. 준 추천이 필요하면 profile/complete인데, 그 호출은 하지 않았어요. profile/with-posts의 background에는 recommendations 키 자체가 없어요.
링크드인 프로필 스크래핑 결과에 최근 게시글이 없나요?
이번 profile/all에는 posts 키가 없고 author.posts_count는 null이에요. background.featured 2건은 URL이 linkedin.com/feed/update/이지만 최근 게시글 배열이 아니에요. 최근 50건은 GET /v1/linkedin/profile/with-posts에만 있었고 credits_used는 10이었어요. 그 호출의 팔로워는 40,702,335로, profile/all의 40,702,334와 1 차이예요.
여러 명 링크드인 프로필을 한 요청에 넣으면 중복은 어떻게 되나요?
같은 URL을 urls=에 두 번 넣었을 때 total 1, items 1, dropped 0, credits_used 5였어요. 중복이 dropped로 집계된 것은 아니에요. 서로 다른 두 사람의 결과는 이번 캡처에 없어요.
없는 링크드인 회원은 404인가요, 빈 경력인가요?
빈 경력이 아니에요. 2026-09-21 배포 노트는 profile, profile/experiences, profile/educations, profile/all 모두 404라고 적어요. 2026-10-05 캡처는 있는 공개 URL만 호출해서 그 404 본문을 보여 주지 않아요. 네 번의 성공 응답은 success true이고, HTTP 상태 숫자는 저장되지 않았어요.
키워드로 링크드인 게시글을 찾는 건 프로필 호출과 같은가요?
아니에요. GET /v1/linkedin/search/posts?query=api&limit=4는 회원 프로필 호출이 아니에요. 이번 응답은 4건, walk.stopped는 "limit", credits_used는 1이에요. 2026-09-20 노트의 상한은 200이고 이번 런은 4예요. 건당 가격 공식은 없어요. next_cursor는 null이고 has_more는 true예요.
함께 읽으면 좋은 글
유튜브 틱톡 인스타그램 스크래핑 API는 행 있는 곳만 과금해요
유튜브 틱톡 인스타그램 스크래핑 API로 뉴진스를 한 번 검색하니 행 122개, 크레딧 4예요. 유니버설 검색이 아니에요. 네 소스 모두 1크레딧이었어요.
틱톡 트렌드 API, 국가 코드 하나면 지금 뜨는 게 돌아와요
틱톡 트렌드 API에 국가 코드 KR을 넣으면 급상승 게시물, 사운드, 해시태그, Google 검색어가 한 응답으로 와요. 이 호출은 30크레딧이었고 Pinterest와 Apple Music은 별도 호출이에요.
질문·구매의도까지 잡는 텍스트 감정분석 API
틱톡·인스타그램·유튜브·X 댓글 API가 감성·질문·구매의도·불만 라벨을 같은 요금으로 돌려줘요. 텍스트 감정분석 API를 따로 붙이지 않아도 되는지 한국어 댓글로 직접 확인했어요.
