{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/ragfeed-de/json-schema/ragfeed-de-search-request-schema.json",
  "title": "SearchRequest",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/ragfeed-de-openapi.json#/components/schemas/SearchRequest",
  "properties": {
    "query": {
      "type": "string",
      "title": "Query"
    },
    "limit": {
      "type": "integer",
      "title": "Limit",
      "default": 10
    },
    "sources": {
      "anyOf": [
        {
          "items": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "additionalProperties": true,
                "type": "object"
              }
            ]
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Sources"
    },
    "categories": {
      "anyOf": [
        {
          "items": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "additionalProperties": true,
                "type": "object"
              }
            ]
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Categories"
    },
    "includeDomains": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Includedomains"
    },
    "excludeDomains": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Excludedomains"
    },
    "tbs": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Tbs"
    },
    "location": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Location"
    },
    "country": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Country"
    },
    "safe": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Safe"
    },
    "ignoreInvalidURLs": {
      "type": "boolean",
      "title": "Ignoreinvalidurls",
      "default": false
    },
    "timeout": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Timeout"
    },
    "scrapeOptions": {
      "anyOf": [
        {
          "$ref": "#/$defs/ScrapeOptions"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "additionalProperties": true,
  "type": "object",
  "required": [
    "query"
  ],
  "$defs": {
    "Location": {
      "properties": {
        "country": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Country",
          "default": "US"
        },
        "languages": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Languages"
        }
      },
      "additionalProperties": true,
      "type": "object",
      "title": "Location"
    },
    "ScrapeOptions": {
      "properties": {
        "formats": {
          "items": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "additionalProperties": true,
                "type": "object"
              }
            ]
          },
          "type": "array",
          "title": "Formats"
        },
        "onlyMainContent": {
          "type": "boolean",
          "title": "Onlymaincontent",
          "default": true
        },
        "onlyCleanContent": {
          "type": "boolean",
          "title": "Onlycleancontent",
          "default": false
        },
        "includeTags": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Includetags"
        },
        "excludeTags": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Excludetags"
        },
        "maxAge": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Maxage"
        },
        "minAge": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Minage"
        },
        "headers": {
          "anyOf": [
            {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "title": "Headers"
        },
        "waitFor": {
          "type": "integer",
          "title": "Waitfor",
          "default": 0
        },
        "mobile": {
          "type": "boolean",
          "title": "Mobile",
          "default": false
        },
        "skipTlsVerification": {
          "type": "boolean",
          "title": "Skiptlsverification",
          "default": true
        },
        "timeout": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Timeout"
        },
        "parsers": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "additionalProperties": true,
                    "type": "object"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Parsers"
        },
        "actions": {
          "anyOf": [
            {
              "items": {
                "additionalProperties": true,
                "type": "object"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Actions"
        },
        "location": {
          "anyOf": [
            {
              "$ref": "#/$defs/Location"
            },
            {
              "type": "null"
            }
          ]
        },
        "removeBase64Images": {
          "type": "boolean",
          "title": "Removebase64Images",
          "default": true
        },
        "blockAds": {
          "type": "boolean",
          "title": "Blockads",
          "default": true
        },
        "proxy": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "basic",
                "enhanced",
                "auto",
                "stealth"
              ]
            },
            {
              "type": "null"
            }
          ],
          "title": "Proxy",
          "default": "auto"
        },
        "storeInCache": {
          "type": "boolean",
          "title": "Storeincache",
          "default": true
        },
        "lockdown": {
          "type": "boolean",
          "title": "Lockdown",
          "default": false
        },
        "redactPII": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "additionalProperties": true,
              "type": "object"
            }
          ],
          "title": "Redactpii",
          "default": false
        },
        "zeroDataRetention": {
          "type": "boolean",
          "title": "Zerodataretention",
          "default": false
        }
      },
      "additionalProperties": true,
      "type": "object",
      "title": "ScrapeOptions"
    }
  }
}