SerpApi search plugin for Hermes Agent: web, Maps, News, and Shopping
Project description
SerpApi for Hermes Agent
Give Hermes Agent fast, fresh search results from the web, Google Maps, Google News, and Google Shopping with SerpApi.
The plugin adds SerpApi to Hermes in two ways:
- Hermes's built-in
web_searchuses the fast Google Light engine. - Dedicated Maps, News, and Shopping tools let Hermes choose the right SerpApi engine for local places, current reporting, and product searches.
Ask Hermes to install it
You can let Hermes install and configure the plugin for you. Paste the message below into a Hermes chat, then approve the install or terminal commands if Hermes prompts you:
Install serpapi-hermes-plugin into the same Python environment that runs this
Hermes Agent. If this is a standard Hermes installation, run:
cd ~/.hermes/hermes-agent
uv pip install --python venv/bin/python serpapi-hermes-plugin
Otherwise, use the active Hermes Python environment to run:
uv pip install --python /path/to/hermes/python serpapi-hermes-plugin
Request my approval for install or terminal commands whenever required; do not
bypass approvals. After the package is installed, run:
hermes plugins enable serpapi
If Hermes asks whether to allow this plugin to replace built-in tools, answer
no; serpapi-hermes-plugin does not need tool-override access.
Then ask me for my SerpApi Private API Key, which I can copy from the SerpApi
dashboard. Do not ask for the key until installation and enablement succeed.
After I provide it, save it as SERPAPI_API_KEY in ~/.hermes/.env without
printing, logging, or committing it. Configure SerpApi as the Hermes web search
backend, tell me whether Hermes must be restarted, and verify that web search,
Maps, News, and Shopping tools are available. Use this key for future SerpApi
searches and never expose it in output.
Install
You need a working Hermes Agent installation and a SerpApi account.
Install the plugin from PyPI in the same Python environment as Hermes. If you
installed Hermes with its standard installer, use its venv interpreter
explicitly:
cd ~/.hermes/hermes-agent
uv pip install --python venv/bin/python serpapi-hermes-plugin
The explicit --python is important: the standard Hermes installer creates a
directory named venv, while bare uv pip install automatically looks for a
directory named .venv.
For a custom Hermes installation, point uv at the Python interpreter that runs Hermes:
uv pip install --python /path/to/hermes/python serpapi-hermes-plugin
If that environment already has pip and is activated, the equivalent command
is python -m pip install serpapi-hermes-plugin.
Restart any running Hermes session after installation.
Get your SerpApi API key
- Create a SerpApi account, or sign in to your existing account.
- Open the SerpApi dashboard.
- Find your Private API Key in the dashboard and copy it.
One API key powers every engine in this plugin. Keep it private and never add it to source control.
Connect the API key to Hermes
Enable the installed plugin:
hermes plugins enable serpapi
If prompted about permission to replace built-in tools, answer no. This plugin adds new tools and a web-search provider; it does not replace built-in tool handlers.
Open Hermes's interactive tool configuration:
hermes tools
In the Web Search & Extract section:
- Select SerpApi.
- Paste the Private API Key copied from your SerpApi dashboard.
- Confirm the selection.
Hermes saves the key as SERPAPI_API_KEY in its environment configuration and
selects SerpApi for future web_search calls. Restart Hermes if a session was
already running.
Manual API-key setup
Instead of using hermes tools, add the key to ~/.hermes/.env:
SERPAPI_API_KEY=your_private_api_key
Then configure ~/.hermes/config.yaml:
plugins:
enabled:
- serpapi
web:
search_backend: serpapi
You may also export SERPAPI_API_KEY in the environment that starts Hermes.
The environment variable takes precedence over the value in ~/.hermes/.env.
Search capabilities
| What you ask for | Hermes tool | SerpApi engine |
|---|---|---|
| General web research | web_search |
google_light |
| Places and local businesses | serpapi_maps_search |
google_maps |
| Current and recent news | serpapi_news_search |
google_news_light |
| Products, prices, and merchants | serpapi_shopping_search |
google_shopping_light |
Hermes chooses a tool from your request. Each tool selects and validates its own SerpApi engine, so you do not need to specify an engine name.
Example prompts:
- "Search the web for the latest Python 3.14 release notes."
- "Find highly rated coffee shops near Times Square."
- "Show me recent news about reusable rockets."
- "Find well-reviewed laptops under $1,200 with free shipping."
Contributing
See CONTRIBUTING.md for development setup, tests, pull request guidelines, and the release process.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file serpapi_hermes_plugin-0.1.0.tar.gz.
File metadata
- Download URL: serpapi_hermes_plugin-0.1.0.tar.gz
- Upload date:
- Size: 15.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc0633559dbdbb9b54e6c17548eba0b4071490e3526b11dd6a65cd8d385d5551
|
|
| MD5 |
3aac8c000bba6ad68a47b5c27d6c8500
|
|
| BLAKE2b-256 |
b2739bf44460538ca13511a7c17d07049a5a212391626346d42fc312a5cff002
|
Provenance
The following attestation bundles were made for serpapi_hermes_plugin-0.1.0.tar.gz:
Publisher:
release.yml on serpapi/serpapi-hermes-plugin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
serpapi_hermes_plugin-0.1.0.tar.gz -
Subject digest:
bc0633559dbdbb9b54e6c17548eba0b4071490e3526b11dd6a65cd8d385d5551 - Sigstore transparency entry: 2217925559
- Sigstore integration time:
-
Permalink:
serpapi/serpapi-hermes-plugin@dc79e5a3c24162dd670c67529fcd5d50d2f0ac00 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/serpapi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@dc79e5a3c24162dd670c67529fcd5d50d2f0ac00 -
Trigger Event:
release
-
Statement type:
File details
Details for the file serpapi_hermes_plugin-0.1.0-py3-none-any.whl.
File metadata
- Download URL: serpapi_hermes_plugin-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c842f944ddba27c2f173cd2d35ae213b334f05eeab8f0f29a6132409e94e8ce6
|
|
| MD5 |
2962d723cd0439faa1d6b2a91a7889bd
|
|
| BLAKE2b-256 |
0a7f213f2ab95c0bf5b9402c777ce70a412b508c912e58b63c45df7f0fe1d74c
|
Provenance
The following attestation bundles were made for serpapi_hermes_plugin-0.1.0-py3-none-any.whl:
Publisher:
release.yml on serpapi/serpapi-hermes-plugin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
serpapi_hermes_plugin-0.1.0-py3-none-any.whl -
Subject digest:
c842f944ddba27c2f173cd2d35ae213b334f05eeab8f0f29a6132409e94e8ce6 - Sigstore transparency entry: 2217925588
- Sigstore integration time:
-
Permalink:
serpapi/serpapi-hermes-plugin@dc79e5a3c24162dd670c67529fcd5d50d2f0ac00 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/serpapi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@dc79e5a3c24162dd670c67529fcd5d50d2f0ac00 -
Trigger Event:
release
-
Statement type: