ESS-DIVE Documentation
  • ESS-DIVE Documentation
  • Frequently Asked Questions
  • Submit Data
    • Get Started
      • Large Data Support
    • Register to Submit Data
    • Data Reporting Formats
    • Submit Data with Online Form
    • Submit Data with Dataset API
    • Link to External Data Sources
  • Publish Data
    • Check Dataset Metadata Quality
    • Dataset and DOI Status Badges
    • Review Cycle and Criteria
      • Metadata Requirements
      • Reporting Format Requirements
    • Publish your Dataset
      • Request Publication
      • Reserve DOI Before Publication
      • Publish with Existing DOI
      • Troubleshooting
  • Manage Data
    • Register Dataset Citations
    • Create Data Portals
      • How to Create & Publish Portals
    • Share Data Permissions
      • Share Datasets
      • Share Portals
    • Manage Project Data
      • Project Data Managers
      • Project Information
      • Project Teams
  • Search & Download Data
    • Search for Data
    • Download Data
    • Access Data Portals
    • Search with Dataset API
      • Code Examples
    • Search with Deep Dive API
      • How to Query Data
  • Programmatic Tools
    • ESS-DIVE Dataset API
      • R Example
      • Python Example
      • Java Example
      • API Updates and Changes
    • Globus Data Transfer Service
      • Setup Globus
      • Upload Data with Globus
      • FAQs
Powered by GitBook
On this page
  • Dataset API Capabilities
  • Getting started with ESS-DIVE Dataset API (Package Service API version 1)
  • Get Authentication Token
  • Prepare and Test
  • Ready to Publish
  1. Programmatic Tools

ESS-DIVE Dataset API

The ESS-DIVE Dataset API is a service that enables projects to programmatically submit and manage datasets with ESS-DIVE. Scripts with the Dataset API can be written in R, Python, or Java.

PreviousHow to Query DataNextR Example

Last updated 1 month ago

Dataset API Capabilities

  • Search & Download one dataset

  • Search & Download multiple datasets

  • Submit datasets

  • Stream dataset submissions

  • Collaborate on datasets

  • Add External Links to datasets

  • Update datasets

For additional information about the api, you can also review the technical documentation at

Getting started with ESS-DIVE Dataset API (Package Service API version 1)

The ESS-DIVE Dataset API is a service that enables projects to programmatically submit and manage datasets with ESS-DIVE. This is an alternative to using the form for data uploads. This service encodes metadata using the specification. JSON-LD is a schema to encode linked Data using JSON, and in the future will be to index metadata for searches. The use of the standardized JSON-LD schema will dramatically increase the visibility of datasets, and also enable projects to create one-time code that can be reused for periodic uploads of datasets to ESS-DIVE.

The ESS-DIVE Dataset API allows you to test dataset submissions to ESS-DIVE’s sandbox instance and check whether metadata are mapped correctly onto ESS-DIVE’s dataset metadata schema. The Dataset API is able to check the mapping by validating the JSON-LD submission; if the JSON_LD is invalid, details about the errors will be given.

Dataset metadata refers to the top level metadata that enables a dataset to be “discoverable” in search results. Examples of top-level metadata include the title, abstract, authors, variables and keywords. Other file-level metadata, such as those that describe the data file structure or variables are not included in this service.

See the for descriptions, expectations, & JSON-LD equivalents for each metadata field.

Get Authentication Token

Anonymous Search & Download

  1. Sign in with Orcid

  2. Click your Name in the right hand corner and select My Profile (Figure 1)

  3. Now Click the Settings>Authentication Token (Figure 2)

  4. Scroll down and click Copy on the “Token” tab to get your authentication token (Figure 2)

Submit & Manage Datasets

  1. Sign in with Orcid

  2. Click your Name in the right hand corner and select My Profile (Figure 1)

  3. Now Click the Settings>Authentication Token (Figure 2)

  4. Scroll down and click Copy on the “Token” tab to get your authentication token (Figure 2)

Prepare and Test

After you have familiarized yourself with the dataset REST API, you can use the programming language of your choice to submit JSON-LD metadata to be validated. Two of the most common programming languages in the ESS space are Python and R. Either of these languages can be used to write scripts for submitting dataset metadata to be validated.

  • Python: dataset JSON-LD metadata can be submitted using the requests module

  • R: dataset metadata can be submitted using the httr and jsonlite packages

  • Java: datasets JSON-LD metadata can be submitted using Apache HTTPComponents

Choose preferred coding language:

Ready to Publish

You can get access to functioning code examples on (essdive-package-service-examples repository).

Provide feedback on this service to .

Go to

with ESS-DIVE

Go to *

*Be sure to use ESS-DIVE's test instance, Sandbox (), while building scripts and making corrections to JSON_LD dataset submissions. Only switch to ESS-DIVE's production instance () after your scripts are complete.

ESS-DIVE is a REST API which allows you to interact through the tools of your choice. You may start learning the expected schema for the metadata on . This documentation allows you to get familiar with the interface, to understand the available operations, possible errors and the structure of the JSON produced and expected.

You can also review the expected JSON-LD structure from the .

To review the expectations for submitted metadata, refer to our .

Once you've familiarized yourself with ESS-DIVE's metadata and dataset API schema, use our production domain to submit datasets to ESS-DIVE for publishing and review.

Note that the domain is for data submission via web user interface only.

https://api-sandbox.ess-dive.lbl.gov
ESS-DIVE Online
JSON-LD
used by Google
JSON-LD
Metadata Submission Guide
ESS-DIVE's Dataset API repository
ess-dive-support@lbl.gov
R Example
Python Example
Java Example
https://data.ess-dive.lbl.gov
Registered to submit data
https://data-sandbox.ess-dive.lbl.gov
https://api-sandbox.ess-dive.lbl.gov
https://api.ess-dive.lbl.gov/
https://api-sandbox.ess-dive.lbl.gov
example JSON-LDs on ESS-DIVE coding examples github repository
Package Level Metadata Guide
R Example
Python Example
Java Example
https://api.ess-dive.lbl.gov/
https://data.ess-dive.lbl.gov/
Get Authentication Token
Preparation
Code Examples
Ready to Submit
Figure 1. Hover over your name and click on My Profile
Figure 2. Click on Authentication Token under Settings and copy the token