A Search API WebUI for testing and comparing Querit, You, and other search providers.
Project description
Search API WebUI
Python WebUI with native Mac/Windows/Android Apps for testing, comparing, and visualizing Search APIs (Querit, You, Tavily, Exa, Baidu, Brave, Parallel etc.).
Features
- Search: Support for multiple search api providers including:
- Querit.ai
- You.com
- Tavily.com
- Exa.ai
- Parallel.ai
- Baidu.com
- Brave.com
- Serper.dev
- You can add more generic Search APIs via configuration
- SearchAPIWebUI Arena: Compare two search providers side-by-side to benchmark latency, response size, and result relevance.
- Performance Metrics: Real-time display of request latency and response size.
- Visual Rendering: Renders standard search results (Title, URL, SiteName, SiteIcon, PageAge, Snippet) in a clean card layout.
- Configurable: Easy-to-edit
providers.yamlto add or modify search providers. - Secure: API Keys are stored locally in your $HOME folder.
Installation
macOS Installation
For macOS users, you can download the DMG installer from the GitHub Releases page:
- Visit the Releases page
- Download the appropriate DMG file for your Mac architecture:
- Apple Silicon (M1/M2/M3):
SearchAPIWebUI-<version>-macOS-arm64.dmg - Intel Macs:
SearchAPIWebUI-<version>-macOS-x86_64.dmg
- Apple Silicon (M1/M2/M3):
- Open the DMG file and drag
SearchAPIWebUIto your Applications folder - Launch
SearchAPIWebUIfrom Applications
Note: Since the application is not code-signed, macOS may block it on first launch. To allow it to run:
- Go to System Settings > Privacy & Security
- Look for the message about
SearchAPIWebUIbeing blocked - Click Open Anyway to allow the application to run
Windows Installation
For Windows users, you can download the installer from the GitHub Releases page:
- Visit the Releases page
- Download the appropriate Setup file for your Windows system:
- 64-bit Windows (most common):
SearchAPIWebUI-<version>-Windows-x64-Setup.exe - 32-bit Windows (legacy):
SearchAPIWebUI-<version>-Windows-x86-Setup.exe
- 64-bit Windows (most common):
- Run the Setup executable and follow the installation wizard
- Launch
SearchAPIWebUIfrom the Start Menu or Desktop shortcut
Note:
- The installer requires .NET Framework 4.5 or later (usually pre-installed on Windows 8+)
- Windows Defender SmartScreen may show a warning for unsigned applications. Click "More info" → "Run anyway" to proceed
Android Installation
For Android users, you can download the APK from the GitHub Releases page:
- Visit the Releases page
- Download the APK file:
SearchAPIWebUI-<version>-android-release.apk - Enable "Install from unknown sources" in your device settings:
- Go to Settings > Security > Unknown sources
- Or on newer Android versions: Settings > Apps > Special app access > Install unknown apps
- Open the downloaded APK file to install
- Launch
SearchAPIWebUIfrom your app drawer
Requirements:
- Android 5.0 (API 21) or later
- arm64-v8a architecture (covers 95%+ of modern Android devices)
- Internet permission (required for API calls)
Note: The app is signed with QUERIT PRIVATE LIMITED release certificate for security.
Install via Pip
Use this method if you just want to run the tool without modifying the code.
pip install search-api-webui
Run the Server
search-api-webui
Development
Use this method if you want to contribute to the code or build from source.
Prerequisites
- Python 3.8+
- Node.js & npm (for building the frontend)
Quick Start with Makefile
Clone the repository
git clone https://github.com/querit-ai/search-api-webui.git
cd search-api-webui
Development Mode (with hot reload)
make dev
This will:
- Set up Python virtual environment and install dependencies
- Install frontend dependencies (node_modules)
- Start Flask backend on http://localhost:8889 with hot reload
- Start Vite frontend dev server on http://localhost:5173
- Automatically open your browser
- Enable hot module replacement for instant updates
Build Python Wheel
make # or 'make all'
Build macOS DMG (macOS only)
make dmg # Builds DMG for your current architecture (incl. .app build)
make build-app # Build only the .app bundle (without DMG)
# Override architecture if needed:
make ARCH=arm64 dmg # Force Apple Silicon build
make ARCH=x86_64 dmg # Force Intel build (requires x86_64 Python)
Build Android APK (requires Docker or Linux with Buildozer)
make apk-debug # Build debug APK
make apk-release # Build release APK (requires keystore)
Prerequisites for Android Build:
- Linux environment or macOS with Docker
- Buildozer (
pip install buildozer) - Android SDK and NDK (automatically downloaded by Buildozer)
- For release builds: Android keystore file and signing credentials
The APK will be created in the bin/ directory.
Manual Setup
If you prefer not to use Makefile:
Build Frontend
cd frontend
npm install
npm run build
cd ..
Install search-api-webui (Editable Mode)
pip install -e .
Run the Server
python -m search_api_webui.app
Available Make Commands
make # Build Python wheel package (default)
make dev # Start development servers with hot reload
make dmg # Build macOS DMG for current architecture
make exe # Build Windows installer for current architecture
make apk-debug # Build Android debug APK
make apk-release # Build Android release APK (requires keystore)
make clean # Clean build artifacts
make clean-all # Clean everything including virtual environment
make help # Show all available commands
Configuration
Add API Keys
Open the WebUI settings page (click the gear icon). Enter your API Key for the selected provider (e.g., Querit). Keys are saved locally in $HOME/.search-api-webui/config.json.
Add New Providers
Edit providers.yaml in the root directory to add custom API endpoints. The system uses JMESPath to map JSON responses to the UI.
my_custom_search:
url: "https://api.example.com/search"
method: "POST"
headers:
"Accept": "application/json"
"Authorization": "Bearer {api_key}"
"Content-Type": "application/json"
payload:
query: "{query}"
count: "{limit}"
response_mapping:
root_path: "results.result"
server_latency_path: "took"
fields:
url: "url"
title: "title"
site_name: "site_name"
site_icon: "site_icon"
page_age: "page_age"
License
MIT License. See LICENSE for details.
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 Distributions
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 search_api_webui-0.2.9-py3-none-any.whl.
File metadata
- Download URL: search_api_webui-0.2.9-py3-none-any.whl
- Upload date:
- Size: 679.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1e1406003142916b48fba2fd9c1766b3505b7740aaf1acf7080d817c1cf3f94
|
|
| MD5 |
c264e34864b57356b3873c1923509a98
|
|
| BLAKE2b-256 |
480e708d995661e6bf90a0d8a6fcd0e27dc7422f89d00c90e0a382348ff04979
|
Provenance
The following attestation bundles were made for search_api_webui-0.2.9-py3-none-any.whl:
Publisher:
build-release.yml on querit-ai/search-api-webui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
search_api_webui-0.2.9-py3-none-any.whl -
Subject digest:
e1e1406003142916b48fba2fd9c1766b3505b7740aaf1acf7080d817c1cf3f94 - Sigstore transparency entry: 991619819
- Sigstore integration time:
-
Permalink:
querit-ai/search-api-webui@6066e58a851cf230bc231a00e9356ada1d4dc5f4 -
Branch / Tag:
refs/tags/v0.2.9 - Owner: https://github.com/querit-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-release.yml@6066e58a851cf230bc231a00e9356ada1d4dc5f4 -
Trigger Event:
push
-
Statement type: