프로그래밍 방식으로 NPM 패키지 검색 및 다운로드 통계와 버전 히스토리
Source: Dev.to
NPM 패키지 검색의 문제점
프로그래밍 방식으로 NPM 패키지를 비교해 본 적이 있다면—예를 들어 의존성 감사 도구, 기술 레이더 대시보드, 혹은 라이브러리를 추천하는 CLI 등—그 어려움을 잘 알 것입니다. 공식 NPM 레지스트리 API는 방대하고 문서가 부족합니다. npmjs.com을 스크래핑하는 것도 불안정합니다. 여러분이 정말 원하는 것은 패키지 메타데이터, 다운로드 수, 버전 정보를 한 번에 반환하는 깔끔한 검색 엔드포인트입니다.
NPM 패키지 검색 API
이 API는 키워드로 NPM 패키지를 검색하고 다음과 같은 구조화된 결과를 반환합니다:
- 패키지 이름, 설명, 저자
- 주간 및 월간 다운로드 통계
- 최신 버전 및 배포 날짜
- 저장소와 홈페이지 링크
하나의 엔드포인트. 하나의 쿼리 파라미터. 깔끔한 JSON 반환.
사용 예시
const response = await fetch(
"https://udemy-course-search-production.up.railway.app/api/search?query=react"
);
const data = await response.json();
data.results.forEach(pkg => {
console.log(`${pkg.name} v${pkg.version} — ${pkg.downloads} downloads/week`);
});
그게 전부입니다. 기본 사용에 API 키가 필요하지 않습니다. 매칭되는 패키지들의 JSON 배열을 받아서 비교나 표시를 위한 모든 정보를 한 번에 얻을 수 있습니다.
활용 사례
- 의존성 감사 대시보드 – 프로젝트의
package.json의존성을 이 API에 전달하세요. 다운로드가 감소하거나 버전이 오래된 패키지를 표시하고, 더 건강한 대안을 자동으로 제시합니다. - 기술 스택 분석기 – GitHub 저장소를 분석하는 도구를 만들고 있나요? 감지된 패키지를 이 API와 교차 참조하여 다운로드 추세와 버전 최신성을 출력에 추가하세요.
- CLI 패키지 추천기 – 사용 사례(예: “상태 관리”, “날짜 포맷팅”)를 입력받아 인기와 최신성을 기준으로 순위가 매겨진 NPM 패키지를 반환하는 터미널 도구를 구축하세요.
시작하기
NPM 패키지 검색 API는 RapidAPI에서 무료 티어로 제공됩니다.
NPM Package Search on RapidAPI – 구독하고 API 키를 받아 시작하세요. 라이브러리를 비교하든, 의존성을 모니터링하든, 개발자 도구를 만들든, 스크래핑 없이 필요한 데이터 레이어를 제공해 줍니다.