~/public-data/clinical-trials-scraper
ClinicalTrials.gov Scraper — 임상시험, 참가 조건 및 결과
질환, 중재법, 후원기관, 지역, 상태, NCT ID로 ClinicalTrials.gov 공식 v2 API를 검색합니다. 참가 조건, 결과 메타데이터, 증분 업데이트가 포함된 정규화된 임상시험 레코드를 내보냅니다 — API 키 불필요.
헬스케어
TypeScriptREST API
글로벌
카테고리public-data / 헬스케어
언어TypeScript
스택TypeScript, REST API
마켓글로벌
출력클린한 RAG-레디 JSON
주요 기능
공식 ClinicalTrials.gov v2 API — API 키 불필요
다중 필드 검색 — 질환, 중재법, 후원기관, 지역, 자유 텍스트 쿼리
모집 상태(9개 값, OR 조합)와 단계(Early Phase 1 → Phase 4)로 필터링
하나 또는 여러 특정 임상시험에 대한 NCT-ID 직접 조회
updatedSince를 통한 증분 모니터링 — 지정한 날짜 이후 변경된 임상시험만 반환
요약 또는 전체 출력 — full 모드는 원본 프로토콜, 파생, 결과 섹션을 추가
제목, 요약, 참가 조건, 결과로부터 생성되는 RAG-레디 문단 청킹
결과 시그널 — hasResults 및 참가자 흐름·결과 측정·이상반응 플래그
파생된 MeSH 용어와 정규화된 후원기관·공동연구기관·지역 데이터
활용 사례
- 후원기관 또는 질환별 제약/바이오테크 파이프라인 모니터링
- CRO 및 사이트 실현 가능성 조사 — 지역, 단계, 질환별 모집 중인 임상시험
- 신규 등록 또는 업데이트된 임상시험에 대한 경쟁 인텔리전스
- 활발히 모집 중인 임상시험 전반의 환자 모집 조사
- 체계적 문헌고찰 — 대규모의 참가 조건, 결과, 결과 메타데이터
- 청킹된 임상시험 텍스트로 구축하는 의료 AI/RAG 지식베이스
입력 파라미터
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
condition | string | 선택 | 검색할 질환명, 예: diabetes. |
status | array | 선택 | 모집 상태 필터, OR 조합, 예: RECRUITING, COMPLETED. |
phase | array | 선택 | 임상시험 단계 — Not Applicable, Early Phase 1, Phase 1–4. |
nctIds | array | 선택 | ClinicalTrials.gov NCT ID로 특정 임상시험 조회. |
updatedSince | string | 선택 | YYYY-MM-DD — 이 날짜 이후 LastUpdatePostDate를 가진 임상시험만 반환. |
outputFields | string | 선택 | summary(기본값, 정규화됨) 또는 full(원본 프로토콜/파생/결과 섹션 추가). |
chunking | string | 선택 | RAG 텍스트 청킹: paragraph(기본값) 또는 none. |
maxItems | number | 선택 | 저장할 임상시험 최대 개수. 각 항목이 하나의 과금 이벤트입니다(기본값: 10). |
출력 예시
1{
2 "itemType": "study",
3 "nctId": "NCT01884792",
4 "title": "Example Diabetes Study",
5 "officialTitle": "A Study of Example Diabetes Study",
6 "status": "COMPLETED",
7 "phase": ["PHASE2"],
8 "studyType": "INTERVENTIONAL",
9 "conditions": ["Diabetes Mellitus"],
10 "sponsors": { "lead": "Example Sponsor Inc.", "collaborators": [] },
11 "locations": [
12 { "facility": "Example Medical Center", "city": "Boston", "state": "MA", "country": "United States", "status": "COMPLETED" }
13 ],
14 "hasResults": true,
15 "resultsSummary": { "hasParticipantFlow": true, "hasOutcomeMeasures": true, "hasAdverseEvents": true },
16 "lastUpdate": "2026-06-01",
17 "url": "https://clinicaltrials.gov/study/NCT01884792"
18}
요금
이벤트당 과금: 요약이든 전체 출력 모드든 관계없이 저장된 임상시험 1건당 $0.002. 1,000건을 내보내면 약 $2.00이며, maxItems로 처리량과 비용을 모두 제한할 수 있습니다.
팁
- 변경 모니터링에는
updatedSince를 사용하세요. 어제 날짜로 매일 실행을 예약하면 새로 등록되거나 수정된 임상시험만 포착할 수 있습니다 — 경쟁사의 파이프라인을 추적하는 가장 저렴한 방법입니다. condition+status: [RECRUITING]+phase를 조합하면 전체 레지스트리를 가져오지 않고도 타겟팅된 실현 가능성 목록을 만들 수 있습니다.- 원본 섹션이 필요한 경우에만
outputFields: full을 설정하세요 — 정규화된 요약에도 이미 참가 조건, 후원기관, 지역, 결과 플래그가 포함되어 있습니다.
자주 묻는 질문
API 키가 필요한가요?
아니요. ClinicalTrials.gov의 v2 API는 완전히 공개되어 있습니다 — 액터는 인증 없이 식별용 User-Agent만 전송합니다.
정규화된 필드뿐 아니라 원본 임상시험 데이터도 받을 수 있나요?
네. outputFields를 'full'로 설정하면 정규화된 요약 필드와 함께 원본 protocolSection, derivedSection, resultsSection이 포함됩니다.
최근 변경된 임상시험은 어떻게 모니터링하나요?
updatedSince를 YYYY-MM-DD 날짜로 설정하세요. 액터는 ClinicalTrials.gov의 LastUpdatePostDate를 기준으로 필터링해 해당일 이후 업데이트된 임상시험만 반환합니다 — 일간 파이프라인 모니터링에 적합합니다.
커버리지는 전 세계인가요, 미국에 한정되나요?
전 세계입니다. ClinicalTrials.gov는 전 세계의 임상시험을 등록하며, 각 임상시험의 locations 배열에는 제공된 경우 국가, 주, 도시, 시설 정보가 포함됩니다.