Use the Atlas as data
Every record this site shows is published as static JSON. There is no authentication, no rate limit and no pagination: each endpoint is one file holding the whole entity.
Using the API
Corpus of 60 builds published 2010–2026. Ontology version 0.1.0; this page was generated on 2026-11-11.
curl -s https://biofabtoolkit.accelerationconsortium.ai/api/papers.json | jq '.items[0].title'
const { items } = await fetch("https://biofabtoolkit.accelerationconsortium.ai/api/papers.json").then((r) => r.json());Every endpoint returns the same envelope:
{ "entity": "Paper", "count": 60, "items": [ … ] }Conventions worth knowing before you parse anything
- An empty string or null means the source is silent, not that the answer is no. A build with
"artifactLicence": { "value": "" }is one whose licence nobody could find, which is a finding about the paper. - Several fields hold multiple values separated by
|, among themdoi,approximateCostandsystemOrTechnology. - Costs are free text, exactly as each paper states them. They are not normalised to a currency or a year, and eleven records name no currency at all.
derived.*is computed by the build, not recorded by a curator. Everything else was either transcribed from the source or extracted from the full text, andprovenanceSourcesays which.- Ids are not stable across builds. Cite a record by
doi, or byslugif you want the page.
Endpoints
| Path | Entity | Records | Size | What it holds |
|---|---|---|---|---|
/api/papers.json | Paper | 60 | 850 KB | Every build in the corpus: cost, licence, repository status, rubric scores and which performance values the paper reports. |
/api/tools.json | Tool | 25 | 32 KB | Named instruments, aggregated across the papers that describe them. |
/api/repos.json | Repo | 33 | 26 KB | Repositories and deposits linked from the corpus, with the date each was last checked for reachability. |
/api/topics.json | Topic | 9 | 20 KB | Application areas used to group the corpus. |
/api/assets.json | Asset | 40 | 44 KB | Build artifacts — CAD, bills of materials, firmware, protocols — with provenanceSource recording whether a curator or an extractor found each one. |
/api/events.json | Event | 1 | 1 KB | Venues and workshops associated with a record. |
/api/collections.json | Collection | 12 | 16 KB | Curated lenses over the corpus. |
/api/graph.json | Graph | 167 | 97 KB | Nodes and edges linking papers, tools, repositories, topics and assets. Edges carry an explicit relation. |
/api/ontology.json | Ontology | 7 | 1 KB | The schema itself: entity names, key fields and the relation vocabulary. |
/api/index.json | Directory | 9 | 1 KB | This table, as JSON. |
Records
Field lists are read from a real record in each file, so they describe what is actually served. Notes cover the fields whose names are easy to misread; the rest are what they look like.
Paper56 fields · 60 records
| Field | Type | Note |
|---|---|---|
id | string | Stable within a build of the site; regenerated when the corpus is rebuilt. Cite by doi or slug instead. |
slug | string | URL segment for the record's page on this site. |
title | string | — |
doi | string | May hold several DOIs separated by ' | ' where a record has both a preprint and a version of record. |
publication | object | Crossref and OpenAlex metadata. matchMethod is 'doi' when the DOI was confirmed, and abstract is present for all 60 records. |
primaryLink | string | — |
year | number | Publication year. Present for all 60 records. |
venue | string | — |
type | string | — |
category | string[] | Application areas. A record can belong to more than one. |
modality | string[] | Fabrication or handling modality. Overlaps category and is not case-normalised against it. |
systemOrTechnology | string | The instrument's own name, where the paper gives one. ' | ' separates alternatives. |
searchAliases | array | — |
relatedPublications | array | — |
inclusionFit | string | — |
summary | string | — |
whyItMatters | string | — |
motivationUseCase | string | — |
limitation | string | — |
function | string | — |
keySources | string | — |
openSourceResources | string | — |
sourceWorkbooks | string[] | — |
sourceScope | string | — |
mappingConfidence | string | — |
buildComplexity | string | — |
technicalSkillsNeeded | array | — |
approximateCost | string | Free text exactly as the paper states it: '230', '<$1,500', '3000-7000', '141 USD + 3D Printer'. Eleven records state no currency. Empty means no cost was stated. |
approximateCostSource | string | Which workbook the cost came from, when it was not in the curated sheet. |
openSource | boolean | — |
lowCost | boolean | — |
easyToBuild | null | — |
easyToUse | boolean | — |
repo | object | Null when no repository link resolved. accessibility.maintenance is active | aging | stale | unknown, derived from the last commit date at checkedAt. |
pdf | object | — |
pageIndex | object | — |
tags | string[] | — |
democratizingFeatures | array | — |
evidenceSources | string[] | — |
assetIds | array | — |
assetSlugs | array | — |
assetTypes | array | Kinds of build file found for this record: cad, bom, software, firmware, documentation, protocol, schematics, pcb. |
eventIds | array | — |
eventSlugs | array | — |
eventNames | array | — |
criteriaAssessment | object | Rubric scores. criteria[].display is false for the two criteria that cannot separate one build from another; observedMin/observedMax give the range the corpus actually uses, which is narrower than 1-5. |
reportedMetrics | object | Whether the paper states a number for each performance requirement. status is yes | no | na; na means the full text is not held, so the question is unanswered rather than answered no. |
artifactLicence | object | Licence governing the design files, not the article. value is empty when none was found; source records where it was found. |
textRepoLinks | array | Repository URLs mined from the full text but not verified. Weaker evidence than repo, stronger than nothing. |
derived | object | Computed by the build from the fields above, not recorded by a curator. |
toolIds | array | — |
toolSlugs | array | — |
toolNames | array | — |
topicIds | string[] | — |
topicSlugs | string[] | — |
topicNames | string[] | — |
First record, truncated:
{
"id": "paper-001",
"slug": "001-3d-bioprinting-of-collagen-based-high-resolution-internally-perfusable-scaffolds-for-engineering-fully-biologic-tissue-s",
"title": "3D bioprinting of collagen-based high-resolution internally perfusable scaffolds for engineering fully biologic tissue systems",
"doi": "10.1126/sciadv.adu5905",
"publication": {
"paperTitle": "3D bioprinting of collagen-based high-resolution internally perfusable scaffolds for engineering fully biologic tissue systems",
"requestedDoi": "10.1126/sciadv.adu5905",
"resolvedDoi": "10.1126/sciadv.adu5905",
"matchMethod": "doi",
"matchScore": 1,
"fetchedAt": "2026-07-21T18:28:45.186Z",
"abstract": "Organ-on-a-chip and microfluidic systems have improved the translational relevance of in vitro systems; however, current manufacturing approaches impart limitations on materials selection, non-native mechanical properties, geometric complexity, and cell-driven remodeling into functional tissues. Here, we three-dimensionally (3D) bioprint extracellular matrix (ECM) and cells into collagen-based high-resolution internally perfusable scaffolds (CHIPS) that integrate with a vascular and perfusion organ-on-a-chip reactor (VAPOR) to form a complete tissue engineering platform. We improve the fidelity of freeform reversible embedding of suspended hydrogels (FRESH) bioprinting to produce a range of CHIPS designs fabricated in a one-step process. CHIPS exhibit size-dependent permeability of perfused molecules into the surrounding scaffold to support cell viability and migration. Lastly, we implemented multi-material bioprinting to control 3D spatial patterning, ECM composition, cellularization, and material properties to create a glucose-responsive, insulin-secreting pancreatic-like CHIPS with vascular endothelial cadherin + vascular-like networks. Together, CHIPS and VAPOR form a platform technology toward engineering full organ-scale function for disease modeling and cell replacement therapy.",
"authors": [
{
"name": "Daniel J. Shiwarski",
"orcid": "https://orcid.org/0000-0001-6978-303X",
"institutions": [
"University of Pittsburgh",
"Carnegie Mellon University"
],
"countries": [
"US"
],
"corresponding": true
},
…Tool27 fields · 25 records
| Field | Type | Note |
|---|---|---|
id | string | Stable within a build of the site; regenerated when the corpus is rebuilt. Cite by doi or slug instead. |
slug | string | URL segment for the record's page on this site. |
name | string | — |
description | string | — |
paperIds | string[] | — |
paperSlugs | string[] | — |
paperTitles | string[] | — |
categories | string[] | — |
modalities | string[] | — |
repoIds | string[] | — |
repoSlugs | string[] | — |
skillTags | array | — |
skillLevels | string[] | — |
buildComplexities | array | — |
documentationScores | number[] | — |
workshopFlags | string[] | — |
aliases | array | — |
documentationScore | number | — |
documentationTier | string | — |
workshopPaperCount | number | — |
paperCount | number | — |
repoCount | number | — |
assetIds | array | — |
assetSlugs | array | — |
assetTypes | array | Kinds of build file found for this record: cad, bom, software, firmware, documentation, protocol, schematics, pcb. |
replicationStatus | string | — |
perspectiveSnippet | string | — |
First record, truncated:
{
"id": "tool-opentrons-ot-2",
"slug": "opentrons-ot-2",
"name": "Opentrons OT-2",
"description": "",
"paperIds": [
"paper-002",
"paper-039"
],
"paperSlugs": [
"002-a-3d-printed-plate-handler-for-automated-handling-of-well-plates-on-the-opentrons-ot-2",
"039-real-time-ai-driven-quality-control-for-laboratory-automation-a-novel-computer-vision-solution-for-the-opentrons-ot-2-li"
],
"paperTitles": [
"A 3D-Printed Plate Handler for Automated Handling of Well Plates on the Opentrons OT-2",
"Real-time AI-driven quality control for laboratory automation: a novel computer vision solution for the opentrons OT-2 liquid handling robot"
],
"categories": [
"Liquid Handling"
],
"modalities": [
"Automation",
"High-throughput screening",
"Automated pipetting",
"Imaging integration"
],
…Repo13 fields · 33 records
| Field | Type | Note |
|---|---|---|
id | string | Stable within a build of the site; regenerated when the corpus is rebuilt. Cite by doi or slug instead. |
slug | string | URL segment for the record's page on this site. |
name | string | — |
url | string | — |
kind | string | — |
accessibility | object | — |
host | string | — |
paperIds | string[] | — |
paperSlugs | string[] | — |
paperTitles | string[] | — |
categories | string[] | — |
modalities | string[] | — |
paperCount | number | — |
First record, truncated:
{
"id": "repo-8c9qr",
"slug": "8c9qr",
"name": "8c9qr",
"url": "https://osf.io/8c9qr",
"kind": "website",
"accessibility": {
"checked": true,
"accessible": true,
"httpStatus": 200,
"lastActivity": "",
"lastActivitySource": "",
"ageDays": null,
"ageLabel": "not reported by host",
"maintenance": "unknown",
"archived": false,
"license": "",
"checkedAt": "2026-09-29T22:19:18.673Z"
},
"host": "osf.io",
"paperIds": [
"paper-030"
],
"paperSlugs": [
"030-nydus-one-syringe-extruder-nose-a-prusa-i3-3d-printer-conversion-for-bioprinting-applications"
],
…Topic15 fields · 9 records
| Field | Type | Note |
|---|---|---|
id | string | Stable within a build of the site; regenerated when the corpus is rebuilt. Cite by doi or slug instead. |
slug | string | URL segment for the record's page on this site. |
name | string | — |
paperIds | string[] | — |
paperSlugs | string[] | — |
paperTitles | string[] | — |
modalities | string[] | — |
aliases | array | — |
repoIds | string[] | — |
repoSlugs | string[] | — |
toolIds | string[] | — |
toolSlugs | string[] | — |
paperCount | number | — |
repoCount | number | — |
toolCount | number | — |
First record, truncated:
{
"id": "topic-bioprinting",
"slug": "bioprinting",
"name": "Bioprinting",
"paperIds": [
"paper-001",
"paper-004",
"paper-005",
"paper-008",
"paper-009",
"paper-010",
"paper-014",
"paper-015",
"paper-016",
"paper-017",
"paper-018",
"paper-019",
"paper-020",
"paper-021",
"paper-022",
"paper-023",
"paper-024",
"paper-030",
"paper-032",
"paper-037",
"paper-041",
…Asset17 fields · 40 records
| Field | Type | Note |
|---|---|---|
id | string | Stable within a build of the site; regenerated when the corpus is rebuilt. Cite by doi or slug instead. |
slug | string | URL segment for the record's page on this site. |
name | string | — |
type | string | — |
format | string | — |
evidence | string | — |
url | string | — |
provenanceSource | string | curated when a person recorded it, heuristic when an extractor did. |
notes | string | — |
paperIds | string[] | — |
paperSlugs | string[] | — |
toolIds | array | — |
toolSlugs | array | — |
repoIds | array | — |
repoSlugs | array | — |
paperCount | number | — |
toolCount | number | — |
First record, truncated:
{
"id": "asset-bom-an-open-source-extrusion-bioprinter-based-on-the-e3d-motion-system-and-tool-changer-to-enable-fresh-and-multimateria",
"slug": "bom-an-open-source-extrusion-bioprinter-based-on-the-e3d-motion-system-and-tool-changer-to-enable-fresh-and-multimateria",
"name": "BOM for An open source extrusion bioprinter based on the E3D motion system and tool changer to enable FRESH and multimaterial bioprinting",
"type": "bom",
"format": "BOM",
"evidence": "Published as supplementary information of the article (10.1038/s41598-021-00931-1); Bill of materials (Supplementary Data 1, xlsx): parts with product names and supplier links, no prices.",
"url": "https://static-content.springer.com/esm/art%3A10.1038%2Fs41598-021-00931-1/MediaObjects/41598_2021_931_MOESM1_ESM.xlsx",
"provenanceSource": "manifest",
"notes": "Held in pdfs/supplementary/009_MOESM1_ESM.xlsx. Link is the publisher's supplementary file itself (ACS: the supporting-information page), verified 2026-09-29; read 2026-09-29.",
"paperIds": [
"paper-009"
],
"paperSlugs": [
"009-an-open-source-extrusion-bioprinter-based-on-the-e3d-motion-system-and-tool-changer-to-enable-fresh-and-multimaterial-bi"
],
"toolIds": [],
"toolSlugs": [],
"repoIds": [],
"repoSlugs": [],
"paperCount": 1,
"toolCount": 0
}Event12 fields · 1 records
| Field | Type | Note |
|---|---|---|
id | string | Stable within a build of the site; regenerated when the corpus is rebuilt. Cite by doi or slug instead. |
slug | string | URL segment for the record's page on this site. |
name | string | — |
type | string | — |
venue | string | — |
url | string | — |
provenanceSource | string | curated when a person recorded it, heuristic when an extractor did. |
notes | string | — |
paperIds | string[] | — |
paperSlugs | string[] | — |
paperTitles | string[] | — |
paperCount | number | — |
First record, truncated:
{
"id": "event-chi-ea-acm",
"slug": "chi-ea-acm",
"name": "CHI EA (ACM)",
"type": "conference",
"venue": "CHI EA (ACM) | (PDF / conference-style)",
"url": "",
"provenanceSource": "heuristic",
"notes": "",
"paperIds": [
"paper-035"
],
"paperSlugs": [
"035-openlh-open-liquid-handling-system-for-creative-experimentation-with-biology"
],
"paperTitles": [
"OpenLH: Open Liquid-Handling System for Creative Experimentation with Biology"
],
"paperCount": 1
}Collection8 fields · 12 records
| Field | Type | Note |
|---|---|---|
id | string | Stable within a build of the site; regenerated when the corpus is rebuilt. Cite by doi or slug instead. |
slug | string | URL segment for the record's page on this site. |
name | string | — |
description | string | — |
rationale | string | — |
paperIds | string[] | — |
paperSlugs | string[] | — |
paperCount | number | — |
First record, truncated:
{
"id": "collection-low-engineering-capacity",
"slug": "low-engineering-capacity",
"name": "Low engineering capacity",
"description": "Records more suitable for biology labs or classrooms without deep robotics or electronics capacity.",
"rationale": "Derived from low or medium skill/engineering barrier, plus preference for low-cost or easy-build signals when present.",
"paperIds": [
"paper-002",
"paper-004",
"paper-005",
"paper-006",
"paper-009",
"paper-010",
"paper-012",
"paper-015",
"paper-016",
"paper-017",
"paper-018",
"paper-019",
"paper-021",
"paper-023",
"paper-024",
"paper-025",
"paper-030",
"paper-032",
"paper-035",
…Graph14 fields · 167 records
| Field | Type | Note |
|---|---|---|
id | string | Stable within a build of the site; regenerated when the corpus is rebuilt. Cite by doi or slug instead. |
type | string | — |
slug | string | URL segment for the record's page on this site. |
label | string | — |
meta | string | — |
url | string | — |
topicIds | string[] | — |
topicSlugs | string[] | — |
topicNames | string[] | — |
criteriaAssessed | boolean | — |
criteriaRubricMapped | boolean | — |
criteriaTechnologyType | string | — |
criteriaAverage | number | — |
criteriaScores | object | — |
First record, truncated:
{
"id": "paper-001",
"type": "paper",
"slug": "001-3d-bioprinting-of-collagen-based-high-resolution-internally-perfusable-scaffolds-for-engineering-fully-biologic-tissue-s",
"label": "3D bioprinting of collagen-based high-resolution internally perfusable scaffolds for engineering fully biologic tissue systems",
"meta": "2025 · Science Advances",
"url": "/papers/001-3d-bioprinting-of-collagen-based-high-resolution-internally-perfusable-scaffolds-for-engineering-fully-biologic-tissue-s",
"topicIds": [
"topic-bioprinting"
],
"topicSlugs": [
"bioprinting"
],
"topicNames": [
"Bioprinting"
],
"criteriaAssessed": true,
"criteriaRubricMapped": true,
"criteriaTechnologyType": "Bioprinting",
"criteriaAverage": 3.3,
"criteriaScores": {
"resolution": 3,
"scalability-throughput": 3,
"build-and-part-sourcing-complexity": 3,
"skill-complexity": 2,
"equipment-cosumable-facility-requirement-accessibility": 3,
…Ontology3 fields · 7 records
| Field | Type | Note |
|---|---|---|
id | string | Stable within a build of the site; regenerated when the corpus is rebuilt. Cite by doi or slug instead. |
description | string | — |
keyFields | string[] | — |
First record, truncated:
{
"id": "Paper",
"description": "A literature record in the corpus.",
"keyFields": [
"id",
"slug",
"title",
"doi",
"year",
"category",
"modality",
"venue",
"summary",
"toolIds",
"repo",
"assetIds",
"eventIds",
"derived.skillLevel",
"derived.documentationTier",
"derived.workshopReady"
]
}Graph and ontology
/api/graph.json holds 167 nodes and 286 edges. A node is { id, type, slug, label } where type is one of paper, tool, repo, topic, asset or event. An edge is{ source, target, relation }, and relation is one of:
belongs_to_topiccontains_repodescribeshas_assetimplemented_by_repoin_topiclinks_to_repo
Reuse
The corpus is assembled from published literature; each record links to its source, and the terms of the underlying papers are their publishers'. Please cite the Atlas and the individual sources you rely on rather than the Atlas alone.
Adding a field is not a breaking change and happens without notice. Removing or renaming one moves the ontology version, currently 0.1.0.
Something wrong, or a record missing? propose a paper or report a rebuild.