Commit Graph

3 Commits

Author SHA1 Message Date
Patrick Evans
f930443726 [fix] kagi: safely access unpromised result properties
I was testing the new Kagi engine and found for some queries I was getting a
`KeyError` exception from the result parsing.

This PR ensures we only assumes the `url` key exists, and we use `.get()` to
retrieve values for keys that may not be present.

Their API documentation [1] clarifies that only the `url` and `title` properties
are required/guaranteed in the search result object, but this is not correct:

    File "/home/patrick/code/searxng/searx/engines/kagi.py", line 161, in response
        title=html.unescape(result["title"]),
                            ~~~~~~^^^^^^^^^
    KeyError: 'title

Heard back from Kagi support:

> The image results "title' should be marked as optional, as many images likely
> don't have titles - as you've noticed.  The only required field there should be
> the "url" field.

[1] https://kagi.redocly.app/api/docs/openapi/search/search#search/search/t=response&c=200&path=data/search
[2] https://github.com/searxng/searxng/issues/2247#issuecomment-4692976877
2026-07-07 10:49:54 +02:00
Bnyro
d58ced8f71 [fix] kagi: results contain HTML tags 2026-07-07 10:35:06 +02:00
Bnyro
de8a3de15a [feat] engines: add support for Kagi (requires API key) 2026-06-12 14:48:47 +02:00