---
title: V8 API Overview
description: "# RTILA V8 API Overview RTILA V8 exposes a simple REST API that allows you to trigger automation projects remotely and retrieve their results programmatically. This overview explains the core concepts, base URLs, authentication, and how the main endpoints fit…"
url: "https://legacy.rtila.com/docs/v8-api-overview/"
updated: "2025-12-02"
category: "API & Cloud"
---

# V8 API Overview

# RTILA V8 API Overview

RTILA V8 exposes a simple REST API that allows you to trigger automation projects remotely and retrieve their results programmatically. This overview explains the core concepts, base URLs, authentication, and how the main endpoints fit together.

## What You Can Do with the RTILA V8 API

- **Execute a project remotely** using `POST /api/remote`.
- **Pass variables and override settings** at runtime to reuse the same project in many scenarios.
- **Retrieve scraped data** using `GET /api/results` with powerful filtering and sorting.

For detailed endpoint documentation, see:

- [V8 API Remote Execution (`/api/remote`)](/docs/v8-api-remote-execution/)
- [V8 API Results Endpoint (`/api/results`)](/docs/v8-api-results-endpoint/)

## Base URLs

### Local RTILA Studio (Default)

When working on the same machine as RTILA Studio:

```
http://127.0.0.1:8880
```

You can replace `127.0.0.1` with your machine’s LAN IP (for example `http://192.168.0.10:8880`) if you are calling RTILA from another device on your local network.

### Remote Web Accessible Deployment

When RTILA is exposed using a reverse proxy or Cloudflare Tunnel, you will typically have a public HTTPS base URL:

```
https://YOUR_PUBLIC_RTILA_HOST
```

Examples:

- `https://rtila.yourcompany.com`
- `https://api.yourdomain.com`
- `https://brand.yourdomain.com`

Internally, your proxy forwards requests to the local RTILA instance (for example `http://127.0.0.1:8880`).

## Authentication

All API calls require a Bearer token in the `Authorization` header:

```
Authorization: Bearer YOUR_SYSTEM_AUTH_TOKEN
```

- The token is a JWT generated by RTILA Studio.
- It authenticates you as a RTILA user (not as a specific project).
- You can obtain or refresh this token under the API / Tokens section in RTILA Studio.

For security, especially on public endpoints, combine this with network-level protection such as IP allowlists, Cloudflare Access, or VPN.

## Project Configuration for Remote Execution

Each project that you want to trigger via the API must have remote execution enabled in its configuration.

```json
{
  "name": "Remote Retrieve Queued Results",
  "remote": {
    "enabled": true,
    "api_key": "fad41960-7831-4f36-b9e2-d5ff87ff8ef8"
  }
}
```

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `remote.enabled` | `boolean` | Yes | Enables (`true`) or disables (`false`) remote execution for this project. |
| `remote.api_key` | `string` | Yes | Project-specific secret token used when triggering this project via the API. |

Keep the `api_key` secret. Anyone with this key and a valid system token can execute the project.

## Core Endpoints

### `POST /api/remote` – Trigger Execution

Starts a new remote execution (run) of a project configured for remote execution. You provide:

- `api_key` – identifies the project to execute.
- `variables` – optional runtime variables.
- `settings` – optional advanced overrides (headless, proxy, user agent, etc.).

For full details and advanced examples, see [V8 API Remote Execution](/docs/v8-api-remote-execution/).

### `GET /api/results` – Retrieve Results

Retrieves records produced by previous executions. You will usually:

- Filter by `sessionId` (the `queueId` returned by the remote execution call).
- Optionally filter by `dataset` and custom fields.
- Use pagination (`page`, `perPage`) and sorting (`sort`).

For the full query language and response structure, see [V8 API Results Endpoint](/docs/v8-api-results-endpoint/).

## End-to-End Workflow Summary

1. **Configure the project**
    Enable `remote.enabled` and set an `api_key` in the project configuration.
2. **Trigger execution**
    Call [`POST /api/remote`](/docs/v8-api-remote-execution/) with: `api_key`, optional `variables`, and optional `settings`. The response returns a `queueId`.
3. **Retrieve results**
    Call [`GET /api/results`](/docs/v8-api-results-endpoint/) with a `filter` on `sessionId='queueId'`, optionally combined with dataset and other conditions.
