Wincc Rest Api Jun 2026

import requests import json

The core idea is beautiful. The WinCC REST API allows external clients to:

The WinCC REST API has a wide range of applications across various industries, including:

curl -X GET https://192.168.1.100:5001/api/v1/tags/Tank_Level/value \ -H "Authorization: Bearer eyJhbGc..." \ -k wincc rest api

For web-based applications, Axios provides a promise-based HTTP client suitable for modern JavaScript frameworks:

Why should an automation engineer or software developer care about the WinCC REST API? Here are the most common practical implementations:

if response.status_code == 200: data = response.json() print(f"Tag: tag_name") print(f"Value: data.get('value')") print(f"Quality: data.get('quality')") print(f"Timestamp: data.get('timestamp')") else: print(f"Error: response.status_code") print(response.text) import requests import json The core idea is beautiful

Use OPC UA for high-speed, deterministic, machine-to-machine industrial control. Use the WinCC REST API for dashboarding, reporting, database logging, and web application integrations. Security Best Practices for Industrial REST APIs

import requests import json from requests.auth import HTTPBasicAuth # 1. Define configuration variables WINCC_SERVER_IP = "192.168.1.50" PORT = "443" # Standard HTTPS port used by WinCC Web Server TAG_NAME = "Station1_Temperature" # Construct the API endpoint URL (Note: Exact endpoint structure depends on your WinCC version) url = f"https://WINCC_SERVER_IP:PORT/api/v1/tags/TAG_NAME" # Setup authentication and disable strict SSL warnings for self-signed certificates auth = HTTPBasicAuth('api_user', 'SecretPassword123') requests.packages.urllib3.disable_warnings() try: # 2. Execute the HTTP GET request response = requests.get(url, auth=auth, verify=False) # 3. Process the response if response.status_code == 200: data = response.json() # Parse the JSON payload assuming standard WinCC JSON schema tag_value = data.get("Value") tag_quality = data.get("Quality") print(f"Successfully connected to WinCC!") print(f"Tag: TAG_NAME") print(f"Current Value: tag_value°C") print(f"Data Quality Code: tag_quality") else: print(f"Failed to fetch data. HTTP Status Code: response.status_code") print(f"Response: response.text") except requests.exceptions.RequestException as e: print(f"An error occurred while connecting to the WinCC Server: e") Use code with caution. Writing Data (An Overview)

Are you looking to or have WinCC send data to an external service? Use the WinCC REST API for dashboarding, reporting,

In this post, we’ll dive deep into:

No more DCOM port ranges. No more registry hacking. Just a simple HTTP endpoint, secured with authentication (often via WinCC user management or Windows auth). In a demo, a Python script with requests.get(‘http://wincc-server/api/tags/BoilerTemp’) works in seconds.

If you wanted to change a value (such as a speed setpoint), you would simply change the method from requests.get to requests.post or requests.put , and pass a JSON payload containing the new value:

The WinCC REST API acts as a secure gateway to the runtime environment. Depending on your WinCC version (such as WinCC Unified or WinCC V8), the API typically exposes endpoints to handle three core pillars of SCADA data: 1. Tag Management (Read/Write Process Values)

Organizations can build custom web dashboards that visualize real-time production data without expensive HMI licenses for each viewing station. Modern web frameworks can consume WinCC REST API data and display it alongside business metrics.