diff --git a/RGB.NET.Devices.WLED/API/WledAPI.cs b/RGB.NET.Devices.WLED/API/WledAPI.cs
new file mode 100644
index 0000000..c67cda9
--- /dev/null
+++ b/RGB.NET.Devices.WLED/API/WledAPI.cs
@@ -0,0 +1,33 @@
+using System.Net.Http;
+using System.Net.Http.Json;
+
+namespace RGB.NET.Devices.WLED;
+
+///
+/// Partial implementation of the WLED-JSON-API
+///
+public static class WledAPI
+{
+ ///
+ /// Gets the data returned by the 'info' endpoint of the WLED-device.
+ ///
+ /// The address of the device to request data from.
+ /// The data returned by the WLED-device.
+ public static WledInfo? Info(string address)
+ {
+ if (string.IsNullOrEmpty(address)) return null;
+
+ using HttpClient client = new();
+ try
+ {
+ return client.Send(new HttpRequestMessage(HttpMethod.Get, $"http://{address}/json/info"))
+ .Content
+ .ReadFromJsonAsync()
+ .Result;
+ }
+ catch
+ {
+ return null;
+ }
+ }
+}
\ No newline at end of file
diff --git a/RGB.NET.Devices.WLED/API/WledInfo.cs b/RGB.NET.Devices.WLED/API/WledInfo.cs
new file mode 100644
index 0000000..ca92ab8
--- /dev/null
+++ b/RGB.NET.Devices.WLED/API/WledInfo.cs
@@ -0,0 +1,156 @@
+// ReSharper disable InconsistentNaming
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+
+namespace RGB.NET.Devices.WLED;
+
+public class WledInfo
+{
+ [JsonPropertyName("ver")]
+ public string Version { get; set; } = "";
+
+ [JsonPropertyName("vid")]
+ public uint BuildId { get; set; }
+
+ [JsonPropertyName("leds")]
+ public LedsInfo Leds { get; set; } = new();
+
+ [JsonPropertyName("str")]
+ public bool SyncReceive { get; set; }
+
+ [JsonPropertyName("name")]
+ public string Name { get; set; } = "";
+
+ [JsonPropertyName("udpport")]
+ public ushort UDPPort { get; set; }
+
+ [JsonPropertyName("live")]
+ public bool IsLive { get; set; }
+
+ [JsonPropertyName("liveseg")]
+ public short MainSegment { get; set; }
+
+ [JsonPropertyName("lm")]
+ public string RealtimeDataSource { get; set; } = "";
+
+ [JsonPropertyName("lip")]
+ public string RealtimeDataSourceIpAddress { get; set; } = "";
+
+ [JsonPropertyName("ws")]
+ public byte ConnectedWebSocketCount { get; set; }
+
+ [JsonPropertyName("fxcount")]
+ public byte EffectCount { get; set; }
+
+ [JsonPropertyName("palcount")]
+ public short PaletteCount { get; set; }
+
+ [JsonPropertyName("maps")]
+ public List