PanAtlas public API
Read-only statistics, search, evaluations, and lookups over PanAtlas. Every measured score, for language, vision, multimodal, tabular, and forecasting models, is available through one set of routes. Every record is listed; data itself is not served, and internal fields are never returned. The full PanAtlas, with sign-in, is at https://panatlas.net.
Base URL: https://panatlas.net/wp-json/panatlas/public/v1 · version 1.1.1 ·
openapi.json ·
tools.json (the same routes as LLM tool definitions)
Every response is {"as_of": …, "source": …, "data": …}. Requests are rate-limited per address; responses are cacheable.
GET /best (best_models)
START HERE for any question about which model is best, top, or most accurate for a task, data type, or domain. Covers every model type PanAtlas has evaluated: language, vision, multimodal, tabular (structured data), and forecasting (time series). One call returns the leaders per benchmark, the best baseline, how to read each metric, models held out and why, matching individual tasks, and what PanAtlas covers. Pass the user's words as task.
task(query, string, required): The task in plain words, e.g. "tabular data", "forecasting hospital admissions", "medical question answering", "pathology encoders", "predicting diabetes".type(query, string): Optional model type: language, vision, multimodal, tabular, or forecasting.domain(query, string): Optional domain, e.g. medical, pathology, radiology.limit(query, integer): Models per benchmark (default 5, at most 25).
GET /overview (atlas_overview)
What PanAtlas has evaluated, by model type: counts, the leader of every scored benchmark, and models listed but not run. Use it to orient, and before ever saying PanAtlas has nothing on a kind of model.
GET /tasks (task_scores)
Rank models on one specific task within a suite, such as ed_admission, pima_diabetes, entsoe_1H or hospital_admissions_1D. Find tasks by words (q), list a suite's tasks (benchmark), or open one by exact name (task). Tabular and forecasting suites have per-task tables.
q(query, string): Words describing the task, e.g. "hospital admission", "electricity", "diabetes".benchmark(query, string): Suite id or name, e.g. fm-suite-tabular-medical, fev-bench, fm-suite-ts-health.task(query, string): Exact task name.type(query, string): Optional: tabular or forecasting.limit(query, integer): Models per task (default 10).
GET /scores (query_scores)
Filter every measured score in PanAtlas by model, type, domain, benchmark, metric, value range, or rank. Use it for questions the other tools do not cover, e.g. "which benchmarks does this model lead", "every model above 0.9 on one benchmark". Values compare only within one benchmark.
model(query, string): Model name or part of one.type(query, string): Model type: language, vision, multimodal, tabular, or forecasting.domain(query, string): Domain, e.g. medical, pathology, radiology.benchmark(query, string): Benchmark id or name.metric(query, string): Part of a metric name, e.g. acc, F1, AUC, Elo.min(query, number): Lowest value.max(query, number): Highest value.max_rank(query, integer): Only rows at this rank or better; 1 lists benchmark leaders.limit(query, integer): Maximum rows (default 40, at most 200).
GET /stats (stats)
Headline counts of everything PanAtlas indexes: documents, graph, datasets, benchmarks, models, literature, and knowledge graphs.
GET /search (search_atlas)
Search the atlas graph (concepts, diseases, foods, datasets, benchmarks, models, specialties) by words. Returns node ids to use with get_node.
q(query, string, required): Words to search for.kind(query, string): Optional node kind: concept, disease, food, dataset, llm-benchmark, model, specialty, capability.limit(query, integer): Maximum results (default 20, at most 100).
GET /node/{id} (get_node)
One atlas node with its public fields (MeSH grounding, description, modality) and its links grouped by relation.
id(path, string, required): Node id from search_atlas.
GET /neighborhood (get_neighborhood)
Nodes and links around up to 12 node ids, for drawing a graph.
ids(query, string, required): Comma-separated node ids.
GET /datasets (search_datasets)
Search the dataset registry (every registered dataset, data itself is not served). Filter by modality, access class, or status.
q(query, string): Words to search for.modality(query, string): e.g. text, imaging-ct, knowledge-graph, structured.access(query, string): open, public, internal, restricted, credentialed.status(query, string): listed, active, measured, on-disk, acquiring, building.limit(query, integer): Maximum results (default 25).offset(query, integer): Skip this many results.
GET /datasets/{slug} (get_dataset)
One dataset record: description, modality, licence, access class, status, citation, scale.
slug(path, string, required): Dataset slug from search_datasets.
GET /benchmarks (search_benchmarks)
Search every evaluation benchmark and suite, for all model types, by what it measures, task type, or domain. Results show the leader where models were scored.
q(query, string): Words to search for.type(query, string): Optional model type: language, vision, multimodal, tabular, or forecasting.domain(query, string): Optional domain.capability(query, string): Optional capability id, e.g. cap-clinical-knowledge.limit(query, integer): Maximum results.
GET /benchmarks/{id} (get_benchmark)
One benchmark or suite of any model type: what it measures, how to read its metric, the full ranking with baselines, and models held out and why. Accepts an id or a name.
id(path, string, required): Benchmark id or name.limit(query, integer): Maximum models (default 40).
GET /models (list_models)
Every model PanAtlas has evaluated, of every type: language, vision, multimodal, tabular, and forecasting. Filter by type or name. Shows how many benchmarks each was scored on and its best result, and the coverage by type. To find the best model, use best_models instead.
q(query, string): Optional name filter, part of a name is fine.type(query, string): Optional model type: language, vision, multimodal, tabular, or forecasting.role(query, string): Optional: foundation-model, baseline, or model.include_not_run(query, boolean): Also list models registered but not run, with the reason.limit(query, integer): Maximum results (default 60).
GET /models/{name} (get_model_scores)
Every measured score for one model, of any type, with its rank on each benchmark, plus its family, source, notes, and the reason if it was not run. Accepts partial names such as "kumo large" or "catboost".
name(path, string, required): Model name or part of one.
GET /compare (compare_models)
Rank all scored models on one benchmark (benchmark), or compare named models head to head on every benchmark they share (models). Works for every model type, and ranks each benchmark by its own rule, including those where lower is better.
benchmark(query, string): Benchmark id or name, for one full ranking.models(query, string): Two or more model names separated by commas, for a head-to-head.limit(query, integer): Maximum rows.
GET /literature/{node} (get_literature)
Recent PubMed articles for a MeSH-grounded concept (verified NCBI metadata).
node(path, string, required): Concept or disease node id.limit(query, integer): Maximum articles (default 10).
GET /kg/graphs (list_knowledge_graphs)
The named graphs in the PanAtlas SPARQL store (PanAtlas plus the NSF Open Knowledge Network graphs) with triple counts.