> For the complete documentation index, see [llms.txt](https://docs.junglegym.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.junglegym.ai/junglegym/api-documentation/webarena-api.md).

# WebArena API

## WebArena Description

WebArena provides a dataset of tasks with different fully functional emulated web environments for testing web agents. The tasks (intents) can be found in this API and the emulated web environments [here](https://www.junglegym.ai/Emulated%20Web%20Enviroments). The WebArena paper can be found [here](https://arxiv.org/abs/2307.13854).

## WebArena API Documentation

### Introduction

This API serves the WebArena dataset engine which provides endpoints to access partial and full datasets.

* **Version**: 0.0.9 (Experimental).
* **Status**: Development.
* **Rate Limit**: 500 requests per minute.
* **Root Endpoint**: `https://api.junglegym.ai/`

### WebArena Endpoints

#### 1. Get Full WebArena Dataset

* **URL**: `/get_full_webarena_dataset`
* **Method**: GET
* **Rate Limit**: 500/minute.
* **Response**: Returns full WebArena dataset.

```json
jsonCopy code{
    "data": [...]
}
```

#### 2. Get WebArena Tasks

* **URL**: `/get_webarena_tasks`
* **Method**: GET
* **Rate Limit**: 500/minute.
* **Response**: Returns WebArena tasks' intents and start URLs.

```json
jsonCopy code{
    "data": [...]
}
```

#### 3. Get WebArena by Task

* **URL**: `/get_webarena_by_task?task=<task>`
* **Method**: GET
* **Rate Limit**: 500/minute.
* **Response**: Returns data filtered by task.

```json
jsonCopy code{
    "data": [...]
}
```

#### 4. Get WebArena by Task ID

* **URL**: `/get_webarena_by_task_id?task_id=<task_id>`
* **Method**: GET
* **Rate Limit**: 500/minute.
* **Response**: Returns data filtered by task ID.

```json
jsonCopy code{
    "data": [...]
}
```

#### 5. Get WebArena by Domain

* **URL**: `/get_webarena_by_domain?domain=<domain>`
* **Method**: GET
* **Rate Limit**: 500/minute.
* **Response**: Returns data filtered by domain.

```json
jsonCopy code{
    "data": [...]
}
```

### Errors

* **401 Unauthorized**: Forbidden or unauthorized access.
* **404 Not Found**: Requested resource or data not found.
* **500 Internal Server Error**: Internal server issues.

Check the `detail` field in the response for a specific error message.
