AI Directories
resmiAI Directories kataloğunda arama yapın, bir kaydı görüntüleyin ve gönderim dizinlerine göz atın
AI Directories MCP ile neler yapabilirsiniz?
- AI araçlarını ara —
search_toolsile anahtar kelime, kategori, etiket veya fiyata göre AI araçları bulmasını isteyin. - Araç detaylarını getir —
get_toolile herhangi bir aracın slug'ına göre ekran görüntüleri ve SSS'ler dahil tam genel listesini isteyin. - En iyi araçlara göz at —
get_top_toolsile açılış sayısına göre en popüler AI araçlarını, isteğe bağlı olarak kategoriye göre filtreleyerek sorun. - Kategorileri ve etiketleri keşfet — Asistanın
list_categoriesveyalist_tagskullanarak tüm AI araç kategorilerini veya etiketlerini sayılarla listelemesini sağlayın. - Dizin gönderimlerini bulun — Gönderim hedeflerini belirlemek için
search_directoriesile dizinleri ad, maliyet veya kategoriye göre arayın. - Dizin profillerini alın —
get_directoryile bir dizinin Domain Rating ve rozet gereksinimleri dahil tam profilini alın.
Dokümantasyon
Developers
API & MCP
Resmi AI Directories kataloğu — AI araçlarını ve gönderim dizinlerini curl veya bir ajanla arayın. Ücretsiz, belgelenmiş ve kazımadan (scraping) daha iyi.
RESTGET · Bearer aid_
MCPStreamable HTTP
OpenAPImakine spesifikasyonu
AI Directories kataloğunda arama yapın, bir kaydı görüntüleyin ve gönderim dizinlerine göz atın — bir ajan veya curl ile. REST ve MCP aynı arka ucu paylaşır. Üçüncü taraf kazıyıcılar, genel sayfalarımızı sarar ve bir döküm için ücret alır. Bu resmi kaynaktır.
Örnek — GET /tools/transclipper
curl -s "https://www.aidirectori.es/api/v1/tools/transclipper" \
-H "Authorization: Bearer aid_your_api_key"
{
"success": true,
"data": {
"id": "69b81f3e40816562014e004a",
"slug": "transclipper",
"name": "TransClipper",
"url": "https://www.aidirectori.es/ai-tools/transclipper",
"website": "https://transclipper.ai",
"tagline": "Steal the Blueprint Behind Any Viral Video",
"description": "TransClipper is a powerful AI-driven tool designed for efficient content clipping and transcription.",
"category": { "slug": "video", "name": "Video" },
"tags": [
{ "slug": "ai", "name": "AI" },
{ "slug": "content-creation", "name": "Content Creation" }
],
"pricing": "FREE",
"rating": 4,
"opens": 4030,
"featured": true,
"icon": "https://cdn.aidirectori.es/icons/1784893027853-vpj1hwsqkq.png"
}
}
Neler yapabilirsiniz
- AI araçlarını anahtar kelime, kategori, etiket veya fiyatlandırmaya göre arayın
- Slug ile tek bir aracı getirin (tam genel kayıt)
- Kategorileri ve etiketleri listeleyin
- Gönderim dizinlerini arayın (DR, maliyet, rozet)
- aid_ anahtarınızla tek bir dizin profilini getirin
Neler yapamazsınız
- Kurucu e-postalarını veya özel analizleri okuyun
- HTML sitesini kazıyın veya bir tarayıcı gibi davranın
- Kataloğu rakip bir dizin olarak yeniden yayınlayın
- Verilmiş bir anahtar olmadan ortak yazma API'lerini çağırın
Bu neden var
İnsanlar aidirectori.es adresini kazıyıp dışa aktarımı satıyorlardı. Resmi API, ürünler, araştırmalar ve ajanlar için ücretsizdir — atıf, hız sınırları ve bir lisansla: tam kataloğu rakip bir dizin veya ücretli kazıma olarak yeniden yayınlayamazsınız.
Bir ajana ekleyin
Cursor: .cursor/mcp.json veya ~/.cursor/mcp.json. Authorization: sonrasında boşluk yok — mcp-remote boşluklara göre böler. MCP Kurulumu bölümüne bakın.
{
"mcpServers": {
"aidirectories": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://www.aidirectori.es/api/mcp",
"--header", "Authorization:Bearer aid_your_real_key"
]
}
}
}
Ayrıca makine tarafından okunabilir
- /llms.txt — ajanlar için site özeti
- /sitemap.xml
- IP başına 60 istek/dk · 400/saat
Başlayın / Hızlı başlangıç
Hızlı başlangıç
Bir aid_ anahtarı oluşturun, ardından araçları arayın, bir kaydı getirin ve dizinleri arayın.
Geliştirici panelinde bir anahtar oluşturun, ardından bunları kopyalayın.
1. AI araçlarını arayın
curl -s "https://www.aidirectori.es/api/v1/tools?q=image&limit=5" \
-H "Authorization: Bearer aid_your_api_key"
2. Bir kaydı getirin
curl -s "https://www.aidirectori.es/api/v1/tools/transclipper" \
-H "Authorization: Bearer aid_your_api_key"
3. Dizinleri arayın
curl -s "https://www.aidirectori.es/api/v1/directories?q=ai&limit=5" \
-H "Authorization: Bearer aid_your_api_key"
MCP üzerinden aynı işlemler: sunucuyu aynı Bearer token ile ekleyin, ardından search_tools, get_tool ve search_directories çağırın. MCP kurulumuna bakın.
Başlayın / Kimlik doğrulama
Kimlik doğrulama
API anahtarı ile Bearer token. Geliştirici panelinizden anahtarlar oluşturun. Standart 10/dk, premium 60/dk.
Kimlik doğrulama
API anahtarı ile Bearer token. Geliştirici panelinizden anahtarlar oluşturun.
Hız sınırları
Standart anahtarlar dakikada 10 istek alır. Premium anahtarlar 60 alır. Geliştirici panelinizden yükseltin. Hız sınırı başlıkları her yanıtta bulunur.
Temel URL
https://www.aidirectori.es/api/v1
-
1 API anahtarınızı alın
Geliştirici paneline gidin ve bir API anahtarı oluşturun. Anahtarlaraid_ile başlar. Güvenli bir yerde saklayın — tam anahtarı bir daha göremezsiniz. Kabul edilebilir kullanım zorunludur Anahtar oluşturmak, API Kabul Edilebilir Kullanım Politikasını kabul etmeyi gerektirir. İşletmeleri klonlamak, AI Directories'i yeniden oluşturmak, toplu yeniden yayınlama, yetkisiz genel SEO sayfaları, kötüye kullanım hedefleme, kimlik bilgisi paylaşımı ve erişim kontrolünü atlatma yasaktır ve kalıcı platform yasağıyla sonuçlanabilir. -
2 İlk isteğinizi yapın
AnahtarınızıAuthorizationbaşlığında bir Bearer token olarak iletin.X-API-Keyde her uç noktada kabul edilir. İkisi birbirinin yerine geçebilir — bir anahtarın erişebildikleri, anahtara bağlıdır, geldiği başlığa değil. Bir panelaid_anahtarı,X-API-Keyolarak gönderildiğinde ortak uç noktalarda yine403alır; 403 görüyorsanız, farklı bir başlığa değil, farklı bir anahtara ihtiyacınız var.curl -s "https://www.aidirectori.es/api/v1/tools?q=ai&limit=5" \ -H "Authorization: Bearer aid_your_api_key" -
3 Yanıtı ayrıştırın
Başarılı okumalar{ success: true, data }döndürür. Liste uç noktaları ayrıcapaginationiçerir — alanları ve limit kırpma kuralları, bir sayfalama döngüsü yazmadan önce okumaya değer.X-RateLimit-Remainingizleyin.{ "success": true, "data": [ { "slug": "transclipper", "name": "TransClipper", "website": "https://transclipper.ai" } ] }
Ortak anahtarları
Gönderim hizmeti için bize araç gönderen dizin ortakları, POST /submit-ai-tool, durum, webhook'lar ve destek için verilmiş bir anahtar kullanır. Bu anahtarlar katalog okumalarında da çalışır. Bir dizininiz mi var? bölümüne bakın.
MCP / Kurulum
MCP Kurulumu
Barındırılan Streamable HTTP MCP — REST ile aynı Bearer anahtarını gönderin.
Sunucu, Streamable HTTP üzerinden Model Context Protocol konuşur. Barındırılır. Her araç, REST API ile aynı işlevleri sarar. Geliştirici panelinizden Authorization: Bearer aid_… gönderin.
https://www.aidirectori.es/api/mcp
Claude Code
claude mcp add --transport http aidirectories https://www.aidirectori.es/api/mcp \
--header "Authorization: Bearer aid_your_api_key"
Cursor / Claude Desktop
Proje kapsamı: .cursor/mcp.json. Global: ~/.cursor/mcp.json. Claude Desktop: claude_desktop_config.json (yalnızca stdio — bu aynı blok).
{
"mcpServers": {
"aidirectories": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://www.aidirectori.es/api/mcp",
"--header", "Authorization:Bearer aid_your_real_key"
]
}
}
}
Authorization: sonrasında boşluk yok — mcp-remote argümanları boşluklara göre böler, bu yüzden "Authorization: Bearer …" başlığı bozar. Dosyayı düzenledikten sonra istemciyi tamamen yeniden başlatın.
Sunucuyu ekledikten sonra, ajandan araçları listelemesini isteyin. search_tools, get_top_tools, get_tool, list_categories, list_tags, search_directories, get_directory ve list_directory_categories görmelisiniz.
Doğrulama
curl -s https://www.aidirectori.es/api/mcp -X POST \
-H "Authorization: Bearer aid_your_api_key" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'
MCP / Araçlar
MCP araçları
Her MCP aracı, REST kataloğu üzerinde ince bir sarmalayıcıdır.
Kimlik doğrulama, REST ile aynı Bearer aid_ anahtarıdır.
| Araç | REST | Girdi |
|---|---|---|
search_tools | GET /tools | q, category, tag, pricing, featured, page, limit |
get_top_tools | GET /tools/top | limit, category |
get_tool | GET /tools/{slug} | slug |
list_categories | GET /categories | q, limit |
list_tags | GET /tags | q, limit |
search_directories | GET /directories | q, category, cost, featured, page, limit |
get_directory | GET /directories/{slug} | slug |
list_directory_categories | GET /directory-categories | — |
Tam alan notları AI araçları ve Dizinler altındadır.
REST API / Genel Bakış
REST API
Betikler, CI ve ortak entegrasyonları için düz HTTP. MCP sunucusu bu aynı yolları çağırır — bu yüzden bir sonuç, hangi taşımanın istediğine asla bağlı değildir.
| İşlem | Yöntem | Yol | Kimlik Doğrulama | Girdi |
|---|---|---|---|---|
| search_tools İsteğe bağlı kategori, etiket, fiyatlandırma ve öne çıkan filtreleriyle anahtar kelime araması. | GET | /tools | Bearer | q, category, tag, pricing, featured, includeAdult, page, limit |
| get_top_tools Açılışlara göre ilk N kayıt — anahtar kelime gerekmez. | GET | /tools/top | Bearer | limit, category, includeAdult |
| list_categories Araç sayılarıyla AI araç kategorileri — aramayı filtrelemeden önce kullanın. | GET | /categories | Bearer | q, limit |
| list_tags Araç sayılarıyla AI araç etiketleri. | GET | /tags | Bearer | q, limit |
| get_tool Tek bir AI aracı için tam genel kayıt. | GET | /tools/{slug} | Bearer | slug |
| search_directories Gönderim dizinlerini ada, kategoriye veya maliyete göre arayın. | GET | /directories | Bearer | q, category, cost, featured, page, limit |
| get_directory Tek bir dizin için tam genel profil. | GET | /directories/{slug} | Bearer | slug |
| list_directory_categories Filtre keşfi için dizin kategori etiketleri. | GET | /directory-categories | Bearer | — |
| submit_ai_tool Bir AI araç kaydı oluşturun (ve isteğe bağlı olarak dizin gönderimlerini kuyruğa alın). | POST | /submit-ai-tool | X-API-Key | name, website, tagline, description, category, pricing, founderName, founderEmail, tags, paymentType, … |
| get_tool_status Anahtarınızın gönderdiği bir araç için dizin gönderim ilerlemesini yoklayın. | GET | /ai-tools/status | X-API-Key | id | slug | website |
Keşif GET / adresinde ve OpenAPI belgesi GET /openapi.json adresindedir. Katalog yanıtları için alan notları AI araçları ve Dizinler üzerindedir.
Zarf, sayfalama ve limitler
Her yanıt aynı zarftır. data, aramalarda bir dizi ve tek öğe aramalarında bir nesnedir. data okumadan önce success kontrol edin.
{ "success": true, "data": [], "pagination": { "page": 1, "limit": 20, "total": 0, "pages": 0 } }
{ "success": false, "error": "Invalid or revoked API key." }
GET /tools ve GET /directories bir pagination nesnesi döndürür. Taksonomi uç noktaları — /categories, /tags, /directory-categories — tüm listeyi döndürür ve hiç pagination anahtarı içermez.
| page | Aldığınız sayfa, 1 tabanlı |
|---|---|
| limit | Gerçekte uygulanan sayfa başına öğe |
| total | Tüm sayfalardaki eşleşen öğeler |
| pages | ceil(total / limit) veya hiçbir şey eşleşmediğinde 0 |
Aşırı büyük bir limit reddedilmez, kırpılır. Maksimumdan fazlasını isteyin ve maksimumu alırsınız, bir 200 ile — bunun olduğunu söyleyen bir hata yoktur. /tools ve /directories varsayılan olarak 20'dir ve 100'de sınırlanır; /categories ve /tags 500'de sınırlanır. Eksik, sıfır, negatif veya sayısal olmayan bir limit varsayılana geri döner ve page 1'de tabanlanır. Bu yüzden istediğiniz sayfa boyutunu aldığınızı varsaymak yerine pagination.limit yanıttan geri okuyun — bu varsayım, bir sayfalama döngüsünü sonsuz bir döngüye dönüştüren şeydir.
page=1
while :; do
body=$(curl -s "https://www.aidirectori.es/api/v1/tools?limit=100&page=$page" \
-H "Authorization: Bearer $AID_KEY")
echo "$body" | jq -e '.success' >/dev/null || { echo "$body"; break; }
echo "$body" | jq -c '.data[]'
pages=$(echo "$body" | jq '.pagination.pages')
[ "$page" -ge "$pages" ] && break
page=$((page + 1))
sleep 6 # stay under 10 req/min on a standard key
done
AI araçları
Canlı kataloğa göz atın, arayın ve filtreleyin veya slug ile tek bir kaydı getirin. MCP search_tools, get_top_tools, get_tool, list_categories ve list_tags eşlenir.
list_categories
Araç sayılarıyla AI araç kategorileri — aramayı filtrelemeden önce kullanın.
| REST | GET /categories |
|---|---|
| MCP | tools/call → list_categories |
| Kimlik Doğrulama | Bearer |
| Girdi | q, limit |
curl -s "https://www.aidirectori.es/api/v1/categories" \
-H "Authorization: Bearer aid_your_api_key"
get_top_tools
Açılışlara göre ilk N kayıt — anahtar kelime gerekmez.
| REST | GET /tools/top |
|---|---|
| MCP | tools/call → get_top_tools |
| Kimlik Doğrulama | Bearer |
| Girdi | limit, category, includeAdult |
curl -s "https://www.aidirectori.es/api/v1/tools/top?limit=10&category=image" \
-H "Authorization: Bearer aid_your_api_key"
search_tools
İsteğe bağlı kategori, etiket, fiyatlandırma ve öne çıkan filtreleriyle anahtar kelime araması.
| REST | GET /tools |
|---|---|
| MCP | tools/call → search_tools |
| Kimlik Doğrulama | Bearer |
| Girdi | q, category, tag, pricing, featured, includeAdult, page, limit |
curl -s "https://www.aidirectori.es/api/v1/tools?q=ai&limit=5" \
-H "Authorization: Bearer aid_your_api_key"
get_tool
Tek bir AI aracı için tam genel kayıt.
| REST | GET /tools/{slug} |
|---|---|
| MCP | tools/call → get_tool |
| Kimlik Doğrulama | Bearer |
| Girdi | slug |
curl -s "https://www.aidirectori.es/api/v1/tools/transclipper" \
-H "Authorization: Bearer aid_your_api_key"
list_tags
Araç sayılarıyla AI araç etiketleri.
| REST | GET /tags |
|---|---|
| MCP | tools/call → list_tags |
| Kimlik Doğrulama | Bearer |
| Girdi | q, limit |
curl -s "https://www.aidirectori.es/api/v1/tags" \
-H "Authorization: Bearer aid_your_api_key"
Dizinler
Gönderim dizini kataloğu — Domain Rating, maliyet, rozet ve kategoriler. MCP search_directories, get_directory ve list_directory_categories eşlenir.
search_directories
Gönderim dizinlerini ada, kategoriye veya maliyete göre arayın.
| REST | GET /directories |
|---|---|
| MCP | tools/call → search_directories |
| Kimlik Doğrulama | Bearer |
| Girdi | q, category, cost, featured, page, limit |
curl -s "https://www.aidirectori.es/api/v1/directories?cost=Free&limit=10" \
-H "Authorization: Bearer aid_your_api_key"
get_directory
Tek bir dizin için tam genel profil.
| REST | GET /directories/{slug} |
|---|---|
| MCP | tools/call → get_directory |
| Kimlik Doğrulama | Bearer |
| Girdi | slug |
curl -s "https://www.aidirectori.es/api/v1/directories/theres-an-ai-for-that" \
-H "Authorization: Bearer aid_your_api_key"
list_directory_categories
Filtre keşfi için dizin kategori etiketleri.
| REST | GET /directory-categories |
|---|---|
| MCP | tools/call → list_directory_categories |
| Kimlik Doğrulama | Bearer |
| Girdi | — |
curl -s "https://www.aidirectori.es/api/v1/directory-categories" \
-H "Authorization: Bearer aid_your_api_key"
Ortak
Yazma ve durum uç noktaları verilmiş bir X-API-Key gerektirir. Sunucunuzda saklayın. MCP bunları çağırmaz. Tam alan listeleri Gönderim ve ortaklar altındadır.
submit_ai_tool
Bir AI araç kaydı oluşturun (ve isteğe bağlı olarak dizin gönderimlerini kuyruğa alın).
| REST | POST /submit-ai-tool |
|---|---|
| MCP | — |
| Auth | X-API-Key |
| Girdi | name, website, tagline, description, category, pricing, founderName, founderEmail, tags, paymentType, … |
curl -s -X POST "https://www.aidirectori.es/api/v1/submit-ai-tool" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "My Tool",
"website": "https://mytool.com",
"tagline": "One-line pitch",
"description": "What the product does.",
"category": "productivity",
"pricing": "FREE",
"paymentType": "pro",
"founderName": "Jane Founder",
"founderEmail": "jane@mytool.com",
"tags": ["ai", "productivity"],
"icon": "https://mytool.com/icon.png",
"frame": "https://mytool.com/screenshot.png",
"screenshots": ["https://mytool.com/gallery-1.png"]
}'
get_tool_status
Anahtarınızla gönderdiğiniz bir araç için dizin gönderim ilerlemesini sorgulayın.
| REST | GET /ai-tools/status |
|---|---|
| MCP | — |
| Auth | X-API-Key |
| Girdi | id | slug | website |
curl -s "https://www.aidirectori.es/api/v1/ai-tools/status?slug=my-ai-tool" \
-H "X-API-Key: YOUR_API_KEY"
REST API / AI araçları
AI araçları
Yayınlanmış AI araç listelerine göz atın, arayın ve getirin.
search_tools
Kategori, etiket, fiyatlandırma ve öne çıkan filtreleriyle anahtar kelime araması.
| REST | GET /tools |
|---|---|
| MCP | search_tools |
| Auth | Bearer aid_ |
| Girdi | q, category, tag, pricing (FREE | FREEMIUM | PAID), featured, includeAdult, page, limit (maks 100) |
curl -s "https://www.aidirectori.es/api/v1/tools?q=transclipper&limit=5" \
-H "Authorization: Bearer aid_your_api_key"
Her öğe name, slug, liste URL'si, website, tagline, description, category, tags, pricing, rating, opens, icon ve zaman damgalarını içerir. Kurucu e-postası yoktur.
Yetişkin listeleri varsayılan olarak hariç tutulur. search_tools ve get_top_tools, siz istemedikçe yetişkin listelerini geri tutar.
Hariç tutma kategori ve etikete göredir, çünkü yetişkin araçları genellikle genel bir kategori altında dosyalanır — image, writing, video — kendilerini doğru şekilde etiketlerken. Yani category=image, soyunma uygulamaları olmadan görüntü araçlarını döndürür.
Katılım için üç yol: includeAdult=true, category=nsfw veya tag=ai-undressing gibi bir yetişkin etiketi adlandırma. Hiçbir şey gizli veya erişilemez değildir — sadece istemediğinizde alamayacağınız şeydir.
get_top_tools
En çok açılan yayınlanmış araçlar. İsteğe bağlı kategori slug'ı.
curl -s "https://www.aidirectori.es/api/v1/tools/top?limit=10&category=image" \
-H "Authorization: Bearer aid_your_api_key"
get_tool
Tam genel liste: ekran görüntüleri, SSS'ler, sosyal medya, özellikler.
curl -s "https://www.aidirectori.es/api/v1/tools/transclipper" \
-H "Authorization: Bearer aid_your_api_key"
list_categories / list_tags
curl -s "https://www.aidirectori.es/api/v1/categories" -H "Authorization: Bearer aid_your_api_key"
curl -s "https://www.aidirectori.es/api/v1/tags?q=photo" -H "Authorization: Bearer aid_your_api_key"
Kategoriler slug, name, description, icon, toolsCount döndürür. Etiketler slug, name, toolsCount döndürür. Hiçbiri sayfalanmaz — tüm listeyi alırsınız, bu yüzden önbelleğe alın ve yerel olarak filtreleyin.
Araç alanları
/tools, /tools/top ve /tools/{slug} tarafından aynı şekilde döndürülür:
| Alan | Tür | Notlar |
|---|---|---|
id | string | Kararlı tanımlayıcı |
slug | string | /tools/{slug} için bunu kullanın |
name, tagline, description | string | |
url | string | aidirectori.es üzerindeki liste |
website | string | Ürünün kendi sitesi |
category | object | { slug, name } veya null |
tags | array | [{ slug, name }] |
pricing | string | FREE | FREEMIUM | PAID |
rating | number | Derecelendirilmediğinde 0 |
opens | number | Tıklama sayısı; /tools/top buna göre sıralar |
featured | boolean | |
icon, frame | string | Görsel URL'leri, null olabilir |
founderName, location | string | Null olabilir. Kurucu e-postası asla yok |
domainRating | number | Null olabilir |
isForSale, askingPrice | boolean, number | Satın alma için işaretlenmiş listeler |
discountCode, affiliate | string, boolean | |
createdAt, updatedAt | string | ISO 8601, null olabilir |
GET /tools/{slug}, screenshots (URL dizisi), video, socials, faqs, features ve affiliateLink ekler. Bu altı alan yalnızca tek araç uç noktasındadır — bir aramadan bunları beklemeyin.
Herhangi bir alan, bir liste doldurmadığında null olabilir. Savunmacı kod yazın.
REST API / Dizinler
Dizinler
Kataloğun diğer yarısı — DR ve fiyatlandırmayla birlikte startup ve SaaS gönderim dizinleri.
Kazıyıcılar genellikle bunu kaçırır. Ürünleri gerçekten gönderdiğimiz liste budur.
search_directories
| REST | GET /directories |
|---|---|
| MCP | search_directories |
| Auth | Bearer aid_ |
| Girdi | q, category, cost (Free | Paid | Freemium), featured, page, limit |
curl -s "https://www.aidirectori.es/api/v1/directories?cost=Free&limit=10" \
-H "Authorization: Bearer aid_your_api_key"
Alanlar name, liste URL'si, website, Domain Rating, aylık ziyaretler, bağlantı türü, rozet gereksinimi, minimum fiyat ve kategorileri içerir.
get_directory
Açıklama, SSS, gönderim bağlantısı ve anlaşma metni ekler.
curl -s "https://www.aidirectori.es/api/v1/directories/theres-an-ai-for-that" \
-H "Authorization: Bearer aid_your_api_key"
list_directory_categories
curl -s "https://www.aidirectori.es/api/v1/directory-categories" \
-H "Authorization: Bearer aid_your_api_key"
Yalnızca slug ve name döndürür. Sayfalanmaz. Bunlar ?category='in kabul ettiği değerlerdir — tahmin etmek yerine okuyun.
Dizin alanları
| Alan | Tür | Notlar |
|---|---|---|
id, slug, name | string | |
url | string | aidirectori.es üzerindeki profil |
website | string | Dizinin kendi sitesi |
icon | string | Null olabilir |
cost | string | Free | Paid | Freemium |
type | string | Bağlantı türü |
domainRating | number | Null olabilir — çoğu insanın sıraladığı sayı |
monthlyVisits | number | Null olabilir |
requiresBadge | boolean | Geri bağlantı rozeti talep edip etmedikleri |
minimumPrice | number | Ücretsizken 0 |
submissionExperience | string | Null olabilir |
featured | boolean | |
categories | array | [{ slug, name }] |
smallDescription | string | Null olabilir |
createdAt, updatedAt | string | ISO 8601 |
GET /directories/{slug}, fullDescription, features, useCases, faq, deal ({ text, code } veya null), frame ve socials ekler.
İki url alanına dikkat edin: url bizim profil sayfamız, website dizinin kendisidir. Doğrudan gönderim formu URL'leri (submissionLink) katalog API'sinde veya MCP'de değildir — bunlar sitedeki ve panodaki ücretli liste ürününün parçasıdır.
Gönderim hedeflerini seçme
curl -s "https://www.aidirectori.es/api/v1/directories?cost=Free&limit=100" \
-H "Authorization: Bearer $AID_KEY" \
| jq -r '.data
| map(select(.requiresBadge == false and .domainRating != null))
| sort_by(-.domainRating)
| .[]
| [.domainRating, .name, .website] | @tsv'
Ücretsiz, rozet gerektirmez, en güçlü alan adları önce.
REST API / Gönder ve ortaklar
Gönder ve ortaklar
Araç gönderme, durum yoklama, webhook'lar ve destek için API anahtarı uç noktaları.
Bunlar anonim değildir. Ortak başına bir anahtar veririz. MCP bunları çağırmaz.
Bir araç gönder
POST https://www.aidirectori.es/api/v1/submit-ai-tool
Bir liste oluşturur. Dizin gönderimlerini bu paket için kuyruğa almak üzere paymentType gönderin. Bunu atlarsanız, araç paket daha sonra yöneticide ayarlanabilmesi için bekliyor olarak oluşturulur.
Zorunlu
9
Bunlardan herhangi birinin eksik olması 400 döndürür.
AlanTürNotlar
namestring Maks 100 karakter.websiteurl Ürünün genel URL'si.taglinestring Maks 200 karakter.descriptionstring Ürünün ne yaptığı.categorystring Slug veya ad. Mevcut bir kategoriye eşleriz.pricingenumFREEPAIDFREEMIUMÜrünün kendi fiyatlandırması — dizin paketi değil.founderNamestring Bunu POST'tan önce siz toplarsınız.founderEmailemail Bunu siz toplarsınız. Genel katalog okumalarında asla döndürülmez. Tarayıcıdan göndermeyin.tagsstring[] Slug'lar veya adlar.
Önerilen
5
Bunlar olmadan istek başarılı olur — bir slug oluştururuz, icon/og:image getiririz ve paketi bekliyor olarak bırakırız. Elinizdeyken gönderin.
AlanTürNotlar
paymentTypeenumstarterpropremiumDizin paketi: 30+, 60+ veya 100+ gönderim. Müşteri zaten bir paket seçtiyse bunu gönderin. Yalnızca aracın bekliyor olarak oluşturulmasını ve yöneticinin daha sonra ayarlamasını istiyorsanız atlayın.slugstring Genel URL slug'ı. Atlanırsa addan (ve benzersizleştirilerek) oluşturulur — zaten kararlı bir slug'ınız varsa gönderin.iconurl Kare logo. Atlanırsa site favicon'unu getiririz — daha iyi bir liste için kendinizinkini gönderin.frameurl Ana ekran görüntüsü. Atlanırsa og:image getiririz — bir ürün çekiminiz varsa gönderin.screenshotsurl[] Galeri görselleri, Cloudflare'e yansıtılır. Zorunlu değil; bu boşsa çerçeve kahramanı kapsar.
İsteğe bağlı
11
Genel URL'lerdeki görseller Cloudflare'e yansıtılır.
AlanTürNotlar
videourl YouTube veya Vimeo.socialsobject URL'lere anahtarlar, örn.{ "twitter": "https://x.com/…" }.featuresobject String haritası, örn.{ "Templates": "50+" }. Atlanırsa oluşturulur.faqarray Atlanırsa siteden kazınır veya oluşturulur.affiliatestring Ortaklık programı metni.affiliateLinkurldiscountCodestring Listede gösterilen promosyon kodu.locationstring Şirketin merkezinin bulunduğu yer.foundingDatestring Kuruluş tarihi, serbest biçim.isCustomerboolean Zaten müşteri olup olmadıkları.isLaunchedboolean Ürünün canlı olup olmadığı.
curl -s -X POST "https://www.aidirectori.es/api/v1/submit-ai-tool" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "My Tool",
"website": "https://mytool.com",
"tagline": "One-line pitch",
"description": "What the product does.",
"category": "productivity",
"pricing": "FREE",
"paymentType": "pro",
"founderName": "Jane Founder",
"founderEmail": "jane@mytool.com",
"tags": ["ai", "productivity"],
"icon": "https://mytool.com/icon.png",
"frame": "https://mytool.com/screenshot.png",
"screenshots": ["https://mytool.com/gallery-1.png"]
}'
Gönderim durumunu yokla
GET https://www.aidirectori.es/api/v1/ai-tools/status — anahtarınızın gönderdiği bir aracı id, slug veya website'den tam olarak biriyle arayın. Diğer istemcilerin araçları 404 döndürür.
Bunu her zaman kullanın — yalnızca bir webhook tetiklendiğinde değil. summary.isComplete false iken yoklayın, sonra durun (veya Done'u bekleyin). Dizin iş akışı olmadığında submissionState IN_QUEUE, ASSIGNED, IN_PROGRESS, REVIEW, DONE veya null'dir.
curl -s "https://www.aidirectori.es/api/v1/ai-tools/status?slug=my-ai-tool" \
-H "X-API-Key: YOUR_API_KEY"
Webhook
API istemcinizde saklanan bir HTTPS URL'sine JSON POST ederiz — her gönderimde gönderilmez. Başvururken URL'yi bize verin; bunu webhookUrl olarak saklarız ve size bir imzalama sırrı göndeririz. Hem dizin Done hem de destek yanıtları aynı uç noktaya ulaşır.
Dizin olayı, bir yönetici anahtarınızın gönderdiği bir araçta Done seçtiğinde ve webhookUrl ayarlandığında tetiklenir. URL eksik: hiçbir şey göndermeyiz. Uç noktanız kapalı veya 2xx değil: araç yine de Done olarak işaretlenir. Henüz yeniden denemiyoruz — bir yedekleme gerekiyorsa durumu yoklayın.
Olaylar
2
Gövdeyi ayrıştırmadan önce X-AI-Directories-Event'i okuyun.
AlanTürNotlar
directory_submissions.completedDone Yönetici, anahtarınızın gönderdiği bir araç için dizin çalışmasını Done olarak işaretledi. Yük { event, occurredAt, tool, summary, submissions } şeklindedir.support.repliedreply Bir destek yanıtı hazır (AI veya insan). Yük { event, occurredAt, conversation } şeklindedir. Yalnızca destek etkinse.
İstek
| Yöntem | POST |
|---|---|
| Content-Type | application/json |
| Auth | HMAC başlığı — API anahtarınız değil |
Başlıklar
3
AlanTürNotlar
X-AI-Directories-Eventstring Hangi yükü aldığınız. Buna göre dallanın — aynı URL her iki olayı da alır.X-AI-Directories-Signaturestring sha256=<hex> İmzalama sırrınızla ham gövdenin HMAC'i. Bir sır verdiğimizde mevcuttur.User-Agentstring AI-Directories-Webhook/1.0
İmzayı doğrulayın
Size verdiğimiz sırla ham istek gövdesi üzerinde HMAC-SHA256. Onaltılık özeti, sha256= önekini çıkardıktan sonra X-AI-Directories-Signature ile karşılaştırın. Zamanlama açısından güvenli bir karşılaştırma kullanın.
const crypto = require("crypto");
function verifySignature(rawBody, signatureHeader, secret) {
const expected = crypto.createHmac("sha256", secret).update(rawBody).digest("hex");
const received = String(signatureHeader || "").replace(/^sha256=/, "");
return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(received));
}
Yük
submissions yalnızca gerçekten gönderdiğimiz dizinleri içerir. Her satır canlı listingUrl, kanıt ekran görüntüsü, alan adı derecelendirmesi ve kimin gönderdiğini (ADMIN veya OWNER) içerebilir. Onaylamak için 2xx döndürün.
{
"event": "directory_submissions.completed",
"occurredAt": "2026-09-01T13:00:00.000Z",
"tool": {
"id": "64a1b2c3d4e5f6789012345",
"name": "My AI Tool",
"slug": "my-ai-tool",
"website": "https://myaitool.com",
"paymentStatus": "prolist",
"paymentLabel": "Pro · 60+",
"targetDirectoriesCount": 60
},
"summary": {
"submittedCount": 62,
"recordedSubmissions": 62,
"notes": "All high-DR directories completed"
},
"submissions": [
{
"name": "There's An AI For That",
"slug": "theres-an-ai-for-that",
"url": "https://theresanaiforthat.com",
"listingUrl": "https://theresanaiforthat.com/ai/my-ai-tool",
"domainRating": 81,
"isSubmitted": true,
"submittedBy": "ADMIN",
"submittedAt": "2026-09-01T12:00:00.000Z"
}
]
}
Müşteri desteği
Ürün UI'nizden bir soru iletin; mümkün olduğunda bilgi tabanınızdan yanıtlarız veya bir insan panomuzda yanıtlar. Varsayılan olarak kapalıdır — etkinleştirene kadar POST /support/ask 403 döndürür. Gönderimle aynı X-API-Key. MCP bunu çağıramaz.
Varsayılan mod hibrittir: AI mümkün olduğunda yanıtlar, aksi takdirde konuşma bir insan için pending kalır. İstemciyi yalnızca insan moduna (AI yok) ayarlayabiliriz. Ürün bilgisi olmadan sorular bir kişiyi bekler.
Bir soru gönder
POST https://www.aidirectori.es/api/v1/support/ask
Gövde
5 question zorunludur. Bir konuşmayı sürdürmek için conversationId veya externalId'yi yeniden kullanın. Yalnızca insan kullanıcılar, idempotent yeniden denemeler için metadata.peerPushMessageId gönderebilir.
FieldTypeNotes
questionstring Müşterinin sorusu. En fazla 4000 karakter. message de kabul edilir.conversationIdstring Daha önce döndürdüğümüz bir konuşmayı sürdürün.externalIdstring Sizin bilet veya konuşma kimliğiniz. Yeniden kullanmak aynı konuşmayı sürdürür.customerobject Son müşteri için isteğe bağlı{ name, email, id }— submit'teki kurucu değil.metadataobject Konuşmada saklanan rastgele JSON.
curl -s -X POST "https://www.aidirectori.es/api/v1/support/ask" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"question": "How do I cancel my subscription?",
"externalId": "ticket-123",
"customer": { "name": "Ada", "email": "ada@example.com" }
}'
Hibrit/AI: 200 ile status: "answered", reply'in hazır olduğu anlamına gelir (replySource, ai veya human'dir). pending, webhook'u yoklama veya bekleme anlamına gelir.
{
"success": true,
"data": {
"id": "64a1b2c3d4e5f6789012345",
"status": "answered",
"externalId": "ticket-123",
"reply": "You can cancel from Settings → Billing.",
"replySource": "ai",
"messages": [
{ "role": "customer", "content": "How do I cancel my subscription?" },
{ "role": "assistant", "content": "You can cancel from Settings → Billing.", "source": "ai" }
]
}
}
Yalnızca insan kullanıcılar ince bir zarf alır — geçmiş, customer veya messages[] yoktur. message, bir insan yanıtlayana kadar null'tür, ardından tek bir aracı mesajı gelir.
{
"success": true,
"data": {
"id": "64a1b2c3d4e5f6789012345",
"externalId": "ticket-123",
"status": "pending",
"message": null
}
}
Bir konuşmayı yoklayın
GET https://www.aidirectori.es/api/v1/support/conversations/:id — veya ?id=, ?externalId= veya ?status=pending ile listeleyin. Bekleme sırasında önerilen aralık: 5–15 saniye. Hibrit liste sonuçları tam messages dizisini atlar; yalnızca insan kullanıcılar ask ile aynı ince şekli döndürür.
curl -s "https://www.aidirectori.es/api/v1/support/conversations/64a1b2c3d4e5f6789012345" \
-H "X-API-Key: YOUR_API_KEY"
Bir yanıt hazır olduğunda webhook
webhookUrl ayarlanmışsa, support.replied göndeririz — dizin Done ile aynı HMAC. Hibrit/AI yükü reply / replySource kullanır. Yalnızca insan kullanıcılar, conversation.message ve role: "agent" ile tekil bir source: "human" kullanır.
{
"event": "support.replied",
"occurredAt": "2026-09-09T09:01:00.000Z",
"conversation": {
"id": "64a1b2c3d4e5f6789012345",
"status": "answered",
"externalId": "ticket-123",
"reply": "You can cancel from Settings → Billing.",
"replySource": "human"
}
}
{
"event": "support.replied",
"occurredAt": "2026-09-11T12:00:00.000Z",
"conversation": {
"id": "64a1b2c3d4e5f6789012345",
"externalId": "ticket-123",
"status": "answered",
"message": {
"id": "...",
"role": "agent",
"source": "human",
"content": "Thanks — here's how to cancel…",
"createdAt": "2026-09-11T12:00:00.000Z"
}
}
}
Anahtar, webhook URL'si, imzalama sırrı veya destek erişimi için support@thedirectori.es adresine e-posta gönderin — veya Bir dizininiz mi var? adresinden başvurun.
Referans / Hız sınırları
Hız sınırları
Standart anahtarlar dakikada 10 istek alır. Premium anahtarlar 60 alır. Her yanıtta başlıklar bulunur.
Sınırlar IP başına değil, API anahtarı başınadır — ve REST ile MCP ayrı bütçelerden yararlanır, bu nedenle bir aracı patlaması sunucu tarafı betiklerinizi aç bırakamaz.
| Anahtar | REST / dakika | MCP / dakika |
|---|---|---|
Standart (panelden aid_) | 10 | 30 |
| Premium (ücretli Catalog API planı, yönetici izni veya verilen ortak anahtarı) | 60 | 120 |
MCP bütçesi daha büyüktür çünkü aracılar yayılır: bir kullanıcıdan gelen tek bir soru rutin olarak birkaç paralel araç çağrısına dönüşür.
El sıkışma ücretsizdir
initialize, notifications/initialized, ping ve tools/list hiçbir maliyet getirmez. Bir istemci bağlamak veya yeniden başlatmak kotanızı harcamaz — yalnızca tools/call harcar. Hatalı biçimlendirilmiş bir istek gövdesi de ücretlendirilmez.
Her yanıt X-RateLimit-Limit, X-RateLimit-Remaining ve X-RateLimit-Reset içerir. 429 ayrıca Retry-After gönderir.
Geliştirici panelinizden yükseltin ($9/ay). Kataloğu boşaltmak için arama motoru veya asistan tarayıcılarını taklit etmeyin.
Daha yüksek bir sınıra mı ihtiyacınız var? support@thedirectori.es adresine e-posta gönderin.
Ortak submit/destek anahtarlarının kendi yazma sınırları vardır; okurken premium katalog bütçesini kullanırlar.
Referans / Hatalar
Hatalar
JSON hata şekli ve HTTP durum kodları.
{ "success": false, "error": "Tool not found." }
| HTTP | Anlam |
|---|---|
| 400 | Hatalı istek |
| 401 | Eksik veya geçersiz API anahtarı |
| 403 | Anahtar geçerli ancak özellik etkin değil |
| 404 | Araç, dizin veya konuşma bulunamadı |
| 429 | Hız sınırı |
| 500 / 503 | Sunucu veya veritabanı sorunu — yeniden deneyin |
MCP, JSON-RPC hatalarını kullanır (-32601 yöntem bulunamadı, -32603 dahili ve araç isError yükleri).