Guide
Guide

OpenML offers a range of APIs to download and upload OpenML dataset, tasks, run algorithms on them, and share the results.


  • icon

    The REST API allows you to talk directly to the OpenML server from any programming environment.
    REST tutorial REST Documentation

  • icon

    Download datasets into Python scripts, build models using Python machine learning libraries (e.g., scikit-learn), and share the results online, all in a few lines of code.
    Documentation Jupyter Notebook Online demo

  • icon

    Download datasets into R scripts, build models using R machine learning packages (e.g. mlr), and share the results online, again in a few lines of code.
    Documentation Tutorial Cheat sheet

  • icon

    If you are building machine learning systems in Java, there is also an API for that.
    Tutorial Java Docs

  • icon

    The C++ library is under development, but already contains most of the functions available.
    Tutorial GitHub repo

Easy authentication

In the interest of open science, we allow you to freely download all public resources, also through the APIs (rate limits apply when necessary). Uploading and sharing new datasets, tasks, flows and runs (or accessing any shared/private resources) is also very easy, and requires only the API key that you can find in your profile (after logging in).

If you use any of the language-specific APIs, you only need to store this key in a config file and forget about it.

For authenticating to the REST API, you can send your api key using Basic Auth, or by adding ?api_key='your key' to your calls. If you are logged into OpenML.org, this will be done automatically.