---
title: "Search research datasets"
method: POST
path: "/api/v1/search_datasets"
tags: ["general"]
---

# Search research datasets

`POST /api/v1/search_datasets`

## Request

- Base URL: `https://scholarmuse.ai`
- URL: `https://scholarmuse.ai/api/v1/search_datasets`
- Auth: HTTP bearer

Search research datasets across Zenodo, Dryad, Harvard Dataverse, Hugging Face and DataCite, de-duplicated by DOI. Returns DOI, creators, year, repository, description, size or format when known, and the licence of the dataset itself. Use it to find data to reuse or cite.

Discipline pack: general. Cost: 2 credits per successful call.

## Request body

- object
  - `query` string, required: Topic or keywords, e.g. "urban tree canopy".
  - `sources` string[]: Limit to these repositories. Default: all.
  - `limit` integer: Datasets to return (default 10).

## Response `200`

The tool result.

- ToolResult
  - `summary` string, required
  - `billing` CreditStatus
    - `creditsRemaining` integer, nullable, required: Spendable, unexpired balance at checkedAt; null if refresh failed. Credits reserved by pending figures are excluded.
    - `status` 'ok' | 'low' | 'empty' | 'unavailable', required
    - `lowBalanceThreshold` integer, required
    - `topUpUrl` string, uri, required
    - `pricingUrl` string, uri, required
    - `checkedAt` string, date-time, required
    - `notice` string
  - `records` Record[]
    - `id` string, required
    - `type` string, required
    - `source` string, required
    - `title` string
    - `url` string
    - `license` string
    - `attribution` string
    - `retrievedAt` string, date-time, required
    - `data` object, required
  - `partial` boolean
  - `failedSources` object[]
    - `source` string
    - `error` string
  - `files` object[]
    - `name` string
    - `url` string
    - `mimeType` string
  - `extra` object
  - `credits_used` number, required
  - `call_id` string, required

## Other responses

- `400`: The call failed and was not charged.
- `401`: The call failed and was not charged.
- `402`: The call failed and was not charged.
- `429`: The call failed and was not charged.
- `502`: The call failed and was not charged.

---

[API](https://skmtc.dev/scholarmuse/apis/scholarmuse-rest-api.md) · [All operations](https://skmtc.dev/scholarmuse/apis/scholarmuse-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scholarmuse/apis/scholarmuse-rest-api/revisions/beafd92e4bfb?raw)
