XNAT Imaging Extractor
Pricing
from $0.35 / 1,000 records
XNAT Imaging Extractor
Point at ANY public XNAT neuroimaging server (NITRC-IR, BMIA, institutional archives) and pull structured metadata over the XNAT REST API: projects, subjects, imaging experiments/sessions, and scans. One actor, the whole /data REST surface, every row lossless.
Pricing
from $0.35 / 1,000 records
Rating
0.0
(0)
Developer
Datamule
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Point at any public XNAT server and pull structured
neuroimaging metadata over the standard XNAT REST API.
XNAT is the de-facto open-source platform for neuroimaging & clinical imaging research
data management, and every install — the NITRC image repository,
the BMIA public archive, central.xnat.org, and countless
institutional deployments — speaks the identical /data/... REST surface. So there
is no per-server scraper: give a base URL and a mode, get clean rows.
Modes
mode | Returns | Endpoint |
|---|---|---|
projects | one row per project (whole server) | /data/projects |
subjects | one row per subject in a project | /data/projects/{projectId}/subjects |
experiments | one row per imaging session in a project | /data/projects/{projectId}/experiments |
scans | one row per scan in a session | /data/experiments/{experimentId}/scans |
subjectsandexperimentsneed aprojectId.- In
experimentsmode, add asubjectIdto narrow to one subject. scansneeds anexperimentId.
Input
{"serverUrl": "https://www.nitrc.org/ir","mode": "projects","maxRecords": 1000}
Drill down further:
{ "serverUrl": "https://www.nitrc.org/ir", "mode": "subjects", "projectId": "ixi" }{ "serverUrl": "https://www.nitrc.org/ir", "mode": "experiments", "projectId": "studyforrest_rev003" }{ "serverUrl": "https://www.nitrc.org/ir", "mode": "scans", "experimentId": "NITRC_IR_E07478" }
| Field | Type | Notes |
|---|---|---|
serverUrl | string (required) | XNAT base URL. Include any path prefix — NITRC serves under /ir. |
mode | enum | projects | subjects | experiments | scans (default projects). |
projectId | string | Required for subjects / experiments. |
subjectId | string | Optional drill-down in experiments mode. |
experimentId | string | Required for scans. |
maxRecords | integer | Row cap (default 1000). |
bearer | string (secret) | Optional bearer token for authenticated servers. |
extraHeaders | object | Optional extra HTTP headers (e.g. a session cookie). |
Output
Each row carries the mapped, human-friendly fields for its mode (id, name, label,
project, date, scan type, series description, …) plus a lossless _raw object with
the complete original API record, so nothing is dropped even when a column key differs
between XNAT versions.
{"id": "NITRC_IR_E07478","label": "sub001","project": "studyforrest_rev003","date": "","xsiType": "xnat:mrSessionData","subjectId": "NITRC_IR_E07478","uri": "/data/experiments/NITRC_IR_E07478","_server": "https://www.nitrc.org/ir","_mode": "experiments","_raw": { "...": "complete original record" }}
Notes on public vs gated servers
?format=json is a request, not a guarantee. Some XNAT servers gate public browse
behind an interactive login and answer with an HTML login page at HTTP 200 (e.g.
central.xnat.org, cnda.wustl.edu). This actor detects that (non-JSON body / no
ResultSet envelope) and fails fast rather than emitting an empty dataset — it
never fabricates rows and never reports a gated server as an honest zero. Servers that
expose anonymous public projects (NITRC-IR, BMIA) return real JSON and work out of the
box.
Pricing
Pay-per-event: $0.0005 per record (one project / subject / experiment / scan row). You only pay for rows actually extracted.