/idealo/products/search
curl --request POST \
--url https://api.anysite.io/api/idealo/products/search \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"query": "<string>",
"count": 360,
"timeout": 300,
"country": "de"
}
'import requests
url = "https://api.anysite.io/api/idealo/products/search"
payload = {
"query": "<string>",
"count": 360,
"timeout": 300,
"country": "de"
}
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({query: '<string>', count: 360, timeout: 300, country: 'de'})
};
fetch('https://api.anysite.io/api/idealo/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/idealo/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([
'query' => '<string>',
'count' => 360,
'timeout' => 300,
'country' => 'de'
]),
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/idealo/products/search"
payload := strings.NewReader("{\n \"query\": \"<string>\",\n \"count\": 360,\n \"timeout\": 300,\n \"country\": \"de\"\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/idealo/products/search")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"<string>\",\n \"count\": 360,\n \"timeout\": 300,\n \"country\": \"de\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/idealo/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 \"query\": \"<string>\",\n \"count\": 360,\n \"timeout\": 300,\n \"country\": \"de\"\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"country": "<string>",
"currency": "<string>",
"@type": "IdealoSearchProduct",
"name": "<string>",
"url": "<string>",
"image": "<string>",
"price": 123,
"base_price": 123,
"base_price_unit": "<string>",
"offer_count": 123,
"rating": 123,
"review_count": 123,
"test_score": 123,
"badges": []
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}/idealo
/idealo/products/search
Search Idealo for products on a chosen national Idealo site and get back product cards with the Idealo product id, name, the specification summary shown in the listing, product page URL and image, the lowest offer price with its currency, the price per reference unit where the product is sold by weight or volume, how many shops offer it, the average user star rating with its review count, the aggregated expert test grade where Idealo has one, and any listing badge such as bestseller.
Price: 20 credits per 36 results
⚠️ Common errors: 412: The query matched no products on this national Idealo site
POST
/
api
/
idealo
/
products
/
search
/idealo/products/search
curl --request POST \
--url https://api.anysite.io/api/idealo/products/search \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"query": "<string>",
"count": 360,
"timeout": 300,
"country": "de"
}
'import requests
url = "https://api.anysite.io/api/idealo/products/search"
payload = {
"query": "<string>",
"count": 360,
"timeout": 300,
"country": "de"
}
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({query: '<string>', count: 360, timeout: 300, country: 'de'})
};
fetch('https://api.anysite.io/api/idealo/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/idealo/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([
'query' => '<string>',
'count' => 360,
'timeout' => 300,
'country' => 'de'
]),
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/idealo/products/search"
payload := strings.NewReader("{\n \"query\": \"<string>\",\n \"count\": 360,\n \"timeout\": 300,\n \"country\": \"de\"\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/idealo/products/search")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"<string>\",\n \"count\": 360,\n \"timeout\": 300,\n \"country\": \"de\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/idealo/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 \"query\": \"<string>\",\n \"count\": 360,\n \"timeout\": 300,\n \"country\": \"de\"\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"country": "<string>",
"currency": "<string>",
"@type": "IdealoSearchProduct",
"name": "<string>",
"url": "<string>",
"image": "<string>",
"price": 123,
"base_price": 123,
"base_price_unit": "<string>",
"offer_count": 123,
"rating": 123,
"review_count": 123,
"test_score": 123,
"badges": []
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
API token from the dashboard
Headers
Body
application/json
Response
Successful Response