<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>API on Seurch Dokumentation</title><link>https://docs.seurch.eu/de/api/</link><description>Recent content in API on Seurch Dokumentation</description><generator>Hugo</generator><language>de</language><atom:link href="https://docs.seurch.eu/de/api/index.xml" rel="self" type="application/rss+xml"/><item><title>Authentifizierung</title><link>https://docs.seurch.eu/de/api/authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.seurch.eu/de/api/authentication/</guid><description>&lt;h1 id="authentifizierung"&gt;Authentifizierung&lt;a class="anchor" href="#authentifizierung"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Jede API-Anfrage muss einen gültigen &lt;strong&gt;API-Schlüssel&lt;/strong&gt; enthalten. Schlüssel werden pro Benutzer ausgestellt; eine Anfrage ohne einen erhält &lt;code&gt;401&lt;/code&gt;, und eine Anfrage mit einem schlechten oder widerrufenen Schlüssel wird abgelehnt.&lt;/p&gt;
&lt;blockquote class='book-hint important'&gt;
&lt;p&gt;Die API ist eine &lt;a href="https://docs.seurch.eu/de/self-hosting/"&gt;selbst-gehostete&lt;/a&gt; Funktion, daher werden Schlüssel auf &lt;strong&gt;Ihrer eigenen Instanz&lt;/strong&gt; ausgestellt, nicht beim gehosteten seurch.eu-Dienst.&lt;/p&gt;&lt;/blockquote&gt;&lt;h2 id="einen-schlüssel-erhalten"&gt;Einen Schlüssel erhalten&lt;a class="anchor" href="#einen-schl%c3%bcssel-erhalten"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Auf Ihrer Instanz:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;In der Web-UI:&lt;/strong&gt; &lt;strong&gt;Einstellungen → API-Schlüssel&lt;/strong&gt;, erstellen Sie einen Schlüssel (optional benennen). Der vollständige Schlüssel wird &lt;strong&gt;einmal&lt;/strong&gt; angezeigt; kopieren Sie ihn sofort.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Über die Befehlszeile&lt;/strong&gt; (Administratoren):
&lt;code&gt;python manage.py create_api_key &amp;lt;benutzername&amp;gt; --name &amp;quot;mein Skript&amp;quot;&lt;/code&gt;, siehe &lt;a href="https://docs.seurch.eu/de/self-hosting/api-keys/"&gt;API-Schlüssel ausstellen&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ein Schlüssel sieht aus wie:&lt;/p&gt;</description></item><item><title>Ratenlimits</title><link>https://docs.seurch.eu/de/api/rate-limits/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.seurch.eu/de/api/rate-limits/</guid><description>&lt;h1 id="ratenlimits"&gt;Ratenlimits&lt;a class="anchor" href="#ratenlimits"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Jeder API-Schlüssel hat sein eigenes Budget, das durch &lt;strong&gt;zwei zusammen geltende Limits&lt;/strong&gt; durchgesetzt wird. Eine Anfrage muss beide erfüllen:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Limit&lt;/th&gt;
					&lt;th&gt;Standard&lt;/th&gt;
					&lt;th&gt;Zweck&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Burst&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;60/min&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Kurzfristiges Limit, schützt vorgelagerte Anbieter vor einem unkontrollierten Client.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Sustained&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;5000/day&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Begrenzt das tägliche Gesamtvolumen.&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Auf einer selbst-gehosteten Instanz sind diese mit &lt;code&gt;API_THROTTLE_BURST&lt;/code&gt; und &lt;code&gt;API_THROTTLE_SUSTAINED&lt;/code&gt; konfigurierbar; siehe &lt;a href="https://docs.seurch.eu/de/self-hosting/configuration/#public-api-rate-limits"&gt;Konfiguration&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="wenn-sie-ein-limit-überschreiten"&gt;Wenn Sie ein Limit überschreiten&lt;a class="anchor" href="#wenn-sie-ein-limit-%c3%bcberschreiten"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Das Überschreiten eines der beiden Limits gibt zurück:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;HTTP 429 Too Many Requests&lt;/code&gt;&lt;/pre&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nt"&gt;&amp;#34;detail&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Request was throttled. Expected available in 12 seconds.&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;DRF enthält einen &lt;code&gt;Retry-After&lt;/code&gt;-Hinweis in der Nachricht; warten Sie und versuchen Sie es nach der angegebenen Zeit erneut. Ein robuster Client sollte &lt;code&gt;429&lt;/code&gt; mit exponentiellem Backoff behandeln.&lt;/p&gt;</description></item><item><title>Konventionen</title><link>https://docs.seurch.eu/de/api/conventions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.seurch.eu/de/api/conventions/</guid><description>&lt;h1 id="konventionen"&gt;Konventionen&lt;a class="anchor" href="#konventionen"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="gemeinsame-abfrageparameter"&gt;Gemeinsame Abfrageparameter&lt;a class="anchor" href="#gemeinsame-abfrageparameter"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Die Such-Endpunkte akzeptieren einen gemeinsamen Satz von Parametern. Jeder entspricht einer Option, die die Website in ihrem Einstellungs-Cookie hält; hier sind sie in der URL explizit.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Parameter&lt;/th&gt;
					&lt;th&gt;Gilt für&lt;/th&gt;
					&lt;th&gt;Werte&lt;/th&gt;
					&lt;th&gt;Standard&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;q&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;alle Such-Endpunkte&lt;/td&gt;
					&lt;td&gt;Die Abfragezeichenkette (&lt;strong&gt;erforderlich&lt;/strong&gt;)&lt;/td&gt;
					&lt;td&gt;—&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;engine&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;web, images, news, videos, cards&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;brave&lt;/code&gt;, &lt;code&gt;mojeek&lt;/code&gt;, &lt;code&gt;marginalia&lt;/code&gt; oder &lt;code&gt;all&lt;/code&gt;; mehrere durch Komma oder Leerzeichen trennen&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;all&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;safe&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;web, images, news, videos, cards&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;on&lt;/code&gt; / &lt;code&gt;off&lt;/code&gt; (&lt;code&gt;off&lt;/code&gt;, &lt;code&gt;false&lt;/code&gt;, &lt;code&gt;0&lt;/code&gt;, &lt;code&gt;no&lt;/code&gt; bedeuten alle off)&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;on&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;lang&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;die meisten Endpunkte&lt;/td&gt;
					&lt;td&gt;Ein Sprachcode, z.B. &lt;code&gt;de&lt;/code&gt;, &lt;code&gt;en&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;leer (auto)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;page&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;web, images, news, videos&lt;/td&gt;
					&lt;td&gt;Seitennummer, &lt;code&gt;1&lt;/code&gt;–&lt;code&gt;50&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;date&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;web, news, videos&lt;/td&gt;
					&lt;td&gt;Zeitbereich: &lt;code&gt;d&lt;/code&gt; (Tag), &lt;code&gt;w&lt;/code&gt; (Woche), &lt;code&gt;m&lt;/code&gt; (Monat), &lt;code&gt;y&lt;/code&gt; (Jahr)&lt;/td&gt;
					&lt;td&gt;keiner&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Hinweise:&lt;/p&gt;</description></item><item><title>Such-Endpunkte</title><link>https://docs.seurch.eu/de/api/search/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.seurch.eu/de/api/search/</guid><description>&lt;h1 id="such-endpunkte"&gt;Such-Endpunkte&lt;a class="anchor" href="#such-endpunkte"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Die Kernendpunkte: Web-, Bild-, Nachrichten- und Videosuche sowie der „ähnliche Bilder&amp;quot;-Helfer. Alle akzeptieren die &lt;a href="https://docs.seurch.eu/de/api/conventions/"&gt;gemeinsamen Parameter&lt;/a&gt; (&lt;code&gt;q&lt;/code&gt;, &lt;code&gt;engine&lt;/code&gt;, &lt;code&gt;safe&lt;/code&gt;, &lt;code&gt;lang&lt;/code&gt;, &lt;code&gt;page&lt;/code&gt;, &lt;code&gt;date&lt;/code&gt;).&lt;/p&gt;
&lt;h2 id="web-suche"&gt;Web-Suche&lt;a class="anchor" href="#web-suche"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;GET /api/v1/web/?q=...&lt;/code&gt;&lt;/pre&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl -H &lt;span class="s2"&gt;&amp;#34;Authorization: Api-Key seurch_sk_&amp;lt;präfix&amp;gt;.&amp;lt;geheimnis&amp;gt;&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;https://search.example.com/api/v1/web/?q=klima&amp;amp;engine=all&amp;amp;lang=de&amp;amp;date=w&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;query&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;klima&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;tab&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;web&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;page&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;engine&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;brave&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;mojeek&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;marginalia&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;correction&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;results&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Klimawandel&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;url&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://example.org/klima&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;description&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;...&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;display_url&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;example.org&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;favicon_url&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://...&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;age&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;vor 2 Tagen&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;source&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;all&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;source_label&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Brave, Mojeek, Marginalia&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;sitelinks&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;source&lt;/code&gt; / &lt;code&gt;source_label&lt;/code&gt; — welche Suchmaschinen das Ergebnis zurückgegeben haben. &lt;code&gt;brave&lt;/code&gt; / &lt;code&gt;mojeek&lt;/code&gt; / &lt;code&gt;marginalia&lt;/code&gt; für eine einzelne Suchmaschine, oder &lt;code&gt;both&lt;/code&gt; / &lt;code&gt;all&lt;/code&gt; für suchmaschinenübergreifende Übereinstimmung (&lt;code&gt;source_label&lt;/code&gt; ist die lesbare Form).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;correction&lt;/code&gt; — ein vorgeschlagener Rechtschreibvorschlag, oder &lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="bildsuche"&gt;Bildsuche&lt;a class="anchor" href="#bildsuche"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;GET /api/v1/images/?q=...&lt;/code&gt;&lt;/pre&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;query&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;golden retriever&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;tab&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;images&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;page&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;engine&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;brave&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;results&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;...&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;url&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://example.com/seite&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;source&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;example.com&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;thumbnail&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://.../thumb.jpg&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="ähnliche-bilder"&gt;Ähnliche Bilder&lt;a class="anchor" href="#%c3%a4hnliche-bilder"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Spiegelt das „ähnliche Bilder&amp;quot;-Raster der Lightbox der Website wider, eine Bildsuche, die aus der Bildunterschrift eines geöffneten Bildes gespeist wird.&lt;/p&gt;</description></item><item><title>Karten</title><link>https://docs.seurch.eu/de/api/maps/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.seurch.eu/de/api/maps/</guid><description>&lt;h1 id="karten"&gt;Karten&lt;a class="anchor" href="#karten"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Geokodieren Sie einen Ortsnamen oder führen Sie eine umgekehrte Geokodierung eines Koordinatenpaars durch, unter Verwendung von OpenStreetMaps Nominatim. Kein Anbieter-Schlüssel erforderlich.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;GET /api/v1/maps/&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="einen-ortsnamen-geokodieren"&gt;Einen Ortsnamen geokodieren&lt;a class="anchor" href="#einen-ortsnamen-geokodieren"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;GET /api/v1/maps/?q=&amp;lt;ort&amp;gt;&amp;amp;limit=&amp;lt;n&amp;gt;&amp;amp;lang=&amp;lt;code&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;q&lt;/code&gt; — der Ort oder die Adresse zum Nachschlagen (&lt;strong&gt;erforderlich&lt;/strong&gt; in diesem Modus).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;limit&lt;/code&gt; — maximale Anzahl Ergebnisse, &lt;code&gt;1&lt;/code&gt;–&lt;code&gt;50&lt;/code&gt; (Standard &lt;code&gt;10&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;lang&lt;/code&gt; — bevorzugte Sprache für Namen.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl -H &lt;span class="s2"&gt;&amp;#34;Authorization: Api-Key seurch_sk_&amp;lt;präfix&amp;gt;.&amp;lt;geheimnis&amp;gt;&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;https://search.example.com/api/v1/maps/?q=Brandenburger+Tor&amp;amp;limit=1&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;query&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Brandenburger Tor&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;places&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Brandenburger Tor&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;display_name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Brandenburger Tor, Berlin, Deutschland&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;lat&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;52.5163&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;lon&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;13.3777&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;category&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;tourism&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;attraction&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;addresstype&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;tourism&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;importance&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.85&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;embed_url&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://www.openstreetmap.org/export/embed.html?...&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;mini_embed_url&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://...&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;osm_url&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://www.openstreetmap.org/...&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;directions_url&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://www.openstreetmap.org/directions?...&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;geo_uri&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;geo:52.5163,13.3777&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="koordinaten-umgekehrt-geokodieren"&gt;Koordinaten umgekehrt geokodieren&lt;a class="anchor" href="#koordinaten-umgekehrt-geokodieren"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Übergeben Sie &lt;code&gt;lat&lt;/code&gt; und &lt;code&gt;lon&lt;/code&gt; anstelle von &lt;code&gt;q&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Übersetzen</title><link>https://docs.seurch.eu/de/api/translate/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.seurch.eu/de/api/translate/</guid><description>&lt;h1 id="übersetzen"&gt;Übersetzen&lt;a class="anchor" href="#%c3%bcbersetzen"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Übersetzen Sie Text zwischen Sprachen, betrieben vom LibreTranslate der Instanz. Dieser Endpunkt akzeptiert &lt;strong&gt;GET oder POST&lt;/strong&gt;; verwenden Sie POST, um langen Text aus der URL und den Logs herauszuhalten.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;GET /api/v1/translate/
POST /api/v1/translate/&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="text-übersetzen"&gt;Text übersetzen&lt;a class="anchor" href="#text-%c3%bcbersetzen"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Parameter&lt;/th&gt;
					&lt;th&gt;Erforderlich&lt;/th&gt;
					&lt;th&gt;Bedeutung&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;q&lt;/code&gt; (oder &lt;code&gt;text&lt;/code&gt;)&lt;/td&gt;
					&lt;td&gt;ja&lt;/td&gt;
					&lt;td&gt;Der zu übersetzende Text&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;target&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;ja&lt;/td&gt;
					&lt;td&gt;Zielsprachcode (z.B. &lt;code&gt;de&lt;/code&gt;)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;source&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;nein&lt;/td&gt;
					&lt;td&gt;Quellsprachcode; standardmäßig &lt;code&gt;auto&lt;/code&gt; (erkennen)&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# GET&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl -H &lt;span class="s2"&gt;&amp;#34;Authorization: Api-Key seurch_sk_&amp;lt;präfix&amp;gt;.&amp;lt;geheimnis&amp;gt;&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;https://search.example.com/api/v1/translate/?q=hello&amp;amp;target=de&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# POST (besser für langen Text)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl -X POST -H &lt;span class="s2"&gt;&amp;#34;Authorization: Api-Key seurch_sk_&amp;lt;präfix&amp;gt;.&amp;lt;geheimnis&amp;gt;&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -d &lt;span class="s2"&gt;&amp;#34;q=hello world&amp;#34;&lt;/span&gt; -d &lt;span class="s2"&gt;&amp;#34;target=de&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;https://search.example.com/api/v1/translate/&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;source&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;auto&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;target&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;de&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;translated_text&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;hallo welt&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;detected_lang&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;en&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;detected_lang&lt;/code&gt; wird nur ausgefüllt, wenn &lt;code&gt;source&lt;/code&gt; &lt;code&gt;auto&lt;/code&gt; war (sonst leer).&lt;/li&gt;
&lt;li&gt;Wenn Übersetzung auf der Instanz nicht konfiguriert ist, gibt der Endpunkt &lt;strong&gt;&lt;code&gt;503&lt;/code&gt;&lt;/strong&gt; zurück mit &lt;code&gt;{&amp;quot;detail&amp;quot;: &amp;quot;Translation is unavailable or not configured on this deployment.&amp;quot;}&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="verfügbare-sprachen-auflisten"&gt;Verfügbare Sprachen auflisten&lt;a class="anchor" href="#verf%c3%bcgbare-sprachen-auflisten"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;GET /api/v1/translate/languages/&lt;/code&gt;&lt;/pre&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;languages&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nt"&gt;&amp;#34;code&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;en&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;English&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nt"&gt;&amp;#34;code&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;de&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;German&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Die Liste spiegelt wider, was die verbundene LibreTranslate-Instanz anbietet; siehe &lt;a href="https://docs.seurch.eu/de/self-hosting/translation/"&gt;Übersetzung&lt;/a&gt; für die Selbst-Hosting-Seite.&lt;/p&gt;</description></item><item><title>Sofortantworten &amp; Karten</title><link>https://docs.seurch.eu/de/api/instant-cards/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.seurch.eu/de/api/instant-cards/</guid><description>&lt;h1 id="sofortantworten--wissenskarten"&gt;Sofortantworten &amp;amp; Wissenskarten&lt;a class="anchor" href="#sofortantworten--wissenskarten"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Diese zwei Endpunkte spiegeln die Inline-Antworten und Seitenpanel der Website wider. Da ihr Inhalt je nach Antworttyp und Anbieter variiert, geben sie &lt;strong&gt;anbietergeformtes JSON&lt;/strong&gt; zurück statt eines festen Schemas pro Feld; behandeln Sie die Strukturen als Daten und lesen Sie die Felder, die Sie benötigen.&lt;/p&gt;
&lt;h2 id="sofortantworten"&gt;Sofortantworten&lt;a class="anchor" href="#sofortantworten"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;GET /api/v1/instant/?q=...&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Gibt die Sofortantwort für eine Dienstprogramm-Anfrage zurück (Mathematik, Einheits-/Basis-/Farbumrechnung, Wetter, Währung, Weltzeit, Hashes, QR, „meine IP&amp;quot;, …), oder &lt;code&gt;null&lt;/code&gt;, wenn die Anfrage keine ist, die Seurch inline beantwortet.&lt;/p&gt;</description></item><item><title>Meta-Endpunkte</title><link>https://docs.seurch.eu/de/api/meta/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.seurch.eu/de/api/meta/</guid><description>&lt;h1 id="meta-endpunkte"&gt;Meta-Endpunkte&lt;a class="anchor" href="#meta-endpunkte"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Hilfsprogramme für Autocomplete, Anbieter-Gesundheit, Schlüssel-Inspektion und Endpunkt-Entdeckung. Die Wurzel, &lt;code&gt;status/&lt;/code&gt; und &lt;code&gt;key/&lt;/code&gt; zählen &lt;strong&gt;nicht&lt;/strong&gt; zu Ihrer monatlichen Such-Nutzung (sie zählen noch gegen das rohe Ratenlimit).&lt;/p&gt;
&lt;h2 id="vorschläge"&gt;Vorschläge&lt;a class="anchor" href="#vorschl%c3%a4ge"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Autocomplete-Vorschläge der Suchleiste für eine Anfrage. &lt;em&gt;(Zählt als eine Suche.)&lt;/em&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;GET /api/v1/suggest/?q=...&lt;/code&gt;&lt;/pre&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl -H &lt;span class="s2"&gt;&amp;#34;Authorization: Api-Key seurch_sk_&amp;lt;präfix&amp;gt;.&amp;lt;geheimnis&amp;gt;&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;https://search.example.com/api/v1/suggest/?q=klim&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;query&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;klim&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;suggestions&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;klima&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;klimawandel&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;klimaschutz&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="anbieterstatus"&gt;Anbieterstatus&lt;a class="anchor" href="#anbieterstatus"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Aktueller Aufwärts-/Abwärtsstatus jedes konfigurierten vorgelagerten Anbieters, die Daten hinter der &lt;code&gt;/status&lt;/code&gt;-Seite. &lt;em&gt;(Zählt nicht zur Nutzung.)&lt;/em&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;GET /api/v1/status/&lt;/code&gt;&lt;/pre&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;providers&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;slug&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;brave&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Brave&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;group&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;web&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;monitor&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;query&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;state&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;up&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;checked_at&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;2026-06-30T09:00:00Z&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;last_ok_at&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;2026-06-30T09:00:00Z&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;last_error&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;source&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;monitor&lt;/code&gt; — wie der Status ermittelt wurde: &lt;code&gt;query&lt;/code&gt; (aus echten Suchen beobachtet) oder &lt;code&gt;probe&lt;/code&gt; (aktive Gesundheitsprüfung).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;state&lt;/code&gt; — &lt;code&gt;up&lt;/code&gt;, &lt;code&gt;down&lt;/code&gt; oder &lt;code&gt;unknown&lt;/code&gt; (noch nichts beobachtet).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ein Anbieter ohne konfigurierten API-Schlüssel wird ausgelassen (ausgeblendet, nicht als ausgefallen angezeigt).&lt;/p&gt;</description></item><item><title>Fehler</title><link>https://docs.seurch.eu/de/api/errors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.seurch.eu/de/api/errors/</guid><description>&lt;h1 id="fehler"&gt;Fehler&lt;a class="anchor" href="#fehler"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Die API verwendet Standard-HTTP-Statuscodes und gibt einen JSON-Body zurück, der das Problem beschreibt.&lt;/p&gt;
&lt;h2 id="statuscodes"&gt;Statuscodes&lt;a class="anchor" href="#statuscodes"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Code&lt;/th&gt;
					&lt;th&gt;Bedeutung&lt;/th&gt;
					&lt;th&gt;Typische Ursache&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;200&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;OK&lt;/td&gt;
					&lt;td&gt;Erfolgreiche Anfrage.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;400&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Ungültige Anfrage&lt;/td&gt;
					&lt;td&gt;Ein schlechter Parameter, z.B. ein fehlendes &lt;code&gt;q&lt;/code&gt;, ein nicht-ganzzahliges &lt;code&gt;page&lt;/code&gt; oder ein unbekanntes &lt;code&gt;engine&lt;/code&gt;.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;401&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Nicht autorisiert&lt;/td&gt;
					&lt;td&gt;Kein API-Schlüssel gesendet (oder kein erkannter Auth-Header).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;403&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Verboten&lt;/td&gt;
					&lt;td&gt;Schlüssel gehört zu einem deaktivierten Konto.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;429&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Zu viele Anfragen&lt;/td&gt;
					&lt;td&gt;Ein &lt;a href="https://docs.seurch.eu/de/api/rate-limits/"&gt;Ratenlimit&lt;/a&gt; wurde überschritten.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;503&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Dienst nicht verfügbar&lt;/td&gt;
					&lt;td&gt;Ein abhängiger Dienst ist nicht konfiguriert, z.B. Übersetzung, wenn LibreTranslate nicht gesetzt ist.&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="fehlerbodies"&gt;Fehlerbodies&lt;a class="anchor" href="#fehlerbodies"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="validierungsfehler-400"&gt;Validierungsfehler (&lt;code&gt;400&lt;/code&gt;)&lt;a class="anchor" href="#validierungsfehler-400"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Feldgebundene Nachrichten:&lt;/p&gt;</description></item></channel></rss>