🕵️♂️ searxng-wrapper Documentation
searxng-wrapper is a simple async/sync Python library for interacting with SearXNG, a privacy-respecting metasearch engine that supports JSON-based APIs.
📦 Installation
Install via pip:
pip install searxng-wrapper
To self-host your own SearXNG instance, you can use Docker. Alternatively, use a public instance listed at:
🚀 Usage
✅ Async (Recommended)
from searxng_wrapper import SearxngWrapper
import asyncio
async def main():
client = SearxngWrapper(
base_url="https://gatotkaca.arosyihuddin.site",
)
result = await client.asearch(
q="SearXNG"
)
print(result)
if __name__ == "__main__":
asyncio.run(main())
✅ Sync
from searxng_wrapper import SearxngWrapper
if __name__ == "__main__":
client = SearxngWrapper(
base_url="https://gatotkaca.arosyihuddin.site",
)
result = client.search(
q="SearXNG"
)
print(result)
📌 Important Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
q |
str |
- | The search query |
language |
str |
"auto" |
Result language ("auto", "en", "id", etc.) |
categories |
str |
"general" |
Search category ("general", "science", "it", etc.) |
page |
int |
1 |
Search result page |
safesearch |
str |
"off" |
Adult content filter ("off", "moderate", "strict") |
time_range |
str |
"all" |
Time range ("day", "week", "month", "year", "all") |
max_results |
int |
None |
Return only the top N results from the selected page |
enabled_engines |
List[str] |
None |
Force-enable specific search engines |
disabled_engines |
List[str] |
None |
Force-disable specific search engines |
🛑 Got a 403 Error? Here's the Fix
If you receive a 403 Forbidden error, your SearXNG instance likely does not support JSON requests by default.
✅ How to Enable JSON Support
- Open the
settings.ymlfile on your SearXNG server. The file is typically located at:
/etc/searxng/settings.yml
- Enable the JSON output format by updating the
search:section:
search:
format:
- html # default
- json # add this line to enable JSON responses
- Save the file and restart your SearXNG instance:
docker restart container_name
📌 Or simply use a public instance that already supports JSON. You can find one at: https://searx.space
🤝 Contributing
Contributions are very welcome! Feel free to fork the repository, submit pull requests for new features, bug fixes, or improvements to this documentation.
Release files for searxng-wrapper 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| searxng_wrapper-0.1.1.tar.gz | 7.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| searxng_wrapper-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:15.6 kB
Release files / searxng_wrapper-0.1.1.tar.gz
| Download URL | searxng_wrapper-0.1.1.tar.gz |
|---|---|
| Size | 7.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
67ee333cf801a36a7ff75f9415aed47043b21e27eda07c05e00914ffafd86dad
|
|
BLAKE2b-256 checksum How to use checksums |
d8f2d51a956db3d591b53ba7acb68d715863dfc55e8e4c4cb5af75a1a2acaccb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 7, 2025.
Transparency logRelease files / searxng_wrapper-0.1.1-py3-none-any.whl
| Download URL | searxng_wrapper-0.1.1-py3-none-any.whl |
|---|---|
| Size | 8.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
edcc168a14e22e5ffbb179875904fba1f007780590fb472c831667e99fd48a1d
|
|
BLAKE2b-256 checksum How to use checksums |
c5ab60e13d8d89b8f249d2c4dd2072f90642654238f5ac9e0838f16b89582be0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 7, 2025.
Transparency log