AI Directories
resmiTelusuri katalog AI Directories, lihat detail daftar, dan jelajahi direktori pengajuan
Apa yang bisa Anda lakukan dengan AI Directories MCP?
- Cari alat AI — Minta untuk menemukan alat AI berdasarkan kata kunci, kategori, tag, atau harga menggunakan
search_tools. - Ambil detail alat — Minta daftar publik lengkap untuk alat apa pun berdasarkan slug melalui
get_tool, termasuk tangkapan layar dan FAQ. - Jelajahi alat teratas — Minta alat AI paling populer berdasarkan jumlah bukaan, opsional difilter berdasarkan kategori, dengan
get_top_tools. - Jelajahi kategori dan tag — Minta asisten untuk membuat daftar semua kategori atau tag alat AI beserta jumlahnya menggunakan
list_categoriesataulist_tags. - Temukan direktori pengiriman — Cari direktori berdasarkan nama, biaya, atau kategori dengan
search_directoriesuntuk mengidentifikasi target pengiriman. - Dapatkan profil direktori — Ambil profil lengkap direktori, termasuk Domain Rating dan persyaratan lencana, melalui
get_directory.
Dokumentasi
Developers
API & MCP
Katalog resmi AI Directories — cari alat AI dan direktori pengajuan dari curl atau agen. Gratis, terdokumentasi, dan lebih baik daripada scraping.
RESTGET · Bearer aid_
MCPStreamable HTTP
OpenAPIspecifikasi mesin
Cari katalog AI Directories, lihat sebuah listing, dan jelajahi direktori pengajuan — dari agen atau dari curl. REST dan MCP berbagi backend yang sama. Scraper pihak ketiga membungkus halaman publik kami dan mengenakan biaya untuk dump. Ini adalah sumber resmi.
Contoh — 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"
}
}
Yang dapat Anda lakukan
- Cari alat AI berdasarkan kata kunci, kategori, tag, atau harga
- Ambil satu alat berdasarkan slug (listing publik lengkap)
- Daftarkan kategori dan tag
- Cari direktori pengajuan (DR, biaya, badge)
- Ambil satu profil direktori dengan kunci aid_ Anda
Yang tidak dapat Anda lakukan
- Membaca email pendiri atau analitik privat
- Meng-scrape situs HTML atau meniru crawler
- Menerbitkan ulang katalog sebagai direktori pesaing
- Memanggil API tulis mitra tanpa kunci yang diterbitkan
Mengapa ini ada
Orang-orang melakukan scraping aidirectori.es dan menjual hasil ekspornya. API resmi gratis untuk produk, riset, dan agen — dengan atribusi, batas kecepatan, dan lisensi: Anda tidak boleh menerbitkan ulang katalog lengkap sebagai direktori pesaing atau scrape berbayar.
Pasang ke agen
Cursor: .cursor/mcp.json atau ~/.cursor/mcp.json. Tanpa spasi setelah Authorization: — mcp-remote memisahkan berdasarkan spasi. Lihat Install MCP.
{
"mcpServers": {
"aidirectories": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://www.aidirectori.es/api/mcp",
"--header", "Authorization:Bearer aid_your_real_key"
]
}
}
}
Juga dapat dibaca mesin
- /llms.txt — ringkasan situs untuk agen
- /sitemap.xml
- 60 req/menit · 400/jam per IP
Mulai / Quickstart
Quickstart
Buat kunci aid_, lalu cari alat, ambil satu listing, dan cari direktori.
Buat kunci di developer dashboard, lalu salin ini.
1. Cari alat AI
curl -s "https://www.aidirectori.es/api/v1/tools?q=image&limit=5" \
-H "Authorization: Bearer aid_your_api_key"
2. Ambil satu listing
curl -s "https://www.aidirectori.es/api/v1/tools/transclipper" \
-H "Authorization: Bearer aid_your_api_key"
3. Cari direktori
curl -s "https://www.aidirectori.es/api/v1/directories?q=ai&limit=5" \
-H "Authorization: Bearer aid_your_api_key"
Operasi yang sama melalui MCP: tambahkan server dengan token Bearer yang sama, lalu panggil search_tools, get_tool, dan search_directories. Lihat MCP install.
Mulai / Autentikasi
Autentikasi
Token Bearer melalui kunci API. Buat kunci dari developer dashboard Anda. Standar 10/menit, premium 60/menit.
Autentikasi
Token Bearer melalui kunci API. Buat kunci dari developer dashboard Anda.
Batas kecepatan
Kunci standar mendapatkan 10 permintaan per menit. Kunci premium mendapatkan 60. Tingkatkan dari developer dashboard Anda. Header batas kecepatan ada di setiap respons.
URL dasar
https://www.aidirectori.es/api/v1
-
1 Dapatkan kunci API Anda
Buka developer dashboard dan buat kunci API. Kunci dimulai denganaid_. Simpan dengan aman — Anda tidak akan dapat melihat kunci lengkapnya lagi. Penggunaan yang dapat diterima diperlukan Membuat kunci mengharuskan persetujuan terhadap API Acceptable Use Policy. Mengkloning bisnis, membangun ulang AI Directories, penerbitan ulang massal, halaman SEO publik tanpa izin, penargetan yang kasar, berbagi kredensial, dan penghindaran kontrol akses dilarang dan dapat mengakibatkan larangan platform permanen. -
2 Buat permintaan pertama Anda
Kirim kunci Anda sebagai token Bearer di headerAuthorization.X-API-Keyjuga diterima, di setiap endpoint. Keduanya dapat dipertukarkan — apa yang dapat dijangkau kunci bergantung pada kunci, bukan header tempat ia dikirim. Kunciaid_dashboard tetap mendapatkan403di endpoint mitra saat dikirim sebagaiX-API-Key; jika Anda melihat 403, Anda memerlukan kunci yang berbeda, bukan header yang berbeda.curl -s "https://www.aidirectori.es/api/v1/tools?q=ai&limit=5" \ -H "Authorization: Bearer aid_your_api_key" -
3 Parsing respons
Pembacaan yang berhasil mengembalikan{ success: true, data }. Endpoint daftar juga menyertakanpagination— bidang-bidangnya dan aturan pembatasan limit layak dibaca sebelum Anda menulis loop paging. PerhatikanX-RateLimit-Remaining.{ "success": true, "data": [ { "slug": "transclipper", "name": "TransClipper", "website": "https://transclipper.ai" } ] }
Kunci mitra
Mitra direktori yang mengirimkan alat kepada kami untuk layanan pengajuan tetap menggunakan kunci yang diterbitkan untuk POST /submit-ai-tool, status, webhooks, dan dukungan. Kunci tersebut juga berfungsi untuk pembacaan katalog. Lihat Punya direktori?.
MCP / Install
Install MCP
Streamable HTTP MCP yang dihosting — kirim kunci Bearer yang sama seperti REST.
Server berbicara Model Context Protocol melalui Streamable HTTP. Server ini dihosting. Setiap alat membungkus fungsi yang sama dengan REST API. Kirim Authorization: Bearer aid_… dari developer dashboard Anda.
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
Lingkup proyek: .cursor/mcp.json. Global: ~/.cursor/mcp.json. Claude Desktop: claude_desktop_config.json (hanya stdio — blok yang sama ini).
{
"mcpServers": {
"aidirectories": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://www.aidirectori.es/api/mcp",
"--header", "Authorization:Bearer aid_your_real_key"
]
}
}
}
Tanpa spasi setelah Authorization: — mcp-remote memisahkan argumen berdasarkan spasi, jadi "Authorization: Bearer …" merusak header. Mulai ulang klien sepenuhnya setelah mengedit file.
Setelah menambahkan server, minta agen untuk mendaftarkan alat. Anda akan melihat search_tools, get_top_tools, get_tool, list_categories, list_tags, search_directories, get_directory, dan list_directory_categories.
Verifikasi
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 / Alat
Alat MCP
Setiap alat MCP adalah pembungkus tipis di atas katalog REST.
Autentikasi sama dengan kunci Bearer aid_ seperti REST.
| Alat | REST | Input |
|---|---|---|
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 | — |
Catatan bidang lengkap ada di AI tools dan Directories.
REST API / Ringkasan
REST API
HTTP polos untuk skrip, CI, dan integrasi mitra. Server MCP memanggil jalur yang sama ini — sehingga hasil tidak pernah bergantung pada transport mana yang memintanya.
| Operasi | Metode | Jalur | Autentikasi | Input |
|---|---|---|---|---|
| search_tools Pencarian kata kunci dengan filter kategori, tag, harga, dan unggulan opsional. | GET | /tools | Bearer | q, category, tag, pricing, featured, includeAdult, page, limit |
| get_top_tools Listing N teratas berdasarkan pembukaan — tanpa kata kunci. | GET | /tools/top | Bearer | limit, category, includeAdult |
| list_categories Kategori alat AI dengan jumlah alat — gunakan sebelum memfilter pencarian. | GET | /categories | Bearer | q, limit |
| list_tags Tag alat AI dengan jumlah alat. | GET | /tags | Bearer | q, limit |
| get_tool Listing publik lengkap untuk satu alat AI. | GET | /tools/{slug} | Bearer | slug |
| search_directories Cari direktori pengajuan berdasarkan nama, kategori, atau biaya. | GET | /directories | Bearer | q, category, cost, featured, page, limit |
| get_directory Profil publik lengkap untuk satu direktori. | GET | /directories/{slug} | Bearer | slug |
| list_directory_categories Label kategori direktori untuk penemuan filter. | GET | /directory-categories | Bearer | — |
| submit_ai_tool Buat listing alat AI (dan opsional antrekan pengajuan direktori). | POST | /submit-ai-tool | X-API-Key | name, website, tagline, description, category, pricing, founderName, founderEmail, tags, paymentType, … |
| get_tool_status Polling progres pengajuan direktori untuk alat yang dikirim kunci Anda. | GET | /ai-tools/status | X-API-Key | id | slug | website |
Penemuan ada di GET / dan dokumen OpenAPI di GET /openapi.json. Catatan bidang untuk respons katalog ada di AI tools dan Directories.
Amplop, pagination, dan limit
Setiap respons adalah amplop yang sama. data adalah array pada pencarian dan objek pada pencarian item tunggal. Periksa success sebelum membaca data.
{ "success": true, "data": [], "pagination": { "page": 1, "limit": 20, "total": 0, "pages": 0 } }
{ "success": false, "error": "Invalid or revoked API key." }
GET /tools dan GET /directories mengembalikan objek pagination. Endpoint taksonomi — /categories, /tags, /directory-categories — mengembalikan seluruh daftar dan tanpa kunci pagination sama sekali.
| page | Halaman yang Anda dapatkan, berbasis 1 |
|---|---|
| limit | Item per halaman yang benar-benar diterapkan |
| total | Item yang cocok di semua halaman |
| pages | ceil(total / limit), atau 0 saat tidak ada yang cocok |
Limit yang terlalu besar dijepit, bukan ditolak. Minta lebih dari maksimum dan Anda mendapatkan maksimum, dengan 200 — tidak ada error yang memberi tahu Anda hal itu terjadi. /tools dan /directories default ke 20 dan dibatasi maksimal 100; /categories dan /tags dibatasi maksimal 500. limit yang hilang, nol, negatif, atau non-numerik kembali ke default, dan page dibatasi minimal 1. Jadi baca pagination.limit kembali dari respons daripada berasumsi Anda mendapatkan ukuran halaman yang Anda minta — asumsi itulah yang mengubah loop paging menjadi loop tak terbatas.
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
Alat AI
Jelajahi, cari, dan filter katalog langsung, atau ambil satu listing berdasarkan slug. Memetakan ke MCP search_tools, get_top_tools, get_tool, list_categories, dan list_tags.
list_categories
Kategori alat AI dengan jumlah alat — gunakan sebelum memfilter pencarian.
| REST | GET /categories |
|---|---|
| MCP | tools/call → list_categories |
| Autentikasi | Bearer |
| Input | q, limit |
curl -s "https://www.aidirectori.es/api/v1/categories" \
-H "Authorization: Bearer aid_your_api_key"
get_top_tools
Listing N teratas berdasarkan pembukaan — tanpa kata kunci.
| REST | GET /tools/top |
|---|---|
| MCP | tools/call → get_top_tools |
| Autentikasi | Bearer |
| Input | 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
Pencarian kata kunci dengan filter kategori, tag, harga, dan unggulan opsional.
| REST | GET /tools |
|---|---|
| MCP | tools/call → search_tools |
| Autentikasi | Bearer |
| Input | 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
Listing publik lengkap untuk satu alat AI.
| REST | GET /tools/{slug} |
|---|---|
| MCP | tools/call → get_tool |
| Autentikasi | Bearer |
| Input | slug |
curl -s "https://www.aidirectori.es/api/v1/tools/transclipper" \
-H "Authorization: Bearer aid_your_api_key"
list_tags
Tag alat AI dengan jumlah alat.
| REST | GET /tags |
|---|---|
| MCP | tools/call → list_tags |
| Autentikasi | Bearer |
| Input | q, limit |
curl -s "https://www.aidirectori.es/api/v1/tags" \
-H "Authorization: Bearer aid_your_api_key"
Direktori
Katalog direktori pengajuan — Domain Rating, biaya, badge, dan kategori. Memetakan ke MCP search_directories, get_directory, dan list_directory_categories.
search_directories
Cari direktori pengajuan berdasarkan nama, kategori, atau biaya.
| REST | GET /directories |
|---|---|
| MCP | tools/call → search_directories |
| Autentikasi | Bearer |
| Input | 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
Profil publik lengkap untuk satu direktori.
| REST | GET /directories/{slug} |
|---|---|
| MCP | tools/call → get_directory |
| Autentikasi | Bearer |
| Input | 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
Label kategori direktori untuk penemuan filter.
| REST | GET /directory-categories |
|---|---|
| MCP | tools/call → list_directory_categories |
| Autentikasi | Bearer |
| Input | — |
curl -s "https://www.aidirectori.es/api/v1/directory-categories" \
-H "Authorization: Bearer aid_your_api_key"
Mitra
Endpoint tulis dan status memerlukan X-API-Key yang diterbitkan. Simpan di server Anda. MCP tidak memanggil ini. Daftar bidang lengkap ada di Submit & partners.
submit_ai_tool
Buat listing alat AI (dan opsional antrekan pengajuan direktori).
| REST | POST /submit-ai-tool |
|---|---|
| MCP | — |
| Auth | X-API-Key |
| Input | 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
Polling progres pengiriman direktori untuk sebuah tool yang dikirim oleh kunci Anda.
| REST | GET /ai-tools/status |
|---|---|
| MCP | — |
| Auth | X-API-Key |
| Input | 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 tools
AI tools
Jelajahi, cari, dan ambil daftar tool AI yang telah dipublikasikan.
search_tools
Pencarian kata kunci dengan filter kategori, tag, harga, dan fitur unggulan.
| REST | GET /tools |
|---|---|
| MCP | search_tools |
| Auth | Bearer aid_ |
| Input | 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"
Setiap item mencakup nama, slug, URL daftar, situs web, tagline, deskripsi, kategori, tag, harga, peringkat, jumlah bukaan, ikon, dan stempel waktu. Tidak ada email pendiri.
Daftar dewasa dikecualikan secara default. search_tools dan get_top_tools menahan daftar dewasa kecuali Anda memintanya.
Pengecualian dilakukan berdasarkan kategori dan tag, karena tool dewasa sering dikategorikan di bawah kategori umum — image, writing, video — sementara tag-nya akurat. Jadi category=image mengembalikan tool gambar tanpa aplikasi pengubah pakaian.
Tiga cara untuk memilih ikut: includeAdult=true, category=nsfw, atau menyebut tag dewasa seperti tag=ai-undressing. Tidak ada yang disembunyikan atau tidak dapat diakses — itu hanya bukan yang Anda dapatkan saat Anda tidak memintanya.
get_top_tools
Tool yang paling sering dibuka dan telah dipublikasikan. Slug kategori opsional.
curl -s "https://www.aidirectori.es/api/v1/tools/top?limit=10&category=image" \
-H "Authorization: Bearer aid_your_api_key"
get_tool
Daftar publik lengkap: tangkapan layar, FAQ, media sosial, fitur.
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"
Kategori mengembalikan slug, name, description, icon, toolsCount. Tag mengembalikan slug, name, toolsCount. Tidak ada yang dipaginasi — Anda mendapatkan seluruh daftar, jadi simpan dalam cache dan filter secara lokal.
Bidang tool
Dikembalikan oleh /tools, /tools/top, dan /tools/{slug} secara sama:
| Bidang | Tipe | Catatan |
|---|---|---|
id | string | Pengidentifikasi stabil |
slug | string | Gunakan ini untuk /tools/{slug} |
name, tagline, description | string | |
url | string | Daftar di aidirectori.es |
website | string | Situs produk itu sendiri |
category | object | { slug, name }, atau null |
tags | array | [{ slug, name }] |
pricing | string | FREE | FREEMIUM | PAID |
rating | number | 0 saat belum diberi peringkat |
opens | number | Jumlah klik; yang diurutkan oleh /tools/top |
featured | boolean | |
icon, frame | string | URL gambar, dapat null |
founderName, location | string | Dapat null. Tidak ada email pendiri, selamanya |
domainRating | number | Dapat null |
isForSale, askingPrice | boolean, number | Daftar yang ditandai untuk akuisisi |
discountCode, affiliate | string, boolean | |
createdAt, updatedAt | string | ISO 8601, dapat null |
GET /tools/{slug} menambahkan screenshots (array URL), video, socials, faqs, features, dan affiliateLink. Enam bidang itu hanya ada di endpoint tool tunggal — jangan mengharapkannya dari pencarian.
Bidang apa pun bisa menjadi null saat daftar belum mengisinya. Kode secara defensif.
REST API / Direktori
Direktori
Separuh lainnya dari katalog — direktori pengiriman startup dan SaaS, dengan DR dan harga.
Scraper biasanya melewatkan ini. Ini adalah daftar yang sebenarnya kami gunakan untuk mengirimkan produk.
search_directories
| REST | GET /directories |
|---|---|
| MCP | search_directories |
| Auth | Bearer aid_ |
| Input | 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"
Bidang mencakup nama, URL daftar, situs web, Domain Rating, kunjungan bulanan, jenis tautan, persyaratan lencana, harga minimum, dan kategori.
get_directory
Menambahkan deskripsi, FAQ, tautan pengiriman, dan salinan penawaran.
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"
Mengembalikan slug dan name saja. Tidak dipaginasi. Ini adalah nilai yang diterima oleh ?category= — baca daripada menebak.
Bidang direktori
| Bidang | Tipe | Catatan |
|---|---|---|
id, slug, name | string | |
url | string | Profil di aidirectori.es |
website | string | Situs direktori itu sendiri |
icon | string | Dapat null |
cost | string | Free | Paid | Freemium |
type | string | Jenis tautan |
domainRating | number | Dapat null — angka yang paling sering diurutkan orang |
monthlyVisits | number | Dapat null |
requiresBadge | boolean | Apakah mereka meminta lencana tautan balik |
minimumPrice | number | 0 saat gratis |
submissionExperience | string | Dapat null |
featured | boolean | |
categories | array | [{ slug, name }] |
smallDescription | string | Dapat null |
createdAt, updatedAt | string | ISO 8601 |
GET /directories/{slug} menambahkan fullDescription, features, useCases, faq, deal ({ text, code } atau null), frame, dan socials.
Perhatikan dua bidang url: url adalah halaman profil kami, website adalah direktori itu sendiri. URL formulir pengiriman langsung (submissionLink) tidak ada di API katalog atau MCP — itu bagian dari produk daftar berbayar di situs dan dasbor.
Memilih target pengiriman
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'
Gratis, tanpa lencana yang diminta, domain terkuat terlebih dahulu.
REST API / Kirim & mitra
Kirim & mitra
Endpoint kunci API untuk mengirim tool, polling status, webhook, dan dukungan.
Ini bukan anonim. Kami mengeluarkan kunci per mitra. MCP tidak memanggilnya.
Kirim tool
POST https://www.aidirectori.es/api/v1/submit-ai-tool
Membuat daftar. Kirim paymentType untuk mengantrekan pengiriman direktori untuk paket tersebut. Hapus itu dan tool dibuat sebagai menunggu sehingga paket dapat diatur nanti di admin.
Wajib
9
Kehilangan salah satu dari ini mengembalikan 400.
BidangTipeCatatan
namestring Maks 100 karakter.websiteurl URL publik produk.taglinestring Maks 200 karakter.descriptionstring Apa yang dilakukan produk.categorystring Slug atau nama. Kami memetakannya ke kategori yang ada.pricingenumFREEPAIDFREEMIUMHarga produk itu sendiri — bukan paket direktori.founderNamestring Anda mengumpulkan ini sebelum Anda POST.founderEmailemail Anda mengumpulkan ini. Tidak pernah dikembalikan pada pembacaan katalog publik. Jangan kirim dari browser.tagsstring[] Slug atau nama.
Disarankan
5
Permintaan berhasil tanpa ini — kami membuat slug, mengambil ikon/gambar og, dan membiarkan paket sebagai menunggu. Kirim saat Anda memilikinya.
BidangTipeCatatan
paymentTypeenumstarterpropremiumPaket direktori: 30+, 60+, atau 100+ pengiriman. Kirim ini jika pelanggan sudah memilih paket. Hapus hanya jika Anda ingin tool dibuat sebagai menunggu sehingga admin dapat mengaturnya nanti.slugstring Slug URL publik. Dibuat dari nama (dan dibuat unik) jika dihapus — kirim saat Anda sudah memiliki slug yang stabil.iconurl Logo persegi. Jika dihapus, kami mengambil favicon situs — kirim milik Anda untuk daftar yang lebih baik.frameurl Tangkapan layar utama. Jika dihapus, kami mengambil gambar og — kirim bidikan produk saat Anda memilikinya.screenshotsurl[] Gambar galeri, dicerminkan ke Cloudflare. Tidak wajib; bingkai menutupi hero jika ini kosong.
Opsional
11
Gambar di URL publik dicerminkan ke Cloudflare.
BidangTipeCatatan
videourl YouTube atau Vimeo.socialsobject Kunci ke URL, mis.{ "twitter": "https://x.com/…" }.featuresobject Peta string, mis.{ "Templates": "50+" }. Dibuat jika dihapus.faqarray Jika dihapus, diambil dari situs atau dibuat.affiliatestring Salinan program afiliasi.affiliateLinkurldiscountCodestring Kode promo yang ditampilkan di daftar.locationstring Di mana perusahaan berbasis.foundingDatestring Tanggal pendirian, bentuk bebas.isCustomerboolean Apakah mereka sudah menjadi pelanggan.isLaunchedboolean Apakah produk sudah live.
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"]
}'
Polling status pengiriman
GET https://www.aidirectori.es/api/v1/ai-tools/status — cari tool yang dikirim oleh kunci Anda dengan tepat satu dari id, slug, atau website. Tool klien lain mengembalikan 404.
Gunakan ini kapan saja — tidak hanya saat webhook aktif. Polling sementara summary.isComplete adalah false, lalu berhenti (atau tunggu Done). submissionState adalah IN_QUEUE, ASSIGNED, IN_PROGRESS, REVIEW, DONE, atau null saat tidak ada alur kerja direktori.
curl -s "https://www.aidirectori.es/api/v1/ai-tools/status?slug=my-ai-tool" \
-H "X-API-Key: YOUR_API_KEY"
Webhook
Kami POST JSON ke URL HTTPS yang disimpan di klien API Anda — tidak dikirim pada setiap pengiriman. Beri kami URL saat Anda mendaftar; kami menyimpannya sebagai webhookUrl dan mengirimkan kunci rahasia penandatanganan. Baik acara direktori-Done dan balasan dukungan mencapai endpoint yang sama.
Acara direktori aktif saat admin mengklik Done pada tool yang dikirim oleh kunci Anda dan webhookUrl diatur. URL hilang: kami tidak mengirim apa pun. Endpoint Anda down atau non-2xx: tool tetap ditandai Done. Kami belum mencoba ulang — polling status jika Anda perlu cadangan.
Acara
2
Baca X-AI-Directories-Event sebelum Anda mengurai isi.
BidangTipeCatatan
directory_submissions.completedDone Admin menandai pekerjaan direktori Done untuk tool yang dikirim oleh kunci Anda. Payload adalah { event, occurredAt, tool, summary, submissions }.support.repliedreply Balasan dukungan siap (AI atau manusia). Payload adalah { event, occurredAt, conversation }. Hanya jika dukungan diaktifkan.
Permintaan
| Metode | POST |
|---|---|
| Content-Type | application/json |
| Auth | Header HMAC — bukan kunci API Anda |
Header
3
BidangTipeCatatan
X-AI-Directories-Eventstring Payload mana yang Anda dapatkan. Bercabang pada ini — URL yang sama menerima kedua acara.X-AI-Directories-Signaturestring sha256=<hex> HMAC dari isi mentah dengan kunci rahasia penandatanganan Anda. Ada saat kami mengeluarkan kunci rahasia.User-Agentstring AI-Directories-Webhook/1.0
Verifikasi tanda tangan
HMAC-SHA256 atas isi permintaan mentah dengan kunci rahasia yang kami berikan. Bandingkan digest hex dengan X-AI-Directories-Signature setelah menghapus awalan sha256=. Gunakan perbandingan yang aman waktu.
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));
}
Payload
submissions hanya mencakup direktori yang benar-benar kami kirim. Setiap baris dapat menyertakan listingUrl live, bukti tangkapan layar, peringkat domain, dan siapa yang mengirimnya (ADMIN atau OWNER). Kembalikan 2xx untuk mengakui.
{
"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"
}
]
}
Dukungan pelanggan
Teruskan pertanyaan dari UI produk Anda; kami menjawab dari basis pengetahuan Anda saat bisa, atau manusia membalas di dasbor kami. Nonaktif secara default — sampai kami mengaktifkannya, POST /support/ask mengembalikan 403. X-API-Key yang sama dengan kirim. MCP tidak dapat memanggil ini.
Mode default adalah hibrida: AI menjawab saat bisa, jika tidak percakapan tetap pending untuk manusia. Kami dapat mengatur klien ke manusia-saja (tanpa AI). Tanpa pengetahuan produk, pertanyaan menunggu seseorang.
Kirim pertanyaan
POST https://www.aidirectori.es/api/v1/support/ask
Isi
5 question wajib diisi. Gunakan kembali conversationId atau externalId untuk melanjutkan sebuah thread. Klien khusus manusia dapat mengirim metadata.peerPushMessageId untuk percobaan ulang yang idempoten.
FieldTypeNotes
questionstring Pertanyaan pelanggan. Maksimal 4000 karakter. message juga diterima.conversationIdstring Lanjutkan thread yang kami kembalikan sebelumnya.externalIdstring ID tiket atau thread Anda. Menggunakannya kembali akan melanjutkan percakapan yang sama.customerobject Opsional{ name, email, id }untuk pelanggan akhir — bukan pendiri dari submit.metadataobject JSON arbitrer yang disimpan pada percakapan.
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" }
}'
Hybrid/AI: 200 dengan status: "answered" berarti reply siap (replySource adalah ai atau human). pending berarti polling atau menunggu webhook.
{
"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" }
]
}
}
Klien khusus manusia mendapatkan envelope ramping — tanpa riwayat, customer, atau messages[]. message adalah null sampai manusia membalas, lalu satu pesan agen tunggal.
{
"success": true,
"data": {
"id": "64a1b2c3d4e5f6789012345",
"externalId": "ticket-123",
"status": "pending",
"message": null
}
}
Poll sebuah percakapan
GET https://www.aidirectori.es/api/v1/support/conversations/:id — atau daftar dengan ?id=, ?externalId=, atau ?status=pending. Interval yang disarankan saat menunggu: 5–15 detik. Hasil daftar hybrid menghilangkan array messages lengkap; khusus manusia mengembalikan bentuk ramping yang sama seperti ask.
curl -s "https://www.aidirectori.es/api/v1/support/conversations/64a1b2c3d4e5f6789012345" \
-H "X-API-Key: YOUR_API_KEY"
Webhook saat balasan siap
Jika webhookUrl diatur, kami POST support.replied — HMAC yang sama dengan directory Done. Payload Hybrid/AI menggunakan reply / replySource. Khusus manusia menggunakan conversation.message tunggal dengan role: "agent" dan source: "human".
{
"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"
}
}
}
Email support@thedirectori.es untuk kunci, URL webhook, rahasia penandatanganan, atau akses dukungan — atau ajukan dari Punya direktori?.
Referensi / Batas kecepatan
Batas kecepatan
Kunci standar mendapatkan 10 permintaan per menit. Kunci premium mendapatkan 60. Header pada setiap respons.
Batas berlaku per kunci API, bukan per IP — dan REST serta MCP menggunakan anggaran terpisah, sehingga ledakan agen tidak akan membuat skrip sisi server Anda kelaparan.
| Kunci | REST / menit | MCP / menit |
|---|---|---|
Standar (aid_ dari dasbor) | 10 | 30 |
| Premium (paket Catalog API berbayar, hibah admin, atau kunci mitra yang diterbitkan) | 60 | 120 |
Anggaran MCP lebih besar karena agen menyebar: satu pertanyaan dari pengguna biasanya menjadi beberapa panggilan alat paralel.
Jabat tangan gratis
initialize, notifications/initialized, ping, dan tools/list tidak dikenakan biaya. Menghubungkan klien, atau memulai ulang, tidak menghabiskan kuota Anda — hanya tools/call yang melakukannya. Badan permintaan yang salah format juga tidak dikenakan biaya.
Setiap respons menyertakan X-RateLimit-Limit, X-RateLimit-Remaining, dan X-RateLimit-Reset. 429 juga mengirim Retry-After.
Tingkatkan dari dasbor pengembang Anda ($9/bulan). Jangan meniru crawler mesin pencari atau asisten untuk membuang katalog.
Perlu batas lebih tinggi? Email support@thedirectori.es.
Kunci submit/dukungan mitra memiliki batas tulis sendiri; mereka menggunakan anggaran katalog premium saat membaca.
Referensi / Kesalahan
Kesalahan
Bentuk kesalahan JSON dan kode status HTTP.
{ "success": false, "error": "Tool not found." }
| HTTP | Arti |
|---|---|
| 400 | Permintaan buruk |
| 401 | Kunci API hilang atau tidak valid |
| 403 | Kunci valid tetapi fitur tidak diaktifkan |
| 404 | Alat, direktori, atau percakapan tidak ditemukan |
| 429 | Batas kecepatan |
| 500 / 503 | Masalah server atau database — coba lagi |
MCP menggunakan kesalahan JSON-RPC (-32601 metode tidak ditemukan, -32603 internal, dan payload isError alat).