Netatmo
netatmo · IoT
Welcome to the Netatmo swagger on-line documentation ! This site is a complement to the official Netatmo developper documentation using swagger to bring interactivity and easy testing of requests with the "try it" button (authenticate with the authorization code OAuth2 flow by clicking the authenticate button in the methods). You can find the source code for this site can be found in the project <a href="https://github.com/cbornet/netatmo-swagger-u
Authentication
Sample Requests
Links a callback url to a user.
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/netatmo.net/1.1.5/addwebhook?url=https%3A%2F%2Fexample.com&app_type=example"
import requests
params = {
"url": "https://example.com",
"app_type": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/netatmo.net/1.1.5/addwebhook",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/netatmo.net/1.1.5/addwebhook');
url.searchParams.set('url', 'https://example.com');
url.searchParams.set('app_type', 'example');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/netatmo.net/1.1.5/addwebhook")
q := baseURL.Query()
q.Set("url", "https://example.com")
q.Set("app_type", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/netatmo.net/1.1.5/addwebhook")
uri.query = URI.encode_www_form({
"url" => "https://example.com",
"app_type" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/netatmo.net/1.1.5/addwebhook?" . http_build_query([
"url" => "https://example.com",
"app_type" => "example"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Dissociates a webhook from a user.
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/netatmo.net/1.1.5/dropwebhook?app_type=example"
import requests
params = {
"app_type": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/netatmo.net/1.1.5/dropwebhook",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/netatmo.net/1.1.5/dropwebhook');
url.searchParams.set('app_type', 'example');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/netatmo.net/1.1.5/dropwebhook")
q := baseURL.Query()
q.Set("app_type", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/netatmo.net/1.1.5/dropwebhook")
uri.query = URI.encode_www_form({
"app_type" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/netatmo.net/1.1.5/dropwebhook?" . http_build_query([
"app_type" => "example"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Returns the snapshot associated to an event.
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/netatmo.net/1.1.5/getcamerapicture?key=YOUR_API_KEY&image_id=example"
import requests
params = {
"key": "YOUR_API_KEY",
"image_id": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/netatmo.net/1.1.5/getcamerapicture",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/netatmo.net/1.1.5/getcamerapicture');
url.searchParams.set('key', 'YOUR_API_KEY');
url.searchParams.set('image_id', 'example');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/netatmo.net/1.1.5/getcamerapicture")
q := baseURL.Query()
q.Set("key", "YOUR_API_KEY")
q.Set("image_id", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/netatmo.net/1.1.5/getcamerapicture")
uri.query = URI.encode_www_form({
"key" => "YOUR_API_KEY",
"image_id" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/netatmo.net/1.1.5/getcamerapicture?" . http_build_query([
"key" => "YOUR_API_KEY",
"image_id" => "example"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- See official documentation for authentication and setup.
What can you build with Netatmo?
Netatmo is a IoT API. Developers commonly use iot APIs for:
- collecting and streaming sensor and device data
- monitoring and controlling connected devices
- building smart-home and industrial dashboards
- processing device telemetry at scale
- automating device provisioning and alerting
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. Netatmo is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide · Learn about API keys · What is REST?