AI Directories

resmi

Telusuri 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_categories atau list_tags.
  • Temukan direktori pengiriman — Cari direktori berdasarkan nama, biaya, atau kategori dengan search_directories untuk mengidentifikasi target pengiriman.
  • Dapatkan profil direktori — Ambil profil lengkap direktori, termasuk Domain Rating dan persyaratan lencana, melalui get_directory.

Dokumentasi

Developers

Open in Claude

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_

www.aidirectori.es/api/v1

MCPStreamable HTTP

api/mcp

OpenAPIspecifikasi mesin

openapi.json

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

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. 1 Dapatkan kunci API Anda

    Buka developer dashboard dan buat kunci API. Kunci dimulai dengan aid_. 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. 2 Buat permintaan pertama Anda

    Kirim kunci Anda sebagai token Bearer di header Authorization. X-API-Key juga diterima, di setiap endpoint. Keduanya dapat dipertukarkan — apa yang dapat dijangkau kunci bergantung pada kunci, bukan header tempat ia dikirim. Kunci aid_ dashboard tetap mendapatkan 403 di endpoint mitra saat dikirim sebagai X-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. 3 Parsing respons

    Pembacaan yang berhasil mengembalikan { success: true, data }. Endpoint daftar juga menyertakan pagination — bidang-bidangnya dan aturan pembatasan limit layak dibaca sebelum Anda menulis loop paging. Perhatikan X-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.

AlatRESTInput
search_toolsGET /toolsq, category, tag, pricing, featured, page, limit
get_top_toolsGET /tools/toplimit, category
get_toolGET /tools/{slug}slug
list_categoriesGET /categoriesq, limit
list_tagsGET /tagsq, limit
search_directoriesGET /directoriesq, category, cost, featured, page, limit
get_directoryGET /directories/{slug}slug
list_directory_categoriesGET /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.

OperasiMetodeJalurAutentikasiInput
search_tools Pencarian kata kunci dengan filter kategori, tag, harga, dan unggulan opsional.GET/toolsBearerq, category, tag, pricing, featured, includeAdult, page, limit
get_top_tools Listing N teratas berdasarkan pembukaan — tanpa kata kunci.GET/tools/topBearerlimit, category, includeAdult
list_categories Kategori alat AI dengan jumlah alat — gunakan sebelum memfilter pencarian.GET/categoriesBearerq, limit
list_tags Tag alat AI dengan jumlah alat.GET/tagsBearerq, limit
get_tool Listing publik lengkap untuk satu alat AI.GET/tools/{slug}Bearerslug
search_directories Cari direktori pengajuan berdasarkan nama, kategori, atau biaya.GET/directoriesBearerq, category, cost, featured, page, limit
get_directory Profil publik lengkap untuk satu direktori.GET/directories/{slug}Bearerslug
list_directory_categories Label kategori direktori untuk penemuan filter.GET/directory-categoriesBearer—
submit_ai_tool Buat listing alat AI (dan opsional antrekan pengajuan direktori).POST/submit-ai-toolX-API-Keyname, 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/statusX-API-Keyid | 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.

pageHalaman yang Anda dapatkan, berbasis 1
limitItem per halaman yang benar-benar diterapkan
totalItem yang cocok di semua halaman
pagesceil(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.

RESTGET /categories
MCPtools/call → list_categories
AutentikasiBearer
Inputq, 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.

RESTGET /tools/top
MCPtools/call → get_top_tools
AutentikasiBearer
Inputlimit, 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.

RESTGET /tools
MCPtools/call → search_tools
AutentikasiBearer
Inputq, 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.

RESTGET /tools/{slug}
MCPtools/call → get_tool
AutentikasiBearer
Inputslug
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.

RESTGET /tags
MCPtools/call → list_tags
AutentikasiBearer
Inputq, 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.

RESTGET /directories
MCPtools/call → search_directories
AutentikasiBearer
Inputq, 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.

RESTGET /directories/{slug}
MCPtools/call → get_directory
AutentikasiBearer
Inputslug
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.

RESTGET /directory-categories
MCPtools/call → list_directory_categories
AutentikasiBearer
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).

RESTPOST /submit-ai-tool
MCP—
AuthX-API-Key
Inputname, 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.

RESTGET /ai-tools/status
MCP—
AuthX-API-Key
Inputid | 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.

RESTGET /tools
MCPsearch_tools
AuthBearer aid_
Inputq, 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:

BidangTipeCatatan
idstringPengidentifikasi stabil
slugstringGunakan ini untuk /tools/{slug}
name, tagline, descriptionstring
urlstringDaftar di aidirectori.es
websitestringSitus produk itu sendiri
categoryobject{ slug, name }, atau null
tagsarray[{ slug, name }]
pricingstringFREE | FREEMIUM | PAID
ratingnumber0 saat belum diberi peringkat
opensnumberJumlah klik; yang diurutkan oleh /tools/top
featuredboolean
icon, framestringURL gambar, dapat null
founderName, locationstringDapat null. Tidak ada email pendiri, selamanya
domainRatingnumberDapat null
isForSale, askingPriceboolean, numberDaftar yang ditandai untuk akuisisi
discountCode, affiliatestring, boolean
createdAt, updatedAtstringISO 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

RESTGET /directories
MCPsearch_directories
AuthBearer aid_
Inputq, 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

BidangTipeCatatan
id, slug, namestring
urlstringProfil di aidirectori.es
websitestringSitus direktori itu sendiri
iconstringDapat null
coststringFree | Paid | Freemium
typestringJenis tautan
domainRatingnumberDapat null — angka yang paling sering diurutkan orang
monthlyVisitsnumberDapat null
requiresBadgebooleanApakah mereka meminta lencana tautan balik
minimumPricenumber0 saat gratis
submissionExperiencestringDapat null
featuredboolean
categoriesarray[{ slug, name }]
smallDescriptionstringDapat null
createdAt, updatedAtstringISO 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

  • name string Maks 100 karakter.
  • website url URL publik produk.
  • tagline string Maks 200 karakter.
  • description string Apa yang dilakukan produk.
  • category string Slug atau nama. Kami memetakannya ke kategori yang ada.
  • pricing enum FREE PAID FREEMIUM Harga produk itu sendiri — bukan paket direktori.
  • founderName string Anda mengumpulkan ini sebelum Anda POST.
  • founderEmail email Anda mengumpulkan ini. Tidak pernah dikembalikan pada pembacaan katalog publik. Jangan kirim dari browser.
  • tags string[] 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

  • paymentType enum starter pro premium Paket 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.
  • slug string Slug URL publik. Dibuat dari nama (dan dibuat unik) jika dihapus — kirim saat Anda sudah memiliki slug yang stabil.
  • icon url Logo persegi. Jika dihapus, kami mengambil favicon situs — kirim milik Anda untuk daftar yang lebih baik.
  • frame url Tangkapan layar utama. Jika dihapus, kami mengambil gambar og — kirim bidikan produk saat Anda memilikinya.
  • screenshots url[] Gambar galeri, dicerminkan ke Cloudflare. Tidak wajib; bingkai menutupi hero jika ini kosong.

Opsional

11

Gambar di URL publik dicerminkan ke Cloudflare.

BidangTipeCatatan

  • video url YouTube atau Vimeo.
  • socials object Kunci ke URL, mis. { "twitter": "https://x.com/…" }.
  • features object Peta string, mis. { "Templates": "50+" }. Dibuat jika dihapus.
  • faq array Jika dihapus, diambil dari situs atau dibuat.
  • affiliate string Salinan program afiliasi.
  • affiliateLink url
  • discountCode string Kode promo yang ditampilkan di daftar.
  • location string Di mana perusahaan berbasis.
  • foundingDate string Tanggal pendirian, bentuk bebas.
  • isCustomer boolean Apakah mereka sudah menjadi pelanggan.
  • isLaunched boolean 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.completed Done Admin menandai pekerjaan direktori Done untuk tool yang dikirim oleh kunci Anda. Payload adalah { event, occurredAt, tool, summary, submissions }.
  • support.replied reply Balasan dukungan siap (AI atau manusia). Payload adalah { event, occurredAt, conversation }. Hanya jika dukungan diaktifkan.

Permintaan

MetodePOST
Content-Typeapplication/json
AuthHeader HMAC — bukan kunci API Anda

Header

3

BidangTipeCatatan

  • X-AI-Directories-Event string Payload mana yang Anda dapatkan. Bercabang pada ini — URL yang sama menerima kedua acara.
  • X-AI-Directories-Signature string sha256=<hex> HMAC dari isi mentah dengan kunci rahasia penandatanganan Anda. Ada saat kami mengeluarkan kunci rahasia.
  • User-Agent string 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

  • question string Pertanyaan pelanggan. Maksimal 4000 karakter. message juga diterima.
  • conversationId string Lanjutkan thread yang kami kembalikan sebelumnya.
  • externalId string ID tiket atau thread Anda. Menggunakannya kembali akan melanjutkan percakapan yang sama.
  • customer object Opsional { name, email, id } untuk pelanggan akhir — bukan pendiri dari submit.
  • metadata object 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.

KunciREST / menitMCP / menit
Standar (aid_ dari dasbor)1030
Premium (paket Catalog API berbayar, hibah admin, atau kunci mitra yang diterbitkan)60120

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." }
HTTPArti
400Permintaan buruk
401Kunci API hilang atau tidak valid
403Kunci valid tetapi fitur tidak diaktifkan
404Alat, direktori, atau percakapan tidak ditemukan
429Batas kecepatan
500 / 503Masalah server atau database — coba lagi

MCP menggunakan kesalahan JSON-RPC (-32601 metode tidak ditemukan, -32603 internal, dan payload isError alat).