OpenSERP (Search Engine Results Page)


API access for search engines results if available isn't free.
Using OpenSERP, you can get search results from Google, Yandex, Baidu via API or CLI!
See Docker and CLI usage examples below (search, images).
Docker usage 🐳
# Use prebuilt image
docker run -p 127.0.0.1:7000:7000 -it karust/openserp serve -a 0.0.0.0 -p 7000
# Or build one and run using docker-compose.yaml
docker-compose up --build
Request parameters
| Param |
Description |
| text |
Text to search |
| lang |
Search pages in selected language (EN, DE, RU...) |
| date |
Date in YYYYMMDD..YYYYMMDD format (e.g. 20181010..20231010) |
| file |
File extension to search (e.g. PDF, DOC) |
| site |
Search within a specific website |
| limit |
Limit the number of results |
| answers |
Include google answers as negative rank indexes (e.g. true, false) |
Search
Example request
Get 20 Google results for hello world, only in English:
GET http:/127.0.0.1:7000/google/search?lang=EN&limit=20&text=hello world
You can replace google to yandex or baidu in query to change search engine.
|
Example response
[
{
"rank": 1,
"url": "https://en.wikipedia.org/wiki/%22Hello,_World!%22_program",
"title": "\"Hello, World!\" program",
"description": "A \"Hello, World!\" program is generally a computer program that ignores any input, and outputs or displays a message similar to \"Hello, World!\".",
"ad": false
},
]
Images [WIP]
Example request
Get 100 Google results for golden puppy:
GET http://127.0.0.1:7000/google/image?text=golden puppy&limit=100
CLI ⌨️
- Use
-h flag to see all commands.
- You can use
serve command to serve API:
openserp serve
- Or print results in CLI using
search command:
openserp search google "how to get banned from google fast" # Change `google` to `yandex` or `baidu`
As a result you should get JSON output containting search results:
[
{
"rank": 1,
"url": "https://www.cyberoptik.net/blog/6-sure-fire-ways-to-get-banned-from-google/",
"title": "11 Sure-Fire Ways to Get Banned From Google | CyberOptik",
"description": "How To Get Banned From Google · 1. Cloaking: The Art of Deception · 2. Plagiarism: Because Originality is Overrated · 3. Keyword Stuffing: More is Always Better · 4 ...",
"ad": false
}
]
Proxy Support
Both browser mode and raw mode support HTTP and SOCKS5 proxies with authentication:
# HTTP proxy with auth
openserp search google "query" --proxy http://user:pass@127.0.0.1:8080
# Serve with SOCKS5 proxy
openserp serve --proxy socks5://127.0.0.1:1080
# For HTTPS sites through HTTP proxy, use --insecure to ignore certificate errors
openserp search google "query" --proxy http://127.0.0.1:8080 --insecure
openserp search google "query" -x http://127.0.0.1:8080 -k
License
This project is licensed under the MIT License - see the LICENSE file for details
Bugs + Questions 👾
If you have some issues/bugs/questions, feel free to open an issue.