Skip to content

How to Host Your Data on Zenodo

Zenodo is excellent for archiving and sharing scientific datasets with a DOI.

While you can manually upload your data following Zenodo's instructions, this guide shows how to use CartLoader to upload your data to Zenodo in a more automated way.

1. Set up Zenodo

To use CartLoader to upload your data to Zenodo, you will need to generate a Zenodo Access Token.

  • 1) Register and log in to Zenodo.
  • 2) Go to Token Creation Page. Define token name and scopes, and click create to generate one.
  • 3) Copy the token and save it in a your server or local machine.

2. Upload Data and Fill Metadata

CartLoader has a upload_zenodo function to upload data to Zenodo in multiple ways.

2.1 Upload Data to a New Deposit

Below is an example showing how to use cartloader upload_zenodo to upload your data to Zenodo, which automatically creates a new deposit and fills in the metadata.

1
2
3
4
5
6
7
cartloader upload_zenodo \
    --zenodo-token /path/to/YOUR_ACCESS_TOKEN \
    --upload-method catalog \
    --in-dir /path/to/your/data \
    --title "Your Dataset Title" \
    --creators "Your Name" \
    --description "Your Dataset Description"

2.2 Upload Data to an Existing Deposit

It also supports to upload files to an existing deposit. If the deposit is published, it will create a new version of the deposit and upload the files to the new version.

1
2
3
4
5
6
7
zenodo_deposition_id=DEPOSITION_ID                # replace with your deposition ID (published IDs get a new draft automatically)

cartloader upload_zenodo \
    --upload-method catalog \
    --in-dir /path/to/your/data \
    --zenodo-token /path/to/YOUR_ACCESS_TOKEN \
    --zenodo-deposition-id ${zenodo_deposition_id}

3. Publish

Go to Zenodo website, click My dashboard, and open the deposit you just created. Manually confirm the metadata and fill in any missing information.

If all look good, click Publish to make the dataset public and mint a DOI.

4. Get the Catalog URL

Once published, the entry point of your dataset is the YAML file that contains metadata about your dataset, which typically has the name catalog.yaml.

For Zenodo, the URL of the catalog file follows this structure:

1
2
# Replace `<RECORD_ID>` with your actual deposit ID and `<catalog_filename>` with the name of your catalog file. 
https://zenodo.org/records/<RECORD_ID>/files/<catalog_filename> 

How to find the Record ID and construct your Catalog URL?

The Record ID is the unique number found at the end of your deposit's URL.

1
2
3
https://zenodo.org/deposit/1234567
                                                         This is the deposition ID

For example, if your deposit page is https://zenodo.org/deposit/18090834, the Record ID is 18090834. Therefore, the Catalog URL to load into CartoScope would be:

1
https://zenodo.org/records/18090834/files/catalog.yaml

Tips

If your metadata file is named as catalog.yaml, you can also use the URL of the deposit as entry point. For example:

1
https://zenodo.org/records/18090834/

Next

You can now load your data in CartoScope by providing the Catalog URL in the Load External Data dialog.