Skip to main content

🕵️‍♂️ 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:

🔗 https://searx.space

🚀 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

  1. Open the settings.yml file on your SearXNG server. The file is typically located at:
/etc/searxng/settings.yml
  1. Enable the JSON output format by updating the search: section:
search:
  format:
    - html   # default
    - json   # add this line to enable JSON responses
  1. 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)

Source distribution for searxng-wrapper 0.1.1
File Size Uploaded
searxng_wrapper-0.1.1.tar.gz 7.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for searxng-wrapper 0.1.1
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page