No datasets saved yet.
Loading...
The public API is intended for applications and scripts that need search results as JSON. The Dataset Catalog website is intended for people exploring results interactively. They share core search behavior while providing different options and results for their respective audiences.
The API and website intentionally align on these search features:
Both search the same catalog data and use aligned relevance scoring across the same searchable metadata. Matches in titles, descriptions, and keywords have more influence on relevance than matches in other metadata.
Both support quoted phrases, parentheses, and the case-insensitive operators AND, OR, and NOT. Terms entered next to each other are treated as AND. For the public API, submit grouped or complex expressions using POST.
When available, both supplement search terms with related Medical Subject Headings (MeSH), NLM's controlled vocabulary for biomedical and health information. If the MeSH service is unavailable, the original query is still used.
Both support an inclusive two-year range equivalent to the website's Time Frame control. Applying a range excludes datasets without an issued date.
These differences can affect available controls, result counts, ordering, and the information returned.
| Area | Public API | Dataset Catalog website |
|---|---|---|
| Search scope | Always searches all supported metadata fields, including titles, descriptions, keywords, contributors, affiliations, repository names, funding information, publications, identifiers, and homepage text. | Selecting All searches the same fields. The search box can instead be limited to Title, Funding ID, or Contributor. |
| Narrowing results | Requires search text and accepts an issued-year range, page number, page size, and sort order. It does not provide repository or funding filters, or counts for filter options. | Results can be narrowed by Time Frame, Repositories, and Funding Data. Repository options display the number of matching results. |
| Sorting results | Defaults to Relevance. The sort parameter also supports issued date from newest to oldest or oldest to newest. | Offers Relevance and Date: Newest in the Sort by menu. |
| Issued dates | Excludes datasets with a future issued date by default. Set exclude_future=false to include them. Without a year range, datasets lacking an issued date remain searchable. | The Time Frame control narrows results by inclusive start and end years. The website does not automatically exclude future-issued datasets, which is equivalent to using exclude_future=false in the API. |
| Results returned | Returns selected dataset fields as JSON, along with the relevance score and a Dataset Catalog detail-page link in dataset_url. Each result includes a description excerpt of up to 500 characters and indicates whether the description was shortened. A response can contain up to 50 results, and up to 10,000 results can be accessed for one query. | Displays result cards with the title, repository, issued date, description, dataset actions, and a link to full dataset details. |
| Request limits | In production, the per-IP threshold is 2,000 requests in a rolling five-minute window. If traffic exceeds the limit, the API may return 429 Too Many Requests; retry using exponential backoff. | Normal browsing is protected by the website's separate traffic controls. The public API limits do not describe normal use of the website. |
| Account features | No sign-in is required. API requests do not create saved searches, search history, or saved citations. | Supports interactive features such as saved searches, search history, and saved citations for signed-in users. |