Skip to main content
Glama

Jiro Search API 🔍

Локальная и AI-нативная веб-поиск и скрейпинг-запрос API — это готовая замена самостоятельному размещению SerpAPI с MCP-сервером, агентными исследованиями и встроенной правовой поддержкой.

GitHub stars GitHub forks PyPI version Docker License: MIT Tests Python

Jiro напрямую парсит Google, Bing, DuckDuckGo, Brave, YouTube, Amazon, eBay, Yandex и Baidu — без стороннего поискового API, без оплаты за каждый запрос и без привязки к облаку. Результаты кэшируются локально в SQLite (кэш-ответы менее чем за 50 мс), предоставляются через REST API, совместимый с SerpAPI, и предназначены для вызова AI-агентами: схемы вызова функций для OpenAI/Anthropic/Gemini, сервер Model Context Protocol (MCP), обёртки LangChain/LlamaIndex и агентный цикл /ai/search, который планирует → ищет → читает страницы → формирует ответ с цитатами. Используйте собственные ключи (BYOK) для прокси, решения CAPTCHA и LLM-провайдеры.

Статус: MVP, готовый к использованию (открытый исходный код, MIT). Разверните его самостоятельно за $0 или подпишитесь на Jiro Cloud для управляемого прокси-парка, SLA и панели соответствия. Ответственное использование: поисковые системы активно защищаются от ботов. Поэтому с резидентских IP (и с прокси BYOK) Google/DuckDuckGo работают; с IP дата-центров Jiro автоматически переключается между движками (google → bing → brave → duckduckgo). Уважайте условия каждого движка и robots.txt.


Зачем Jiro? (Альтернатива самостоятельно развёртываемому сервису SerpAPI)

Проблема с закрытыми поиковыми API

Решение Jiro с открытым кодом

💸 SerpAPI стоит $200+/мес за 100 тыс. запросов

Бесплатно — запускайте на своей инфраструктуре (MIT)

☁️ Привязка к облаку: ваши запросы покинули ваш сеть

100% локально — ваши запросы, ваши данные, ваша безопасность

🤖 Нет встроенной интеграции с AI-агентами

MCP + Function Calling + LangChain/LlamaIndex из коробки

⚖️ Юридическая серая зона (robots.txt, ToS)

Встроенное соответствие: парсер robots.txt, контроль ToS, неизменяемые журналы аудита

🔍 Хрупкие парсеры ломаются при изменении интерфейсов

Самовосстанавливающиеся селекторы + автоматическая цепь из 9 движков


Related MCP server: websearch-skill

Начало работы в одну команду

pip install jiro-search          # or: uv tool install jiro-search

jiro serve                       # API on http://localhost:8000  (docs: /docs)

Всё — рабочий API поискового движка, который разворачивается на своих мощностях один команда.

# Search (SerpAPI-compatible endpoint)
curl "http://localhost:8000/search.json?engine=google&q=python+web+scraping&num=5"

# Scrape a page into clean markdown
curl -X POST http://localhost:8000/scrape \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","format":"markdown"}'

# Agentic research with citations
curl -X POST http://localhost:8000/ai/search \
  -H "Content-Type: application/json" \
  -d '{"query":"What is the best Python web scraping library in 2026?","max_sources":5}'

Матрица возможностей

Возможность

Jiro (OSS)

SerpAPI

ScraperAPI

Bright Data

Веб-поиск — 9 движков

✅

✅

❌

❌

Universal Web Scraper (markdown/text/html/JSON)

✅

❌

✅

✅

Агентные исследования (/ai/search)

✅

❌

❌

❌

MCP-сервер (stdio + Streamable HTTP + SSE)

✅

❌

❌

❌

Function-Calling Schema (OpenAI/Anthropic/Gemini)

✅

❌

❌

❌

Соответствие требованиям (robots.txt, ToS, аудит)

✅

❌

❌

❌

Гладский Сервер / Air-Gapped

✅

❌

❌

❌

BYOK прозрачное + CAPTCHA

✅

❌

Частично

✅

Open-source (MIT)

✅

❌

❌

❌

Цена

Free

$200+/mo

$199+/mo

$500+/mo


Что включено

Область

Возможности

Механизмы

Google (Паулина/news/videos/shopping/places), Bing (вес/картинки/news/videos), Brave (без/невес/видео), DuckDuckGo (без/кар), YouTube, Amazon, eBay, Yandex, Baidu

Отказоустойчиа

Автоматический отказ от движков, чередование UA, повтора с экспоненциальным ростом, переключатель цепи для каждого движка, обнаружение бот-стен, option Playwright fallback для JS-гenри صفحات

Кэш

SQLite (WAL) или Redis с TTL, fresh=true для обход, maybe; memory-режим; семантический кэш (fuzzy reuse по embeddings); p95 ответ кэша <50 мс

Скрапинг

URL → markdown/text/html/json, извлечение readable, для распоз; OpenGraph/Twitter/JSON-LD metadata, link/images, извлечение схем для LLM, custom CSS/XPath/JSONPath recipes

AI-остинс

OpenAI/Anthropic/Gemini schemas; MCP-сервер (jiro mcp); LangChain&LlamaIndex-обёртки; /ai/search агентная петля; /ai/ذاكر multi-step; SSE streaming; извлечение без LLM initial

BYOK

HTTP?/SOCKS5 socks; вопросы: BrightData/Posts/VPN/ScraperAPI/ZenRows/Smartproxy; CAPTCHA solvers (2Captcha/value); LLM keys (OpenAI, Anthropic, Gemini, OpenRouter, LM Studio) — всё через config/env

Async multifunk

POST /jobs для полных исследованных/пакетных скраўвання, ±такий про пост — status GET /jobs/{id}, webhooks HMAC

Команда

Hashed API„”its, admin roles + scopes, per-key rates, JWT, tracked counts (-/usage, ✓/metrics)

Ops

Prometheus /metricsnoevents, /proxy/status, /captcha/status, struct-log JSON, Helm-чарт

Конфиден.циаль

Никогда телеметрия, запросы по умолчанию не разделяют, все данные в локалях

Rat ref

async pamphlets + selectolax (C-), ~15 core-зависимостей, старт < 1 с


Jiro против SerpAPI, ScraperAPI, Bright Data

Jiro — это достойный opеn-source, self-hostable проект, который combines search + scrape + agentic AI research + MCP of the basis, and the mount Assembly Legal comprehension in the base. Locked competitors ask $200–$3 bill/month for this by measure, goal of self-hostal-м.

→ Inside: vs SerpAPI · vs ScraperAPI · vs Bright Data


Интеграция с AI-Агнимами

Протокол Model Context (MCP)

Существовал бМодельный протокол Context (stdio, Streamable HTTP, legacy SSE), пришло в Jiro: веб-поиск в живом, скрапинг страниц, исследования.

jiro mcp                           # MCP server over stdio
jiro mcp --transport http         # Streamable HTTP + SSE on :8000/mcp

Инструментам: enquiry (search то 9 использует, 3 типа) · scrape · фразам: aid_search * анализ формируется)*. документы: search_and_summarize, compare_engines. Автодополнене: двигатели, типы, диапазоны, вых.

Claude Desktop

{
  "mcpServers": {
    "jiro": {
      "command": "jiro",
      "args": ["mcp"],
      "env": { "JIRO_CONFIG": "~/.jiro/config.yaml" }
    }
  }
}

Cursor / Continue.dev / Zed / Клине

Подключите MCP-клиент к серверной команде jiro mcp (подр. docs/mcp).

Function Calling (OpenAI / Anthropic / Gemini)

from jiro.ai.tools import openai_tools, anthropic_tools, gemini_tools
tools = openai_tools()           # OpenAI / OpenRouter / Ollama

LangChain / LlamaIndex

from jiro.ai.tools import langchain_tools, ToolSpec
tools = langchain_tools(search_fn=my_search, scrape_fn=my_scrape, ai_fn=my_ai_search)

→ Tutorial: Build a Deep Research Agent with Jiro + Claude (MCP)


API Reference

Интерактивная документация по **ВАЖНО**http://localhost:7000/docs (Swagger) и http://localhost:8000/openapi.json.

Метод

Конечная точка

Опис

GET

/search.jsonло

Совмещенный SerpAPI — engine, q, num, start, hl, lang, api_key, …

GET/POST

/search

Псевдоним / JSON-тело

POST

/search/batch

До 10 параллельных запросов

GET

/search/stream

SSE-поток (single or multiple движком)

POST

/scrape

{url, format, include_metadata, extract_schema, recipe}

POST

/scrape/batch

До 50 URL

POST

/ai/search

План → поиск → ТОП-N → синтез ответа с ссылками

GET

/ai/search/stream

SSE-поток (plan|search|source|synthesize|answer)

POST

/ai/agent

Многошаговое автономное исследование

POST

/ai/extract

LLM-извлечение из URL/текста по кастомной схеме

POST

/jobs

ai_search / ai_agent / batch_scrape с webhook

GET

/health, /engines, /metrics

Статус, движки, счётчики Prometheus

POST/GET/DELETE

/api-keys

Управление хешированными ключами (admin)

POST

/auth/token

Обмен API-ключа на JWT

Аутентификация: изначально заголовок X-API-Key: jsk_... или параметр ?api_key=..., либо Authorization: Bearer <jwt>. Когда auth.enabled: false (по умолчанию), API открыт для локально использования.


RCLI

jiro serve                        # start the API server
jiro search web "python scraping" --engine bing --num 5 --json
jiro scrape "https://example.com" --format markdown
jiro ask "best python scraping library?" --max-sources 5
jiro mcp                          # MCP server over stdio
jiro config init                  # write ~/.jiro/config.yaml
jiro config show
jiro keys create --name "ci" --role user        # prompts for admin key
jiro keys list
jiro keys revoke key_abc123
jiro usage --days 7
jiro plugins create myengine --author "Your Name"   # scaffold a new engine

Configuration & Config

Настройки — в ~/.jiro/config.yaml или $JIRO_CONFIG. Замените при необходимости переменной окружения: JIRO_SERVER__PORT=9000, JIRO_AUTH__ENABLED=true. Секреты вносят через env: api_key: ${OPENAI_API_KEY}.

Сервис

Конфигурация

Пример из env

Прокси (пользовательский)

scraping.proxy.url (через запятую, с ротацией)

http://user:pass@proxy.example:22225

Прокси (BrightData)

scraping.proxy.provider: brightdata + api_key

${BRIGHTDATA_API_KEY}

Прокси (Oxylabs/ScraperAPI/ZenRows/Smartproxy)

scraping.proxy.provider + api_key

${OXYLABS_API_KEY}

CAPTCHA (2Captcha / CapSolver)

scraping.captcha.provider + api_key

${CAPSOLVER_API_KEY}

LLM (OpenAI/Anthropic/Gemini/OpenRouter)

llm.provider/api_key/model

${OPENAI_API_KEY}

LLM (Ollama, локально)

llm.provider: ollama, base_url: http://localhost:11434/v1

—

Кэш Redis

cache.type: redis, cache.url

JIRO_CACHE__TYPE=redis


Развертывание

Docker

docker compose up -d            # http://localhost:8000

Helm (Kubernetes)

helm install jiro ./helm \
  --set config.env.JIRO_AUTH__ENABLED=true \
  --set config.envFromSecret=jiro-secrets

Включает Deployment, Service, PVC (данные SQLite), опциональный Ingress и опциональный кэш Redis (--set redis.enabled=true).

Настройка команды (авторизация включена)

export JIRO_AUTH__ENABLED=true JIRO_JWT_SECRET=$(openssl rand -hex 32)
jiro keys create --name admin --role admin --admin-key "$ADMIN"
jiro keys create --name "alice" --role user --rate-limit 30

💡 Open Core и монетизация

Jiro — open-source (MIT) и всегда будет бесплатным для самостоятельного размещения. Устойчивая модель:

Выпуск

Что это

Лицензия

Для кого

Jiro OSS

Полный поиск/скрейпинг/AI/MCP, все движки, плагины, соответствие требованиям

MIT

Все — $0

Jiro Cloud (дорожная карта)

Управляемый хостинг, автоскейлинг, глобальный пул резидентных прокси, SLA, SSO, картина соответствия

SaaS

Команды и агенты

Jiro Enterprise (дорожная карта)

Лицензия для автономной сети (BSL-1.0), путь к SOC 2, выделенная поддержка, приватные движки-плагины

Source-available

Финтех/Юр/Гос/ИИ-лаборатории

Мы монетизируем удобство, соответствие и поддержку — но никогда не код. Вклад сообщества остаётся под лицензией MIT.

→ Дорожная карта: docs/ROADMAP.md


Документация


Производительность

Метрика

Значение

Запуск

< 1 с

Кэшированный поиск (SQLite)

~1–3 мс за полный цикл в процессе

Живой поиск Bing

~0.3–0.8 с с IP дата-центра

/scrape небольшой страницы

~0.3–0.9 с первое обращение, затем кэш

Набор тестов

380 тестов


Структура проекта

jiro/
├── ai/            LLM providers, tool schemas, agentic loop (research + multi-step agent + SSE)
├── scraping/      HTTP client (UA rotation, retries, circuit breaker, proxy manager, browser fallback),
│                  engines: google/bing/brave/duckduckgo/youtube/amazon/ebay/yandex/baidu
├── server/        FastAPI app: routers (search, scrape, ai, stream, jobs, admin, ops, system)
├── auth.py        API keys (SHA-256 hashed), JWT, rate limiting
├── browser.py     Playwright browser fallback (lazy, graceful degradation)
├── cache.py       SQLite / memory cache manager
├── captcha.py     BYOK CAPTCHA solvers (2Captcha, CapSolver)
├── config.py      YAML + env config with ${VAR} interpolation
├── db.py          SQLite (WAL): cache, api_keys, usage, jobs, semantic_cache, tos_acknowledgments
├── extract.py     readability + metadata + HTML→Markdown
├── jobs.py        async job queue + webhooks (HMAC-signed)
├── mcp.py         MCP server (stdio): tools, prompts, resources, autocompletion
├── models.py      Pydantic contracts
├── proxy.py       BYOK proxy manager (provider presets, rotation, cooldown)
├── recipes.py     CSS / XPath / JSONPath extraction recipes
├── redis_cache.py Redis cache backend
├── semantic.py    embedding-based semantic cache
└── cli.py         Typer CLI
tests/             parser fixtures + unit/API/integration/chaos/property tests

Разработка

git clone https://github.com/DevAnimecx/jiro.git && cd jiro
pip install -e ".[dev,browser,redis,recipes]"
pytest -m "not network"            # skip network-dependent tests
jiro serve --reload

Статус дорожной карты

  • Фаза 1 (MVP) — ✅ CLI, конфигурация, сервер FastAPI, веб-движки google/bing/ddg, совместимый с SerpAPI JSON, кэш SQLite, аутентификация по API-ключу, схема инструментов OpenAI, /ai/search, Dockerfile.

  • Фаза 2 — ✅ Brave + Bing видео, типы изображений/новостей, командные ключи, MCP-сервер, обёртки LangChain/LlamaIndex, партия-скрейпинг, /metrics, fallback через Playwright, BYOK-прокси + CATCOMPHA, SSE, Redis.

  • Фаза 3 — ✅ многошаговое исследование /ai/agent, рецепты CSS/XPath/JSONPath, извлечение LLM, реестр плагинов, асинхронные задачи + вебхуки.

  • Фаза 4 — частично: семантический кэш готов; конвейеры RAG, горизонтальное масштабирование, маркетплейс парсеров сообщества пока остаются будущей работой. Входит Helm-чарт.


Лицензия и ответственное использование

MIT. Jiro — это инструмент для скрейпинга: уважайте условия использования каждого поисковика и robots.txt, соблюдайте корректные частоты запросов и используйте прокси/решения CAPOCHA на своё усмотрение. Весь трафик исходит из вашей сети; запросы видны только тем поисковикам, к которым вы обращаетесь.


Сообщество и поддержка


Разработано Adarsh Kushwah · Blackvault Technology

Локально-ориентированный, AI-нативный поиск и скрейпинг — бесплатно, открыто и доступно для самостоятельно хостинга.

Maintenance

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to perform web searches with full content retrieval and multi-engine provenance, including trust scoring and local corpus persistence, via MCP integration.
    1 npm
    3
    Apache 2.0
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to perform unified web research through a single MCP server, including search, page fetching, recursive crawling, document parsing, YouTube transcript extraction, and deep multi-query research.
    3
    -