Discover/PhysioNet API
live

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

Endpoint health
verified 5d ago
search_resources
get_dataset_detail
list_dataset_files
list_news
get_file_content
5/5 passing latest checkself-healing
Endpoints
5
Updated
22d ago

What is the PhysioNet 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.

Try it
Page number for pagination
Search keyword or topic
JSON array of resource type integers to filter: 0=Data, 1=Software, 2=Challenge, 3=Model. Omitting returns all types.
Sort order for results
api.parse.bot/scraper/b9587d03-0081-4ee2-85d5-1077ef6da7b6/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/b9587d03-0081-4ee2-85d5-1077ef6da7b6/search_resources?page=1&query=ECG&types=%5B0%5D&orderby=relevance-desc' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace physionet-org-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: PhysioNet SDK — search datasets, inspect metadata, browse and read files."""
from parse_apis.physionet_api import PhysioNet, Sort, DatasetNotFound

client = PhysioNet()

# Search for ECG-related datasets, sorted by newest first
for dataset in client.datasets.search(query="ECG", sort=Sort.PUBLISH_DATE_DESC, limit=5):
    print(dataset.title, dataset.slug, dataset.version, dataset.access_level)

# Construct a known dataset and get its full detail
detail = client.dataset("mitdb").details(version="1.0.0")
print(detail.title, detail.doi, detail.published)
for author in detail.authors:
    print(author)

# Browse files in that dataset
for f in client.dataset("mitdb").files.list(version="1.0.0", limit=10):
    print(f.name, f.is_dir, f.size, f.date)

# Read a text file's content from the dataset
content = client.dataset("mitdb").files.get_content(version="1.0.0", filepath="RECORDS")
print(content.filepath, content.content[:100])

# Typed error handling: catch a missing dataset
try:
    client.dataset("nonexistent-dataset-xyz").details(version="9.9.9")
except DatasetNotFound as exc:
    print(f"Dataset not found: {exc}")

# List latest news items
for item in client.newsitems.list(limit=3):
    print(item.title, item.date)

print("exercised: datasets.search / dataset.details / files.list / files.get_content / newsitems.list")
All endpoints · 5 totalmissing one? ·

Search for PhysioNet resources (datasets, software, challenges, models) by keyword. Returns paginated results with metadata about each matching resource including title, slug, version, authors, description, tags, and access level. Paginates via integer page number. Server-side filtering is limited to query, type, and sort order.

Input
ParamTypeDescription
pageintegerPage number for pagination
querystringSearch keyword or topic
typesstringJSON array of resource type integers to filter: 0=Data, 1=Software, 2=Challenge, 3=Model. Omitting returns all types.
orderbystringSort order for results
Response
{
  "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/mitdb/1.0.0/",
          "slug": "mitdb",
          "tags": [
            "ecg",
            "arrhythmia"
          ],
          "title": "MIT-BIH Arrhythmia Database",
          "authors": "George Moody, Roger Mark",
          "version": "1.0.0",
          "description": "ECG database.",
          "pub_details": "Published: Feb. 24, 2005. Version: 1.0.0",
          "access_level": "Open Access"
        }
      ],
      "total_pages": 14
    },
    "status": "success"
  }
}

About the PhysioNet API

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.

Reliability & maintenanceVerified

The PhysioNet API is a managed, monitored endpoint for physionet.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when physionet.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official physionet.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
5d ago
Latest check
5/5 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Catalog all ECG and EEG datasets on PhysioNet by searching with types=[0] and filtering by relevant tags.
  • Programmatically generate dataset citations using the citation and doi fields from get_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_content without downloading the full dataset.
  • Monitor PhysioNet challenge announcements by polling list_news for new entries.
  • Aggregate author contribution data across multiple datasets by collecting authors arrays from get_dataset_detail.
  • Filter and sort datasets by publication date using the publish-date-desc orderby option in search_resources.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does PhysioNet have an official developer API?+
PhysioNet provides a REST API documented at https://physionet.org/rest/1/ for programmatic access to some platform resources. It covers a subset of dataset metadata and credentialed access workflows. The Parse API surfaces search, metadata, file listing, file content, and news in a single normalized interface.
What does `list_dataset_files` return, and when does it fail?+
It returns a file index array where each object includes 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?+
The 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?+
The current endpoints — 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?+
Not currently. The API covers dataset metadata, text file content, and file directory listings. Binary signal files (such as .dat or .hea WFDB format files) are not readable via 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.
Page content last updated . Spec covers 5 endpoints from physionet.org.
Related APIs in HealthcareSee all →
zenodo.org API
Search and retrieve research records, files, versions, and community data from Zenodo's open science repository. Access detailed information about academic publications, datasets, and research outputs, including file listings, version history, and community collections all in one place.
mdpi.com API
Access MDPI's open-access academic content programmatically. Search across thousands of peer-reviewed articles, retrieve full structured text, extract key findings, and browse journal metadata including impact factors and CiteScores.
pmc.ncbi.nlm.nih.gov API
Search millions of full-text biomedical research articles and access their metadata, citations, and related papers from PubMed Central. Find articles by topic, discover similar research, explore journal collections, and retrieve detailed citation information to support your literature review and research.
radiopaedia.org API
Search medical cases and images on Radiopaedia to find relevant radiology references, and stay updated with the latest articles in medical imaging. Access case details, diagnostic images, and recent content updates all in one place.
ncbi.nlm.nih.gov API
Search and retrieve biomedical literature from NCBI databases including PubMed, PubMed Central, and MeSH. Supports full-text extraction, metadata lookup, and research filtering.
pubmed.ncbi.nlm.nih.gov API
Search and retrieve biomedical literature from PubMed and NCBI databases. Supports keyword search, advanced field-tag queries, clinical filters, citation matching, date filtering, publication type filtering, and direct E-utilities access.
clinicaltrials.gov API
Search and retrieve comprehensive information about clinical trials worldwide, including study details, eligibility criteria, locations, and outcomes data. Access structured metadata and statistics to find relevant research studies matching your specific medical conditions or research interests.
hudexchange.info API
Search and browse over 5,288 HUD resources including FAQs, training materials, reports, and general documents across 95+ housing and urban development programs. Filter results by program, topic, and content type to quickly find the information you need.