| name | dataverse-api |
| description | Deposit and discover research datasets via Harvard Dataverse API |
| metadata | {"openclaw":{"emoji":"🗄️","category":"literature","subcategory":"fulltext","keywords":["Dataverse","research data","data repository","Harvard","dataset deposit","data sharing"],"source":"https://dataverse.org/"}} |
Harvard Dataverse API
Overview
Dataverse is an open-source research data repository platform developed by Harvard IQSS, hosting 150K+ datasets across 80+ installations worldwide. The Harvard Dataverse alone has 130K+ datasets covering social science, natural science, and humanities. The API supports search, metadata retrieval, file download, and dataset deposit. Free, no authentication for read access.
API Endpoints
Base URL
https://dataverse.harvard.edu/api
Search
curl "https://dataverse.harvard.edu/api/search?q=climate+change&type=dataset&per_page=20"
curl "https://dataverse.harvard.edu/api/search?q=temperature+data&type=file&per_page=20"
curl "https://dataverse.harvard.edu/api/search?q=survey+data&type=dataset&\
fq=subject_ss:\"Social Sciences\""
curl "https://dataverse.harvard.edu/api/search?q=genomics&type=dataset&\
fq=dateSort:[2024-01-01T00:00:00Z TO *]"
curl "https://dataverse.harvard.edu/api/search?q=machine+learning&type=dataset&\
sort=date&order=desc"
Get Dataset Metadata
curl "https://dataverse.harvard.edu/api/datasets/:persistentId/?persistentId=doi:10.7910/DVN/EXAMPLE"
curl "https://dataverse.harvard.edu/api/datasets/12345"
curl "https://dataverse.harvard.edu/api/datasets/:persistentId/versions?persistentId=doi:10.7910/DVN/EXAMPLE"
Download Files
curl -O "https://dataverse.harvard.edu/api/access/datafile/67890"
curl -O "https://dataverse.harvard.edu/api/access/datafile/67890?format=original"
curl -O "https://dataverse.harvard.edu/api/access/dataset/:persistentId/?persistentId=doi:10.7910/DVN/EXAMPLE"
Query Parameters (Search)
| Parameter | Description | Example |
|---|
q | Search query | q=voter+turnout |
type | Item type | dataset, file, dataverse |
per_page | Results per page (max 1000) | per_page=50 |
start | Pagination offset | start=50 |
sort | Sort field | name, date |
order | Sort order | asc, desc |
fq | Filter query (Solr) | fq=subject_ss:"Medicine" |
Response Structure
{
"status": "OK",
"data": {
"q": "climate change",
"total_count": 2450,
"items": [
{
"name": "Global Temperature Dataset 2024",
"type": "dataset",
"url": "https://doi.org/10.7910/DVN/EXAMPLE",
"global_id": "doi:10.7910/DVN/EXAMPLE",
"description": "Monthly global temperature anomalies...",
"published_at": "2024-03-15",
"publisher": "Harvard Dataverse",
"subjects": ["Earth and Environmental Sciences"],
"fileCount"
Python Usage
import requests
BASE_URL = "https://dataverse.harvard.edu/api"
def search_datasets(query: str, per_page: int = 20,
subject: str = None) -> list:
"""Search Harvard Dataverse for datasets."""
params = {
"q": query,
"type": "dataset",
"per_page": per_page,
"sort": "date",
"order": "desc",
}
if subject:
params["fq"] = f'subject_ss:"{subject}"'
resp = requests.get(f"{BASE_URL}/search", params=params)
resp.raise_for_status()
data = resp.json()
results = []
for item in data.get("data", {}).get("items", []):
results.append({
"name": item.get("name"),
"doi": item.get("global_id"),
"description": item.get("description", "")[:300],
"published": item.get("published_at"),
"subjects": item.get("subjects", []),
"files": item.get("fileCount", 0),
"url": item.get("url"),
})
results
() -> :
resp = requests.get(
,
params={: doi},
)
resp.raise_for_status()
data = resp.json().get(, {})
files = []
version = data.get(, {})
f version.get(, []):
df = f.get(, {})
files.append({
: df.get(),
: df.get(),
: df.get(),
: df.get(),
: df.get(),
})
files
():
resp = requests.get(
,
stream=,
)
resp.raise_for_status()
(output_path, ) f:
chunk resp.iter_content(chunk_size=):
f.write(chunk)
datasets = search_datasets(,
subject=)
ds datasets:
()
()
Other Dataverse Installations
| Installation | URL | Focus |
|---|
| Harvard Dataverse | dataverse.harvard.edu | Multi-discipline |
| UNC Dataverse | dataverse.unc.edu | Social science |
| AUSSDA | data.aussda.at | Austrian social science |
| Borealis (Canada) | borealisdata.ca | Canadian research |
| DataverseNL | dataverse.nl | Dutch research |
References