Interactive Demo & Documentation

Experience Fetch in Action

Explore our interactive demo, comprehensive documentation, and developer resources. See how Fetch Adapter Service transforms industrial data integration in real-time.

Live Industrial Data Integration

Watch real-time data flow from industrial devices through Fetch's processing pipeline to cloud analytics.

Protocol Simulation
Experience MQTT, Modbus TCP, and OPC UA connections with simulated industrial devices and real data flows.
Configuration UI
Explore the web-based configuration interface with drag-and-drop data transformation and routing setup.
Real-Time Analytics
See live dashboards, alerts, and analytics powered by streaming industrial data from multiple sources.
Product demo screenshots
screenshots showing the demo of product

1. Add Status Mapping modal

Industrial automation background

Add Transformation modal for defining JSONPath-based extraction rules. Fields include Transformation Name, Connection selector, optional Value and Timestamp JSONPath inputs, and an Enable toggle with Add/Cancel actions

2. Add Transformation modal

Industrial automation background

Add Transformation modal for defining JSONPath-based extraction rules. Fields include Transformation Name, Connection selector, optional Value and Timestamp JSONPath inputs, and an Enable toggle with Add/Cancel actions

3. Connections list

Industrial automation background

Connections management view with connections grouped by protocol. Each row shows the connection name, enabled and status pills (Connected/Disconnected) and action buttons (Start/Stop, Edit, Remove). Left navigation and an 'Add Connection' CTA are visible.

3. Dashboard overview

Industrial automation background

Welcome dashboard for Fetch Adapter Service displaying key metrics (Total Connections, Active/Inactive, Connection Rate) and quick action tiles for managing Connections, Transformations, and Configuration

4. Data Egress overview

Industrial automation background

Data Egress page summarizing total and active connections plus configured egresses. Egress configuration cards show details (broker/server, topic pattern or database, measurement, API token masked) and action buttons to Start, Test, or Remove

5. Sign-in pagegin

Industrial automation background

Login screen with username and password fields and a prominent 'Sign in' button. Demo credentials are provided for quick access (Admin: admin/password, Viewer: viewer/password)

Developer Resources

Comprehensive APIs, SDKs, and documentation to integrate Fetch into your applications and workflows.

REST API
Complete REST API for configuration, monitoring, and data access with OpenAPI 3.0 specification and interactive documentation.
GET /api/v1/devices
POST /api/v1/connections
PUT /api/v1/transformations
WebSocket API
Real-time WebSocket API for streaming data, live monitoring, and bidirectional communication with industrial devices.
ws://localhost:8080/stream
{"type": "subscribe"}
{"topic": "devices/+/data"}

Quick Start Examples

Get up and running quickly with these practical code examples for common integration scenarios.

MQTT Connection
const fetch = require('@scadadog/fetch-sdk');

const client = new fetch.Client({
  host: 'localhost',
  port: 8080
});

// Subscribe to MQTT data
client.mqtt.subscribe('sensors/+/temperature', {
  transform: 'temperature_celsius',
  filter: 'value > 25'
});

client.on('data', (message) => {
  console.log('Temperature:', message.value);
});
Modbus TCP Polling
import fetch_sdk

client = fetch_sdk.Client('localhost:8080')

# Configure Modbus TCP device
device = client.modbus.add_device({
    'host': '192.168.1.100',
    'port': 502,
    'unit_id': 1
})

# Poll holding registers
registers = device.read_holding_registers(
    address=0, 
    count=10,
    interval=1000  # 1 second
)

for value in registers:
    print(f"Register {value.address}: {value.data}")
OPC UA Subscription
package main

import (
    "github.com/scadadog/fetch-go"
)

func main() {
    client := fetch.NewClient("localhost:8080")
    
    // Connect to OPC UA server
    opcua := client.OPCUA().Connect(&fetch.OPCUAConfig{
        Endpoint: "opc.tcp://192.168.1.200:4840",
        Security: fetch.SecurityModeNone,
    })
    
    // Subscribe to node changes
    opcua.Subscribe("ns=2;i=1001", func(value interface{}) {
        fmt.Printf("Node value changed: %v\n", value)
    })
}
Data Transformation
using ScadaDog.Fetch.SDK;

var client = new FetchClient("localhost:8080");

// Create transformation pipeline
var pipeline = client.Transformations.Create(new Pipeline {
    Name = "temperature_processing",
    Steps = new[] {
        new JsonPathStep("$.sensors[*].temperature"),
        new FilterStep("value > 20 && value < 80"),
        new MapStep("celsius_to_fahrenheit"),
        new RouteStep("analytics/temperature")
    }
});

await pipeline.StartAsync();

Complete Documentation

Comprehensive guides, tutorials, and reference materials to help you master Fetch Adapter Service.

Getting Started
Installation, configuration, and your first integration in under 10 minutes.
Configuration
Detailed configuration options, environment variables, and advanced settings.
Tutorials
Step-by-step tutorials for common industrial integration scenarios and use cases.
Security Guide
Security best practices, certificate management, and compliance guidelines.

Start Building Today

Experience the power of industrial data integration with our interactive demo, or dive straight into development with our comprehensive SDKs.