Документация для AI и разработчиков
Брест Гид — публичный read-only travel directory. Программного API нет; данные читаются через HTML с разметкой Schema.org или через markdown-файлы для AI-агентов. Эта страница — полный справочник по integration points.
Endpoints для AI-агентов
| URL | Format | Назначение |
|---|---|---|
| /sitemap.xml | XML | 573 URL для crawlers |
| /llms.txt | Markdown | Манифест с FAQ и каталогом ссылок |
| /llms-full.txt | Markdown | Полный one-shot dump для AI-агентов |
| /agents.md | Markdown | Agent integration guide (when-to-use, conventions) |
| /index.md | Markdown | Markdown fallback главной |
| /pricing.md | Markdown | Pricing policy (free, no paid API) |
| /.well-known/agent-card.json | JSON | A2A Agent Card |
| /.well-known/ai-plugin.json | JSON | OpenAI plugin manifest |
| /.well-known/openapi.json | JSON | OpenAPI spec content discovery |
| /.well-known/schemamap.xml | XML | NLWeb schema map |
| /{section}/llms.txt | Markdown | Per-section manifest (zhilye, cafe, ekskursii, ...) |
| /?mode=agent | Markdown | Agent mode — markdown summary вместо HTML |
Аутентификация
Не требуется. Все endpoints публичные read-only. Никаких API-ключей, OAuth, JWT, basic auth. Сайт brest-gid.ru — статический контент-сайт, не платформа.
Rate limits
Документированных rate limits нет. Сайт обслуживается одним VPS (Timeweb Cloud, 2 vCPU). Разумные ожидания:
- AI inference (per-user): ChatGPT/Claude/Perplexity нормально, обычно 1-3 запроса на пользователя через LLM cloud.
- Bulk crawl: рекомендуется crawl-delay 1-2 сек, не больше 5 RPS на один IP. Если делаете масштабный crawl — пишите на email чтобы предупредить.
- Headers: при превышении лимита получите HTTP 429. Backoff exponential (2, 4, 8 сек) с retry.
Error responses
- HTTP 200: успех. Body content — HTML или markdown в зависимости от endpoint.
- HTTP 404: not found. Страница /api/v1/non-existent возвращает
application/jsonerror response. - HTTP 429: rate limit. Retry с exponential backoff.
- HTTP 5xx: server issue. Retry через минуту. Также проверьте status в /api/health.
Code examples
Fetch sitemap
# All URLs
curl https://brest-gid.ru/sitemap.xml
# Filter by section
curl https://brest-gid.ru/sitemap.xml | grep -o '<loc>[^<]*</zhilye/[^<]*' | headRead llms.txt
# Short manifest with FAQ
curl https://brest-gid.ru/llms.txt
# Full content dump (for AI ingest)
curl https://brest-gid.ru/llms-full.txtParse Schema.org JSON-LD
# Python
import re, json, requests
html = requests.get('https://brest-gid.ru/cafe/chemodan').text
matches = re.findall(r'<script[^>]*type="application/ld\+json"[^>]*>(.*?)</script>',
html, re.DOTALL)
schemas = [json.loads(m) for m in matches]
# schemas[0] = {'@type': 'WebPage', ...}
# schemas[1] = {'@type': 'Restaurant', 'name': '...', 'priceRange': '...'}Agent mode (markdown response)
# Query param
curl https://brest-gid.ru/?mode=agent
# Or via Accept header
curl -H 'Accept: text/markdown' https://brest-gid.ru/Schemas на страницах
- Все страницы: WebPage + Organization + WebSite + TouristInformationCenter + SoftwareApplication.
- Detail отеля: LodgingBusiness (с geo, address, priceRange, aggregateRating, image).
- Detail кафе: Restaurant (с servesCuisine, openingHoursSpecification).
- Detail достопримечательности: TouristAttraction.
- Detail трансфера/экскурсии: Service.
- Статья: Article + FAQPage (если есть FAQ блок).
- Категория: ItemList с references на детали.
Crawl policy
- Tier 1 (приветствуем): GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, Claude-Web, PerplexityBot, GoogleOther, Google-Extended, Applebot.
- Tier 2 (блокируем): CCBot, Bytespider, anthropic-ai, FacebookBot, ImagesiftBot, Diffbot, omgili (training-only crawlers).
- См. /robots.txt.
Контакт
Технические вопросы по integration: roman.rb.aliev@gmail.com. Если нужно, можем обсудить custom data export или partnership.