OmniBil Search Engine
OmniBil is a compact, safe, customizable, multilingual federated search engine written in Python using the standard library. It combines real public sources such as Wikipedia, OpenAlex, and Crossref, with optional SearXNG endpoints configured by the host.
Hobbyist note: This is an independent hobby project created and maintained by an enthusiast. It is shared for learning, experimentation, and community feedback.
Why OmniBil?
OmniBil is designed as a small, transparent search layer rather than a crawler or an answer generator. It normalizes a query, asks configured real providers, validates and deduplicates result links, scores relevance, and returns structured JSON.
| Capability | Description |
|---|---|
| Multilingual search | Language-aware Wikipedia routing with support for common global languages. |
| Federated sources | Wikipedia, OpenAlex, Crossref, and optional host-configured SearXNG endpoints. |
| Safety controls | Unsafe-query checks, blocked-host protection, URL validation, and configurable limits. |
| Ranking | Provider weighting, term matching, title matching, deduplication, and caching. |
| API bridge | Small HTTP JSON API with optional X-OmniBil-Key authentication. |
| Transparent scope | No Google/Bing scraping, generated answers, image search, or fetching of result links. |
Quick start
Run a one-off search from the command line:
python3 omnibil_engine.py "federated search information retrieval"
Start the HTTP API:
python3 omnibil_server.py
Then send a request:
curl -s http://127.0.0.1:8787/search \\
-H 'Content-Type: application/json' \\
-d '{"query":"safe multilingual search","limit":5}'
The engine is dependency-free by default and uses only Python's standard library.
Repository contents
| File | Purpose |
|---|---|
omnibil_engine.py |
Search engine core and provider adapters. |
omnibil_server.py |
HTTP API bridge. |
OmniBil_Search_Engine_—_سياسة_الفهارس.md |
Original index policy document. |
omnibil-logo.svg |
Repository branding asset. |
omnibil-flow.svg |
Search pipeline diagram. |
Important scope note
The no-key configuration does not use or claim access to Google or Bing indexes. Official Google or Bing connectors must be configured separately by the host with the required credentials and terms-of-service compliance.
This project is provided for educational and experimental use. Please review the source code and policy document before deployment.
Feedback
Suggestions, corrections, and practical feedback are welcome. The project is maintained as a hobby and may evolve over time.