physionet.org APIphysionet.org ↗
Access PhysioNet datasets, file listings, and text content via API. Search 5 endpoints for biomedical research data including ECG, EEG, and clinical records.
curl -X GET 'https://api.parse.bot/scraper/b9587d03-0081-4ee2-85d5-1077ef6da7b6/search_resources?page=1&query=ecg' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for PhysioNet resources (datasets, software, challenges, models) by keyword. Returns paginated results with metadata about each matching resource.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination |
| query | string | Search keyword or topic |
| types | string | JSON array of resource type integers to filter: 0=Data, 1=Software, 2=Challenge, 3=Model. Omitting returns all types. |
| orderby | string | Sort order. Accepted values: relevance-desc, publish-date-desc, publish-date-asc, title-asc, title-desc |
{
"type": "object",
"fields": {
"page": "integer, current page number",
"results": "array of resource objects with title, slug, version, url, authors, description, tags, pub_details, and access_level",
"total_pages": "integer, total number of pages available"
},
"sample": {
"data": {
"page": 1,
"results": [
{
"url": "https://physionet.org/content/chbmit/1.0.0/",
"slug": "chbmit",
"tags": [
"medication",
"seizure",
"eeg",
"neuroelectric"
],
"title": "CHB-MIT Scalp EEG Database",
"authors": "John Guttag",
"version": "1.0.0",
"description": "EEG recordings from pediatric subjects with intractable seizures, collected at the Children’s Hospital Boston.",
"pub_details": "Published: June 9, 2010. Version: 1.0.0",
"access_level": "Open Access"
}
],
"total_pages": 1
},
"status": "success"
}
}About the physionet.org API
The PhysioNet API exposes 5 endpoints for discovering and accessing biomedical research datasets hosted at physionet.org. With search_resources you can query across data, software, challenges, and models by keyword and filter by resource type. get_dataset_detail returns full metadata including DOI, abstract, authors, and citation text, while list_dataset_files and get_file_content let you browse and read files from Open Access datasets without manual navigation.
Search and Discovery
The search_resources endpoint accepts a query string and an optional types parameter — a JSON array of integers where 0=Data, 1=Software, 2=Challenge, and 3=Model — letting you narrow results to a specific resource category. Results are paginated (page, total_pages) and sortable via orderby with options including relevance-desc, publish-date-desc, and title-asc. Each result object includes title, slug, version, authors, description, tags, pub_details, and access_level, giving you enough context to decide which resources to investigate further.
Dataset Metadata and File Access
get_dataset_detail takes a slug (e.g. mitdb, chbmit) and a version string and returns the full metadata record: doi, abstract, citation, authors, published, and title. This is the right endpoint for building citations or surfacing dataset provenance. list_dataset_files browses the file index of a dataset version and accepts an optional path parameter to descend into subdirectories; each file object includes name, is_dir, size, date, and url. Both list_dataset_files and get_file_content are restricted to Open Access datasets — credentialed or restricted datasets return an error.
File Content Retrieval and News
get_file_content retrieves the raw text of a specific file by filepath (e.g. RECORDS, subject-info.csv) within a given dataset slug and version. Returned content is capped at 100,000 characters and is only available for text-based files; binary files return an error. The list_news endpoint requires no inputs and returns all current PhysioNet announcements with date, title, and content fields — useful for monitoring new dataset releases or challenge announcements.
- Catalog all ECG and EEG datasets on PhysioNet by searching with
types=[0]and filtering by relevant tags. - Programmatically generate dataset citations using the
citationanddoifields fromget_dataset_detail. - Build a dataset browser that lists files and subdirectories of any Open Access dataset using
list_dataset_files. - Read RECORDS or subject metadata CSV files directly using
get_file_contentwithout downloading the full dataset. - Monitor PhysioNet challenge announcements by polling
list_newsfor new entries. - Aggregate author contribution data across multiple datasets by collecting
authorsarrays fromget_dataset_detail. - Filter and sort datasets by publication date using the
publish-date-descorderby option insearch_resources.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does PhysioNet have an official developer API?+
What does `list_dataset_files` return, and when does it fail?+
name, is_dir, size, date, and url. You can browse subdirectories by passing a path parameter. It only works for Open Access datasets; any dataset requiring credentialed or restricted access returns an error instead of a file listing.Does the API expose download URLs for dataset files?+
files array from list_dataset_files includes a url field for each file, pointing to the file location on PhysioNet. Actual file download is done directly from that URL; the API does not proxy binary file transfers. Text file content can be retrieved inline via get_file_content, subject to the 100,000-character cap.Can I access datasets that require credentialed or restricted access?+
list_dataset_files and get_file_content — only work for Open Access datasets and return an error for restricted ones. The get_dataset_detail endpoint still returns metadata for any dataset by slug and version. You can fork this API on Parse and revise it to add credentialed-access endpoints if your use case requires them.Does the API return waveform or signal data from PhysioNet files?+
get_file_content. You can fork this API on Parse and revise it to add an endpoint that handles binary file retrieval or format-specific parsing.