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
19 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.