GALENAPI

System

Free

Health checks, system statistics, data source information, and real-time monitoring of Galen's autonomous learning progress.

Only in Galen

Monitor Galen's learning progress in real time. The /status endpoint exposes the autonomous agent's reward signal, total learning steps, and current research strategy. The /stats endpoint shows knowledge graph growth, PCH distribution, and prediction accuracy. Galen learns and improves 24/7 — these endpoints let you watch it happen.

GET/health
Free

Health Check

Quick health check that returns API status. Requires no authentication.

Only in Galen

Lightweight health check endpoint. Use this to verify API connectivity before making substantive queries.

Response Schema

statusstringService status — "ok" when healthy
servicestringService identifier
timestampstringCurrent server time in ISO 8601 format

Example Request

import requests

resp = requests.get("https://research.usegalen.com/api/v1/health")
data = resp.json()
print(f"Status: {data['status']} ({data['service']}) at {data['timestamp']}")

Example Response

{
  "status": "ok",
  "service": "galen-api",
  "timestamp": "2026-03-06T12:00:00Z"
}

Try It

GET https://research.usegalen.com/api/v1/health
GET/status
Free

Detailed System Status

Get real-time status of Galen's autonomous research agent including reward signal, learning steps, and active strategy.

Only in Galen

Watch the cancer superintelligence learn in real time. This endpoint exposes Galen's autonomous RL agent metrics — reward signal, learning steps, active research strategy, and knowledge graph growth. No other API lets you observe an AI system actively conducting cancer research.

Response Schema

alivebooleanWhether the autonomous research agent is running
total_stepsintegerTotal RL learning steps completed since deployment
r_barfloatAverage reward signal — Galen's measure of research quality. Higher values indicate the agent is making more valuable discoveries.
current_strategystringActive meta-cognitive strategy guiding research focus (e.g. DEEP_INVESTIGATION, FRONTIER_EXPLORATION, CAUSAL_REASONING)
last_actionstringMost recent research action taken by the agent (e.g. investigate_entity, form_hypothesis, run_experiment)
last_rewardfloatReward received from the last action taken
seconds_since_stepintegerSeconds elapsed since the last learning step completed
entities_totalintegerTotal entities in the knowledge graph
relationships_totalintegerTotal relationships in the knowledge graph
timestampstringCurrent server time in ISO 8601 format

Example Request

import requests

resp = requests.get(
    "https://research.usegalen.com/api/v1/status",
    headers={"X-API-Key": "YOUR_API_KEY"},
)
status = resp.json()
print(f"Alive: {status['alive']}")
print(f"Steps: {status['total_steps']:,} | R̄: {status['r_bar']:.2f} | Last reward: {status['last_reward']:.1f}")
print(f"Strategy: {status['current_strategy']} | Last action: {status['last_action']}")
print(f"KG: {status['entities_total']:,} entities, {status['relationships_total']:,} relationships")

Example Response

{
  "alive": true,
  "total_steps": 847523,
  "r_bar": 5.75,
  "current_strategy": "DEEP_INVESTIGATION",
  "last_action": "investigate_entity",
  "last_reward": 6.2,
  "seconds_since_step": 45,
  "entities_total": 283421,
  "relationships_total": 4751283,
  "timestamp": "2026-03-06T12:00:00Z"
}

Try It

GET https://research.usegalen.com/api/v1/status
GET/stats
Free

Knowledge Graph Statistics

Get aggregate statistics about the knowledge graph — entity counts, PCH distribution, prediction accuracy, and throughput.

Only in Galen

Comprehensive statistics on the knowledge graph's size, composition, and quality. The PCH distribution shows what fraction of relationships are at each causal evidence level. Prediction accuracy metrics show how well Galen's predictions are confirmed by real experimental data.

Response Schema

knowledge_graphobjectKnowledge graph composition and quality metrics
├──entity_countintegerTotal number of entities
├──relationship_countintegerTotal number of relationships
├──entity_typesobjectCount of entities per type (gene, drug, disease, etc.)
├──relationship_typesobjectCount of relationships per type (targets, inhibits, mutated_in, etc.)
└──pch_distributionobjectDistribution of relationships across Pearl Causal Hierarchy layers
├──l1integerNumber of L1 (associational) relationships
├──l2integerNumber of L2 (interventional) relationships
└──l3integerNumber of L3 (counterfactual) relationships
predictionsobjectStatistics on Galen's biological predictions and their outcomes
├──totalintegerTotal predictions made
├──confirmedintegerPredictions confirmed by experimental data
├──contradictedintegerPredictions contradicted by experimental data
└──accuracy_ratefloatFraction of resolved predictions that were confirmed (0.0–1.0)
throughputobjectAgent throughput metrics
├──steps_per_hourfloatAverage RL learning steps per hour
└──avg_rewardfloatAverage reward per step over the last 100 steps
cache_sizeintegerNumber of entries in the LLM response cache
timestampstringTime these statistics were computed (ISO 8601)

Example Request

import requests

resp = requests.get(
    "https://research.usegalen.com/api/v1/stats",
    headers={"X-API-Key": "YOUR_API_KEY"},
)
stats = resp.json()
kg = stats["knowledge_graph"]
pch = kg["pch_distribution"]
print(f"Knowledge Graph: {kg['entity_count']:,} entities, {kg['relationship_count']:,} relationships")
print(f"PCH Distribution: L1={pch['l1']:,}, L2={pch['l2']:,}, L3={pch['l3']:,}")
print(f"Predictions: {stats['predictions']['accuracy_rate']:.0%} accuracy ({stats['predictions']['confirmed']}/{stats['predictions']['total']})")
print(f"Throughput: {stats['throughput']['steps_per_hour']:.1f} steps/hr, avg reward {stats['throughput']['avg_reward']:.2f}")

Example Response

{
  "knowledge_graph": {
    "entity_count": 283421,
    "relationship_count": 4751283,
    "entity_types": {
      "gene": 24817,
      "drug": 18943,
      "disease": 4212,
      "pathway": 2847,
      "mutation": 189432,
      "protein": 31204,
      "cell_line": 8753,
      "clinical_trial": 3213
    },
    "relationship_types": {
      "targets": 412847,
      "inhibits": 187432,
      "mutated_in": 623841,
      "member_of": 341297,
      "driver_in": 48723,
      "sensitive_to": 287412,
      "resistant_to": 94321,
      "co_occurs_with": 512847,
      "interacts_with": 847123,
      "indicated_for": 32481,
      "variant_in_gene": 189432,
      "other": 173527
    },
    "pch_distribution": {
      "l1": 3247891,
      "l2": 1287432,
      "l3": 215960
    }
  },
  "predictions": {
    "total": 14832,
    "confirmed": 11947,
    "contradicted": 2885,
    "accuracy_rate": 0.806
  },
  "throughput": {
    "steps_per_hour": 52.3,
    "avg_reward": 5.75
  },
  "cache_size": 847291,
  "timestamp": "2026-03-06T12:00:00Z"
}

Try It

GET https://research.usegalen.com/api/v1/stats
GET/data-sources
Free

List Data Sources

List all integrated biomedical databases with their current availability status.

Only in Galen

Shows the real-time availability of all integrated biomedical databases. Each source is a verified, local copy — not a proxied API call. This transparency lets you know exactly which data is powering your query results.

Response Schema

sourcesarrayAll integrated data sources with availability status
├──namestringData source name (e.g. ChEMBL 36, cBioPortal, STRING)
├──categorystringSource category (e.g. drug_activity, clinical_genomics, pathway, literature)
├──descriptionstringBrief description of what this source provides
├──statusstringCurrent availability: "available" or "unavailable"
├──entity_countinteger | nullNumber of entities contributed by this source (null if unavailable)
└──relationship_countinteger | nullNumber of relationships contributed by this source (null if unavailable)
totalintegerTotal number of integrated data sources

Example Request

import requests

resp = requests.get(
    "https://research.usegalen.com/api/v1/data-sources",
    headers={"X-API-Key": "YOUR_API_KEY"},
)
data = resp.json()
print(f"{data['total']} data sources integrated:")
for src in data["sources"]:
    status = "✓" if src["status"] == "available" else "✗"
    rels = f"{src['relationship_count']:,}" if src["relationship_count"] else "N/A"
    print(f"  {status} {src['name']} ({src['category']}) — {rels} relationships")

Example Response

{
  "sources": [
    {
      "name": "ChEMBL 36",
      "category": "drug_activity",
      "description": "Comprehensive bioactivity database with 2.4M compounds and 20M activity measurements. Primary source for drug-target binding data.",
      "status": "available",
      "entity_count": 18943,
      "relationship_count": 412847
    },
    {
      "name": "cBioPortal",
      "category": "clinical_genomics",
      "description": "Clinical cancer genomics from 498 studies. Provides mutation frequencies, co-occurrence patterns, and survival associations.",
      "status": "available",
      "entity_count": 47823,
      "relationship_count": 4060000
    },
    {
      "name": "STRING v12",
      "category": "protein_interaction",
      "description": "Protein-protein interaction network with 11M+ scored interactions from experimental data, text mining, and co-expression.",
      "status": "available",
      "entity_count": 19847,
      "relationship_count": 847123
    },
    {
      "name": "Reactome",
      "category": "pathway",
      "description": "Peer-reviewed pathway database with 2,600+ human pathways. Provides curated signaling cascade relationships.",
      "status": "available",
      "entity_count": 2847,
      "relationship_count": 341297
    },
    {
      "name": "PubMed",
      "category": "literature",
      "description": "Continuous literature mining from 36M+ biomedical abstracts. Extracts gene-disease, drug-target, and mechanism relationships.",
      "status": "available",
      "entity_count": 12847,
      "relationship_count": 523841
    },
    {
      "name": "IntOGen",
      "category": "cancer_drivers",
      "description": "Compendium of mutational cancer drivers. Identifies driver genes across 28 tumor types using 7 computational methods.",
      "status": "available",
      "entity_count": 3847,
      "relationship_count": 48723
    },
    {
      "name": "BioGRID",
      "category": "genetic_interaction",
      "description": "Biological General Repository for Interaction Datasets. Curated protein-protein and genetic interactions.",
      "status": "available",
      "entity_count": 14832,
      "relationship_count": 287432
    },
    {
      "name": "GTEx v11",
      "category": "gene_expression",
      "description": "Genotype-Tissue Expression project. Normal tissue gene expression across 54 human tissues.",
      "status": "available",
      "entity_count": 8432,
      "relationship_count": 124321
    },
    {
      "name": "ClinVar",
      "category": "variant_interpretation",
      "description": "NCBI database of genomic variant-phenotype associations with clinical significance classifications.",
      "status": "available",
      "entity_count": 12432,
      "relationship_count": 67843
    },
    {
      "name": "UniProt",
      "category": "protein_annotation",
      "description": "Universal Protein Resource. Comprehensive protein sequence and functional annotation.",
      "status": "available",
      "entity_count": 21432,
      "relationship_count": 87432
    },
    {
      "name": "GO",
      "category": "molecular_function",
      "description": "Gene Ontology. Functional annotations for molecular function, biological process, and cellular component.",
      "status": "available",
      "entity_count": 18432,
      "relationship_count": 94321
    },
    {
      "name": "TCGA",
      "category": "cancer_genomics",
      "description": "The Cancer Genome Atlas. Multi-omic cancer data across 33 tumor types.",
      "status": "available",
      "entity_count": 24321,
      "relationship_count": 187432
    },
    {
      "name": "ClinicalTrials.gov",
      "category": "clinical_trials",
      "description": "Active interventional trials matched by mutation, cancer type, and eligibility criteria.",
      "status": "available",
      "entity_count": 8743,
      "relationship_count": 34521
    }
  ],
  "total": 13
}

Try It

GET https://research.usegalen.com/api/v1/data-sources
50–100ms