Research Repository Harvester (Dataverse / DSpace / InvenioRDM) avatar

Research Repository Harvester (Dataverse / DSpace / InvenioRDM)

Pricing

from $0.35 / 1,000 record harvesteds

Go to Apify Store
Research Repository Harvester (Dataverse / DSpace / InvenioRDM)

Research Repository Harvester (Dataverse / DSpace / InvenioRDM)

Point at ANY Dataverse, DSpace 7/8, or InvenioRDM/Zenodo install and harvest every dataset's metadata via one unified API — title, authors, DOI/handle, subjects, date, type, license, files, landing page + raw. One actor spans thousands of institutional repositories. Pay per record.

Pricing

from $0.35 / 1,000 record harvesteds

Rating

0.0

(0)

Developer

Datamule

Datamule

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

6 days ago

Last modified

Categories

Share

Research Repository Harvester — Dataverse / DSpace / InvenioRDM

Point at any Dataverse, DSpace 7/8, or InvenioRDM (Zenodo) install and harvest every dataset's metadata through one unified API. Three of the world's most widely-deployed research-data / institutional-repository software platforms each expose a single uniform REST API that every institution's deployment answers identically — so one actor spans thousands of independent repositories, and you get the same normalized output no matter which platform or install you point it at.

  • Dataverse — the Harvard/IQSS software behind 150+ registered installs (Harvard, QDR, DaRUS Stuttgart, Borealis Canada, DataverseNL, …).
  • DSpace 7/8 — the most-deployed institutional-repository software (theses, ETDs, gray literature) with 2,600+ installs worldwide.
  • InvenioRDM / Zenodo — the CERN/Zenodo platform (Zenodo, Caltech Data, CERN).

What you get

Every dataset / item is normalized into one flat, consistent row — the same columns whether it came from Dataverse, DSpace or Invenio — plus a lossless raw copy of the entire original object so nothing is ever dropped:

FieldDescription
repoIdThe record's native id (Dataverse global id, DSpace UUID, Invenio record id)
platformdataverse · dspace · invenio
baseUrlThe install the record came from
persistentIdDOI (Dataverse / Invenio) or Handle (DSpace)
titleDataset / item title
authorsList of author / creator names
descriptionAbstract / description
subjectsSubjects + keywords
publicationDatePublication / issued date
typeResource type (dataset, thesis, publication, …)
licenseLicence / rights
fileCountNumber of files (where the API exposes it)
landingPageCanonical landing / DOI URL
rawThe complete original platform object (lossless)

Fields that a given platform or record doesn't provide come back as null — the schema is fully nullable, so a partial record never breaks a run.

Input

FieldRequiredDescription
platformdataverse, dspace, or invenio
baseUrlInstall root — e.g. https://dataverse.harvard.edu, https://dspace.mit.edu, https://zenodo.org
queryFree-text search (empty = browse everything)
maxRecordsMax records to return (default: one page)
pageSizeRecords per API page, 1–100 (default 25)
bearerTokenOptional token for a gated/private install (never required for public search, never logged)
extraHeadersOptional extra HTTP headers as a JSON object

Examples

Zenodo (Invenio):

{ "platform": "invenio", "baseUrl": "https://zenodo.org", "query": "climate", "maxRecords": 100 }

Harvard Dataverse:

{ "platform": "dataverse", "baseUrl": "https://dataverse.harvard.edu", "query": "climate", "maxRecords": 100 }

MIT DSpace (point at the site root — the actor appends /server/api):

{ "platform": "dspace", "baseUrl": "https://dspace.mit.edu", "query": "climate", "maxRecords": 100 }

How it works

For each platform the actor calls its uniform search endpoint, pages through the result set, and maps each record into the unified schema:

  • DataverseGET {base}/api/search?q=…&type=dataset&per_page=N&start=M (paginated by record offset), with a {base}/api/info/version handshake.
  • DSpaceGET {base}/server/api/discover/search/objects?query=…&page=N&size=M (HAL/JSON envelope; Dublin-Core dc.* metadata flattened), with a {base}/server/api handshake that reports dspaceName / dspaceVersion.
  • InvenioGET {base}/api/records?q=…&size=M&page=N; handles both the legacy Zenodo record shape and the modern InvenioRDM shape transparently.

It returns catalog metadata only (what datasets exist and where to get them), never the underlying data files. A valid install with no matches returns 0 records and exits cleanly; a non-repository host (an HTML anti-bot page, a wrong URL, or a status:ERROR envelope) fails fast with a clear error rather than a silent empty run. No authentication is required for public repository search.

Pricing

Pay-per-event: you are charged per repository record returned. No monthly fee — you only pay for the records you harvest.