Python API for various search engines
Project description
seekit
seekit wraps multiple search providers behind a common SerpItem model and can search
live using curl_cffi request templates derived from captured HAR files.
Supported providers:
- Baidu
- Bilibili
- Bing
- Brave
- Douyin
- DuckDuckGo
- So.com
- Sogou
- Threads
- TikTok
- Toutiao
- Yandex
- YouTube
- Zhihu
Install
uv add seekit
For the CLI:
uv tool install seekit
Usage
Search live:
import seekit
results = seekit.search("latest OpenAI reasoning model", provider="google")
for item in results[:3]:
print(item.provider, item.title, item.url)
CLI:
seekit tiktok OpenAI
seekit google latest OpenAI reasoning model --limit 5
Each parsed item uses the shared pydantic model:
class SerpItem(BaseModel):
provider: str
title: str | None
excerpt: str | None
url: str | None
author: str | None
cover_url: str | None
Fixture parsing is still available for tests and parser debugging:
from pathlib import Path
results = seekit.parse_har("google", Path("data/pages/google.har"))
Development
uv run pytest
Tests read the HAR fixtures under data/pages, verify the normalized item
shape, and validate that live request templates substitute the search keyword correctly.
Release
make publish-testpypi
make publish-pypi
These targets build with uv build and publish with uvx uv-publish.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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 seekit-0.0.1.tar.gz.
File metadata
- Download URL: seekit-0.0.1.tar.gz
- Upload date:
- Size: 13.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
856c4622fc2b7ea7690cbd63aaee08897e189c4c27bf309a299f81b03060728f
|
|
| MD5 |
df0c7057f4455b52c4ce013028065fdc
|
|
| BLAKE2b-256 |
a5a8f34f76bed6989f3eb6a5cfeda554aebc6036c36871fd0e573362e7a80690
|
File details
Details for the file seekit-0.0.1-py3-none-any.whl.
File metadata
- Download URL: seekit-0.0.1-py3-none-any.whl
- Upload date:
- Size: 18.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb6d6e5e4efd5aceb521d0919c11b266cebfbbaf421acd3ead8b736c97943fef
|
|
| MD5 |
13ac724d00103863518c1d345f4dca3e
|
|
| BLAKE2b-256 |
11a1049044e008aa4e82bdb9d6dd01cfed8c64c5da18d46a97cf504fe91699dc
|