ERMrest client library in JavaScript
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

ERMrestJS Build Status -- ERMrest client library in JavaScript

The ERMrestJS is a javascript client library for interacting with the ERMrest service. It provides higher-level, simplified application programming interfaces (APIs) for working with the Entity-Relationship (ER) concepts that are native to ERMrest. The library has been extended to also support Hatrac---an object store service, and ioboxd---an export service. ERMrestJS is a part of Deriva Platform.


Documents are categorized based on their audience.

  • Developer Docs: contains API docs and development guides such as how to write unit tests.

  • User Docs: contains documents and examples on how you can configure and use ERMrestJS.


As described, ERMrestJS is providing a Javascript API to ERMrest, Hatract, and iboxod. Therefore, to use this API you need those services to be available in your server.


See ERMrestJS installation.


ERMrestJS can be used in browser, nodeJS, or AngularJS environments. See ERMrestJS usage for more detail.

Code Contribute

When developing new code for ERMrestJS, please remember to run the build tools before submitting Pull Requests (PR).

Steps to make a contribution:

  1. make your updates to the code;
  2. do your own quality assurance;
  3. update the API documentation (if applicable);
  4. update the unit tests (if applicable);
  5. make sure there are no warnings or errors from static analysis programs (make all should be free of warnings and errors);
  6. make sure that all tests are passing before submitting the request (make test should be free of errors);
  7. make your pull request, and prepare for comments.

Help and Contact

Please direct questions and comments to the project issue tracker at GitHub.


ERMrestJS is made available as open source under the Apache License, Version 2.0. Please see the LICENSE file for more information.

About Us

ERMrestJS is developed in the Informatics group at the USC Information Sciences Institute.