BCI Report Research preview
English中文

Data API

BCI Report data API: static JSON and CSV at stable URLs

There is no server to query: every published result is a static file, the same bytes the pages are built from. Fetch them directly, verify them against the SHA-256 on the releases page, and cite the release you used.

How it works

Stable URLs

Every file lives at https://bci.report/data/<file>. A file is only ever replaced by a reviewed release, and the releases page gives the SHA-256 of the bytes currently served.

No key, no account

Plain HTTPS GET. Static files behind a CDN; no rate limit is promised, so cache what you use.

Licence

The aggregate results are CC BY 4.0. The recordings they were computed from belong to their authors and keep their own terms — each dataset page names them.

Mirror

The same files are on Hugging Face as the dataset Twu31/bci-report, with the per-protocol tables merged into loadable configurations.

Files

FileWhat it holdsRelease
context-update.jsonScreen-to-VR P300 transfer, treadmill walking speed beside a movement-nuisance comparator, and the asynchronous SSVEP non-control pilot, with audits.context-update-20260927
clinical-update.jsonParkinson's disease vs. controls from resting-state EEG (ds004584) beside an age-and-sex-only comparator, the claim boundary, and status-only sources.clinical-update-20260923
evidence-update.jsonIn-ear vs. scalp sleep staging (EESM23), four vs. sixteen electrodes (Alpha Waves), and the physical head phantom, each with its rights record.evidence-update-20260922
deployment-topics.jsonDeployment topics: dry vs. wet sensor transfer, calibration budget, movement (SSVEP and ERP) and pretraining controls — measurements, paired contrasts, seed sensitivity and dataset citations.deployment-topics-20260920-v1
experiments.jsonThe core matrix: every protocol with each method’s score, interval, cohort, electrode count, training mode and limitations, plus the model and dataset directories.research-preview-20260920
mi-rest-results.csvMotor imagery & rest: one row per method — score, interval, secondary metric, cohort and compute time.research-preview-20260920
mi-rest-protocol.jsonMotor imagery & rest: the protocol — cohort, channels, windows, split, training budget, rights and limitations.research-preview-20260920
idle-results.csvIdle & command: one row per method — score, interval, secondary metric, cohort and compute time.research-preview-20260920
idle-protocol.jsonIdle & command: the protocol — cohort, channels, windows, split, training budget, rights and limitations.research-preview-20260920
beta-8ch-results.csvSSVEP · 8 channels: one row per method — score, interval, secondary metric, cohort and compute time.research-preview-20260920
beta-8ch-protocol.jsonSSVEP · 8 channels: the protocol — cohort, channels, windows, split, training budget, rights and limitations.research-preview-20260920
beta-4ch-results.csvSSVEP · 4 channels: one row per method — score, interval, secondary metric, cohort and compute time.research-preview-20260920
beta-4ch-protocol.jsonSSVEP · 4 channels: the protocol — cohort, channels, windows, split, training budget, rights and limitations.research-preview-20260920
arithmetic-rest-results.csvArithmetic & rest: one row per method — score, interval, secondary metric, cohort and compute time.research-preview-20260920
arithmetic-rest-protocol.jsonArithmetic & rest: the protocol — cohort, channels, windows, split, training budget, rights and limitations.research-preview-20260920
p300-target-results.csvP300 target ERP: one row per method — score, interval, secondary metric, cohort and compute time.research-preview-20260920
p300-target-protocol.jsonP300 target ERP: the protocol — cohort, channels, windows, split, training budget, rights and limitations.research-preview-20260920
semantic-target-results.csvSemantic target ERP: one row per method — score, interval, secondary metric, cohort and compute time.research-preview-20260920
semantic-target-protocol.jsonSemantic target ERP: the protocol — cohort, channels, windows, split, training budget, rights and limitations.research-preview-20260920
sleep-scalp-results.csvSleep staging: one row per method — score, interval, secondary metric, cohort and compute time.research-preview-20260920
sleep-scalp-protocol.jsonSleep staging: the protocol — cohort, channels, windows, split, training budget, rights and limitations.research-preview-20260920

Releases, with SHA-256 of every file →

Examples

Shell

curl -sO https://bci.report/data/experiments.json
curl -s https://bci.report/data/context-update.json | jq '.results | keys'

Python

import pandas as pd, requests

matrix = requests.get("https://bci.report/data/experiments.json", timeout=30).json()
for track in matrix["tracks"]:
    print(track["id"], track["chanceLevel"], len(track["rows"]))

mi_rest = pd.read_csv("https://bci.report/data/mi-rest-results.csv")

Hugging Face datasets

from datasets import load_dataset

results = load_dataset("Twu31/bci-report", "results")  # also: topics, contrasts, seed_sensitivity

Cite

Cite the site and the release you used (the current one is context-update-20260927), and the upstream dataset each figure was computed on.

@misc{bcireport,
  title        = {BCI Report: public EEG decoding results reported with their protocol},
  author       = {{BCI Report}},
  year         = {2026},
  howpublished = {\url{https://bci.report}},
  note         = {Release context-update-20260927}
}

Upstream datasets and their credits →

For agents and crawlers