TeleSearch API
Ajanslar için bir JSON API ve bir MCP sunucusu: içerik üreticilerini ekle ve düzenle, gösterimlerini, tıklamalarını ve CTR'larını kendi CRM'ine çek ya da Claude'dan bunu yapmasını iste.
Kimler için
API ve MCP sunucusu ajanslar içindir (ajans rolüne sahip hesaplar). Yalnızca ajansının içerik üreticileri üzerinde işlem yaparlar, başka hiçbir şey üzerinde değil. İçerik üretici hesapları API anahtarı alamaz. Hesabın ajans olmaktan çıkarsa anahtarların çalışmayı durdurur.
Anahtar al
Ajans hesabınla giriş yap, Panel, API bölümünü aç, anahtarına bir ad ver ve oluştur. Anahtar yalnızca bir kez gösterilir, bu yüzden güvenle sakla. En fazla 5 etkin anahtarın olabilir ve istediğin zaman herhangi birini iptal edebilirsin.
Anahtarı her isteğin Authorization başlığında gönder. Anahtarlar ts_live_ ve ardından 40 karakter şeklindedir.
GET /api/v1/creators
Ajansının içerik üreticileri.
curl -H "Authorization: Bearer ts_live_YOUR_KEY" \ https://telesearch.ai/api/v1/creators
{
"data": [
{
"id": "0b1c2d3e-0000-0000-0000-000000000000",
"slug": "jane",
"name": "Jane",
"status": "approved",
"verified": false,
"telegram_usernames": ["jane_official"]
}
]
}GET /api/v1/creators/:slug
Bir içerik üreticinin tam profili. İçerik üretici senin değilse 404 döner.
curl -H "Authorization: Bearer ts_live_YOUR_KEY" \ https://telesearch.ai/api/v1/creators/jane
{
"data": {
"id": "0b1c2d3e-0000-0000-0000-000000000000",
"slug": "jane",
"url": "https://telesearch.ai/m/jane",
"name": "Jane",
"bio": "Hi, I am Jane.",
"age": 26,
"origin_country": "FR",
"origin_city": "Paris",
"languages": ["en", "fr"],
"categories": ["Amateur"],
"attrs": { "hair": "brunette" },
"links": {},
"verified": false,
"links_unlocked": false,
"status": "approved",
"created_at": "2026-10-01T09:30:00.000Z",
"telegram_accounts": [
{
"username": "jane_official", "primary": true, "market_country": "US", "market_language": "en",
"verified": false, "verify_code": "TS-K7M2QX", "verify_code_expires_at": "2026-10-08T09:30:00.000Z", "verify_code_expired": false
}
]
}
}İçerik üreticinin tüm Telegram hesapları doğrulandığında verified true olur. Doğrulanmamış her hesap senin verify_code değerini taşır (aşağıdaki verify uç noktasına bak).
POST /api/v1/creators
Ajansına bir içerik üretici ekler. Web sitesi formuyla aynı kontrolleri yapar: yalnızca kişisel Telegram hesapları (kanal, grup ya da bot yok), zaten listelenmiş bir Telegram hesabı yok, yalnızca yetişkinler. Otomatik yaş kontrolünde bir şüphe olmadıkça liste hemen yayına girer; şüphe varsa insan incelemesi için pending olarak bekletilir ve bir notice bunu belirtir. JSON gövdesi, en fazla 20 KB:
accounts(zorunlu):link(t.me bağlantısı ya da @kullanıcıadı), isteğe bağlımarket_country,market_languageveprimaryiçeren 1 ila 5 nesne.age(zorunlu): tam sayı, 18 ila 99.adult_confirmed(zorunlu):trueolmalı. İçerik üreticinin yetişkin olduğunu ve hesabın yetişkinler tarafından işletildiğini onaylarsın.- İsteğe bağlı:
display_name(en fazla 80, varsayılan Telegram adı),bio(en fazla 2000),origin_country(ISO kodu),origin_city,languages(engibi kodlar),categories(şunlardan biri: Amateur, Cosplay, Fitness, Feet, Couples, Trans, Milf, Teen 18+, Asian, Latina, Ebony, Blonde, Brunette, Redhead, Tattoo, Petite, Curvy, Busty, Chubby, BBW, Big Ass, Mature, Goth, E-girl, Gamer, Lesbian, Arab, Indian, BDSM, Femdom, Roleplay, Girlfriend Experience, ASMR, Cam, Custom Videos, Dirty Talk, Homemade, Solo, Bikini, High Heels, Latex, Lingerie, Stockings, Leather, Boots, Bondage, Dominatrix, Dominant, Submissive, Fetish, Nurse, Teacher, Secretary, Maid, Anime, Geek, Nudist, Hairy, Muscular, Alt),attrs(nesne, örneğin{"hair":"blonde"}).links(diğer platformlardaki kullanıcı adları) oluşturma sırasında kabul edilmez: yeni bir içerik üretici doğrulanmamıştır, aşağıya bak.
curl -X POST -H "Authorization: Bearer ts_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"accounts":[{"link":"@jane_official","market_country":"US","market_language":"en"}],"age":26,"adult_confirmed":true,"display_name":"Jane","languages":["en"]}' \
https://telesearch.ai/api/v1/creatorsGET /creators/:slug ile aynı yapıyla 201 döner (liste incelemede bekletiliyorsa bir notice ile). Bilinmeyen alanlar reddedilir.
PATCH /api/v1/creators/:slug
Gönderdiğin profil alanlarını düzenler: display_name, bio, age, origin_country, origin_city, languages, categories, attrs, links. Dışarıda bıraktığın alanlar değişmez; null, bio, origin_country ve origin_city alanlarını temizler. languages ve categories tüm listeyi değiştirir. attrs ve links birleştirilir: bir anahtarı kaldırmak için null yap. Bağlantılar için doğrulanmış hesap gerekir: içerik üreticinin herhangi bir Telegram hesabı doğrulanmamışken bağlantıları kaldırabilirsin ama ekleyemez veya değiştiremezsin (403). Telegram hesapları API üzerinden değiştirilemez. Yayındaki bir liste, düzenlemeden sonra otomatik yaş kontrolünde bir şüphe çıkmadıkça yayında kalır; şüphe çıkarsa panelde olduğu gibi tekrar incelemeye döner.
curl -X PATCH -H "Authorization: Bearer ts_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"bio":"New bio","attrs":{"hair":"blonde","eyes":null}}' \
https://telesearch.ai/api/v1/creators/janeGüncellenmiş içerik üretici ile 200 döner.
POST /api/v1/creators/:slug/verify
Bir içerik üreticinin Telegram hesaplarının sana ait olduğunu kanıtlar, TGStat tarzı biyografi kontrolü gibi. Listeler hemen yayına girer ama kanıtlanana kadar doğrulanmamıştır. Doğrulanmamış içerik üreticiler normal çalışır; yalnızca diğer platformlara (OnlyFans, Fansly...) bağlantılar ayarlanamaz ve herkese açık profilde gösterilmez. Doğrulanmış içerik üreticiler Doğrulanmış rozeti alır.
- Doğrulanmamış her hesap için
GET /creators/:slugyanıtındanverify_codedeğerini (örneğinTS-K7M2QX) oku. - Onu o Telegram hesabının biyografisinde herhangi bir yere yapıştır (büyük/küçük harf fark etmez, ayrı bir kelime olmalı).
- Bu uç noktayı çağır. TeleSearch herkese açık Telegram profilini okur ve kodu kontrol eder. Sonrasında kodu biyografiden silebilirsin.
İsteğe bağlı JSON gövdesi: username (tek bir hesabı kontrol et; varsayılan olarak doğrulanmamış her hesap, en fazla 5) ve regenerate: true (kontrol etmek yerine yeni bir kod ver). Kodlar 7 gün sonra geçersiz olur. Kullanıcı başına saatte 10 denemeyle sınırlıdır (panelle ortak).
curl -X POST -H "Authorization: Bearer ts_live_YOUR_KEY" \ https://telesearch.ai/api/v1/creators/jane/verify
Doğrulandığında 200 (güncellenmiş içerik üretici data içinde). Kod henüz biyografide değilse 422 (mesaj kodunu tekrarlar), Telegram'a ulaşılamadıysa 503, deneme hakkın bittiyse 429.
DELETE /api/v1/creators/:slug
Listeyi kaldırır, paneldeki Kaldır gibi. Telegram kullanıcı adlarını serbest bırakır. İki kez çağırmak güvenlidir.
curl -X DELETE -H "Authorization: Bearer ts_live_YOUR_KEY" \ https://telesearch.ai/api/v1/creators/jane
{ "data": { "slug": "jane", "removed": true } }GET /api/v1/stats?days=7
İçerik üretici başına gösterimler, tıklamalar ve CTR, ayrıca toplamlar. days 7, 30 veya 90 olur (varsayılan 7). CTR, tıklamaların gösterimlere bölünmesidir; gösterim yoksa null olur.
curl -H "Authorization: Bearer ts_live_YOUR_KEY" \ "https://telesearch.ai/api/v1/stats?days=30"
{
"days": 30,
"creators": [
{ "id": "0b1c2d3e-0000-0000-0000-000000000000", "slug": "jane", "name": "Jane", "impressions": 12840, "clicks": 391, "ctr": 0.0305 }
],
"totals": { "impressions": 12840, "clicks": 391, "ctr": 0.0305 }
}GET /api/v1/creators/:slug/stats?days=7
Bir içerik üretici için günlük seri (UTC günleri, en eskiden başlayarak). İçerik üretici senin değilse 404 döner.
curl -H "Authorization: Bearer ts_live_YOUR_KEY" \ "https://telesearch.ai/api/v1/creators/jane/stats?days=7"
{
"id": "0b1c2d3e-0000-0000-0000-000000000000",
"slug": "jane",
"name": "Jane",
"days": 7,
"series": [
{ "date": "2026-10-01", "impressions": 1820, "clicks": 52, "ctr": 0.0286 }
]
}Reels: yükleme, kuyruk ve paylaşım takvimi
Bir içerik üretici için kısa dikey reels paylaş, panelin Sana özel (Reels) sayfası gibi. MP4 veya WebM, dikey, en fazla 60 saniye ve 60 MB. Her reels hızlı bir incelemeden geçer. İçerik üreticinin bir paylaşım takvimi varsa onaylanan reels'ler bir kuyrukta (en eskiden başlayarak) bekler ve her planlı saatte biri yayına girer; takvim yoksa onaylanır onaylanmaz yayına girerler.
Durumlar: in_review, queued (onaylandı, sırasını bekliyor, planned_at ile), live, rejected. Yüklemelerin kendi kotası var: anahtar başına ve ajans başına saatte 300 reels.
POST /api/v1/reels
Adım 1. JSON gövdesi: creator (slug), type (video/mp4 veya video/webm), size (bayt), isteğe bağlı caption (en fazla 150 karakter). Reels id değeri ve 2 saat geçerli, imzalı bir upload_url ile 201 döner.
Dosyayı PUT et, sonra POST /api/v1/reels/:id/confirm
Adım 2. Video baytlarını upload_url adresine PUT et (bu istekte API anahtarı yok), sonra onayla. TeleSearch dosyayı kontrol eder ve reels'i incelemeye ekler. İsteğe bağlı JSON gövdesi: caption (1. adımdakinin yerine geçer) ve duration_s. İki kez onaylamak güvenlidir. Onaylanmayan yüklemeler bir gün sonra geçersiz olur.
# 1. Announce the reel
curl -X POST -H "Authorization: Bearer ts_live_YOUR_KEY" -H "Content-Type: application/json" \
-d '{"creator":"jane","type":"video/mp4","size":'$(wc -c < reel.mp4)',"caption":"Sunday mood"}' \
https://telesearch.ai/api/v1/reels
# -> { "data": { "id": "6f1c...", "upload_url": "https://...", "upload_method": "PUT", "expires_in": 7200 } }
# 2. Upload the file
curl -X PUT -H "Content-Type: video/mp4" --data-binary @reel.mp4 "UPLOAD_URL"
# 3. Confirm
curl -X POST -H "Authorization: Bearer ts_live_YOUR_KEY" https://telesearch.ai/api/v1/reels/6f1c.../confirmGET /api/v1/reels?creator=:slug
İçerik üreticinin reels'leri paylaşım sırasıyla, durum, izlenme ve beğeniyle, ayrıca kuyruk özeti.
curl -H "Authorization: Bearer ts_live_YOUR_KEY" \ "https://telesearch.ai/api/v1/reels?creator=jane"
{
"creator": { "id": "0b1c2d3e-0000-0000-0000-000000000000", "slug": "jane" },
"queue": { "queued": 12, "in_review": 3, "next_post_at": "2026-10-08T16:00:00.000Z" },
"data": [
{ "id": "6f1c...", "status": "queued", "caption": "Sunday mood", "views": 0, "likes": 0, "duration_s": 14.2, "source": "upload",
"created_at": "2026-10-07T10:12:00.000Z", "published_at": null, "planned_at": "2026-10-08T16:00:00.000Z" }
]
}POST /api/v1/reels/:id/publish
Şimdi paylaş: kuyruktaki bir reels hemen yayına girer; hâlâ incelemede olan bir reels onaylanır onaylanmaz yayına girer.
GET, PUT and DELETE /api/v1/creators/:slug/schedule
Paylaşım takvimi: posts_per_day (1, 2 veya 3), times (24 saatlik yerel saatler, günlük paylaşım sayısı kadar) ve timezone (IANA adı). Hiçbiri ayarlı değilse schedule null olur. Kaçırılan (ya da kuyruğu boş bulan) bir slot atlanır, asla telafi edilmez. DELETE takvimi kaldırır: kuyruktaki reels'ler hemen yayına girer ve onaylananlar bundan sonra hemen yayına girer.
curl -X PUT -H "Authorization: Bearer ts_live_YOUR_KEY" -H "Content-Type: application/json" \
-d '{"posts_per_day":2,"times":["09:00","19:30"],"timezone":"Europe/Paris"}' \
https://telesearch.ai/api/v1/creators/jane/schedule{ "data": { "creator": "jane", "schedule": { "posts_per_day": 2, "times": ["09:00", "19:30"], "timezone": "Europe/Paris" },
"queued": 12, "in_review": 3, "next_post_at": "2026-10-07T17:30:00.000Z" } }Hatalar ve limitler
400geçersiz gövde. Yanıt her sorunu alan bazında listeler:{"error":"Validation failed.","fields":{"age":"TeleSearch only lists adults: the minimum age is 18."}}401eksik, geçersiz ya da iptal edilmiş anahtar.403anahtar sahibi artık bir ajans değil ya da doğrulanmamış bir içerik üretici üzerinde bağlantı ayarlamaya çalıştın.404içerik üretici bulunamadı ya da senin değil.409Telegram hesabı zaten TeleSearch'te (senin hesabınsa panelden sahiplen) ya da liste reddedildi veya kaldırıldı.413gövde 20 KB'tan büyük.422kullanılamayan bir Telegram bağlantısı (kişisel hesap değil, bulunamadı).503Telegram'a ulaşılamadı, sonra tekrar dene.429çok fazla istek: anahtar başına ve ajans başına saatte 600 istek (birden fazla anahtar ajans kotasını paylaşır); bunların 60 tanesi yazma (POST, PATCH, DELETE) ve 20 tanesi yeni içerik üretici olabilir.
Yanıtlar asla önbelleğe alınmaz ve tarayıcı (CORS) erişimi etkin değildir: API'yi bir web sayfasından değil, sunucundan çağır.
MCP sunucusu
Claude'u, Cursor'ı ya da herhangi bir MCP istemcisini ajansına bağla; içerik üreticileri yönet ve istatistikleri sade bir dille oku. Bu, API ile aynı API anahtarlarını, aynı kontrolleri ve aynı limitleri kullanan uzak bir sunucudur (Streamable HTTP, durumsuz).
URL: https://telesearch.ai/api/mcp
Araçlar: list_creators, get_creator, get_stats, get_daily_stats, create_creator, update_creator, verify_creator, delete_creator, list_reels, create_reel_upload, confirm_reel, publish_reel_now, get_reel_schedule, set_reel_schedule.
İstek başına bir JSON-RPC mesajı gönder: toplu gönderim desteklenmez ve her istek kotanın bir birimi sayılır.
Claude (claude.ai ve Claude Desktop)
Ayarlar, Bağlayıcılar, Özel bağlayıcı ekle'yi aç. URL olarak https://telesearch.ai/api/mcp gir ve planının ya da istemcinin özel başlık ayarlamana izin verdiği yerde Authorization: Bearer ts_live_YOUR_KEY başlığını ekle. İstemcin yalnızca OAuth bağlayıcılarını destekliyorsa aşağıdaki Claude Code veya Cursor'ı kullan ya da Claude Desktop'ı mcp-remote gibi yerel bir köprüyle kullan:
{
"mcpServers": {
"telesearch": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://telesearch.ai/api/mcp", "--header", "Authorization: Bearer ts_live_YOUR_KEY"]
}
}
}Claude Code
claude mcp add --transport http telesearch https://telesearch.ai/api/mcp \ --header "Authorization: Bearer ts_live_YOUR_KEY"
Cursor
Bunu ~/.cursor/mcp.json dosyasına (veya bir projede .cursor/mcp.json) ekle:
{
"mcpServers": {
"telesearch": {
"url": "https://telesearch.ai/api/mcp",
"headers": { "Authorization": "Bearer ts_live_YOUR_KEY" }
}
}
}Sonra şunu dene: “TeleSearch içerik üreticilerimi listele ve her biri için geçen ayın tıklamalarını göster.” Anahtara bir şifre gibi davran: ona sahip olan herkes içerik üreticilerini düzenleyebilir.