Search Telegram chats in our database via a simple HTTP API. Base URL: https://baza-tg.online
Send a free demo request (max 10 results) and inspect the JSON structure — no API key needed.
{
"hint": "Click Run request to see a live JSON response"
}
API access is provided after purchasing a plan. Contact us to receive your API credentials.
Public test endpoint. Returns up to 10 chats and/or channels so you can inspect the response structure before buying access.
| Parameter | Type | Required | Description |
|---|---|---|---|
type |
string | No (default: all) | all, chats, or channels |
lang |
string | No | Optional filter: ru, ua, or en |
sort |
string | No (default: DESC) | Sort by members: DESC or ASC |
curl "https://baza-tg.online/api/demo?type=chats&lang=ua&sort=DESC"
Search public Telegram chats by one or more keywords. Supports pagination, sorting by members, and language filters.
| Parameter | Type | Required | Description |
|---|---|---|---|
keys |
string / array | Yes | Keywords to search. Comma-separated string or repeated keys params. Min 2 characters each. |
page |
integer | No (default: 1) | Page number for pagination. |
sort |
string | No (default: DESC) | Sort by members: DESC or ASC. |
lang |
string | No (default: en) | Language filter: ru, ua, or en. |
Limits: up to 10 chats per page. Transliteration between Cyrillic and Latin is applied automatically.
{
"success": true,
"data": {
"chats": [
{
"username": "example_chat",
"title": "Example Chat",
"members": 15420,
"avatar": null
}
],
"pagination": {
"current_page": 1,
"total_pages": 5,
"per_page": 10,
"total_results": 47,
"has_next": true,
"has_prev": false
},
"search_info": {
"keys_searched": ["crypto", "trading"],
"sort_order": "DESC",
"language_filter": "en",
"total_in_database": 236276
}
},
"meta": {
"timestamp": "2026-08-24T12:00:00",
"api_version": "1.0",
"request_id": "1738012345-1234"
}
}
| Field | Type | Description |
|---|---|---|
username |
string | Telegram username without @ |
title |
string | Chat or channel title |
members |
integer | Approximate member count |
avatar |
string | null | Avatar URL when available |
type |
string | chat or channel (demo endpoint) |
is_chat |
boolean | true for chats, false for channels (demo endpoint) |
curl "https://baza-tg.online/api/search?keys=crypto,trading&page=1&sort=DESC&lang=en"
curl "https://baza-tg.online/api/search?keys=%D0%B0%D1%80%D0%B1%D0%B8%D1%82%D1%80%D0%B0%D0%B6&page=1&sort=DESC&lang=ru"
import requests
r = requests.get("https://baza-tg.online/api/search", params={
"keys": "crypto,trading",
"page": 1,
"sort": "DESC",
"lang": "en",
})
data = r.json()
if data.get("success"):
for chat in data["data"]["chats"]:
print(f"@{chat['username']} — {chat['members']} members")
const params = new URLSearchParams({
keys: "crypto,trading",
page: "1",
sort: "DESC",
lang: "en",
});
const res = await fetch(`https://baza-tg.online/api/search?${params}`);
const data = await res.json();
console.log(data.data.chats);
| Code | Description |
|---|---|
200 |
Successful request |
400 |
Invalid or missing parameters (e.g. no keys) |
500 |
Internal server error |
{
"error": "Параметр keys обязателен. Передайте ключевые слова для поиска.",
"example": "/api/search?keys=арбитраж,трафик&page=1&sort=DESC&lang=ru"
}