GET
/api/congress/abstractsCongress abstract feed
ASCO / ISPOR abstract feed with embargo timestamps and endpoint data.
Simulates a congress abstract feed. Real abstract ID conventions (LBA####, TPS####, e####, bare integers prefixed by disease track), JCO supplement DOI format, clinicaltrials.gov NCT IDs, trial-series → sponsor coherence (KEYNOTE → Merck, CheckMate → BMS, DESTINY-Breast → Daiichi). Embargo `lifted_at` timestamp is load-bearing for the CI team's 48-hour post-congress briefing window.
Query parameters
| Name | Type | Description |
|---|---|---|
congress | string | Congress identifier. Year parsed from digits. default: ASCO2026 |
topic | string | Free-text topic. Aliased to indications (lung → NSCLC/SCLC, breast → TNBC/HR+ breast cancer, etc.). |
competitor | string | Filter by brand. Pass 'all' or a specific brand (Keytruda, Opdivo, etc.). default: all |
session_type | string | Exact session-type match (e.g., 'Late-Breaking Oral Abstract Session'). |
limit | integer | Max abstracts returned. 5-50. default: 25 |
Response schema
| Path | Type | Description |
|---|---|---|
congress | string | Echo. |
meeting_year | integer | Year parsed from congress. |
total_abstracts | integer | Total abstracts at the meeting (2,800-3,800 — ASCO scale). |
filtered | integer | Count returned after filters. |
abstracts[] | array | Abstract records. |
abstracts[].abstract_id | string | e.g., '2026-LBA4001' or '2026-9001'. |
abstracts[].abstract_number | string | LBA#### | TPS#### | e#### | bare integer. Source: ASCO abstract policies |
abstracts[].doi | string | JCO supplement DOI: 10.1200/JCO.YYYY.VV.SS_suppl.ABS. |
abstracts[].track | string | ASCO disease track label (e.g., 'Lung Cancer—Non-Small Cell Metastatic'). |
abstracts[].session | object | { type, title, date, time_local, room }. |
abstracts[].session.type | enum | Plenary Session | Late-Breaking Oral Abstract Session | Oral Abstract Session | Rapid Oral | Clinical Science Symposium | Poster Discussion | Poster Session | Trials in Progress | Education Session | Publication Only. Source: ASCO Selection Process |
abstracts[].title | string | Generated from real trial naming conventions. |
abstracts[].authors[] | array | { name, affiliation, is_presenter } — drawn from KOL pool + real institutions. |
abstracts[].sponsor | string | Real sponsor matching the trial series. Source: trial → sponsor coherence |
abstracts[].trial | object | { name, nct_id, phase } — NCT ID format NCT########. Source: clinicaltrials.gov |
abstracts[].indication | string | NSCLC | SCLC | TNBC | HR+ breast cancer | RCC | melanoma | etc. |
abstracts[].intervention | object | { drug_inn, brand, moa }. |
abstracts[].comparator | string | Control arm. |
abstracts[].endpoints[] | array | Endpoint records: OS / PFS / ORR with HR + 95% CI + p where applicable. |
abstracts[].competitive_relevance | enum | high | medium | low — heuristic based on indication overlap. |
abstracts[].embargo | object | { lifted_at: ISO, status: released|embargoed } — drives the CI team's 48-hr briefing window. |
Behaviour notes
- ·Trial series prefixes are coherent with their sponsor (KEYNOTE → Merck, CheckMate → BMS, etc.) — enforced by tests.
- ·Endpoint values per indication anchored to published trial data ranges (e.g., NSCLC OS 16-30 mo).
- ·Topic aliases map free-text to indication sets — 'lung' → NSCLC/SCLC, not breast.
- ·Abstract ID prefix encodes disease track (90xx = lung NSCLC, 10xx = breast).
Examples
Lung cancer abstracts
curl 'http://localhost:3000/api/congress/abstracts?congress=ASCO2026&topic=lung'Keytruda abstracts only
curl 'http://localhost:3000/api/congress/abstracts?congress=ASCO2026&competitor=Keytruda&limit=10'Late-breakers
curl 'http://localhost:3000/api/congress/abstracts?session_type=Late-Breaking+Oral+Abstract+Session&limit=5'Sources
- ASCO Abstract Policies FAQshttps://www.asco.org/annual-meeting/abstracts-presentations/abstract-policies-embargoes-exceptions/faqs
- ASCO Selection Process & Presentationshttps://www.asco.org/annual-meeting/abstracts-presentations/submission-details/abstract-selection-process-presentations
- JCO KEYNOTE-189 5-yr (DOI example)https://ascopubs.org/doi/10.1200/JCO.22.01989
- clinicaltrials.govhttps://clinicaltrials.gov