> ## Documentation Index
> Fetch the complete documentation index at: https://webscraping.titannet.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Architecture

> Titan is a multi-service web intelligence platform: user-facing APIs, execution orchestration, ingestion, billing, analytics, and managed workers for extraction, discovery, and API steps.

At the highest level, the platform has three layers. The same architecture supports **classic extraction** (URLs plus schema) and **modular tasks** that combine search, crawl, scrape, and API-call actions—see [Action types overview](/about-platform/action-types/overview).

* A user layer
* A control plane
* A worker layer

## Platform diagram

```mermaid theme={null}
flowchart TB
    subgraph UserLayer["User Layer"]
        Dashboard[Dashboard]
        Auth[Auth Service]
    end
    subgraph ControlPlane["Control Plane"]
        TaskService[Task Service]
        Scheduler[Scheduler Service]
        Ingestion[Ingestion Service]
        Billing[Billing Service]
        Analytics[Analytics Service]
    end
    subgraph WorkerLayer["Worker Layer"]
        BrowserNodes[Browser Nodes]
        ExtensionWorkers[Chrome Extension Workers]
    end
    Dashboard --> Auth
    Dashboard --> TaskService
    Dashboard --> Analytics
    Dashboard --> Billing
    Auth --> TaskService
    TaskService --> Scheduler
    Scheduler --> BrowserNodes
    Scheduler --> ExtensionWorkers
    BrowserNodes --> Ingestion
    ExtensionWorkers --> Ingestion
    Ingestion --> TaskService
    TaskService --> Analytics
    TaskService --> Billing
```

## Service responsibilities

| Layer         | Component                | Primary responsibility                                                           |
| ------------- | ------------------------ | -------------------------------------------------------------------------------- |
| User layer    | Dashboard                | User-facing workflows for tasks, executions, datasets, billing, and analytics    |
| User layer    | Auth                     | Sessions, JWTs, API keys, and identity                                           |
| Control plane | Task Service             | Public API for tasks, executions, templates, results, datasets, and media access |
| Control plane | Scheduler Service        | Node registration, work coordination, and dispatch behavior                      |
| Control plane | Ingestion Service        | Structured result intake and media upload lifecycle                              |
| Control plane | Billing Service          | Wallet state, charging, and ledger truth                                         |
| Control plane | Analytics Service        | Usage reporting and aggregate metrics                                            |
| Worker layer  | Browser nodes            | Standalone Playwright and Puppeteer execution nodes                              |
| Worker layer  | Chrome extension workers | Extension-based execution workers                                                |

## End-to-end request flow

```mermaid theme={null}
sequenceDiagram
    participant User
    participant Auth
    participant TaskService as Task Service
    participant Scheduler
    participant Worker
    participant Ingestion
    User->>Auth: Authenticate
    Auth-->>User: JWT / API key
    User->>TaskService: Create task + run
    TaskService->>Scheduler: Dispatch work
    Scheduler->>Worker: Assign job
    Worker->>Ingestion: Submit results + media
    Ingestion->>TaskService: Finalize output
    User->>TaskService: Export results
```

## Ownership boundaries

| Concern                            | Source of truth   |
| ---------------------------------- | ----------------- |
| Identity and API keys              | Auth              |
| Task definitions                   | Task Service      |
| Execution lifecycle                | Task Service      |
| Worker dispatch and assignment     | Scheduler Service |
| Structured output and media intake | Ingestion Service |
| Wallet and ledger accounting       | Billing Service   |
| Usage reporting and trends         | Analytics Service |

These boundaries matter because they show integrators where to look first when building clients or debugging a workflow.

## Why this structure matters

The public user model stays stable even if worker implementations change. Users continue to create tasks, run executions, and fetch results from the same public APIs while worker internals evolve behind the scenes.

## Next steps

* [What is Titan Web Scraping?](/get-started/what-is-titan-web-scraping)
* [Action types overview](/about-platform/action-types/overview)
* [Tasks](/about-platform/tasks)
* [Executions](/about-platform/executions)
* [Use the Task Service API](/use-the-platform/use-the-task-service-api)
