idealo Produkt- & Preisvergleich

idealo Produkt- & Preisvergleich · Actions GPT

Idealo Product Search API

An API that allows the user to search for products using keywords. The API returns up to 15 products with their details.

  • GET /v2/searchGet the list of products
Schéma original API
{
  "openapi": "3.0.1",
  "info": {
    "title": "Idealo Product Search API",
    "description": "An API that allows the user to search for products using keywords. The API returns up to 15 products with their details.",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://chat-plugin.idealo.com"
    }
  ],
  "paths": {
    "/v2/search": {
      "get": {
        "operationId": "getProductsV2",
        "summary": "Get the list of products",
        "parameters": [
          {
            "in": "query",
            "name": "query",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The product search query. The query has been corrected for spelling mistakes and is in its singular format. It does not contain subjective descriptors like latest, cheapest, expensive or similar."
          },
          {
            "in": "query",
            "name": "original_user_input",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The original user input query. The query is not corrected for spelling mistakes and is in its original format."
          },
          {
            "in": "query",
            "name": "filter_ids",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "The filter ids to be applied to the search results if there is a need from the conversation."
          },
          {
            "in": "query",
            "name": "max_price",
            "schema": {
              "type": "number"
            },
            "required": false,
            "description": "The maximum price of the product search if there is a need from the conversation."
          },
          {
            "in": "query",
            "name": "min_price",
            "schema": {
              "type": "number"
            },
            "required": false,
            "description": "The minimum price of the product search if there is a need from the conversation."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getProductsResponseV2"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request. Query parameter missing."
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "getProductsResponseV2": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Product"
            }
          },
          "filters": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Filter"
              }
            }
          }
        },
        "required": [
          "results"
        ]
      },
      "Product": {
        "type": "object",
        "properties": {
          "product_name": {
            "type": "string",
            "description": "The product name."
          },
          "min_price": {
            "type": "number",
            "format": "float",
            "description": "The best price of the product."
          },
          "offers_count": {
            "type": "number",
            "format": "integer",
            "description": "Number of available offers for the product."
          },
          "test_score_percent": {
            "type": "number",
            "format": "float",
            "description": "The average test score in percent from product test providers. Can be null."
          },
          "product_attributes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Summary of main product features and links to product image as well as product page with offers."
          }
        },
        "required": [
          "product_name",
          "min_price",
          "offers_count",
          "product_attributes"
        ]
      },
      "Filter": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "format": "integer",
            "description": "The filter id."
          },
          "name": {
            "type": "string",
            "description": "The filter name."
          }
        },
        "required": [
          "id",
          "name"
        ]
      }
    }
  }
}