For sure. I added this file at the top level, as opensearch.xml. Sorry if formatting is wrecked.
<OpenSearchDescription
xmlns="http://a9.com/-/spec/opensearch/1.1/"
xmlns:moz="http://www.mozilla.org/2006/browser/search/"
>
<ShortName>My Search</ShortName>
<Description>Personal Search</Description>
<Url
type="text/html"
method="get"
template="https://mysite.com/?q={searchTerms}"
/>
<Url
type="application/rss+xml"
indexOffset="0"
rel="results"
template="/results?query={searchTerms}"
/>
<Url
type="application/json"
rel="suggestions"
template="/suggest?q={searchTerms}"
/>
<InputEncoding>UTF-8</InputEncoding>
<Image height="32" width="32" type="image/x-icon">
https://yarnpkg.com/favicon.ico
</Image>
</OpenSearchDescription>
In the head tag:
<link
rel="search"
href="/opensearch.xml"
type="application/opensearchdescription+xml"
title="My Search"
/>
I then went to my site on Chrome iOS and it showed up under Settings > Search Engine > Recently visited. I then selected it and now anything I put in my url bar gets sent to my server. It's pretty sick.