API Documentation
← All tools
GET
/api/v1/tools/clinical/portfolio-comparisonPortfolio Comparison
clinical
Compare clinical trial portfolios of multiple sponsors for a specific disease. Returns market size, intersection counts, per-sponsor breakdowns, and paginated common trials.
When to use it
- compare two or more sponsors in one disease
- benchmark competitor pipelines
Getting started
Base URL
https://app.caelrith.com/api/v1/toolsAuthentication
Include your API key in the x-api-key header.
Parameters
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| sponsors | string (comma-separated) | Yes | One or more sponsor names (up to 10). e.g. 'pfizer,roche'. |
| conditionKeyword | string | Yes | Condition or disease keyword to compare portfolios for. A keyword that does not resolve to a disease returns zeros (market_size_trials 0) rather than an error - confirm the keyword before treating the zeros as data. |
| status | string | No | Exact trial status in the stored UPPERCASE form (e.g. RECRUITING). Case-sensitive - a mixed-case value returns no rows. |
| phase | string | No | Phase filter; loose forms ('2', 'II', 'Phase 2/3') are normalized server-side, otherwise a case-insensitive substring match. |
| page | integer | No | Page number (default 1). Range: 1 to ∞ |
| limit | integer | No | Results per page (1-100, default 50). Range: 1 to 100 |
Example request
curl -H "x-api-key: YOUR_API_KEY" \ "https://app.caelrith.com/api/v1/tools/clinical/portfolio-comparison?sponsors=your_sponsors&conditionKeyword=your_conditionKeyword"
Response envelope
Successful responses wrap the payload in a success flag.
{
"success": true,
"data": { /* payload */ },
"meta": { /* pagination, totals */ }
}Response shape
List responseTRIALS
Payload: data.comparison — Sponsor Comparison (summary list)
Payload: data.trials — Shared Trials
Exact total: data.intersection_count
Audit trail: data.audit_trail
Pagination: server-side via page and limit
Common row fields
| Field | Description |
|---|---|
| id | ID |
| title | Title |
| status | Status |
| phase | Phase |
| startDate | Start Date |
Empty results: No matching rows (HTTP 200)
Catalog version 0.0.0-generated · generated from the API source