- Core Resources
  - System
    - getEndpoint for checking the status of Browse AI infrastructure
  - Robots
    - getRetrieve list of robots under your account
    - getRetrieve single robot by ID
    - patchUpdate a robot's cookies
  - Tasks
    - getGet all tasks by a robot
    - postRun a robot
    - getRetrieve a task
  - Monitors
    - getRetrieve a robot's monitors
    - postCreate a new monitor on a robot
    - getRetrieve a robot's monitor
    - patchUpdate a robot's monitor
    - delDelete a robot's monitor
  - Webhooks
    - EventTask Finished
    - EventTable Export Finished (Beta)
    - getRetrieve a robot's webhooks
    - postCreate a new webhook on a robot
    - delDelete a robot's webhook
  - Bulk Runs
    - postBulk run tasks
    - getRetrieve a robot's bulk runs list
    - getRetrieve a robot's bulk run

API docs by Redocly](https://redocly.com/redoc/)

# Browse AI API Documentation (v2)

Download OpenAPI specification: [Download](https://api.browse.ai/v2/openapi)

If you are still using the deprecated API v1 version, you can see its documentation [here](https://www.browse.ai/docs/api/v1).

## [tag/system](https://www.browse.ai/docs/api/v2\#tag/system) System

This tag is used for endpoints that are used to check the status of Browse AI infrastructure

## [tag/system/operation/getSystemStatus](https://www.browse.ai/docs/api/v2\#tag/system/operation/getSystemStatus) Endpoint for checking the status of Browse AI infrastructure

This endpoint provides you with real-time information regarding the operational status of the Browse AI infrastructure. It gives insights into the condition of the tasks queue, thus allowing you to understand if the services are running smoothly or are under maintenance.

### Responses

**200**

A JSON containing Browse AI infrastructure status

get/status

https://api.browse.ai/v2/status

### Request samples

- C#
- Go
- Java
- Node (Native)
- Node (request)
- Objective-C
- PHP
- Python (python3)
- Python (requests)
- Ruby
- Shell (cURL)
- Shell (wget)
- Swift

Copy

```
var client = new RestClient("https://api.browse.ai/v2/status");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer YOUR_SECRET_API_KEY");
IRestResponse response = client.Execute(request);
```

### Response samples

- 200

Content type

application/json

Copy

`{"statusCode": 200,

"messageCode": "success",

"tasksQueueStatus": "OK"

}`

## [tag/robots](https://www.browse.ai/docs/api/v2\#tag/robots) Robots

A robot can be trained do almost anything you do manually on the web. For example:

- Open a webpage,
- Log in,
- Click on buttons,
- Fill out forms,
- Extract structured data from a webpage into a spreadsheet,
- Take screenshots,
- Monitor specific parts of webpages for visual or content changes.

Robots are created either by using Prebuilt Robots or using Browse AI Recorder and its click-and-extract interface. Every robot has a few input parameters (like the webpage address) that you can adjust every time you run it.

## [tag/robots/operation/getRobots](https://www.browse.ai/docs/api/v2\#tag/robots/operation/getRobots) Retrieve list of robots under your account

If you have already created a few robots on [your dashboard](https://dashboard.browse.ai/), you can use this endpoint to retrieve a list of them.

You can then use other endpoints to retrieve more information about your robots or run robots.

##### header Parameters

|     |     |
| --- | --- |
| authorization<br>required | string<br>Example: Bearer YOUR\_SECRET\_API\_KEY<br>You can generate a new API key on [your dashboard](https://dashboard.browse.ai/api) if you do not have one. |

### Responses

**200**

A JSON containing the total number of robots and an array of robots under this team.

**401**

The request is not authorized

get/robots

https://api.browse.ai/v2/robots

### Request samples

- C#
- Go
- Java
- Node (Native)
- Node (request)
- Objective-C
- PHP
- Python (python3)
- Python (requests)
- Ruby
- Shell (cURL)
- Shell (wget)
- Swift

Copy

```
var client = new RestClient("https://api.browse.ai/v2/robots");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer YOUR_SECRET_API_KEY");
IRestResponse response = client.Execute(request);
```

### Response samples

- 200
- 401

Content type

application/json

Copy
Expand all  Collapse all

`{"statusCode": 200,

"messageCode": "success",

"robots": {"totalCount": 20,

"items": [{"id": "4f5cd7ff-6c98-4cac-8cf0-d7d0cb050b06",\
\
"name": "Extract data from Realtor.com",\
\
"createdAt": 1678795867879,\
\
"inputParameters": [{"type": "string",\
\
"name": "originUrl",\
\
"label": "Origin URL",\
\
"required": false,\
\
"encrypted": false,\
\
"defaultValue": "https://www.espressozone.com/espresso-machines/semi-automatic-espresso-machines"\
\
}\
\
]\
\
}\
\
]

}

}`

## [tag/robots/operation/getRobot](https://www.browse.ai/docs/api/v2\#tag/robots/operation/getRobot) Retrieve single robot by ID

You can use this endpoint to retrieve a single robot by ID.

##### path Parameters

|     |     |
| --- | --- |
| robotId<br>required | string<br>Example: c3689adb-50aa-44af-b265-a7e0d4e5846e<br>Unique robot ID You can find a robot's ID by opening it on the dashboard and copying its ID in the browser address bar. |

##### header Parameters

### Responses

**200**

A JSON containing the total number of robots and an array of robots under this team.

**400**

A JSON containing an error code and message.

**401**

The request is not authorized

**404**

The resource is not found

**500**

There was an error on the server

get/robots/{robotId}

https://api.browse.ai/v2/robots/{robotId}

### Request samples

- C#
- Go
- Java
- Node (Native)
- Node (request)
- Objective-C
- PHP
- Python (python3)
- Python (requests)
- Ruby
- Shell (cURL)
- Shell (wget)
- Swift

Copy

```
var client = new RestClient("https://api.browse.ai/v2/robots/{robotId}");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer YOUR_SECRET_API_KEY");
IRestResponse response = client.Execute(request);
```

### Response samples

- 200
- 400
- 401
- 404
- 500

Content type

application/json

Copy
Expand all  Collapse all

`{"statusCode": 200,

"messageCode": "success",

"robot": {"id": "4f5cd7ff-6c98-4cac-8cf0-d7d0cb050b06",

"name": "Extract data from Realtor.com",

"createdAt": 1678795867879,

"inputParameters": [{"type": "string",\
\
"name": "originUrl",\
\
"label": "Origin URL",\
\
"required": false,\
\
"encrypted": false,\
\
"defaultValue": "https://www.espressozone.com/espresso-machines/semi-automatic-espresso-machines"\
\
}\
\
]

}

}`

## [tag/robots/operation/upsertRobotCookies](https://www.browse.ai/docs/api/v2\#tag/robots/operation/upsertRobotCookies) Update a robot's cookies

Update a robot's cookies

##### path Parameters

|     |     |
| --- | --- |
| robotId<br>required | string<br>Example: c3689adb-50aa-44af-b265-a7e0d4e5846e<br>Unique robot ID<br>You can find a robot's ID by opening it on the dashboard and copying its ID in the browser address bar. |

##### header Parameters

##### Request Body schema: application/json  required

Array

|     |     |
| --- | --- |
| name<br>required | string<br>The name of the cookie. |
| value<br>required | string<br>The value of the cookie. |
| domain | string<br>The domain associated with the cookie. Specifies the domains to which the cookie should be sent. |
| expirationDate | number <int64> <br>The expiration date of the cookie in seconds since the UNIX epoch (e.g., POSIX time). If not provided, the cookie will be treated as a session cookie. |
| path | string<br>The URL path to which the cookie should be sent. If not provided, it defaults to the current path of the document location. |
| secure | boolean<br>Indicates whether the cookie should only be sent over secure (HTTPS) connections. If true, the cookie will not be sent over unencrypted HTTP connections. |
| httpOnly | boolean<br>If true, the cookie is accessible only through the HTTP(S) protocol and cannot be accessed through JavaScript or other client-side scripts. |
| hostOnly | boolean<br>If true, the cookie is only sent to the exact domain specified in the "domain" property. If false, the cookie is sent to subdomains as well, provided that the "domain" property allows it. |

### Responses

**200**

A JSON object containing the updated monitor.

**400**

A JSON containing error attributes. This will happen if any of the parameters are not valid.

**401**

The request is not authorized

**404**

The resource is not found

**500**

There was an error on the server

patch/robots/{robotId}/cookies

https://api.browse.ai/v2/robots/{robotId}/cookies

### Request samples

- Payload
- C#
- Go
- Java
- Node (Native)
- Node (request)
- Objective-C
- PHP
- Python (python3)
- Python (requests)
- Ruby
- Shell (cURL)
- Shell (wget)
- Swift

Content type

application/json

Copy
Expand all  Collapse all

`[{"name": "ACCOUNT_CHOOSER",\
\
"value": 12341234,\
\
"domain": ".example.com",\
\
"expirationDate": 1723659417,\
\
"path": "/products/",\
\
"secure": true,\
\
"httpOnly": true,\
\
"hostOnly": true\
\
}\
\
]`

### Response samples

- 200
- 400
- 401
- 404
- 500

Content type

application/json

Copy
Expand all  Collapse all

`{"statusCode": 200,

"messageCode": "success",

"cookies": [{"name": "ACCOUNT_CHOOSER",\
\
"value": 12341234,\
\
"domain": ".example.com",\
\
"expirationDate": 1723659417,\
\
"path": "/products/",\
\
"secure": true,\
\
"httpOnly": true,\
\
"hostOnly": true\
\
}\
\
]

}`

## [tag/tasks](https://www.browse.ai/docs/api/v2\#tag/tasks) Tasks

Each robot is trained to perform a certain task. Every time you run that robot, it will perform that task and the details, including the extracted data, will be stored under that task.

If you set up a monitoring robot to monitor a webpage for changes daily, it will have to run a task every day or about 30 tasks per month for you.

## [tag/tasks/operation/getRobotTasks](https://www.browse.ai/docs/api/v2\#tag/tasks/operation/getRobotTasks) Get all tasks by a robot

Get all of a robot's tasks

##### path Parameters

##### query Parameters

|     |     |
| --- | --- |
| page | integer >= 1 <br>Example: page=1<br>Page number |
| pageSize | integer \[ 1 .. 10 \] <br>Default: 10<br>Example: pageSize=10<br>Page size |
| status | string<br>Enum:"failed""successful""in-progress"<br>Example: status=successful<br>Task status |
| robotBulkRunId | string<br>Example: robotBulkRunId=f6fb62b6-f06a-4bf7-a623-c6a35c2e70b0<br>filter the result based on robot bulk run ID |
| sort | string<br>Example: sort=-createdAt,finishedAt<br>A comma separated list of fields to sort by. Default sorting is ascending and prefixing field names with a hyphen '-' yields a descending order. |
| includeRetried | boolean<br>Example: includeRetried=false<br>by passing false you can exclude the retried tasks |
| fromDate | integer<br>Example: fromDate=1678795867879<br>From task creation date and time in the form of a Unix timestamp |
| toDate | integer<br>Example: toDate=1678795867879<br>To task creation date and time in the form of a Unix timestamp |

##### header Parameters

### Responses

**200**

A JSON including robots list.

**400**

A JSON containing error attributes. This will happen if any of the parameters are not valid.

**401**

The request is not authorized

get/robots/{robotId}/tasks

https://api.browse.ai/v2/robots/{robotId}/tasks

### Request samples

- C#
- Go
- Java
- Node (Native)
- Node (request)
- Objective-C
- PHP
- Python (python3)
- Python (requests)
- Ruby
- Shell (cURL)
- Shell (wget)
- Swift

Copy

```
var client = new RestClient("https://api.browse.ai/v2/robots/{robotId}/tasks?page=1");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer YOUR_SECRET_API_KEY");
IRestResponse response = client.Execute(request);
```

### Response samples

- 200
- 400
- 401

Content type

application/json

Copy
Expand all  Collapse all

`{"statusCode": 200,

"messageCode": "success",

"result": {"robotTasks": {"totalCount": 20,

"pageNumber": 1,

"hasMore": true,

"items": [{"id": "f6fb62b6-f06a-4bf7-a623-c6a35c2e70b0",\
\
"inputParameters": {"originUrl": "https://www.ycombinator.com/companies/airbnb",\
\
"companies_skip": 0,\
\
"companies_limit": 10\
\
},\
\
"robotId": "4f5cd7ff-6c98-4cac-8cf0-d7d0cb050b06",\
\
"status": "successful",\
\
"runByUserId": null,\
\
"robotBulkRunId": null,\
\
"runByTaskMonitorId": null,\
\
"runByAPI": true,\
\
"createdAt": 1678795867879,\
\
"startedAt": 1678795867879,\
\
"finishedAt": 1678795867879,\
\
"userFriendlyError": null,\
\
"triedRecordingVideo": true,\
\
"videoUrl": "https://prod-browseai-captured-data.s3.amazonaws.com/1fae674a-2788-46a8-83c8-95c4664c6d25/6326b3c1-7b16-4256-a323-7d8d8954bd4e/1061671f-7f71-42ac-bb9a-207d126d1f3a/system-1620230966-b1a9688b-05d3-4682-beeb-9ce035e482b1.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAQVG3TPBVXHSCAX63%2F20221031%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221031T185642Z&X-Amz-Expires=1800&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEJP%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJIMEYCIQDfX8VNAl5kBgttrCU85U5wc1ZtSOmshO6%2FPilXOv8nvgIhAIveFfsk%2B2CnEkrMZWriodEPsj0osO5a5zV6eVu%2FXfuZKp8DCHwQAhoMMDQ1NTU3NzA4OTA3IgyrbhVK0MP1WMFBXh0q%2FAJulP5qfaV5mn3NRbINqZN4hy4Dg3IujNrZjw8ef32sWE1Gj2D%2Fc0YTJUzvx%2Fnm7LxyNO6AR35mrVy%2FBm9Q80UIspkcLMl45EK%2FoUDO0fAvoUF8g6iZ905qS3MvnOTxXkObhM1PVmpFeJFMw3jksnOPfKE4X7Ut%2FJXNwD%2F5QzdkQCXkGem%2BlrYSSSf8jB8lihTAjT%2FNXmOKMv3jktmZ13T8J1R8F8zeuLPMQf7QphUzlKn5joPb28cConluQC97y%2BjwxqIYjvIFKXY9cZEoaHGh4c6FbXsia714zG3CQp8NSGLbqCCu93oJI1Z61E%2BZ6PhB3vZGdBvXi61AlJcxZ7sti6i0h4VAbWspiJIgWwoZzrsTtneBNNpUW9tvtacGgEZIwAKV%2F3AhVEZu3WC1eQ9HtfjT9%2FjW99SEB8VVGXwkM%2FA9mtT%2FuiL0cAfQZRMhtbQJXXDRdkYEw%2FWuhjJ3zxEtEB2m3uH%2B%2BUEzOzGTd5Knm%2Bero%2BhMfN8X%2Botm3DDbtICbBjqcAf5Riii0XE1w2TZvpm%2FPNHTchCu7FnNz5hfvflv8scpgO5M4bGpy%2FadI4%2F7AUQqCQXFw4scF0FCCdb8AKJZsFGG18W1jjDHyR0YuxZFQ%2FJQRt0JP3yr%2BkVxjAH7qTtc0AzF%2FnGTgy3MOF%2Bm6Y7EkyCWyV2r6o1JTBQMftlf7MI8Uvw4cSZE6JoZviaFtmKVLGGgR4F3cDiyU56augA%3D%3D&X-Amz-Signature=a7bb4d7597ad37cdf1f260890c3c474f7f49334db58c9650d75302a34126f7bc&X-Amz-SignedHeaders=host",\
\
"videoRemovedAt": 1678795867879,\
\
"retriedOriginalTaskId": "673da019-bf0c-476e-9c4f-d35252a151dc",\
\
"retriedByTaskId": null,\
\
"capturedDataTemporaryUrl": "https://prod-browseai-captured-data.s3.amazonaws.com/1fae674a-2788-46a8-83c8-95c4664c6d25/6326b3c1-7b16-4256-a323-7d8d8954bd4e/1061671f-7f71-42ac-bb9a-207d126d1f3a/system-1620230966-b1a9688b-05d3-4682-beeb-9ce035e482b1.json?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAQVG3TPBVXHSCAX63%2F20221031%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221031T185642Z&X-Amz-Expires=1800&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEJP%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJIMEYCIQDfX8VNAl5kBgttrCU85U5wc1ZtSOmshO6%2FPilXOv8nvgIhAIveFfsk%2B2CnEkrMZWriodEPsj0osO5a5zV6eVu%2FXfuZKp8DCHwQAhoMMDQ1NTU3NzA4OTA3IgyrbhVK0MP1WMFBXh0q%2FAJulP5qfaV5mn3NRbINqZN4hy4Dg3IujNrZjw8ef32sWE1Gj2D%2Fc0YTJUzvx%2Fnm7LxyNO6AR35mrVy%2FBm9Q80UIspkcLMl45EK%2FoUDO0fAvoUF8g6iZ905qS3MvnOTxXkObhM1PVmpFeJFMw3jksnOPfKE4X7Ut%2FJXNwD%2F5QzdkQCXkGem%2BlrYSSSf8jB8lihTAjT%2FNXmOKMv3jktmZ13T8J1R8F8zeuLPMQf7QphUzlKn5joPb28cConluQC97y%2BjwxqIYjvIFKXY9cZEoaHGh4c6FbXsia714zG3CQp8NSGLbqCCu93oJI1Z61E%2BZ6PhB3vZGdBvXi61AlJcxZ7sti6i0h4VAbWspiJIgWwoZzrsTtneBNNpUW9tvtacGgEZIwAKV%2F3AhVEZu3WC1eQ9HtfjT9%2FjW99SEB8VVGXwkM%2FA9mtT%2FuiL0cAfQZRMhtbQJXXDRdkYEw%2FWuhjJ3zxEtEB2m3uH%2B%2BUEzOzGTd5Knm%2Bero%2BhMfN8X%2Botm3DDbtICbBjqcAf5Riii0XE1w2TZvpm%2FPNHTchCu7FnNz5hfvflv8scpgO5M4bGpy%2FadI4%2F7AUQqCQXFw4scF0FCCdb8AKJZsFGG18W1jjDHyR0YuxZFQ%2FJQRt0JP3yr%2BkVxjAH7qTtc0AzF%2FnGTgy3MOF%2Bm6Y7EkyCWyV2r6o1JTBQMftlf7MI8Uvw4cSZE6JoZviaFtmKVLGGgR4F3cDiyU56augA%3D%3D&X-Amz-Signature=a7bb4d7597ad37cdf1f260890c3c474f7f49334db58c9650d75302a34126f7bc&X-Amz-SignedHeaders=host",\
\
"capturedTexts": {"Product Name": "Alexis",\
\
"Width": "15",\
\
"Pattern Repeat": "PATTERN REPEAT",\
\
"Construction": "Hand woven",\
\
"Fiber": "100% Wool",\
\
"Color": null,\
\
"Main Image": "https://isteam.wsimg.com/ip/e31f7bba-252b-4669-9209-639d1c00765d/ols/258_original"\
\
},\
\
"capturedScreenshots": {"top-ads": {"id": "b4d132f3-12d9-4770-ac7d-88e481fc5b47",\
\
"name": "Top ads",\
\
"src": "https://prod-browseai-captured-data.s3.amazonaws.com/1fae674a-2788-46a8-83c8-95c4664c6d25/6326b3c1-7b16-4256-a323-7d8d8954bd4e/1061671f-7f71-42ac-bb9a-207d126d1f3a/00001-user-1620230947-6f113cf2-90ef-4c66-a448-9d5c6bd64873.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAQVG3TPBVXHSCAX63%2F20221031%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221031T185642Z&X-Amz-Expires=1800&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEJP%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJIMEYCIQDfX8VNAl5kBgttrCU85U5wc1ZtSOmshO6%2FPilXOv8nvgIhAIveFfsk%2B2CnEkrMZWriodEPsj0osO5a5zV6eVu%2FXfuZKp8DCHwQAhoMMDQ1NTU3NzA4OTA3IgyrbhVK0MP1WMFBXh0q%2FAJulP5qfaV5mn3NRbINqZN4hy4Dg3IujNrZjw8ef32sWE1Gj2D%2Fc0YTJUzvx%2Fnm7LxyNO6AR35mrVy%2FBm9Q80UIspkcLMl45EK%2FoUDO0fAvoUF8g6iZ905qS3MvnOTxXkObhM1PVmpFeJFMw3jksnOPfKE4X7Ut%2FJXNwD%2F5QzdkQCXkGem%2BlrYSSSf8jB8lihTAjT%2FNXmOKMv3jktmZ13T8J1R8F8zeuLPMQf7QphUzlKn5joPb28cConluQC97y%2BjwxqIYjvIFKXY9cZEoaHGh4c6FbXsia714zG3CQp8NSGLbqCCu93oJI1Z61E%2BZ6PhB3vZGdBvXi61AlJcxZ7sti6i0h4VAbWspiJIgWwoZzrsTtneBNNpUW9tvtacGgEZIwAKV%2F3AhVEZu3WC1eQ9HtfjT9%2FjW99SEB8VVGXwkM%2FA9mtT%2FuiL0cAfQZRMhtbQJXXDRdkYEw%2FWuhjJ3zxEtEB2m3uH%2B%2BUEzOzGTd5Knm%2Bero%2BhMfN8X%2Botm3DDbtICbBjqcAf5Riii0XE1w2TZvpm%2FPNHTchCu7FnNz5hfvflv8scpgO5M4bGpy%2FadI4%2F7AUQqCQXFw4scF0FCCdb8AKJZsFGG18W1jjDHyR0YuxZFQ%2FJQRt0JP3yr%2BkVxjAH7qTtc0AzF%2FnGTgy3MOF%2Bm6Y7EkyCWyV2r6o1JTBQMftlf7MI8Uvw4cSZE6JoZviaFtmKVLGGgR4F3cDiyU56augA%3D%3D&X-Amz-Signature=a7bb4d7597ad37cdf1f260890c3c474f7f49334db58c9650d75302a34126f7bc&X-Amz-SignedHeaders=host",\
\
"width": 600,\
\
"height": 120,\
\
"x": 201,\
\
"y": 142,\
\
"deviceScaleFactor": 1.2,\
\
"full": "page",\
\
"comparedToScreenshotId": "29d742c2-6f45-4f29-9d48-ba6fe66e6e3d",\
\
"diffImageSrc": "https://prod-browseai-captured-data.s3.amazonaws.com/1fae674a-2788-46a8-83c8-95c4664c6d25/6326b3c1-7b16-4256-a323-7d8d8954bd4e/1061671f-7f71-42ac-bb9a-207d126d1f3a/00001-user-1620230947-6f113cf2-90ef-4c66-a448-9d5c6bd64873.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAQVG3TPBVXHSCAX63%2F20221031%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221031T185642Z&X-Amz-Expires=1800&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEJP%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJIMEYCIQDfX8VNAl5kBgttrCU85U5wc1ZtSOmshO6%2FPilXOv8nvgIhAIveFfsk%2B2CnEkrMZWriodEPsj0osO5a5zV6eVu%2FXfuZKp8DCHwQAhoMMDQ1NTU3NzA4OTA3IgyrbhVK0MP1WMFBXh0q%2FAJulP5qfaV5mn3NRbINqZN4hy4Dg3IujNrZjw8ef32sWE1Gj2D%2Fc0YTJUzvx%2Fnm7LxyNO6AR35mrVy%2FBm9Q80UIspkcLMl45EK%2FoUDO0fAvoUF8g6iZ905qS3MvnOTxXkObhM1PVmpFeJFMw3jksnOPfKE4X7Ut%2FJXNwD%2F5QzdkQCXkGem%2BlrYSSSf8jB8lihTAjT%2FNXmOKMv3jktmZ13T8J1R8F8zeuLPMQf7QphUzlKn5joPb28cConluQC97y%2BjwxqIYjvIFKXY9cZEoaHGh4c6FbXsia714zG3CQp8NSGLbqCCu93oJI1Z61E%2BZ6PhB3vZGdBvXi61AlJcxZ7sti6i0h4VAbWspiJIgWwoZzrsTtneBNNpUW9tvtacGgEZIwAKV%2F3AhVEZu3WC1eQ9HtfjT9%2FjW99SEB8VVGXwkM%2FA9mtT%2FuiL0cAfQZRMhtbQJXXDRdkYEw%2FWuhjJ3zxEtEB2m3uH%2B%2BUEzOzGTd5Knm%2Bero%2BhMfN8X%2Botm3DDbtICbBjqcAf5Riii0XE1w2TZvpm%2FPNHTchCu7FnNz5hfvflv8scpgO5M4bGpy%2FadI4%2F7AUQqCQXFw4scF0FCCdb8AKJZsFGG18W1jjDHyR0YuxZFQ%2FJQRt0JP3yr%2BkVxjAH7qTtc0AzF%2FnGTgy3MOF%2Bm6Y7EkyCWyV2r6o1JTBQMftlf7MI8Uvw4cSZE6JoZviaFtmKVLGGgR4F3cDiyU56augA%3D%3D&X-Amz-Signature=a7bb4d7597ad37cdf1f260890c3c474f7f49334db58c9650d75302a34126f7bc&X-Amz-SignedHeaders=host",\
\
"changePercentage": 20,\
\
"diffThreshold": 5,\
\
"fileRemovedAt": 1678795867879\
\
}\
\
},\
\
"capturedLists": {"companies": [{"Position": "1",\
\
"name": "Airbnb",\
\
"location": "San Francisco, CA, USA",\
\
"description": "Book accommodations around the world."\
\
},\
\
{"Position": "2",\
\
"name": "Coin base",\
\
"location": "San Francisco, CA, USA",\
\
"description": "Buy, sell, and manage crypto currencies."\
\
},\
\
{"Position": "3",\
\
"name": "DoorDash",\
\
"location": "San Francisco, CA, USA",\
\
"description": "Restaurant delivery."\
\
}\
\
]\
\
}\
\
}\
\
]

}

}

}`

## [tag/tasks/operation/newRobotTask](https://www.browse.ai/docs/api/v2\#tag/tasks/operation/newRobotTask) Run a robot

Run a robot on-demand with custom input parameters.

When you need to run a robot and get its captured data, you can use this endpoint to run the task, and then use webhooks to receive the captured data as soon as the task is finished. Alternatively, you can poll the GET endpoint to retrieve a task's details as soon as it is finished.

##### path Parameters

##### header Parameters

##### Request Body schema: application/json  optional

|     |     |
| --- | --- |
| recordVideo | boolean \[ 1 .. 200 \] characters <br>Try to record a video while running the task. This is not guaranteed to work as the robot might skip video recording if the site is too heavy. |
| inputParameters | object (InputParameters) <br>An object of input parameters to override default input parameters. |

### Responses

**200**

A JSON including robots list.

**400**

A JSON containing error attributes. This will happen if any of the parameters are not valid.

**401**

The request is not authorized

**403**

The request can not be processed

**404**

The resource is not found

**500**

There was an error on the server

**503**

A JSON containing error attributes.

post/robots/{robotId}/tasks

https://api.browse.ai/v2/robots/{robotId}/tasks

### Request samples

Content type

application/json

Copy
Expand all  Collapse all

`{"recordVideo": false,

"inputParameters": {"originUrl": "https://www.ycombinator.com/companies/airbnb",

"companies_skip": 0,

"companies_limit": 10

}

}`

### Response samples

- 200
- 400
- 401
- 403
- 404
- 500
- 503

Content type

application/json

Copy
Expand all  Collapse all

`{"statusCode": 200,

"messageCode": "success",

"result": {"id": "f6fb62b6-f06a-4bf7-a623-c6a35c2e70b0",

"inputParameters": {"originUrl": "https://www.ycombinator.com/companies/airbnb",

"companies_skip": 0,

"companies_limit": 10

},

"robotId": "4f5cd7ff-6c98-4cac-8cf0-d7d0cb050b06",

"status": "successful",

"runByUserId": null,

"robotBulkRunId": null,

"runByTaskMonitorId": null,

"runByAPI": true,

"createdAt": 1678795867879,

"startedAt": 1678795867879,

"finishedAt": 1678795867879,

"userFriendlyError": null,

"triedRecordingVideo": true,

"videoUrl": "https://prod-browseai-captured-data.s3.amazonaws.com/1fae674a-2788-46a8-83c8-95c4664c6d25/6326b3c1-7b16-4256-a323-7d8d8954bd4e/1061671f-7f71-42ac-bb9a-207d126d1f3a/system-1620230966-b1a9688b-05d3-4682-beeb-9ce035e482b1.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAQVG3TPBVXHSCAX63%2F20221031%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221031T185642Z&X-Amz-Expires=1800&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEJP%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJIMEYCIQDfX8VNAl5kBgttrCU85U5wc1ZtSOmshO6%2FPilXOv8nvgIhAIveFfsk%2B2CnEkrMZWriodEPsj0osO5a5zV6eVu%2FXfuZKp8DCHwQAhoMMDQ1NTU3NzA4OTA3IgyrbhVK0MP1WMFBXh0q%2FAJulP5qfaV5mn3NRbINqZN4hy4Dg3IujNrZjw8ef32sWE1Gj2D%2Fc0YTJUzvx%2Fnm7LxyNO6AR35mrVy%2FBm9Q80UIspkcLMl45EK%2FoUDO0fAvoUF8g6iZ905qS3MvnOTxXkObhM1PVmpFeJFMw3jksnOPfKE4X7Ut%2FJXNwD%2F5QzdkQCXkGem%2BlrYSSSf8jB8lihTAjT%2FNXmOKMv3jktmZ13T8J1R8F8zeuLPMQf7QphUzlKn5joPb28cConluQC97y%2BjwxqIYjvIFKXY9cZEoaHGh4c6FbXsia714zG3CQp8NSGLbqCCu93oJI1Z61E%2BZ6PhB3vZGdBvXi61AlJcxZ7sti6i0h4VAbWspiJIgWwoZzrsTtneBNNpUW9tvtacGgEZIwAKV%2F3AhVEZu3WC1eQ9HtfjT9%2FjW99SEB8VVGXwkM%2FA9mtT%2FuiL0cAfQZRMhtbQJXXDRdkYEw%2FWuhjJ3zxEtEB2m3uH%2B%2BUEzOzGTd5Knm%2Bero%2BhMfN8X%2Botm3DDbtICbBjqcAf5Riii0XE1w2TZvpm%2FPNHTchCu7FnNz5hfvflv8scpgO5M4bGpy%2FadI4%2F7AUQqCQXFw4scF0FCCdb8AKJZsFGG18W1jjDHyR0YuxZFQ%2FJQRt0JP3yr%2BkVxjAH7qTtc0AzF%2FnGTgy3MOF%2Bm6Y7EkyCWyV2r6o1JTBQMftlf7MI8Uvw4cSZE6JoZviaFtmKVLGGgR4F3cDiyU56augA%3D%3D&X-Amz-Signature=a7bb4d7597ad37cdf1f260890c3c474f7f49334db58c9650d75302a34126f7bc&X-Amz-SignedHeaders=host",

"videoRemovedAt": 1678795867879,

"retriedOriginalTaskId": "673da019-bf0c-476e-9c4f-d35252a151dc",

"retriedByTaskId": null,

"capturedDataTemporaryUrl": "https://prod-browseai-captured-data.s3.amazonaws.com/1fae674a-2788-46a8-83c8-95c4664c6d25/6326b3c1-7b16-4256-a323-7d8d8954bd4e/1061671f-7f71-42ac-bb9a-207d126d1f3a/system-1620230966-b1a9688b-05d3-4682-beeb-9ce035e482b1.json?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAQVG3TPBVXHSCAX63%2F20221031%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221031T185642Z&X-Amz-Expires=1800&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEJP%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJIMEYCIQDfX8VNAl5kBgttrCU85U5wc1ZtSOmshO6%2FPilXOv8nvgIhAIveFfsk%2B2CnEkrMZWriodEPsj0osO5a5zV6eVu%2FXfuZKp8DCHwQAhoMMDQ1NTU3NzA4OTA3IgyrbhVK0MP1WMFBXh0q%2FAJulP5qfaV5mn3NRbINqZN4hy4Dg3IujNrZjw8ef32sWE1Gj2D%2Fc0YTJUzvx%2Fnm7LxyNO6AR35mrVy%2FBm9Q80UIspkcLMl45EK%2FoUDO0fAvoUF8g6iZ905qS3MvnOTxXkObhM1PVmpFeJFMw3jksnOPfKE4X7Ut%2FJXNwD%2F5QzdkQCXkGem%2BlrYSSSf8jB8lihTAjT%2FNXmOKMv3jktmZ13T8J1R8F8zeuLPMQf7QphUzlKn5joPb28cConluQC97y%2BjwxqIYjvIFKXY9cZEoaHGh4c6FbXsia714zG3CQp8NSGLbqCCu93oJI1Z61E%2BZ6PhB3vZGdBvXi61AlJcxZ7sti6i0h4VAbWspiJIgWwoZzrsTtneBNNpUW9tvtacGgEZIwAKV%2F3AhVEZu3WC1eQ9HtfjT9%2FjW99SEB8VVGXwkM%2FA9mtT%2FuiL0cAfQZRMhtbQJXXDRdkYEw%2FWuhjJ3zxEtEB2m3uH%2B%2BUEzOzGTd5Knm%2Bero%2BhMfN8X%2Botm3DDbtICbBjqcAf5Riii0XE1w2TZvpm%2FPNHTchCu7FnNz5hfvflv8scpgO5M4bGpy%2FadI4%2F7AUQqCQXFw4scF0FCCdb8AKJZsFGG18W1jjDHyR0YuxZFQ%2FJQRt0JP3yr%2BkVxjAH7qTtc0AzF%2FnGTgy3MOF%2Bm6Y7EkyCWyV2r6o1JTBQMftlf7MI8Uvw4cSZE6JoZviaFtmKVLGGgR4F3cDiyU56augA%3D%3D&X-Amz-Signature=a7bb4d7597ad37cdf1f260890c3c474f7f49334db58c9650d75302a34126f7bc&X-Amz-SignedHeaders=host",

"capturedTexts": {"Product Name": "Alexis",

"Width": "15",

"Pattern Repeat": "PATTERN REPEAT",

"Construction": "Hand woven",

"Fiber": "100% Wool",

"Color": null,

"Main Image": "https://isteam.wsimg.com/ip/e31f7bba-252b-4669-9209-639d1c00765d/ols/258_original"

},

"capturedScreenshots": {"top-ads": {"id": "b4d132f3-12d9-4770-ac7d-88e481fc5b47",

"name": "Top ads",

"src": "https://prod-browseai-captured-data.s3.amazonaws.com/1fae674a-2788-46a8-83c8-95c4664c6d25/6326b3c1-7b16-4256-a323-7d8d8954bd4e/1061671f-7f71-42ac-bb9a-207d126d1f3a/00001-user-1620230947-6f113cf2-90ef-4c66-a448-9d5c6bd64873.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAQVG3TPBVXHSCAX63%2F20221031%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221031T185642Z&X-Amz-Expires=1800&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEJP%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJIMEYCIQDfX8VNAl5kBgttrCU85U5wc1ZtSOmshO6%2FPilXOv8nvgIhAIveFfsk%2B2CnEkrMZWriodEPsj0osO5a5zV6eVu%2FXfuZKp8DCHwQAhoMMDQ1NTU3NzA4OTA3IgyrbhVK0MP1WMFBXh0q%2FAJulP5qfaV5mn3NRbINqZN4hy4Dg3IujNrZjw8ef32sWE1Gj2D%2Fc0YTJUzvx%2Fnm7LxyNO6AR35mrVy%2FBm9Q80UIspkcLMl45EK%2FoUDO0fAvoUF8g6iZ905qS3MvnOTxXkObhM1PVmpFeJFMw3jksnOPfKE4X7Ut%2FJXNwD%2F5QzdkQCXkGem%2BlrYSSSf8jB8lihTAjT%2FNXmOKMv3jktmZ13T8J1R8F8zeuLPMQf7QphUzlKn5joPb28cConluQC97y%2BjwxqIYjvIFKXY9cZEoaHGh4c6FbXsia714zG3CQp8NSGLbqCCu93oJI1Z61E%2BZ6PhB3vZGdBvXi61AlJcxZ7sti6i0h4VAbWspiJIgWwoZzrsTtneBNNpUW9tvtacGgEZIwAKV%2F3AhVEZu3WC1eQ9HtfjT9%2FjW99SEB8VVGXwkM%2FA9mtT%2FuiL0cAfQZRMhtbQJXXDRdkYEw%2FWuhjJ3zxEtEB2m3uH%2B%2BUEzOzGTd5Knm%2Bero%2BhMfN8X%2Botm3DDbtICbBjqcAf5Riii0XE1w2TZvpm%2FPNHTchCu7FnNz5hfvflv8scpgO5M4bGpy%2FadI4%2F7AUQqCQXFw4scF0FCCdb8AKJZsFGG18W1jjDHyR0YuxZFQ%2FJQRt0JP3yr%2BkVxjAH7qTtc0AzF%2FnGTgy3MOF%2Bm6Y7EkyCWyV2r6o1JTBQMftlf7MI8Uvw4cSZE6JoZviaFtmKVLGGgR4F3cDiyU56augA%3D%3D&X-Amz-Signature=a7bb4d7597ad37cdf1f260890c3c474f7f49334db58c9650d75302a34126f7bc&X-Amz-SignedHeaders=host",

"width": 600,

"height": 120,

"x": 201,

"y": 142,

"deviceScaleFactor": 1.2,

"full": "page",

"comparedToScreenshotId": "29d742c2-6f45-4f29-9d48-ba6fe66e6e3d",

"diffImageSrc": "https://prod-browseai-captured-data.s3.amazonaws.com/1fae674a-2788-46a8-83c8-95c4664c6d25/6326b3c1-7b16-4256-a323-7d8d8954bd4e/1061671f-7f71-42ac-bb9a-207d126d1f3a/00001-user-1620230947-6f113cf2-90ef-4c66-a448-9d5c6bd64873.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAQVG3TPBVXHSCAX63%2F20221031%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221031T185642Z&X-Amz-Expires=1800&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEJP%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJIMEYCIQDfX8VNAl5kBgttrCU85U5wc1ZtSOmshO6%2FPilXOv8nvgIhAIveFfsk%2B2CnEkrMZWriodEPsj0osO5a5zV6eVu%2FXfuZKp8DCHwQAhoMMDQ1NTU3NzA4OTA3IgyrbhVK0MP1WMFBXh0q%2FAJulP5qfaV5mn3NRbINqZN4hy4Dg3IujNrZjw8ef32sWE1Gj2D%2Fc0YTJUzvx%2Fnm7LxyNO6AR35mrVy%2FBm9Q80UIspkcLMl45EK%2FoUDO0fAvoUF8g6iZ905qS3MvnOTxXkObhM1PVmpFeJFMw3jksnOPfKE4X7Ut%2FJXNwD%2F5QzdkQCXkGem%2BlrYSSSf8jB8lihTAjT%2FNXmOKMv3jktmZ13T8J1R8F8zeuLPMQf7QphUzlKn5joPb28cConluQC97y%2BjwxqIYjvIFKXY9cZEoaHGh4c6FbXsia714zG3CQp8NSGLbqCCu93oJI1Z61E%2BZ6PhB3vZGdBvXi61AlJcxZ7sti6i0h4VAbWspiJIgWwoZzrsTtneBNNpUW9tvtacGgEZIwAKV%2F3AhVEZu3WC1eQ9HtfjT9%2FjW99SEB8VVGXwkM%2FA9mtT%2FuiL0cAfQZRMhtbQJXXDRdkYEw%2FWuhjJ3zxEtEB2m3uH%2B%2BUEzOzGTd5Knm%2Bero%2BhMfN8X%2Botm3DDbtICbBjqcAf5Riii0XE1w2TZvpm%2FPNHTchCu7FnNz5hfvflv8scpgO5M4bGpy%2FadI4%2F7AUQqCQXFw4scF0FCCdb8AKJZsFGG18W1jjDHyR0YuxZFQ%2FJQRt0JP3yr%2BkVxjAH7qTtc0AzF%2FnGTgy3MOF%2Bm6Y7EkyCWyV2r6o1JTBQMftlf7MI8Uvw4cSZE6JoZviaFtmKVLGGgR4F3cDiyU56augA%3D%3D&X-Amz-Signature=a7bb4d7597ad37cdf1f260890c3c474f7f49334db58c9650d75302a34126f7bc&X-Amz-SignedHeaders=host",

"changePercentage": 20,

"diffThreshold": 5,

"fileRemovedAt": 1678795867879

}

},

"capturedLists": {"companies": [{"Position": "1",\
\
"name": "Airbnb",\
\
"location": "San Francisco, CA, USA",\
\
"description": "Book accommodations around the world."\
\
},\
\
{"Position": "2",\
\
"name": "Coin base",\
\
"location": "San Francisco, CA, USA",\
\
"description": "Buy, sell, and manage crypto currencies."\
\
},\
\
{"Position": "3",\
\
"name": "DoorDash",\
\
"location": "San Francisco, CA, USA",\
\
"description": "Restaurant delivery."\
\
}\
\
]

}

}

}`

## [tag/tasks/operation/getRobotTask](https://www.browse.ai/docs/api/v2\#tag/tasks/operation/getRobotTask) Retrieve a task

Retrieve a task's details and captured data.

##### path Parameters

|     |     |
| --- | --- |
| robotId<br>required | string<br>Example: c3689adb-50aa-44af-b265-a7e0d4e5846e<br>Unique robot ID<br>You can find a robot's ID by opening it on the dashboard and copying its ID in the browser address bar. |
| taskId<br>required | string<br>Example: f3672790-4561-424b-8a7b-7b7df182b236<br>Unique task ID |

##### header Parameters

### Responses

**200**

A JSON including robots list.

**400**

A JSON containing error attributes. This will happen if any of the parameters are not valid.

**401**

The request is not authorized

**404**

The resource is not found

get/robots/{robotId}/tasks/{taskId}

https://api.browse.ai/v2/robots/{robotId}/tasks/{taskId}

### Request samples

- C#
- Go
- Java
- Node (Native)
- Node (request)
- Objective-C
- PHP
- Python (python3)
- Python (requests)
- Ruby
- Shell (cURL)
- Shell (wget)
- Swift

Copy

```
var client = new RestClient("https://api.browse.ai/v2/robots/{robotId}/tasks/{taskId}");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer YOUR_SECRET_API_KEY");
IRestResponse response = client.Execute(request);
```

### Response samples

- 200
- 400
- 401
- 404

Content type

application/json

Copy
Expand all  Collapse all

`{"statusCode": 200,

"messageCode": "success",

"result": {"id": "f6fb62b6-f06a-4bf7-a623-c6a35c2e70b0",

"inputParameters": {"originUrl": "https://www.ycombinator.com/companies/airbnb",

"companies_skip": 0,

"companies_limit": 10

},

"robotId": "4f5cd7ff-6c98-4cac-8cf0-d7d0cb050b06",

"status": "successful",

"runByUserId": null,

"robotBulkRunId": null,

"runByTaskMonitorId": null,

"runByAPI": true,

"createdAt": 1678795867879,

"startedAt": 1678795867879,

"finishedAt": 1678795867879,

"userFriendlyError": null,

"triedRecordingVideo": true,

"videoRemovedAt": 1678795867879,

"retriedOriginalTaskId": "673da019-bf0c-476e-9c4f-d35252a151dc",

"retriedByTaskId": null,

"capturedTexts": {"Product Name": "Alexis",

"Width": "15",

"Pattern Repeat": "PATTERN REPEAT",

"Construction": "Hand woven",

"Fiber": "100% Wool",

"Color": null,

"Main Image": "https://isteam.wsimg.com/ip/e31f7bba-252b-4669-9209-639d1c00765d/ols/258_original"

},

"capturedScreenshots": {"top-ads": {"id": "b4d132f3-12d9-4770-ac7d-88e481fc5b47",

"name": "Top ads",

"width": 600,

"height": 120,

"x": 201,

"y": 142,

"deviceScaleFactor": 1.2,

"full": "page",

"comparedToScreenshotId": "29d742c2-6f45-4f29-9d48-ba6fe66e6e3d",

"changePercentage": 20,

"diffThreshold": 5,

"fileRemovedAt": 1678795867879

}

},

}

}

}`

## [tag/monitors](https://www.browse.ai/docs/api/v2\#tag/monitors) Monitors

Each robot on Browse AI can optionally have one or more monitors. Monitoring robots come with one monitor by default.

For example, if you set up a monitoring robot to monitor a category page on an e-commerce site for changes daily, you can set up additional monitors to monitor other category pages on the same site using the same robot.

Each monitor can have different input parameters and schedule.

## [tag/monitors/operation/getMonitors](https://www.browse.ai/docs/api/v2\#tag/monitors/operation/getMonitors) Retrieve a robot's monitors

Retrieve a robot's monitors list.

##### path Parameters

##### header Parameters

### Responses

**200**

A JSON including monitors list.

**400**

A JSON containing error attributes. This will happen if any of the parameters are not valid.

**401**

The request is not authorized

**404**

The resource is not found

**500**

There was an error on the server

get/robots/{robotId}/monitors

https://api.browse.ai/v2/robots/{robotId}/monitors

### Request samples

- C#
- Go
- Java
- Node (Native)
- Node (request)
- Objective-C
- PHP
- Python (python3)
- Python (requests)
- Ruby
- Shell (cURL)
- Shell (wget)
- Swift

Copy

```
var client = new RestClient("https://api.browse.ai/v2/robots/{robotId}/monitors");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer YOUR_SECRET_API_KEY");
IRestResponse response = client.Execute(request);
```

### Response samples

- 200
- 400
- 401
- 404
- 500

Content type

application/json

Copy
Expand all  Collapse all

`{"statusCode": 200,

"messageCode": "success",

"monitors": {"totalCount": 10,

"items": [{"id": "f6fb62b6-f06a-4bf7-a623-c6a35c2e70b0",\
\
"name": "Monitor Products",\
\
"status": "active",\
\
"pausedReason": null,\
\
"inputParameters": {"originUrl": "https://www.ycombinator.com/companies/airbnb",\
\
"companies_skip": 0,\
\
"companies_limit": 10\
\
},\
\
"schedules": [{"type": "FIXED_INTERVAL",\
\
"everyMinutes": 60\
\
}\
\
],\
\
"schedule": "FREQ=HOURLY;INTERVAL=1;BYWEEKDAY=MO,TU,WE,TH,FR",\
\
"notifyOnCapturedScreenshotChange": true,\
\
"notifyOnCapturedTextChange": true,\
\
"capturedScreenshotNotificationThreshold": 15,\
\
"createdAt": 1678795867879,\
\
"pausedAt": 1678795867879,\
\
"updatedAt": 1678795867879\
\
}\
\
]

}

}`

## [tag/monitors/operation/createNewMonitor](https://www.browse.ai/docs/api/v2\#tag/monitors/operation/createNewMonitor) Create a new monitor on a robot

Create a new monitor on a robot.

##### path Parameters

##### header Parameters

##### Request Body schema: application/json  required

|     |     |
| --- | --- |
| name<br>required | string \[ 1 .. 200 \] characters <br>Monitor name |
| inputParameters<br>required | object (InputParameters) <br>An object of input parameters to override default input parameters. |
| schedules | Array of objects (Schedules) <br>Deprecated <br>Array of schedules. |
| schedule | string (Schedule) <br>recurring schedule. |
| notifyOnCapturedScreenshotChange<br>required | boolean<br>If set to `true`, an email notification will be sent to you when a change is detected in captured screenshots. |
| notifyOnCapturedTextChange<br>required | boolean<br>If set to `true`, an email notification will be sent to you when a change is detected in captured texts. |
| capturedScreenshotNotificationThreshold<br>required | number<br>The "screenshot changed" email notification will be sent to you if the change is greater than this threshold (in percent). |

### Responses

**200**

A JSON object containing the newly created monitor.

**400**

A JSON containing error attributes. This will happen if any of the parameters are not valid.

**401**

The request is not authorized

**403**

A JSON containing error attributes.

**404**

The resource is not found

**500**

There was an error on the server

post/robots/{robotId}/monitors

https://api.browse.ai/v2/robots/{robotId}/monitors

### Request samples

Content type

application/json

Copy
Expand all  Collapse all

`{"name": "Monitor Products",

"inputParameters": {"originUrl": "https://www.ycombinator.com/companies/airbnb",

"companies_skip": 0,

"companies_limit": 10

},

"schedules": [{"type": "FIXED_INTERVAL",\
\
"everyMinutes": 60\
\
}\
\
],

"schedule": "FREQ=HOURLY;INTERVAL=1;BYWEEKDAY=MO,TU,WE,TH,FR",

"notifyOnCapturedScreenshotChange": true,

"notifyOnCapturedTextChange": true,

"capturedScreenshotNotificationThreshold": 15

}`

### Response samples

- 200
- 400
- 401
- 403
- 404
- 500

Content type

application/json

Copy
Expand all  Collapse all

`{"statusCode": 200,

"messageCode": "success",

"monitor": {"id": "f6fb62b6-f06a-4bf7-a623-c6a35c2e70b0",

"name": "Monitor Products",

"status": "active",

"pausedReason": null,

"inputParameters": {"originUrl": "https://www.ycombinator.com/companies/airbnb",

"companies_skip": 0,

"companies_limit": 10

},

"schedules": [{"type": "FIXED_INTERVAL",\
\
"everyMinutes": 60\
\
}\
\
],

"schedule": "FREQ=HOURLY;INTERVAL=1;BYWEEKDAY=MO,TU,WE,TH,FR",

"notifyOnCapturedScreenshotChange": true,

"notifyOnCapturedTextChange": true,

"capturedScreenshotNotificationThreshold": 15,

"createdAt": 1678795867879,

"pausedAt": 1678795867879,

"updatedAt": 1678795867879

}

}`

## [tag/monitors/operation/getMonitor](https://www.browse.ai/docs/api/v2\#tag/monitors/operation/getMonitor) Retrieve a robot's monitor

Retrieve a robot's monitor.

##### path Parameters

|     |     |
| --- | --- |
| robotId<br>required | string<br>Example: c3689adb-50aa-44af-b265-a7e0d4e5846e<br>Unique robot ID<br>You can find a robot's ID by opening it on the dashboard and copying its ID in the browser address bar. |
| monitorId<br>required | string<br>Example: e524ab69-4269-4d9d-b3d8-678112a10d29<br>Unique monitor ID<br>You can find a monitor's ID by opening it on the dashboard and copying its ID in the browser address bar. |

##### header Parameters

### Responses

**200**

A JSON object containing the monitor.

**400**

A JSON containing error attributes. This will happen if any of the parameters are not valid.

**401**

The request is not authorized

**404**

The resource is not found

**500**

There was an error on the server

get/robots/{robotId}/monitors/{monitorId}

https://api.browse.ai/v2/robots/{robotId}/monitors/{monitorId}

### Request samples

- C#
- Go
- Java
- Node (Native)
- Node (request)
- Objective-C
- PHP
- Python (python3)
- Python (requests)
- Ruby
- Shell (cURL)
- Shell (wget)
- Swift

Copy

```
var client = new RestClient("https://api.browse.ai/v2/robots/{robotId}/monitors/{monitorId}");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer YOUR_SECRET_API_KEY");
IRestResponse response = client.Execute(request);
```

### Response samples

- 200
- 400
- 401
- 404
- 500

Content type

application/json

Copy
Expand all  Collapse all

`{"statusCode": 200,

"messageCode": "success",

"monitor": {"id": "f6fb62b6-f06a-4bf7-a623-c6a35c2e70b0",

"name": "Monitor Products",

"status": "active",

"pausedReason": null,

"inputParameters": {"originUrl": "https://www.ycombinator.com/companies/airbnb",

"companies_skip": 0,

"companies_limit": 10

},

"schedules": [{"type": "FIXED_INTERVAL",\
\
"everyMinutes": 60\
\
}\
\
],

"schedule": "FREQ=HOURLY;INTERVAL=1;BYWEEKDAY=MO,TU,WE,TH,FR",

"notifyOnCapturedScreenshotChange": true,

"notifyOnCapturedTextChange": true,

"capturedScreenshotNotificationThreshold": 15,

"createdAt": 1678795867879,

"pausedAt": 1678795867879,

"updatedAt": 1678795867879

}

}`

## [tag/monitors/operation/updateMonitor](https://www.browse.ai/docs/api/v2\#tag/monitors/operation/updateMonitor) Update a robot's monitor

Update a robot's monitor

##### path Parameters

##### header Parameters

##### Request Body schema: application/json  required

|     |     |
| --- | --- |
| name | string or null<br>Monitor name |
| status | string or null<br>Enum:"active""paused"<br>If set to `paused`, the monitor will stop working until an `active` status is sent. |
| inputParameters | object or null (InputParameters) <br>An object of input parameters to override default input parameters. |
| schedules | Array of objects (Schedules) <br>Deprecated <br>Array of schedules. |
| schedule | string (Schedule) <br>recurring schedule. |
| notifyOnCapturedScreenshotChange | boolean or null<br>If set to `true`, an email notification will be sent to you when a change is detected in captured screenshots. |
| notifyOnCapturedTextChange | boolean or null<br>If set to `true`, an email notification will be sent to you when a change is detected in captured texts. |
| capturedScreenshotNotificationThreshold | number or null<br>The "screenshot changed" email notification will be sent to you if the change is greater than this threshold (in percent). |

### Responses

**200**

A JSON object containing the updated monitor.

**400**

A JSON containing error attributes. This will happen if any of the parameters are not valid.

**401**

The request is not authorized

**403**

A JSON containing error attributes.

**404**

The resource is not found

**500**

There was an error on the server

patch/robots/{robotId}/monitors/{monitorId}

https://api.browse.ai/v2/robots/{robotId}/monitors/{monitorId}

### Request samples

Content type

application/json

Copy
Expand all  Collapse all

`{"name": "Monitor Products",

"status": "active",

"inputParameters": {"originUrl": "https://www.ycombinator.com/companies/airbnb",

"companies_skip": 0,

"companies_limit": 10

},

"schedules": [{"type": "FIXED_INTERVAL",\
\
"everyMinutes": 60\
\
}\
\
],

"schedule": "FREQ=HOURLY;INTERVAL=1;BYWEEKDAY=MO,TU,WE,TH,FR",

"notifyOnCapturedScreenshotChange": true,

"notifyOnCapturedTextChange": true,

"capturedScreenshotNotificationThreshold": 15

}`

### Response samples

- 200
- 400
- 401
- 403
- 404
- 500

Content type

application/json

Copy
Expand all  Collapse all

`{"statusCode": 200,

"messageCode": "success",

"monitor": {"id": "f6fb62b6-f06a-4bf7-a623-c6a35c2e70b0",

"name": "Monitor Products",

"status": "active",

"pausedReason": null,

"inputParameters": {"originUrl": "https://www.ycombinator.com/companies/airbnb",

"companies_skip": 0,

"companies_limit": 10

},

"schedules": [{"type": "FIXED_INTERVAL",\
\
"everyMinutes": 60\
\
}\
\
],

"schedule": "FREQ=HOURLY;INTERVAL=1;BYWEEKDAY=MO,TU,WE,TH,FR",

"notifyOnCapturedScreenshotChange": true,

"notifyOnCapturedTextChange": true,

"capturedScreenshotNotificationThreshold": 15,

"createdAt": 1678795867879,

"pausedAt": 1678795867879,

"updatedAt": 1678795867879

}

}`

## [tag/monitors/operation/deleteMonitor](https://www.browse.ai/docs/api/v2\#tag/monitors/operation/deleteMonitor) Delete a robot's monitor

Delete a robot's monitor.

##### path Parameters

##### header Parameters

### Responses

**200**

A JSON object containing the deleted monitor.

**400**

A JSON containing error attributes. This will happen if any of the parameters are not valid.

**401**

The request is not authorized

**404**

The resource is not found

**500**

There was an error on the server

delete/robots/{robotId}/monitors/{monitorId}

https://api.browse.ai/v2/robots/{robotId}/monitors/{monitorId}

### Request samples

- C#
- Go
- Java
- Node (Native)
- Node (request)
- Objective-C
- PHP
- Python (python3)
- Python (requests)
- Ruby
- Shell (cURL)
- Shell (wget)
- Swift

Copy

```
var client = new RestClient("https://api.browse.ai/v2/robots/{robotId}/monitors/{monitorId}");
var request = new RestRequest(Method.DELETE);
request.AddHeader("Authorization", "Bearer YOUR_SECRET_API_KEY");
IRestResponse response = client.Execute(request);
```

### Response samples

- 200
- 400
- 401
- 404
- 500

Content type

application/json

Copy

`{"statusCode": 200,

"messageCode": "success"

}`

## [tag/webhooks](https://www.browse.ai/docs/api/v2\#tag/webhooks) Webhooks

After a robot finishes a task, its webhooks will be called.

## [tag/webhooks/paths/taskWebhook/post](https://www.browse.ai/docs/api/v2\#tag/webhooks/paths/taskWebhook/post) Task Finished  Webhook

##### Request Body schema: application/json

|     |     |
| --- | --- |
| event<br>required | string<br>Enum:"task.finishedSuccessfully""task.finishedWithError""task.capturedDataChanged"<br>The event type that triggered the webhook |
| task<br>required | object (RobotTaskWebhook) |

### Responses

**200**

Your webhook URL is called up to three times if the initial attempt fails. Retries occur when the response status is not 200, indicating that your software may be experiencing issues with processing the request. This automatic retry mechanism helps ensure that events are successfully delivered without requiring constant monitoring on your end. Please ensure that the webhook URL is available and correctly configured to respond with a status code of 200. Retries are spaced out to provide sufficient time for any transient issues to resolve.

### Request samples

- Payload

Content type

application/json

Copy
Expand all  Collapse all

`{"event": "task.finishedSuccessfully",

"task": {"id": "f6fb62b6-f06a-4bf7-a623-c6a35c2e70b0",

"inputParameters": {"originUrl": "https://www.ycombinator.com/companies/airbnb",

"companies_skip": 0,

"companies_limit": 10

},

"robotId": "4f5cd7ff-6c98-4cac-8cf0-d7d0cb050b06",

"status": "successful",

"runByUserId": null,

"robotBulkRunId": null,

"runByTaskMonitorId": null,

"runByAPI": true,

"createdAt": 1678795867879,

"startedAt": 1678795867879,

"finishedAt": 1678795867879,

"userFriendlyError": null,

"triedRecordingVideo": true,

"videoRemovedAt": 1678795867879,

"retriedOriginalTaskId": "673da019-bf0c-476e-9c4f-d35252a151dc",

"retriedByTaskId": null,

"capturedTexts": {"Product Name": "Alexis",

"Width": "15",

"Pattern Repeat": "PATTERN REPEAT",

"Construction": "Hand woven",

"Fiber": "100% Wool",

"Color": null,

"Main Image": "https://isteam.wsimg.com/ip/e31f7bba-252b-4669-9209-639d1c00765d/ols/258_original"

},

"capturedScreenshots": {"top-ads": {"id": "b4d132f3-12d9-4770-ac7d-88e481fc5b47",

"name": "Top ads",

"width": 600,

"height": 120,

"x": 201,

"y": 142,

"deviceScaleFactor": 1.2,

"full": "page",

"comparedToScreenshotId": "29d742c2-6f45-4f29-9d48-ba6fe66e6e3d",

"changePercentage": 20,

"diffThreshold": 5,

"fileRemovedAt": 1678795867879

}

},

}

}

}`

### Response samples

- 200

Content type

application/json

Copy

`{"status": "success"

}`

## [tag/webhooks/paths/tableExportWebhook/post](https://www.browse.ai/docs/api/v2\#tag/webhooks/paths/tableExportWebhook/post) Table Export Finished (Beta)  Webhook

This webhook is called when a table export is finished. The exported file can be a CSV, JSON, or zip file.

##### Request Body schema: application/json

|     |     |
| --- | --- |
| exportId<br>required | string<br>The unique ID of the export |
| robotId<br>required | string<br>The unique ID of the robot |
| filesTemporaryUrl | Array of strings<br>The URLs of the exported files |
| filesTemporaryUrlExpiresAt | number <timestamp> <br>The unix timestamp of when the file URL expires in milliseconds |
| exportFinishedAt<br>required | number <timestamp> <br>The unix timestamp of when the export was finished in milliseconds |
| exportCreatedAt<br>required | number <timestamp> <br>The unix timestamp of when the export was created in milliseconds |

### Responses

**200**

### Request samples

- Payload

Content type

application/json

Copy
Expand all  Collapse all

`{"exportId": "f6fb62b6-f06a-4bf7-a623-c6a35c2e70b0",

"robotId": "c3689adb-50aa-44af-b265-a7e0d4e5846e",

"filesTemporaryUrl": ["https://s3.amazonaws.com/some-bucket/your-export.csv"\
\
],

"filesTemporaryUrlExpiresAt": 1678795867879,

"exportFinishedAt": 1678795867879,

"exportCreatedAt": 1678795867879

}`

### Response samples

- 200

Content type

application/json

Copy

`{"status": "success"

}`

## [tag/webhooks/operation/getWebhooks](https://www.browse.ai/docs/api/v2\#tag/webhooks/operation/getWebhooks) Retrieve a robot's webhooks

Retrieve a robot's webhook list.

##### path Parameters

##### header Parameters

### Responses

**200**

A JSON including monitors list.

**400**

A JSON containing error attributes. This will happen if any of the parameters are not valid.

**401**

The request is not authorized

**404**

The resource is not found

**500**

There was an error on the server

get/robots/{robotId}/webhooks

https://api.browse.ai/v2/robots/{robotId}/webhooks

### Request samples

- C#
- Go
- Java
- Node (Native)
- Node (request)
- Objective-C
- PHP
- Python (python3)
- Python (requests)
- Ruby
- Shell (cURL)
- Shell (wget)
- Swift

Copy

```
var client = new RestClient("https://api.browse.ai/v2/robots/{robotId}/webhooks");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer YOUR_SECRET_API_KEY");
IRestResponse response = client.Execute(request);
```

### Response samples

- 200
- 400
- 401
- 404
- 500

Content type

application/json

Copy
Expand all  Collapse all

`{"statusCode": 200,

"messageCode": "success",

"webhooks": {"totalCount": 10,

"items": [{"id": "6d7f1218-43fb-4735-ac71-21e81b1ab23e",\
\
"url": "https://example.com/v2/webhooks/callback/events",\
\
"webhookEvent": "taskFinished",\
\
"createdAt": 1678795867879\
\
}\
\
]

}

}`

## [tag/webhooks/operation/createNewWebhook](https://www.browse.ai/docs/api/v2\#tag/webhooks/operation/createNewWebhook) Create a new webhook on a robot

Create a new webhook on a robot

##### path Parameters

##### header Parameters

##### Request Body schema: application/json  required

|     |     |
| --- | --- |
| hookUrl<br>required | string<br>Webhook URL |
| eventType<br>required | string<br>Enum:"taskCapturedDataChanged""taskFinished""taskFinishedSuccessfully""taskFinishedWithError""tableExportFinishedSuccessfully" |

### Responses

**200**

A JSON object containing the newly created webhook.

**400**

A JSON containing error attributes. This will happen if any of the parameters are not valid.

**401**

The request is not authorized

**404**

The resource is not found

**500**

There was an error on the server

post/robots/{robotId}/webhooks

https://api.browse.ai/v2/robots/{robotId}/webhooks

### Request samples

Content type

application/json

Copy

`{"hookUrl": "https://example.com/v2/webhooks/callback/events",

"eventType": "taskFinished"

}`

### Response samples

- 200
- 400
- 401
- 404
- 500

Content type

application/json

Copy
Expand all  Collapse all

`{"statusCode": 200,

"messageCode": "success",

"webhook": {"id": "6d7f1218-43fb-4735-ac71-21e81b1ab23e",

"url": "https://example.com/v2/webhooks/callback/events",

"webhookEvent": "taskFinished",

"createdAt": 1678795867879

}

}`

## [tag/webhooks/operation/deleteWebhook](https://www.browse.ai/docs/api/v2\#tag/webhooks/operation/deleteWebhook) Delete a robot's webhook

Delete a robot's webhook.

##### path Parameters

|     |     |
| --- | --- |
| robotId<br>required | string<br>Example: c3689adb-50aa-44af-b265-a7e0d4e5846e<br>Unique robot ID<br>You can find a robot's ID by opening it on the dashboard and copying its ID in the browser address bar. |
| webhookId<br>required | string<br>Example: 6d7f1218-43fb-4735-ac71-21e81b1ab23e<br>Unique webhookId ID |

##### header Parameters

### Responses

**200**

A JSON object containing the deleted monitor.

**400**

A JSON containing error attributes. This will happen if any of the parameters are not valid.

**401**

The request is not authorized

**404**

The resource is not found

**500**

There was an error on the server

delete/robots/{robotId}/webhooks/{webhookId}

https://api.browse.ai/v2/robots/{robotId}/webhooks/{webhookId}

### Request samples

- C#
- Go
- Java
- Node (Native)
- Node (request)
- Objective-C
- PHP
- Python (python3)
- Python (requests)
- Ruby
- Shell (cURL)
- Shell (wget)
- Swift

Copy

```
var client = new RestClient("https://api.browse.ai/v2/robots/{robotId}/webhooks/{webhookId}");
var request = new RestRequest(Method.DELETE);
request.AddHeader("Authorization", "Bearer YOUR_SECRET_API_KEY");
IRestResponse response = client.Execute(request);
```

### Response samples

- 200
- 400
- 401
- 404
- 500

Content type

application/json

Copy

`{"statusCode": 200,

"messageCode": "success"

}`

## [tag/bulk-runs](https://www.browse.ai/docs/api/v2\#tag/bulk-runs) Bulk Runs

You can run up to 50,000 tasks at once using a robot with different input parameters for each task.

## [tag/bulk-runs/operation/newBulkRun](https://www.browse.ai/docs/api/v2\#tag/bulk-runs/operation/newBulkRun) Bulk run tasks

Bulk run up to 50,000 tasks at a time using a robot.

##### path Parameters

##### header Parameters

##### Request Body schema: application/json  required

|     |     |
| --- | --- |
| title | string \[ 1 .. 200 \] characters <br>A string that describes the bulk run. |
| inputParameters<br>required | Array of objects (ArrayOfUserInputParameters) <br>An array of input parameters to override the task's default input parameters. |

### Responses

**200**

A JSON object containing the newly created Bulk run.

**400**

A JSON containing error attributes. This will happen if any of the parameters are not valid.

**401**

The request is not authorized

**403**

A JSON containing error attributes.

**404**

The resource is not found

**500**

There was an error on the server

**503**

There was an error on the server

post/robots/{robotId}/bulk-runs

https://api.browse.ai/v2/robots/{robotId}/bulk-runs

### Request samples

Content type

application/json

Copy
Expand all  Collapse all

`{"title": "Bulk Run Title",

"inputParameters": [{"originUrl": "https://www.ycombinator.com/companies/airbnb",\
\
"companies_skip": 0,\
\
"companies_limit": 10\
\
},\
\
{"originUrl": "https://www.ycombinator.com/companies/coinbase",\
\
"companies_skip": 0,\
\
"companies_limit": 20\
\
}\
\
]

}`

### Response samples

- 200
- 400
- 401
- 403
- 404
- 500
- 503

Content type

application/json

Copy
Expand all  Collapse all

`{"statusCode": 200,

"messageCode": "success",

"result": {"bulkRun": {"id": "f6fb62b6-f06a-4bf7-a623-c6a35c2e70b0",

"title": "Bulk Run Title",

"status": "in-progress",

"tasksCount": 10,

"successfulTasks": 8,

"failedTasks": 0,

"robotId": "4f5cd7ff-6c98-4cac-8cf0-d7d0cb050b06",

"createdAt": 1678795867879

}

}

}`

## [tag/bulk-runs/operation/getBulkRuns](https://www.browse.ai/docs/api/v2\#tag/bulk-runs/operation/getBulkRuns) Retrieve a robot's bulk runs list

Retrieve a robot's bulk runs list.

##### path Parameters

##### query Parameters

|     |     |
| --- | --- |
| page | integer >= 1 <br>Example: page=1<br>Page number |

##### header Parameters

### Responses

**200**

A JSON object containing the bulk runs list.

**400**

A JSON containing error attributes. This will happen if any of the parameters are not valid.

**401**

The request is not authorized

**404**

The resource is not found

get/robots/{robotId}/bulk-runs

https://api.browse.ai/v2/robots/{robotId}/bulk-runs

### Request samples

- C#
- Go
- Java
- Node (Native)
- Node (request)
- Objective-C
- PHP
- Python (python3)
- Python (requests)
- Ruby
- Shell (cURL)
- Shell (wget)
- Swift

Copy

```
var client = new RestClient("https://api.browse.ai/v2/robots/{robotId}/bulk-runs?page=1");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer YOUR_SECRET_API_KEY");
IRestResponse response = client.Execute(request);
```

### Response samples

- 200
- 400
- 401
- 404

Content type

application/json

Copy
Expand all  Collapse all

`{"statusCode": 200,

"messageCode": "success",

"result": {"totalCount": 20,

"pageNumber": 1,

"hasMore": true,

"items": [{"id": "f6fb62b6-f06a-4bf7-a623-c6a35c2e70b0",\
\
"title": "Bulk Run Title",\
\
"status": "in-progress",\
\
"tasksCount": 10,\
\
"successfulTasks": 8,\
\
"failedTasks": 0,\
\
"robotId": "4f5cd7ff-6c98-4cac-8cf0-d7d0cb050b06",\
\
"createdAt": 1678795867879\
\
}\
\
]

}

}`

## [tag/bulk-runs/operation/getBulkRun](https://www.browse.ai/docs/api/v2\#tag/bulk-runs/operation/getBulkRun) Retrieve a robot's bulk run

Retrieve a robot's bulk run along with a list of tasks run within the bulk run.

##### path Parameters

|     |     |
| --- | --- |
| robotId<br>required | string<br>Example: c3689adb-50aa-44af-b265-a7e0d4e5846e<br>Unique robot ID<br>You can find a robot's ID by opening it on the dashboard and copying its ID in the browser address bar. |
| bulkRunId<br>required | string<br>Example: 5aa4df52-25bb-48da-bf38-ce4f2bd98dd5<br>Unique bulk run ID |

##### query Parameters

|     |     |
| --- | --- |
| page | integer >= 1 <br>Example: page=1<br>Page number |

##### header Parameters

### Responses

**200**

A JSON object containing the bulk run information along with a paginated list of all its tasks.

**400**

A JSON containing error attributes. This will happen if any of the parameters are not valid.

**401**

The request is not authorized

**404**

The resource is not found

get/robots/{robotId}/bulk-runs/{bulkRunId}

https://api.browse.ai/v2/robots/{robotId}/bulk-runs/{bulkRunId}

### Request samples

- C#
- Go
- Java
- Node (Native)
- Node (request)
- Objective-C
- PHP
- Python (python3)
- Python (requests)
- Ruby
- Shell (cURL)
- Shell (wget)
- Swift

Copy

```
var client = new RestClient("https://api.browse.ai/v2/robots/{robotId}/bulk-runs/{bulkRunId}?page=1");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer YOUR_SECRET_API_KEY");
IRestResponse response = client.Execute(request);
```

### Response samples

- 200
- 400
- 401
- 404

Content type

application/json

Copy
Expand all  Collapse all

`{"statusCode": 200,

"messageCode": "success",

"result": {"bulkRun": {"id": "f6fb62b6-f06a-4bf7-a623-c6a35c2e70b0",

"title": "Bulk Run Title",

"status": "in-progress",

"tasksCount": 10,

"successfulTasks": 8,

"failedTasks": 0,

"robotId": "4f5cd7ff-6c98-4cac-8cf0-d7d0cb050b06",

"createdAt": 1678795867879

},

"robotTasks": {"totalCount": 20,

"pageNumber": 1,

"hasMore": true,

}

}

}`
