Org APIchinadrugtrials.org.cn ↗
Search and retrieve Chinese clinical trial data including phases, statuses, sponsors, dates, and locations via the chinadrugtrials.org.cn API.
What is the Org API?
The chinadrugtrials.org.cn API provides access to Chinese clinical trial records through 2 endpoints, returning fields such as trial phase, status, sponsor, drug name, start/end dates, and participating institutions. Use search_trials to query by keyword, registration number, sponsor, or drug name, and get_trial_details to pull the full record for a specific trial by its UUID.
curl -X GET 'https://api.parse.bot/scraper/0b80c465-d3c2-495c-ba35-cf0bcd0e0c7e/search_trials?page=1&query=%E8%82%BF%E7%98%A4' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace chinadrugtrials-org-cn-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.china_drug_trials_api import ChinaDrugTrials, Trial, TrialSummary, Location
client = ChinaDrugTrials()
# Search for cancer-related clinical trials
for summary in client.trials.search(query="肿瘤", limit=5):
print(summary.title, summary.registration_number, summary.drug_name)
# Get full details for a specific trial
trial = client.trials.get(trial_id="6071f06e13a8459d876c7e164684ceaa")
print(trial.title, trial.phase, trial.sponsor, trial.drug_type)
# Navigate from summary to detail
for summary in client.trials.search(drug_name="阿司匹林", limit=2):
detail = summary.details()
print(detail.title_professional, detail.indications, detail.protocol_id)
for loc in detail.locations:
print(loc.institution, loc.province, loc.city, loc.investigator)
Full-text search over Chinese clinical trials. Filters by keyword, drug name, sponsor, registration number, or status. Returns paginated trial summaries with registration number, status, drug, indications, and title. Each item exposes a trial_id suitable for fetching full details via get_trial_details.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (1-based). |
| query | string | General keywords to search for (matched against trial titles and descriptions). |
| reg_no | string | Registration number of the trial (e.g., CTR20262272). |
| status | string | Current status filter for the trial (e.g., 进行中, 已完成). |
| sponsor | string | Name of the applicant or sponsor organization. |
| drug_name | string | Name of the drug involved in the trial. |
{
"type": "object",
"fields": {
"page": "current page number",
"items": "array of trial summaries each containing trial_id, registration_number, status, drug_name, indications, and title",
"total": "total number of matching trials"
},
"sample": {
"data": {
"page": 1,
"items": [
{
"title": "在中国成人失眠障碍患者中评估HS-10506安全性的临床研究",
"status": "进行中 尚未招募",
"trial_id": "6071f06e13a8459d876c7e164684ceaa",
"drug_name": "HS-10506片",
"indications": "失眠障碍",
"registration_number": "CTR20262272"
}
],
"total": 7012
},
"status": "success"
}
}About the Org API
Searching Clinical Trials
The search_trials endpoint accepts up to five filter parameters simultaneously: query for general keyword search, reg_no for a specific registration number (e.g., CTR20260628), status for Chinese-language status strings such as 进行中 (ongoing) or 招募中 (recruiting), sponsor for applicant or institution name, and drug_name for the investigational product. Results are paginated via the page parameter; each response includes total (the full result count), page (current page), and items (an array of trial summaries).
Trial Detail Records
Once you have a trial_id from a search result, get_trial_details returns the full record for that trial. Fields include phase (I期, II期, III期, etc.), title, status, sponsor, drug_name, drug_type, start_date, end_date, and locations — an array listing every participating institution and its principal investigator. The trial_id is a UUID and must be obtained from search results first.
Coverage and Language
All trials originate from the China Drug Trials registry (chinadrugtrials.org.cn), which is maintained by the National Medical Products Administration (NMPA). Trial status values and some title fields are returned in Chinese. Developers working with downstream systems should plan for UTF-8 handling and, where needed, translation of status strings and institutional names.
The Org API is a managed, monitored endpoint for chinadrugtrials.org.cn — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when chinadrugtrials.org.cn changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official chinadrugtrials.org.cn API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Monitor the status of NMPA-registered trials for a specific drug compound using the
drug_namefilter. - Identify all trials sponsored by a particular pharmaceutical company using the
sponsorparameter insearch_trials. - Retrieve participating institutions and investigators for a trial via the
locationsfield inget_trial_details. - Track trial phase progression (I期 through III期) for a pipeline drug across multiple registration numbers.
- Build a dashboard of actively recruiting trials by filtering
statusfor招募中. - Cross-reference a known registration number (reg_no) with internal drug development databases.
- Aggregate estimated completion dates (
end_date) across a portfolio of trials to model pipeline timelines.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does chinadrugtrials.org.cn have an official developer API?+
What does `search_trials` return, and can I filter by phase?+
total count. Phase filtering is not a direct input parameter on search_trials; phase data is available at the detail level via get_trial_details. You can fork this API on Parse and revise it to add a phase filter to the search endpoint.Are trial documents, protocols, or results reports included in the response?+
How does pagination work for large search result sets?+
search_trials response includes a total field indicating the full number of matching records and a page field reflecting the current page. Pass the page integer parameter to step through results. There is no built-in page-size parameter exposed; page size is fixed by the source registry.