LinkedIn 채용 공고 API
API 상태
- 24시간 상태
- 정상
- 24시간 평균 소요 시간
- —
- 양호 / 정상
- 사용 가능
- 제한적
- 대부분 작동 중단
최근 24시간
최근 30일
keyword에 검색어나 전체 채용 검색 URL을 넣어 LinkedIn 채용 공고를 나열합니다. 회사, 근무지, 급여(게시된 경우), 고용 형태, 경력 수준, 지원자 수를 가져옵니다. 실제 지원은 이루어지지 않으며, 공고가 이미 마감되었을 수 있습니다.
LinkedIn Jobs는 keyword로 LinkedIn의 공개 채용 공고를 조회하고, 각 공고의 제목, 설명, 회사명, 회사 페이지 링크와 로고, 근무지, 급여, 고용 형태, 경력 수준, 지원자 수, 게시 시각을 반환합니다. 어떤 회사가 어떤 직무를 어디서 어떤 경력 수준으로 채용하는지 보여 줍니다. 채용 담당자와 채용 정보 사이트 운영자는 채용 공고를 추적하는 데, 영업팀은 인력을 확충하는 회사를 찾는 데, 노동시장 분석가는 지역별·시기별로 특정 기술에 대한 수요를 측정하는 데 활용합니다.
keyword에는 software engineer 같은 검색어나 LinkedIn 채용 검색의 전체 URL을 넣습니다. employment_type은 정규직, 파트타임, 계약직, 인턴십을 구분하므로, salary로 급여를 비교할 때는 이 그룹을 나누어 비교하십시오. posted_at이 null이면 LinkedIn이 공고 게시 시점을 공개하지 않았다는 뜻이며, 각 행의 location은 고정된 형식이 아니라 LinkedIn의 원래 표기 그대로 전달됩니다.
요금은 요청 1,000개당 $0.56(호출당 $0.000556)입니다. 실패한 호출과 빈 결과에는 과금하지 않습니다. 동기 방식입니다. 오래 걸리는 작업은 요청 본문에 "mode": "async"를 추가하고 job_id를 받아 폴링하세요.
AI 프롬프트
EveryInfra LinkedIn 채용 공고 엔드포인트(linkedin/jobs)를 사용하는 데이터 수집 스크립트 작성을 도와주세요.
엔드포인트 사용 방법:
- 요청: Authorization: Bearer <API 키> 헤더와 함께 POST https://api.everyinfra.com/api/v1/social로 보냅니다. 키는 EVERYINFRA_API_KEY 환경 변수에서 읽고, 절대 하드코딩하지 마세요.
- 요청 본문에서 platform은 linkedin, action은 jobs로 설정하고, 파라미터는 params 안에 넣습니다.
- 필수 파라미터:
- keyword: 검색 문자열을 지정합니다. search에서는 게시물 검색 키워드, profile_search에서는 현재 직함, jobs에서는 채용 검색어 또는 채용 공고 전체 URL로 사용합니다. 이 파라미터로 사람을 검색할 때 개인 이름이나 이메일로 정확히 일치하는 항목을 찾지는 않습니다.
- 선택 파라미터:
- location: profile_search에서는 인물 프로필의 위치를, jobs에서는 채용 공고의 위치를 텍스트로 지정합니다. jobs 액션의 keyword가 이미 전체 검색 URL이면 URL에 포함된 조건이 우선 적용되며 location은 무시됩니다.
- limit: 이 호출에서 반환할 최대 행 수로, 1~200 사이의 정수입니다. 생략하면 기본값이 적용되며, 실제 반환되는 행은 이보다 적을 수 있습니다. 더 큰 값을 지정하면 과금 전에 422를 반환합니다. (기본값: 20)
- 레코드 목록을 반환합니다. 각 레코드의 주요 필드: id, url, title, text, company_name (회사 이름입니다), company_url (회사 페이지 링크입니다), company_logo (회사 로고입니다), location, salary (급여 정보입니다), employment_type (고용 형태(정규직, 시간제, 계약직, 인턴십)입니다), seniority (경력 수준입니다), applicant_count (채용 공고에 지원한 사람 수입니다); 전체 필드 13개, 전체 목록은 https://api.everyinfra.com/api/v1/social/catalog?platform=linkedin.
- 요청 본문 예시:
{
"platform": "linkedin",
"action": "jobs",
"params": {
"keyword": "software engineer"
}
}
- 요금: 요청 1,000개당 $0.56. 실패하거나 빈 결과에는 과금하지 않습니다.
- 대상이 수십~수백 개라면 요청 본문에 "mode": "async"를 추가하세요. job_id를 즉시 받은 뒤 GET https://api.everyinfra.com/api/v1/jobs/{job_id}를 폴링해 결과를 가져옵니다.
- 422가 반환되면 오류에 제시된 파라미터 이름과 허용 값을 참고해 요청을 수정하고, 429 또는 503이 반환되면 Retry-After만큼 기다린 뒤 다시 시도합니다.
코드를 작성하기 전에 필요한 대상과 수량, 필드, 원하는 출력 형식을 먼저 물어봐 주세요. 그런 다음 계획과 대략적인 비용을 저와 확인해 주세요.요청 파라미터
| 이름 | 위치 | 타입 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|---|
Authorization | header | string | 예 | - | Bearer 뒤에 API 키를 붙여 입력합니다. API 키는 콘솔에서 생성하며, URL이나 코드 저장소에 절대 넣지 마세요. |
platform | body | string | 예 | linkedin | 플랫폼 식별자이며 고정값입니다. |
action | body | string | 예 | jobs | 기능 식별자이며 고정값입니다. |
keyword | body.params | string | 예 | - | 검색 문자열을 지정합니다. search에서는 게시물 검색 키워드, profile_search에서는 현재 직함, jobs에서는 채용 검색어 또는 채용 공고 전체 URL로 사용합니다. 이 파라미터로 사람을 검색할 때 개인 이름이나 이메일로 정확히 일치하는 항목을 찾지는 않습니다. |
location | body.params | string | 아니요 | - | profile_search에서는 인물 프로필의 위치를, jobs에서는 채용 공고의 위치를 텍스트로 지정합니다. jobs 액션의 keyword가 이미 전체 검색 URL이면 URL에 포함된 조건이 우선 적용되며 location은 무시됩니다. |
limit | body.params | integer (1–200) | 아니요 | 20 | 이 호출에서 반환할 최대 행 수로, 1~200 사이의 정수입니다. 생략하면 기본값이 적용되며, 실제 반환되는 행은 이보다 적을 수 있습니다. 더 큰 값을 지정하면 과금 전에 422를 반환합니다. |
코드 샘플
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
-H "Authorization: Bearer $EVERYINFRA_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"platform": "linkedin",
"action": "jobs",
"params": {
"keyword": "software engineer"
}
}'OpenAPI 정의(JSON)샘플 코드는 EVERYINFRA_API_KEY 환경 변수에서 키를 읽으므로, 복사한 코드에는 API 키가 포함되지 않습니다.
응답 예시
September 26, 2026 at 08:56(UTC)에 위 코드 샘플의 파라미터로 이 API를 호출해 수집한 응답입니다. results와 count는 해당 호출의 실제 응답이며, 개인정보(이름, 핸들, 아바타, 프로필 링크, 연락처)는 제거했습니다(목록은 처음 2개만 표시). id, billing, quota는 호출할 때마다 달라지므로 형태만 표시합니다.
{
"id": "req_…",
"platform": "linkedin",
"action": "jobs",
"results": [
{
"id": "•••",
"url": "https://www.linkedin.com/jobs/view/software-development-engineer-ii-at-expedia-group-4469399031?position=17&pageNum=0&refId=Cp4vOjae6AB%2Bd%2FM%2B3qjsQg%3D%3D&trackingId=zH57%2BPs4uVLHK0FvilHeog%3D%3D",
"title": "Software Development Engineer II",
"text": "At Expedia Group, we help travelers explore the world, one journey at a time. As a global travel company powered by passionate people, trusted partnerships, and leading technology, we connect travelers, partners, and advertisers through our consumer brands, B2B network, and trave…",
"company_name": "Expedia Group",
"company_url": "https://www.linkedin.com/company/expediagroup?trk=public_jobs_jserp-result_job-search-card-subtitle",
"company_logo": "https://media.licdn.com/dms/image/v2/D4E0BAQH35rDiMFanuQ/company-logo_100_100/B4EaCgt37sGoAI-/0/1789402775480/expediagroup_logo?e=2147483647&v=beta&t=tTgqxIYsK7mUH_BfkjhzyHq_eH3V9cU7Q7FamrhMptM",
"location": "Chicago, IL",
"salary": "$111,000.00/yr - $155,500.00/yr",
"employment_type": "Full-time",
"seniority": "Not Applicable",
"posted_at": "2026-09-24T00:00:00+00:00",
"platform": "linkedin"
},
{
"id": "•••",
"url": "https://www.linkedin.com/jobs/view/software-engineer-ii-backend-platform-team-at-rippling-4463786876?position=18&pageNum=0&refId=Cp4vOjae6AB%2Bd%2FM%2B3qjsQg%3D%3D&trackingId=GWDyqCdQVVuCLrfoOsaOzg%3D%3D",
"title": "Software Engineer II, Backend - Platform Team",
"text": "About Rippling\n\nRippling gives businesses one place to run HR, IT, and Finance. It brings together all of the workforce systems that are normally scattered across a company, like payroll, expenses, benefits, and computers. For the first time ever, you can manage and automate ever…",
"company_name": "Rippling",
"company_url": "https://www.linkedin.com/company/rippling?trk=public_jobs_jserp-result_job-search-card-subtitle",
"company_logo": "https://media.licdn.com/dms/image/v2/D4E0BAQGVw6UsjqtXGw/company-logo_100_100/B4EZlN73QeHIAQ-/0/1757949162831/rippling_logo?e=2147483647&v=beta&t=_-PZ3E8XmdCyc89UhLvip3soyI97bY1FRM89cZYXEiQ",
"location": "Seattle, WA",
"salary": "",
"employment_type": "Full-time",
"seniority": "Not Applicable",
"posted_at": "2026-09-05T00:00:00+00:00",
"platform": "linkedin"
}
],
"count": 20,
"billing": {
"charged": …,
"charged_usd": …,
"balance_after_usd": …,
…
},
"quota": { … }
}응답 필드
비즈니스 데이터는 results에 담깁니다. 아래 표는 레코드에 포함될 수 있는 필드를 나열하며, 플랫폼에 표시되지 않는 값을 임의로 만들어 넣지 않습니다.
| 필드 | 의미 |
|---|---|
id | 플랫폼에서 레코드의 고유 ID입니다. 한 플랫폼 안에서만 고유하며, 플랫폼이 다르면 ID가 중복될 수 있습니다. |
url | 플랫폼에서 해당 레코드로 연결되는 링크입니다. |
title | 제목입니다. 플랫폼에 제목이 없으면 null입니다(예: 텍스트 전용 게시물). |
text | HTML을 제거한 본문으로, 잘리지 않고 전체가 반환됩니다(일부 플랫폼은 목록 결과 자체에 발췌문만 포함되며, 이 경우 해당 플랫폼의 필드 설명에 명시되어 있습니다). |
company_name | 회사 이름입니다. |
company_url | 회사 페이지 링크입니다. |
company_logo | 회사 로고입니다. |
location | 위치 설명을 그대로 전달하며, 형식은 플랫폼마다 다릅니다. |
salary | 급여 정보입니다. |
employment_type | 고용 형태(정규직, 시간제, 계약직, 인턴십)입니다. |
seniority | 경력 수준입니다. |
applicant_count | 채용 공고에 지원한 사람 수입니다. |
posted_at | 게시 시각으로, ISO 8601 UTC 형식입니다(예: 2026-08-07T12:34:56+00:00). 플랫폼에서 받은 비표준 문자열은 그대로 전달되므로 방어적으로 파싱하세요. null이면 플랫폼이 공개하지 않은 것입니다. |
platform | 출처 플랫폼 식별자로, 요청의 platform과 같습니다(예: xiaohongshu, tiktok). |
FAQ
키워드 대신 LinkedIn 채용 검색 URL을 넣어도 되나요?
네. keyword에는 data analyst 같은 일반 검색어나 LinkedIn 채용 검색 결과 페이지의 전체 주소를 넣을 수 있습니다. URL을 넣으면 해당 링크에 따라 검색하며 location은 덧붙여지지 않으므로, 브라우저에서 URL을 복사하기 전에 지역 필터를 URL에 미리 적용해 두십시오.
특정 도시나 국가의 공고만 보려면 어떻게 하나요?
location에 Berlin이나 Canada 같은 지명을, keyword에 직무를 넣으십시오. 각 행에 반환되는 location은 LinkedIn의 원래 텍스트를 그대로 전달한 값이므로, 지역별로 공고를 묶거나 집계하기 전에 정규화하십시오.
공고의 경쟁 정도는 어떻게 가늠하나요?
지원자 수인 applicant_count를 posted_at과 함께 보십시오. 게시된 지 며칠밖에 되지 않은 공고의 지원자 수가 많다면 해당 직무의 경쟁이 치열하다고 볼 수 있습니다. 같은 조건끼리 비교할 수 있도록 seniority와 employment_type이 같은 공고끼리 비교하십시오.
오류 및 과금
- 401
- 키가 없거나 유효하지 않습니다.
- 402
- 잔액이 부족합니다. 먼저 충전하세요.
- 422
- 파라미터 이름 또는 값이 올바르지 않습니다. 오류에 제시된 제안을 참고해 수정하세요. 과금되지 않습니다.
- 429
- 분당 요청 속도 제한에 도달했습니다. Retry-After만큼 기다린 뒤 다시 시도하세요.
- 503
- 처리를 완료하지 못했습니다. 보류된 금액은 잔액으로 반환됩니다. 결과가 불확실하면 재시도하기 전에 먼저 확인하세요.
- 200 빈 결과
- 데이터가 없습니다. 과금되지 않습니다.
공식 참고 자료
객체와 용어를 확인하는 용도로만 사용합니다. 해당 플랫폼이 EveryInfra를 승인하거나 보증한다는 의미는 아닙니다.
- LinkedIn 공식 문서: 채용 공고 검색은 채용 관련 게시물 검색과 다르다 ↗
공식 문서는 Jobs가 검색 조건과 위치에 따라 채용 공고를 표시하며, 채용 관련 게시물은 Posts 아래의 별도 경로라고 설명합니다. 공식 Easy Apply 또는 Apply 액션을 이 API가 제공하는 자동 지원 기능으로 해석해서는 안 됩니다.
2026-09-04 확인
- LinkedIn 사용자 약관: 스크래핑, 복사, 재사용 제한 ↗
사용자 약관 8.2항은 자동화된 스크래핑, 접근 제어 우회, 권리자의 동의 없는 콘텐츠의 복사·사용·표시·배포를 제한하며, 여기에는 제3자를 통해 얻은 콘텐츠도 포함됩니다. 별도의 서면 허가 여부는 따로 확인해야 하며, 공개되어 있다고 해서 예외가 되지는 않습니다.
2026-09-04 확인