curl --request POST \
--url https://api.anysite.io/api/eprel/product_groups \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"count": 17,
"timeout": 300
}
'import requests
url = "https://api.anysite.io/api/eprel/product_groups"
payload = {
"count": 17,
"timeout": 300
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({count: 17, timeout: 300})
};
fetch('https://api.anysite.io/api/eprel/product_groups', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.anysite.io/api/eprel/product_groups",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'count' => 17,
'timeout' => 300
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.anysite.io/api/eprel/product_groups"
payload := strings.NewReader("{\n \"count\": 17,\n \"timeout\": 300\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.anysite.io/api/eprel/product_groups")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"count\": 17,\n \"timeout\": 300\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/eprel/product_groups")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"count\": 17,\n \"timeout\": 300\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"alias": "<string>",
"name": "<string>",
"@type": "EprelProductGroupInfo",
"regulation": "<string>",
"model_count": 123,
"energy_classes": [],
"filters": []
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}/eprel/product_groups
List the product groups of EPREL, the EU energy-label register. Each group is a separate register under its own EU regulation, and every other EPREL endpoint is scoped to one of them. Returns the group’s registry code, the path segment the other endpoints take, its display name, the regulation it implements, a periodically-measured model count (the live figure for one group comes from eprel/products/search or eprel/products/stats), the energy-class letters its scale uses, and the search filters it publishes — each with the parameter names to send, whether it is a range, a boolean, a fixed set of values or free text, and the observed bounds of a numeric one.
Price: 1 credit
⚠️ Common errors: 412: The registry returned no product groups.
curl --request POST \
--url https://api.anysite.io/api/eprel/product_groups \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"count": 17,
"timeout": 300
}
'import requests
url = "https://api.anysite.io/api/eprel/product_groups"
payload = {
"count": 17,
"timeout": 300
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({count: 17, timeout: 300})
};
fetch('https://api.anysite.io/api/eprel/product_groups', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.anysite.io/api/eprel/product_groups",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'count' => 17,
'timeout' => 300
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.anysite.io/api/eprel/product_groups"
payload := strings.NewReader("{\n \"count\": 17,\n \"timeout\": 300\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.anysite.io/api/eprel/product_groups")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"count\": 17,\n \"timeout\": 300\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/eprel/product_groups")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"count\": 17,\n \"timeout\": 300\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"alias": "<string>",
"name": "<string>",
"@type": "EprelProductGroupInfo",
"regulation": "<string>",
"model_count": 123,
"energy_classes": [],
"filters": []
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
API token from the dashboard
Headers
Body
1 <= x <= 3320 <= x <= 1500airconditioners, dishwashers, dishwashers2019, electronicdisplays, hotwaterstoragetanks, lamps, lightsources, localspaceheaters, ovens, professionalrefrigeratedstoragecabinets, rangehoods, refrigeratingappliances, refrigeratingappliances2019, refrigeratingappliancesdirectsalesfunction, residentialventilationunits, smartphonestablets20231669, solidfuelboilerpackages, solidfuelboilers, spaceheaterpackages, spaceheaters, spaceheatersolardevice, spaceheatertemperaturecontrol, televisions, tumbledriers, tumbledryers20232534, tyres, washerdriers, washerdriers2019, washingmachines, washingmachines2019, waterheaterpackages, waterheaters, waterheatersolardevices