curl --request POST \
--url https://api.anysite.io/api/eprel/products/search \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"count": 5000,
"timeout": 300,
"energy_class": [
"<string>"
],
"supplier": "<string>",
"model_identifier": "<string>",
"commercial_name": "<string>",
"gtin": "<string>",
"include_old_products": false,
"filters": {},
"order": "DESC"
}
'import requests
url = "https://api.anysite.io/api/eprel/products/search"
payload = {
"count": 5000,
"timeout": 300,
"energy_class": ["<string>"],
"supplier": "<string>",
"model_identifier": "<string>",
"commercial_name": "<string>",
"gtin": "<string>",
"include_old_products": False,
"filters": {},
"order": "DESC"
}
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: 5000,
timeout: 300,
energy_class: ['<string>'],
supplier: '<string>',
model_identifier: '<string>',
commercial_name: '<string>',
gtin: '<string>',
include_old_products: false,
filters: {},
order: 'DESC'
})
};
fetch('https://api.anysite.io/api/eprel/products/search', 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/products/search",
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' => 5000,
'timeout' => 300,
'energy_class' => [
'<string>'
],
'supplier' => '<string>',
'model_identifier' => '<string>',
'commercial_name' => '<string>',
'gtin' => '<string>',
'include_old_products' => false,
'filters' => [
],
'order' => 'DESC'
]),
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/products/search"
payload := strings.NewReader("{\n \"count\": 5000,\n \"timeout\": 300,\n \"energy_class\": [\n \"<string>\"\n ],\n \"supplier\": \"<string>\",\n \"model_identifier\": \"<string>\",\n \"commercial_name\": \"<string>\",\n \"gtin\": \"<string>\",\n \"include_old_products\": false,\n \"filters\": {},\n \"order\": \"DESC\"\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/products/search")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"count\": 5000,\n \"timeout\": 300,\n \"energy_class\": [\n \"<string>\"\n ],\n \"supplier\": \"<string>\",\n \"model_identifier\": \"<string>\",\n \"commercial_name\": \"<string>\",\n \"gtin\": \"<string>\",\n \"include_old_products\": false,\n \"filters\": {},\n \"order\": \"DESC\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/eprel/products/search")
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\": 5000,\n \"timeout\": 300,\n \"energy_class\": [\n \"<string>\"\n ],\n \"supplier\": \"<string>\",\n \"model_identifier\": \"<string>\",\n \"commercial_name\": \"<string>\",\n \"gtin\": \"<string>\",\n \"include_old_products\": false,\n \"filters\": {},\n \"order\": \"DESC\"\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"url": "<string>",
"product_group": "<string>",
"@type": "EprelProduct",
"model_identifier": "<string>",
"supplier": "<string>",
"energy_class": "<string>",
"energy_class_range": "<string>",
"energy_label_id": "<string>",
"implementing_act": "<string>",
"status": "<string>",
"form_type": "<string>",
"registrant_nature": "<string>",
"is_blocked": true,
"is_last_version": true,
"is_visible_to_uk_msa": true,
"has_generated_label": true,
"uploaded_labels": [],
"version_id": "<string>",
"version_number": 123,
"product_model_core_id": "<string>",
"trademark_id": "<string>",
"trademark_owner": "<string>",
"trademark_verification_status": "<string>",
"organisation_verification_status": "<string>",
"availability_in_eu_eea_countries": "<string>",
"available_in_countries": [],
"available_in_eu_eea_countries": [],
"available_in_other_countries": [],
"on_market_start_at": 123,
"on_market_end_at": 123,
"on_market_first_start_at": 123,
"first_published_at": 123,
"published_at": 123,
"exported_at": 123,
"imported_at": 123,
"contact_id": "<string>",
"contact": {
"@type": "EprelContact",
"id": "<string>",
"service_name": "<string>",
"email": "<string>",
"phone": "<string>",
"web_url": "<string>",
"street": "<string>",
"street_number": "<string>",
"address_block": "<string>",
"postal_code": "<string>",
"city": "<string>",
"municipality": "<string>",
"province": "<string>",
"country": "<string>",
"status": "<string>",
"order_number": 123,
"is_default": true,
"is_specific": true,
"contact_reference": "<string>",
"contact_by_reference_id": "<string>"
},
"organisation": {
"@type": "EprelOrganisation",
"id": "<string>",
"name": "<string>",
"display_name": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"person_type": "<string>",
"web_url": "<string>",
"is_closed": true,
"close_status": "<string>",
"closed_at": 123
},
"additional_infos": [],
"attributes": {}
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}/eprel/products/search
Search one EPREL product group, the EU register every product carrying an EU energy label must be entered into. Narrows by energy class, supplier or trademark, model identifier, commercial name and GTIN, and by the technical fields the group’s own regulation defines — compartment volumes and dimensions for refrigerators, tyre size, load index and wet-grip class for tyres, panel technology and resolution for displays — passed as filters under the registry’s own field names. Orders by energy class, supplier, model identifier, registration number or the on-market and publication dates. Returns the same full model record as the single-product lookup.
Price: 20 credits per 100 results
⚠️ Common errors: 412: Nothing in that product group matched the filters., 422: A filter key or energy-class letter the chosen product_group does not publish. eprel/product_groups lists what it accepts.
curl --request POST \
--url https://api.anysite.io/api/eprel/products/search \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"count": 5000,
"timeout": 300,
"energy_class": [
"<string>"
],
"supplier": "<string>",
"model_identifier": "<string>",
"commercial_name": "<string>",
"gtin": "<string>",
"include_old_products": false,
"filters": {},
"order": "DESC"
}
'import requests
url = "https://api.anysite.io/api/eprel/products/search"
payload = {
"count": 5000,
"timeout": 300,
"energy_class": ["<string>"],
"supplier": "<string>",
"model_identifier": "<string>",
"commercial_name": "<string>",
"gtin": "<string>",
"include_old_products": False,
"filters": {},
"order": "DESC"
}
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: 5000,
timeout: 300,
energy_class: ['<string>'],
supplier: '<string>',
model_identifier: '<string>',
commercial_name: '<string>',
gtin: '<string>',
include_old_products: false,
filters: {},
order: 'DESC'
})
};
fetch('https://api.anysite.io/api/eprel/products/search', 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/products/search",
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' => 5000,
'timeout' => 300,
'energy_class' => [
'<string>'
],
'supplier' => '<string>',
'model_identifier' => '<string>',
'commercial_name' => '<string>',
'gtin' => '<string>',
'include_old_products' => false,
'filters' => [
],
'order' => 'DESC'
]),
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/products/search"
payload := strings.NewReader("{\n \"count\": 5000,\n \"timeout\": 300,\n \"energy_class\": [\n \"<string>\"\n ],\n \"supplier\": \"<string>\",\n \"model_identifier\": \"<string>\",\n \"commercial_name\": \"<string>\",\n \"gtin\": \"<string>\",\n \"include_old_products\": false,\n \"filters\": {},\n \"order\": \"DESC\"\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/products/search")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"count\": 5000,\n \"timeout\": 300,\n \"energy_class\": [\n \"<string>\"\n ],\n \"supplier\": \"<string>\",\n \"model_identifier\": \"<string>\",\n \"commercial_name\": \"<string>\",\n \"gtin\": \"<string>\",\n \"include_old_products\": false,\n \"filters\": {},\n \"order\": \"DESC\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/eprel/products/search")
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\": 5000,\n \"timeout\": 300,\n \"energy_class\": [\n \"<string>\"\n ],\n \"supplier\": \"<string>\",\n \"model_identifier\": \"<string>\",\n \"commercial_name\": \"<string>\",\n \"gtin\": \"<string>\",\n \"include_old_products\": false,\n \"filters\": {},\n \"order\": \"DESC\"\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"url": "<string>",
"product_group": "<string>",
"@type": "EprelProduct",
"model_identifier": "<string>",
"supplier": "<string>",
"energy_class": "<string>",
"energy_class_range": "<string>",
"energy_label_id": "<string>",
"implementing_act": "<string>",
"status": "<string>",
"form_type": "<string>",
"registrant_nature": "<string>",
"is_blocked": true,
"is_last_version": true,
"is_visible_to_uk_msa": true,
"has_generated_label": true,
"uploaded_labels": [],
"version_id": "<string>",
"version_number": 123,
"product_model_core_id": "<string>",
"trademark_id": "<string>",
"trademark_owner": "<string>",
"trademark_verification_status": "<string>",
"organisation_verification_status": "<string>",
"availability_in_eu_eea_countries": "<string>",
"available_in_countries": [],
"available_in_eu_eea_countries": [],
"available_in_other_countries": [],
"on_market_start_at": 123,
"on_market_end_at": 123,
"on_market_first_start_at": 123,
"first_published_at": 123,
"published_at": 123,
"exported_at": 123,
"imported_at": 123,
"contact_id": "<string>",
"contact": {
"@type": "EprelContact",
"id": "<string>",
"service_name": "<string>",
"email": "<string>",
"phone": "<string>",
"web_url": "<string>",
"street": "<string>",
"street_number": "<string>",
"address_block": "<string>",
"postal_code": "<string>",
"city": "<string>",
"municipality": "<string>",
"province": "<string>",
"country": "<string>",
"status": "<string>",
"order_number": 123,
"is_default": true,
"is_specific": true,
"contact_reference": "<string>",
"contact_by_reference_id": "<string>"
},
"organisation": {
"@type": "EprelOrganisation",
"id": "<string>",
"name": "<string>",
"display_name": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"person_type": "<string>",
"web_url": "<string>",
"is_closed": true,
"close_status": "<string>",
"closed_at": 123
},
"additional_infos": [],
"attributes": {}
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
API token from the dashboard
Headers
Body
airconditioners, 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 1 <= x <= 1000020 <= x <= 15001111Show child attributes
Show child attributes
energyClass, modelIdentifier, supplierOrTrademark, onMarketStartDateTS, publishedOnDateTS, eprelRegistrationNumber ASC, DESC Response
Successful Response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes