---
title: DataRobot API resources
description: Use the REST, Python, and R APIs as a programmatic alternative to the UI for creating and managing DataRobot projects.
---

# DataRobot API resources {: #api-documentation-home }

DataRobot supports REST, Python, and R APIs as a programmatic alternative to the UI for creating and managing DataRobot projects. It allows you to automate processes and iterate more quickly, and lets you use DataRobot with scripted control. The API provides an intuitive modeling and prediction interface. You can use the API with DataRobot-supported clients in either R or Python, or with your own custom code. The clients are supported in Windows, UNIX, and OS X environments. Additionally, you can generate predictions with the prediction and batch prediction APIs, and build DataRobot blueprints in the blueprint workshop.

Review the sections of the API documentation below to find the best resources for your needs:

- New users can review the [API quickstart](#api-quickstart) guide to configure their environments and get started with DataRobot's APIs.

- The [API user guide](#api-user-guide) details examples of machine learning workflows and use cases that address common data science problems.

- The [API reference](#reference-documentation) provides documentation on the DataRobot REST API, Python client, R client, blueprint workshop, Prediction API, and Batch Prediction API.


## API quickstart {: #api-quickstart }

Review the [API quickstart guide](api-quickstart/index) to configure your environment to use the API and try a sample problem with examples in Python, R, and cURL.

## API user guide {: #api-user-guide }

Browse [user guide](api/guide/index) topics to find complete examples of common data science and machine learning workflows. The API user guide includes overviews, Jupyter notebooks, and task-based tutorials.

Topic | Describes...
----- | ------
[Modeling workflow overview](modeling-workflow) | Learn how to use DataRobot's clients, both Python and R, to train and experiment with models. | [Python download](guide/python-modeling.ipynb) <br> [R download](guide/r-modeling.ipynb) |
[Common use cases](guide/common-case/index) | Review Jupyter notebooks that outline common use cases and machine learning workflows using DataRobot's Python client. |
[Python code examples](python/index) | Browse Python code examples for common data science workflows. |
[R code examples](r-nb/index) | Review R code examples that outline common data science workflows. |
[REST API code examples](restapi/index) | Review REST API code examples that outline common data science workflows. |

## Reference documentation {: #reference-documentation }

DataRobot offers [reference documentation](api/reference/index) available for the following programmatic tools.

Topic | Describes...
-------- | -----------
[DataRobot REST API](reference/public-api/index) | The DataRobot REST API provides a programmatic alternative to the UI for creating and managing DataRobot projects. DataRobot customers can also access the [legacy REST API docs](https://apidocs.hq.datarobot.com/index.html){ target=_blank }. Note that accessing the legacy REST API docs requires you to be logged into the DataRobot application.
[Open API specification](https://app.datarobot.com/api/v2/openapi.yaml){ target=_blank } | DataRobot customers can reference the OpenAPI specification for the DataRobot REST API. It helps automate the generation of a client for languages that DataRobot doesn't offer a client. It assists with design, implementation, and testing integration with DataRobot's REST API using a variety of automated OpenAPI-compatible tools.
[Python client](https://datarobot-public-api-client.readthedocs-hosted.com/){ target=_blank } | Installation, configuration, and reference documentation for working with the Python client library.<br /> <ul><li> <a href="https://pypi.org/project/datarobot/" target="_blank">Access the client package.</a> </li> <li> <a href="https://datarobot-public-api-client.readthedocs-hosted.com/" target="_blank">Read client documentation.</a> </li>
[R client](https://cran.r-project.org/package=datarobot){ target=_blank } | **R client**: Installation, configuration, and reference documentation for working with the R client library.<br /> <ul><li> <a href="https://cran.r-project.org/package=datarobot" target="_blank">Access the R package</a> </li> <li> <a href="https://cran.r-project.org/web/packages/datarobot/datarobot.pdf" target="_blank">Read R client documentation</a> </li>
[Blueprint workshop](bp-workshop/index) | Construct and modify DataRobot blueprints and their tasks using a programmatic interface.
[Prediction API](dr-predapi) | Generate predictions with a deployment by submitting JSON or CSV input data via a POST request.
[Batch Prediction API](reference/batch-prediction-api/index) | Score large datasets with flexible options for intake and output using the prediction servers you have deployed via the Batch Prediction API.

### AI accelerators {: #ai-accelerators }

[AI Accelerators](accelerators/index) are designed to help speed up model experimentation, development, and production using the DataRobot API. They codify and package data science expertise in building and delivering successful machine learning projects into repeatable, code-first workflows and modular building blocks. AI Accelerators are ready right out-of-the-box, work with the notebook of your choice, and can be combined to suit your needs.

## Self-Managed AI Platform API resources {: #self-managed-ai-platform-api-resources }

To access current and past Python and R clients and documentation, use the following links:

* Python
    * [Current client](https://pypi.org/project/datarobot/) from PyPi.
    * [Archived clients](https://pypi.org/project/datarobot/#history){ target=_blank } from PyPi.
    * [Documentation](https://datarobot-public-api-client.readthedocs-hosted.com/){ target=_blank } from ReadTheDocs; use the version selector in the bottom left of the page to see past versions.

* R
    * Current client and documentation from [CRAN](https://cran.r-project.org/package=datarobot){ target=_blank }.
    * [Archived client and docs](https://cran.r-project.org/src/contrib/Archive/datarobot/) (docs are included in the client itself).

The table below outlines which versions of DataRobot's SDKs correspond to DataRobot's Self-Managed AI Platform versions.

| Self-Managed AI Platform version | Python SDK version |  R SDK version |
|----------------------------- | ------------------ |  ------------- |
v9.1 | v3.2  | <ul><li> v2.18.4 (GA) </li> <li> v2.31.2 (Public Preview) </li>  |
v9.0 | v3.1  | v2.29 (Public Preview)  |
v8.0 | v2.28 | v2.18.2 |
v7.3 | v2.27.3 | v2.18.2 |
v7.2 | v2.26.0 | v2.18.2 |
v7.1 | v2.25.1 | v2.18.2 |
v7.0 | v2.24.0 | v2.18.2 |
v6.3 | v2.23.0 | v2.17.1 |
v6.2 | v2.22.1 | v2.17.1 |
v6.1 | v2.21.5 | v2.17.1 |
v6.0 | v2.20.2 | v2.17.1 |
v5.3 | v2.19.0 | v2.17.1 |
v5.2 | v2.18.0 | v2.17.1 |
v5.1 | v2.17.0 | v2.17.1 |
v5.0 | v2.15.1 | v2.15.0 |
v4.5 | v2.14.2 | v2.14.2 |
v4.4 | v2.13.3 | v2.13.1 |
v4.3 | v2.11.2 | v2.11.0 |
v4.2 | v2.9.3  | v2.9.0  |
v4.0 | v2.8.3  | v2.8.0  |
v3.1 | v2.7.3  | v2.7.1  |
v3.0 | v2.6.2  | v2.6.0  |
v2.9 | v2.4.3  | v2.4.0  |
v2.8 | v2.0.37 | v2.0.30 |

!!! note
    Both the backend and clients use versioning in the format Major.Minor.Patch (e.g., v2.3.1), but there is no relationship between the patch version of the backend and the patch version of the clients. There is a requirement, however, that the backend version has a major.minor version equal to or greater than the client version. For example, a v2.2 client can "talk" to either a v2.2 backend or a v2.4 backend, but cannot be used with a v2.0 backend.

### Install commands {: #install-commands }

Use the tabs below to view the install commands for Python and R. The commands are grouped by Major version (v5.x, 4.x, etc.).

#### v8.0 {: #v80 }

Python: `pip install "datarobot>=2.28,<2.29"`

R:

```
mkdir -p ~/datarobot_2.18.2 && tar -xvzf ~/Downloads/datarobot_2.18.2.tar.gz -C ~/datarobot_2.18.2

install.packages('devtools') # (If you don't already have devtools on your system.)

devtools::install('~/datarobot_2.18.2/datarobot')
```

#### v7.x

=== "v7.3"

    Python: `pip install "datarobot>=2.27.4,<2.28"`

    R:

    ```
    mkdir -p ~/datarobot_2.18.2 && tar -xvzf ~/Downloads/datarobot_2.18.2.tar.gz -C ~/datarobot_2.18.2

    install.packages('devtools') # (If you don't already have devtools on your system.)

    devtools::install('~/datarobot_2.18.2/datarobot')
    ```

=== "v7.2"

    Python: `pip install "datarobot>=2.26.0,<2.27"`

    R:

    ```
    mkdir -p ~/datarobot_2.18.2 && tar -xvzf ~/Downloads/datarobot_2.18.2.tar.gz -C ~/datarobot_2.18.2

    install.packages('devtools') # (If you don't already have devtools on your system.)

    devtools::install('~/datarobot_2.18.2/datarobot')
    ```

=== "v7.1"

    Python: `pip install "datarobot>=2.25.1,<2.26"`

    R:

    ```
    mkdir -p ~/datarobot_2.18.2 && tar -xvzf ~/Downloads/datarobot_2.18.2.tar.gz -C ~/datarobot_2.18.2

    install.packages('devtools') # (If you don't already have devtools on your system.)

    devtools::install('~/datarobot_2.18.2/datarobot')
    ```

=== "v7.0"

    Python: `pip install "datarobot>=2.24.0,<2.25.1"`

    R:

    ```
    mkdir -p ~/datarobot_2.18.2 && tar -xvzf ~/Downloads/datarobot_2.18.2.tar.gz -C ~/datarobot_2.18.2

    install.packages('devtools') # (If you don't already have devtools on your system.)

    devtools::install('~/datarobot_2.18.2/datarobot')
    ```

#### v6.x {: #v6x }

=== "v6.3"

    Python: `pip install "datarobot>=2.23,<2.24"`

    R:

    ```
    mkdir -p ~/datarobot_2.17.1 && tar -xvzf ~/Downloads/datarobot_2.17.1.tar.gz -C ~/datarobot_2.17.1

    install.packages('devtools') # (If you don't already have devtools on your system.)

    devtools::install('~/datarobot_2.17.1/datarobot')
    ```

=== "v6.2"

    Python: `pip install "datarobot>=2.22.1,<2.23"`

    R:

    ```
    mkdir -p ~/datarobot_2.17.1 && tar -xvzf ~/Downloads/datarobot_2.17.1.tar.gz -C ~/datarobot_2.17.1

    install.packages('devtools') # (If you don't already have devtools on your system.)

    devtools::install('~/datarobot_2.17.1/datarobot')
    ```

=== "v6.1"

    Python: `pip install "datarobot>=2.21.5,<2.22.1"`

    R:

    ```
    mkdir -p ~/datarobot_2.17.1 && tar -xvzf ~/Downloads/datarobot_2.17.1.tar.gz -C ~/datarobot_2.17.1

    install.packages('devtools') # (If you don't already have devtools on your system.)

    devtools::install('~/datarobot_2.17.1/datarobot')
    ```

=== "v6.0"

    Python: `pip install "datarobot>=2.20.2,<2.21.5"`

    R:

    ```
    mkdir -p ~/datarobot_2.17.1 && tar -xvzf ~/Downloads/datarobot_2.17.1.tar.gz -C ~/datarobot_2.17.1

    install.packages('devtools') # (If you don't already have devtools on your system.)

    devtools::install('~/datarobot_2.17.1/datarobot')
    ```


#### v5.x {: #v5x }

=== "v5.3"

    Python: `pip install "datarobot>=2.19.0,<2.20"`

    R:

    ```
    mkdir -p ~/datarobot_2.17.1 && tar -xvzf ~/Downloads/datarobot_2.17.1.tar.gz -C ~/datarobot_2.17.1

    install.packages('devtools') # (If you don't already have devtools on your system.)

    devtools::install('~/datarobot_2.17.1/datarobot')
    ```

=== "v5.2"

    Python: `pip install "datarobot>=2.18,<2.19"`

    R:

    ```
    mkdir -p ~/datarobot_2.17.1 && tar -xvzf ~/Downloads/datarobot_2.17.1.tar.gz -C ~/datarobot_2.17.1

    install.packages('devtools') # (If you don't already have devtools on your system.)

    devtools::install('~/datarobot_2.17.1/datarobot')
    ```

=== "v5.1"

    Python: `pip install "datarobot>=2.17,<2.18"`

    R:

    ```
    mkdir -p ~/datarobot_2.17.1 && tar -xvzf ~/Downloads/datarobot_2.17.1.tar.gz -C ~/datarobot_2.17.1

    install.packages('devtools') # (If you don't already have devtools on your system.)

    devtools::install('~/datarobot_2.17.1/datarobot')
    ```

=== "v5.0"

    Python: `pip install "datarobot>=2.15,<2.16"`

    R:

    ```
    mkdir -p ~/datarobot_2.15.0 && tar -xvzf ~/Downloads/datarobot_2.15.0.tar.gz -C ~/datarobot_2.15.0

    install.packages('devtools') # (If you don't already have devtools on your system.)

    devtools::install('~/datarobot_2.15.0/datarobot')
    ```

#### v4.x {: #v4x }

=== "v4.5"

    Python: `pip install "datarobot>=2.14,<2.15"`

    R:

    ```
    mkdir -p ~/datarobot_2.14.0 && tar -xvzf ~/Downloads/datarobot_2.14.0.tar.gz -C ~/datarobot_2.14.0

    install.packages('devtools') # (If you don't already have devtools on your system.)

    devtools::install('~/datarobot_2.14.0/datarobot')
    ```

=== "v4.4"

    Python: `pip install "datarobot>=2.13,<2.14"`

    R:

    ```
    mkdir -p ~/datarobot_2.13.0 && tar -xvzf ~/Downloads/datarobot_2.13.0.tar.gz -C ~/datarobot_2.13.0

    install.packages('devtools') # (If you don't already have devtools on your system.)

    devtools::install('~/datarobot_2.13.0/datarobot')
    ```

=== "v4.3.1"

    Python: `pip install "datarobot>=2.12,<2.13"`

    R:

    ```
    mkdir -p ~/datarobot_2.12.1 && tar -xvzf ~/Downloads/datarobot_2.12.1.tar.gz -C ~/datarobot_2.12.1

    install.packages('devtools') # (If you don't already have devtools on your system.)

    devtools::install('~/datarobot_2.12.1/datarobot')
    ```

=== "v4.3"

    Python: `pip install "datarobot>=2.11,<2.12"`

    R:

    ```
    mkdir -p ~/datarobot_2.11.0 && tar -xvzf ~/Downloads/datarobot_2.11.0.tar.gz -C ~/datarobot_2.11.0

    install.packages('devtools') # (If you don't already have devtools on your system.)

    devtools::install('~/datarobot_2.11.0/datarobot')
    ```

=== "v4.2"

    Python: `pip install "datarobot>=2.9,<2.10"`

    R:

    ```
    mkdir -p ~/datarobot_2.9.0 && tar -xvzf ~/Downloads/datarobot_2.9.0.tar.gz -C ~/datarobot_2.9.0

    install.packages('devtools') # (If you don't already have devtools on your system.)

    devtools::install('~/datarobot_2.9.0/datarobot')
    ```

=== "v4.0"

    Python: `pip install "datarobot>=2.8,<2.9"`

    R:

    ```
    mkdir -p ~/datarobot_2.8.0 && tar -xvzf ~/Downloads/datarobot_2.8.0.tar.gz -C ~/datarobot_2.8.0

    install.packages('devtools') # (If you don't already have devtools on your system.)

    devtools::install('~/datarobot_2.8.0/datarobot')
    ```

#### v3.x {: #v3x }

=== "v3.1"

    Python: `pip install "datarobot>=2.7,<2.8"`

    R:

    ```
    mkdir -p ~/datarobot_2.7.0 && tar -xvzf ~/Downloads/datarobot_2.7.0.tar.gz -C ~/datarobot_2.7.0

    install.packages('devtools') # (If you don't already have devtools on your system.)

    devtools::install('~/datarobot_2.7.0/datarobot')
    ```

=== "v3.0"

    Python: `pip install "datarobot>=2.8,<2.9"`

    R:

    ```
    mkdir -p ~/datarobot_2.6.0 && tar -xvzf ~/Downloads/datarobot_2.6.0.tar.gz -C ~/datarobot_2.6.0

    install.packages('devtools') # (If you don't already have devtools on your system.)

    devtools::install('~/datarobot_2.6.0/datarobot')
    ```

#### v2.x {: #v2x }

=== "v2.9"

    Python: `pip install "datarobot>=2.4,<2.5"`

    R:

    ```
    mkdir -p ~/datarobot_2.4.0 && tar -xvzf ~/Downloads/datarobot_2.4.0.tar.gz -C ~/datarobot_2.4.0

    install.packages('devtools') # (If you don't already have devtools on your system.)

    devtools::install('~/datarobot_2.4.0/datarobot')
    ```

=== "v2.8"

    Python: `pip install "datarobot>=2.0,<2.1"`

    R: `install.packages("datarobot", type="source")`
