AI Directories
官方搜尋 AI Directories 目錄、查詢列表,並瀏覽提交目錄
你可以用 AI Directories MCP 做什麼?
- 搜尋 AI 工具 — 透過
search_tools,依關鍵字、類別、標籤或價格來尋找 AI 工具。 - 取得工具詳細資料 — 使用
get_tool,依 slug 要求任何工具的完整公開列表,包含截圖與常見問題。 - 瀏覽熱門工具 — 使用
get_top_tools,依開啟次數詢問最受歡迎的 AI 工具,並可選擇依類別篩選。 - 探索類別與標籤 — 讓助理使用
list_categories或list_tags,列出所有 AI 工具類別或標籤及其數量。 - 尋找提交目錄 — 使用
search_directories,依名稱、費用或類別搜尋目錄,以找出提交目標。 - 取得目錄簡介 — 透過
get_directory,取得目錄的完整簡介,包含網域評級與徽章要求。
文件
Developers
API 與 MCP
官方 AI Directories 目錄 — 可從 curl 或代理程式搜尋 AI 工具與提交目錄。免費、有完整文件,且比爬蟲更好用。
RESTGET · Bearer aid_
MCPStreamable HTTP
OpenAPI機器規格
從代理程式或 curl 搜尋 AI Directories 目錄、查詢列表、瀏覽提交目錄。REST 與 MCP 共用同一個後端。第三方爬蟲包裝我們的公開頁面並對匯出內容收費。這裡才是官方來源。
範例 — 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"
}
}
你可以做什麼
- 依關鍵字、類別、標籤或定價搜尋 AI 工具
- 依 slug 取得單一工具(完整公開列表)
- 列出類別與標籤
- 搜尋提交目錄(DR、費用、徽章)
- 使用你的 aid_ 金鑰取得單一目錄設定檔
你不能做什麼
- 讀取創辦人電子郵件或私人分析資料
- 爬取 HTML 網站或冒充爬蟲程式
- 將目錄重新發布為競爭性目錄
- 在未取得核發金鑰的情況下呼叫合作夥伴寫入 API
為什麼存在
有人一直在爬取 aidirectori.es 並販售匯出內容。官方 API 對產品、研究與代理程式免費 — 附帶來源標示、速率限制與授權條款:你不得將完整目錄重新發布為競爭性目錄或付費爬取服務。
整合到代理程式
Cursor:.cursor/mcp.json 或 ~/.cursor/mcp.json。Authorization: 後面不要有空格 — mcp-remote 會依空白分割。請參閱 安裝 MCP。
{
"mcpServers": {
"aidirectories": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://www.aidirectori.es/api/mcp",
"--header", "Authorization:Bearer aid_your_real_key"
]
}
}
}
也可機器讀取
- /llms.txt — 給代理程式的網站簡介
- /sitemap.xml
- 每 IP 60 次/分鐘 · 400 次/小時
開始使用 / 快速入門
快速入門
建立一個 aid_ 金鑰,然後搜尋工具、取得單一列表,並搜尋目錄。
在開發者儀表板建立金鑰,然後複製這些內容。
1. 搜尋 AI 工具
curl -s "https://www.aidirectori.es/api/v1/tools?q=image&limit=5" \
-H "Authorization: Bearer aid_your_api_key"
2. 取得單一列表
curl -s "https://www.aidirectori.es/api/v1/tools/transclipper" \
-H "Authorization: Bearer aid_your_api_key"
3. 搜尋目錄
curl -s "https://www.aidirectori.es/api/v1/directories?q=ai&limit=5" \
-H "Authorization: Bearer aid_your_api_key"
透過 MCP 執行相同操作:使用相同的 Bearer 權杖新增伺服器,然後呼叫 search_tools、get_tool 與 search_directories。請參閱 MCP 安裝。
開始使用 / 驗證
驗證
透過 API 金鑰使用 Bearer 權杖。從你的開發者儀表板產生金鑰。標準每分鐘 10 次,進階每分鐘 60 次。
驗證
透過 API 金鑰使用 Bearer 權杖。從你的開發者儀表板產生金鑰。
速率限制
標準金鑰每分鐘可發出 10 次請求。進階金鑰可發出 60 次。可從你的開發者儀表板升級。每個回應都帶有速率限制標頭。
基礎 URL
https://www.aidirectori.es/api/v1
-
1 取得你的 API 金鑰
前往開發者儀表板並建立 API 金鑰。金鑰以aid_開頭。請安全儲存 — 之後你將無法再看到完整金鑰。 必須同意可接受使用政策 建立金鑰需要同意 API 可接受使用政策。禁止複製業務、重建 AI Directories、大量重新發布、未授權的公開 SEO 頁面、惡意鎖定、共享憑證以及規避存取控制,違反者可能導致永久平台封鎖。 -
2 發出你的第一個請求
在Authorization標頭中將你的金鑰作為 Bearer 權杖傳遞。X-API-Key在每個端點上也可接受。兩者可以互換 — 金鑰能存取什麼取決於金鑰本身,而非它到達時所使用的標頭。儀表板上的aid_金鑰即使以X-API-Key傳送,在合作夥伴端點上仍會獲得403;如果你看到 403,你需要的是不同的金鑰,而不是不同的標頭。curl -s "https://www.aidirectori.es/api/v1/tools?q=ai&limit=5" \ -H "Authorization: Bearer aid_your_api_key" -
3 解析回應
成功的讀取會回傳{ success: true, data }。列表端點也包含pagination— 其欄位與限制截斷規則在撰寫分頁迴圈前值得一讀。請留意X-RateLimit-Remaining。{ "success": true, "data": [ { "slug": "transclipper", "name": "TransClipper", "website": "https://transclipper.ai" } ] }
合作夥伴金鑰
將工具提交給我們提交服務的目錄合作夥伴,仍會使用核發的金鑰來進行 POST /submit-ai-tool、狀態查詢、Webhook 與支援。這些金鑰也可用於目錄讀取。請參閱有目錄要提交嗎?。
MCP / 安裝
安裝 MCP
託管式 Streamable HTTP MCP — 傳送與 REST 相同的 Bearer 金鑰。
此伺服器透過 Streamable HTTP 使用 Model Context Protocol。它是託管服務。每個工具都包裝了與 REST API 相同的功能。從你的開發者儀表板傳送 Authorization: Bearer aid_…。
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
專案範圍:.cursor/mcp.json。全域:~/.cursor/mcp.json。Claude Desktop:claude_desktop_config.json(僅限 stdio — 使用同一個區塊)。
{
"mcpServers": {
"aidirectories": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://www.aidirectori.es/api/mcp",
"--header", "Authorization:Bearer aid_your_real_key"
]
}
}
}
Authorization: 後面不要有空格 — mcp-remote 會依空白分割引數,因此 "Authorization: Bearer …" 會破壞標頭。編輯檔案後請完全重新啟動用戶端。
新增伺服器後,請要求代理程式列出工具。你應該會看到 search_tools、get_top_tools、get_tool、list_categories、list_tags、search_directories、get_directory 與 list_directory_categories。
驗證
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 / 工具
MCP 工具
每個 MCP 工具都是 REST 目錄的輕量包裝。
驗證方式與 REST 相同,使用 Bearer aid_ 金鑰。
| 工具 | REST | 輸入 |
|---|---|---|
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 | — |
REST API / 總覽
REST API
適用於腳本、CI 與合作夥伴整合的純 HTTP。MCP 伺服器呼叫的是相同的路徑 — 因此結果永遠不會因為使用哪種傳輸方式而有所不同。
| 操作 | 方法 | 路徑 | 驗證 | 輸入 |
|---|---|---|---|---|
| search_tools 依關鍵字搜尋,可選類別、標籤、定價與精選篩選。 | GET | /tools | Bearer | q、category、tag、pricing、featured、includeAdult、page、limit |
| get_top_tools 依開啟次數取得前 N 筆列表 — 不需關鍵字。 | GET | /tools/top | Bearer | limit、category、includeAdult |
| list_categories 附工具計數的 AI 工具類別 — 在篩選搜尋前使用。 | GET | /categories | Bearer | q、limit |
| list_tags 附工具計數的 AI 工具標籤。 | GET | /tags | Bearer | q、limit |
| get_tool 單一 AI 工具的完整公開列表。 | GET | /tools/{slug} | Bearer | slug |
| search_directories 依名稱、類別或費用搜尋提交目錄。 | GET | /directories | Bearer | q、category、cost、featured、page、limit |
| get_directory 單一目錄的完整公開設定檔。 | GET | /directories/{slug} | Bearer | slug |
| list_directory_categories 用於探索篩選條件的目錄類別標籤。 | GET | /directory-categories | Bearer | — |
| submit_ai_tool 建立 AI 工具列表(並可選擇排入目錄提交佇列)。 | POST | /submit-ai-tool | X-API-Key | name、website、tagline、description、category、pricing、founderName、founderEmail、tags、paymentType、… |
| get_tool_status 輪詢你的金鑰所提交工具的目錄提交進度。 | GET | /ai-tools/status | X-API-Key | id | slug | website |
探索功能位於 GET /,OpenAPI 文件位於 GET /openapi.json。目錄回應的欄位說明位於 AI 工具 與 目錄。
封套、分頁與限制
每個回應都是相同的封套結構。data 在搜尋時是陣列,在單一項目查詢時是物件。在讀取 data 之前,請先檢查 success。
{ "success": true, "data": [], "pagination": { "page": 1, "limit": 20, "total": 0, "pages": 0 } }
{ "success": false, "error": "Invalid or revoked API key." }
GET /tools 與 GET /directories 會回傳 pagination 物件。分類端點 — /categories、/tags、/directory-categories — 會回傳完整清單,且完全沒有 pagination 鍵。
| page | 你取得的頁碼,從 1 開始 |
|---|---|
| limit | 實際套用的每頁項目數 |
| total | 所有頁面的符合項目總數 |
| pages | ceil(total / limit),若無符合項目則為 0 |
過大的 limit 會被截斷,而不是被拒絕。 要求的數量超過上限時,你會取得上限值,並附帶 200 — 不會有錯誤訊息告訴你發生了這件事。/tools 與 /directories 預設為 20,上限為 100;/categories 與 /tags 上限為 500。遺失、為零、負數或非數字的 limit 會回退到預設值,而 page 最低為 1。因此請從回應中讀回 pagination.limit,而不是假設你取得了要求的頁面大小 — 這個假設正是讓分頁迴圈變成無限迴圈的原因。
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 工具
瀏覽、搜尋與篩選即時目錄,或依 slug 取得單一列表。對應到 MCP 的 search_tools、get_top_tools、get_tool、list_categories 與 list_tags。
list_categories
附工具計數的 AI 工具類別 — 在篩選搜尋前使用。
| REST | GET /categories |
|---|---|
| MCP | tools/call → list_categories |
| 驗證 | Bearer |
| 輸入 | q、limit |
curl -s "https://www.aidirectori.es/api/v1/categories" \
-H "Authorization: Bearer aid_your_api_key"
get_top_tools
依開啟次數取得前 N 筆列表 — 不需關鍵字。
| REST | GET /tools/top |
|---|---|
| MCP | tools/call → get_top_tools |
| 驗證 | Bearer |
| 輸入 | 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
依關鍵字搜尋,可選類別、標籤、定價與精選篩選。
| REST | GET /tools |
|---|---|
| MCP | tools/call → search_tools |
| 驗證 | Bearer |
| 輸入 | 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
單一 AI 工具的完整公開列表。
| REST | GET /tools/{slug} |
|---|---|
| MCP | tools/call → get_tool |
| 驗證 | Bearer |
| 輸入 | slug |
curl -s "https://www.aidirectori.es/api/v1/tools/transclipper" \
-H "Authorization: Bearer aid_your_api_key"
list_tags
附工具計數的 AI 工具標籤。
| REST | GET /tags |
|---|---|
| MCP | tools/call → list_tags |
| 驗證 | Bearer |
| 輸入 | q、limit |
curl -s "https://www.aidirectori.es/api/v1/tags" \
-H "Authorization: Bearer aid_your_api_key"
目錄
提交目錄目錄 — Domain Rating、費用、徽章與類別。對應到 MCP 的 search_directories、get_directory 與 list_directory_categories。
search_directories
依名稱、類別或費用搜尋提交目錄。
| REST | GET /directories |
|---|---|
| MCP | tools/call → search_directories |
| 驗證 | Bearer |
| 輸入 | 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
單一目錄的完整公開設定檔。
| REST | GET /directories/{slug} |
|---|---|
| MCP | tools/call → get_directory |
| 驗證 | Bearer |
| 輸入 | 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
用於探索篩選條件的目錄類別標籤。
| REST | GET /directory-categories |
|---|---|
| MCP | tools/call → list_directory_categories |
| 驗證 | Bearer |
| 輸入 | — |
curl -s "https://www.aidirectori.es/api/v1/directory-categories" \
-H "Authorization: Bearer aid_your_api_key"
合作夥伴
寫入與狀態端點需要核發的 X-API-Key。請將其保存在你的伺服器上。MCP 不會呼叫這些端點。完整的欄位清單位於 提交與合作夥伴 之下。
submit_ai_tool
建立 AI 工具列表(並可選擇排入目錄提交佇列)。
| 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
輪詢您金鑰提交之工具在目錄提交的進度。
| 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 工具
AI 工具
瀏覽、搜尋及取得已發布的 AI 工具列表。
search_tools
以關鍵字搜尋,並可依分類、標籤、定價及精選篩選。
| REST | GET /tools |
|---|---|
| MCP | search_tools |
| Auth | Bearer aid_ |
| Input | q, category, tag, pricing (FREE | FREEMIUM | PAID), featured, includeAdult, page, limit (最多 100) |
curl -s "https://www.aidirectori.es/api/v1/tools?q=transclipper&limit=5" \
-H "Authorization: Bearer aid_your_api_key"
每個項目包含名稱、slug、列表 URL、網站、標語、描述、分類、標籤、定價、評分、開啟次數、圖示及時間戳記。不包含創辦人電子郵件。
成人列表預設排除。 search_tools 和 get_top_tools 會隱藏成人列表,除非您明確要求。
排除是依分類和標籤進行,因為成人工具常被歸類於一般分類——如 image、writing、video——同時其標籤能準確描述內容。因此 category=image 會回傳影像工具,但不包含去衣應用程式。
三種選擇加入的方式:includeAdult=true、category=nsfw,或指定成人標籤如 tag=ai-undressing。沒有隱藏或無法觸及的內容——只是當您未要求時,不會預設取得。
get_top_tools
開啟次數最多的已發布工具。可選分類 slug。
curl -s "https://www.aidirectori.es/api/v1/tools/top?limit=10&category=image" \
-H "Authorization: Bearer aid_your_api_key"
get_tool
完整的公開列表:截圖、常見問題、社群連結、功能。
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"
分類回傳 slug、name、description、icon、toolsCount。標籤回傳 slug、name、toolsCount。兩者皆不分頁——您會取得完整清單,請快取並在本地端過濾。
工具欄位
由 /tools、/tools/top 和 /tools/{slug} 回傳:
| 欄位 | 型別 | 備註 |
|---|---|---|
id | string | 穩定識別碼 |
slug | string | 用於 /tools/{slug} |
name、tagline、description | string | |
url | string | 在 aidirectori.es 上的列表 |
website | string | 產品本身的網站 |
category | object | { slug, name },或 null |
tags | array | [{ slug, name }] |
pricing | string | FREE | FREEMIUM | PAID |
rating | number | 未評分時為 0 |
opens | number | 點擊次數;/tools/top 依此排序 |
featured | boolean | |
icon、frame | string | 圖片 URL,可為 null |
founderName、location | string | 可為 null。永遠不包含創辦人電子郵件 |
domainRating | number | 可為 null |
isForSale、askingPrice | boolean, number | 標記為收購的列表 |
discountCode、affiliate | string, boolean | |
createdAt、updatedAt | string | ISO 8601,可為 null |
GET /tools/{slug} 新增 screenshots(URL 陣列)、video、socials、faqs、features 和 affiliateLink。這六個僅存在於單一工具端點——請勿期望從搜尋中取得。
任何欄位在列表未填寫時都可能為 null。請撰寫防禦性程式碼。
REST API / 目錄
目錄
目錄的另一半——新創及 SaaS 提交目錄,含 DR 和定價。
爬蟲通常會漏掉這部分。這是我們實際提交產品的清單。
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"
欄位包含名稱、列表 URL、網站、Domain Rating、每月訪問量、連結類型、徽章要求、最低價格及分類。
get_directory
新增描述、常見問題、提交連結及優惠文案。
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"
僅回傳 slug 和 name。不分頁。這些是 ?category= 接受的值——請閱讀而非猜測。
目錄欄位
| 欄位 | 型別 | 備註 |
|---|---|---|
id、slug、name | string | |
url | string | 在 aidirectori.es 上的個人檔案 |
website | string | 目錄本身的網站 |
icon | string | 可為 null |
cost | string | Free | Paid | Freemium |
type | string | 連結類型 |
domainRating | number | 可為 null——多數人排序依據的數字 |
monthlyVisits | number | 可為 null |
requiresBadge | boolean | 是否要求反向連結徽章 |
minimumPrice | number | 免費時為 0 |
submissionExperience | string | 可為 null |
featured | boolean | |
categories | array | [{ slug, name }] |
smallDescription | string | 可為 null |
createdAt、updatedAt | string | ISO 8601 |
GET /directories/{slug} 新增 fullDescription、features、useCases、faq、deal({ text, code } 或 null)、frame 和 socials。
請注意兩個 url 欄位:url 是我們的個人檔案頁面,website 是目錄本身。直接提交表單 URL(submissionLink)不在目錄 API 或 MCP 中——它們是網站和儀表板上付費列表產品的一部分。
選擇提交目標
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'
免費、無需徽章、優先選擇最強網域。
REST API / 提交與合作夥伴
提交與合作夥伴
用於提交工具、輪詢狀態、Webhook 及支援的 API 金鑰端點。
這些非匿名。我們為每個合作夥伴發行一把金鑰。MCP 不會呼叫這些。
提交工具
POST https://www.aidirectori.es/api/v1/submit-ai-tool
建立列表。傳送 paymentType 以排入該套件的目錄提交佇列。省略則工具會以等待狀態建立,以便稍後在管理員中設定套件。
必填
9
缺少任一項即回傳 400。
欄位型別備註
namestring 最多 100 個字元。websiteurl 產品的公開 URL。taglinestring 最多 200 個字元。descriptionstring 產品功能描述。categorystring Slug 或名稱。我們會對應到現有分類。pricingenumFREEPAIDFREEMIUM產品本身的定價——非目錄套件。founderNamestring 您在 POST 前收集此項。founderEmailemail 您收集此項。絕不會在公開目錄讀取中回傳。請勿從瀏覽器傳送。tagsstring[] Slug 或名稱。
建議填寫
5
沒有這些請求仍會成功——我們會產生 slug、取得 favicon/og:image,並將套件保留為等待狀態。當您有這些資料時請傳送。
欄位型別備註
paymentTypeenumstarterpropremium目錄套件:30+、60+ 或 100+ 次提交。若客戶已選擇套件請傳送此項。僅在您希望工具以等待狀態建立以便管理員稍後設定時省略。slugstring 公開 URL slug。省略時會從名稱產生(並去重)——當您已有穩定 slug 時請傳送。iconurl 方形標誌。省略時我們會取得網站 favicon——請傳送您自己的以獲得更好的列表。frameurl 主要截圖。省略時我們會取得 og:image——有產品截圖時請傳送。screenshotsurl[] 畫廊圖片,鏡像至 Cloudflare。非必填;此欄位為空時封面會涵蓋主視覺。
選填
11
公開 URL 的圖片會鏡像至 Cloudflare。
欄位型別備註
videourl YouTube 或 Vimeo。socialsobject 鍵對應 URL,例如{ "twitter": "https://x.com/…" }。featuresobject 字串對應,例如{ "Templates": "50+" }。省略時自動產生。faqarray 省略時從網站擷取或產生。affiliatestring 聯盟計畫文案。affiliateLinkurldiscountCodestring 顯示在列表上的促銷代碼。locationstring 公司所在地。foundingDatestring 成立日期,自由格式。isCustomerboolean 是否已是客戶。isLaunchedboolean 產品是否已上線。
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 https://www.aidirectori.es/api/v1/ai-tools/status — 使用 id、slug 或 website 其中一個查詢您金鑰提交的工具。其他客戶的工具回傳 404。
可隨時使用——不僅限於 Webhook 觸發時。當 summary.isComplete 為 false 時輪詢,然後停止(或等待 Done)。當沒有目錄工作流程時,submissionState 為 IN_QUEUE、ASSIGNED、IN_PROGRESS、REVIEW、DONE 或 null。
curl -s "https://www.aidirectori.es/api/v1/ai-tools/status?slug=my-ai-tool" \
-H "X-API-Key: YOUR_API_KEY"
Webhook
我們會 POST JSON 至儲存在您 API 客戶端上的 HTTPS URL——不會在每次提交時傳送。申請時提供 URL;我們會儲存為 webhookUrl 並傳送簽章密鑰。目錄 Done 和支援回覆都會送達同一端點。
當管理員在您金鑰提交的工具上點擊 Done 且 webhookUrl 已設定時,會觸發目錄事件。缺少 URL:我們不會傳送任何內容。您的端點當機或回傳非 2xx:工具仍會標記為 Done。我們目前不會重試——如需備援請輪詢狀態。
事件
2
解析 body 前請先讀取 X-AI-Directories-Event。
欄位型別備註
directory_submissions.completedDone 管理員已將您金鑰提交之工具的目錄工作標記為 Done。Payload 為 { event, occurredAt, tool, summary, submissions }。support.repliedreply 支援回覆已就緒(AI 或人工)。Payload 為 { event, occurredAt, conversation }。僅在啟用支援時。
請求
| 方法 | POST |
|---|---|
| Content-Type | application/json |
| Auth | HMAC 標頭——非您的 API 金鑰 |
標頭
3
欄位型別備註
X-AI-Directories-Eventstring 您收到的 payload 類型。依此分支——同一 URL 會收到兩種事件。X-AI-Directories-Signaturestring sha256=<hex> 原始 body 搭配您的簽章密鑰的 HMAC。當我們已發行密鑰時存在。User-Agentstring AI-Directories-Webhook/1.0
驗證簽章
使用我們給您的密鑰對原始請求 body 計算 HMAC-SHA256。去除 sha256= 前綴後,將十六進位摘要與 X-AI-Directories-Signature 比對。請使用時間安全比較。
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 僅包含我們實際提交的目錄。每列可包含即時 listingUrl、證明截圖、Domain Rating 及提交者(ADMIN 或 OWNER)。回傳 2xx 以確認。
{
"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"
}
]
}
客戶支援
從您的產品 UI 轉發問題;我們會盡可能從您的知識庫回答,或由人工在我們的儀表板回覆。預設關閉——在我們啟用前,POST /support/ask 回傳 403。與提交相同的 X-API-Key。MCP 無法呼叫此功能。
預設模式為混合:AI 能回答時回答,否則對話會保持 pending 等待人工。我們可將客戶端設為僅人工(無 AI)。若無產品知識,問題會等待真人處理。
傳送問題
POST https://www.aidirectori.es/api/v1/support/ask
Body
5 question 為必填欄位。重複使用 conversationId 或 externalId 可繼續同一對話。僅限人類使用的客戶端可傳送 metadata.peerPushMessageId 以進行冪等重試。
FieldTypeNotes
questionstring 客戶的問題。最多 4000 個字元。message 也可接受。conversationIdstring 繼續我們先前回傳的對話。externalIdstring 您的工單或對話 ID。重複使用它會繼續同一對話。customerobject 可選的{ name, email, id },供終端客戶使用 — 不是 submit 中的創辦人。metadataobject 儲存在對話上的任意 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" }
}'
混合/AI:200 搭配 status: "answered" 表示 reply 已就緒(replySource 為 ai 或 human)。pending 表示請輪詢或等待 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" }
]
}
}
僅限人類使用的客戶端會收到精簡信封 — 沒有歷史記錄、customer 或 messages[]。message 為 null,直到有人類回覆,之後會收到單一代理訊息。
{
"success": true,
"data": {
"id": "64a1b2c3d4e5f6789012345",
"externalId": "ticket-123",
"status": "pending",
"message": null
}
}
輪詢對話
GET https://www.aidirectori.es/api/v1/support/conversations/:id — 或使用 ?id=、?externalId= 或 ?status=pending 列出。建議在等待期間每 5–15 秒輪詢一次。混合列表結果會省略完整的 messages 陣列;僅限人類使用的回傳與 ask 相同的精簡形狀。
curl -s "https://www.aidirectori.es/api/v1/support/conversations/64a1b2c3d4e5f6789012345" \
-H "X-API-Key: YOUR_API_KEY"
回覆就緒時的 Webhook
如果已設定 webhookUrl,我們會 POST support.replied — 與 directory Done 相同的 HMAC。混合/AI 的 payload 使用 reply / replySource。僅限人類使用的使用單數 conversation.message,包含 role: "agent" 和 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"
}
}
}
請寄送電子郵件至 support@thedirectori.es 以取得金鑰、webhook URL、簽章密鑰或支援存取權限 — 或從 Got a directory? 申請。
Reference / Rate limits
Rate limits
標準金鑰每分鐘可獲得 10 個請求。進階金鑰每分鐘可獲得 60 個。每個回應都包含標頭。
限制是依 API 金鑰計算,而非依 IP — 且 REST 和 MCP 使用分開的預算,因此代理爆發不會耗盡您的伺服器端腳本。
| 金鑰 | REST / 每分鐘 | MCP / 每分鐘 |
|---|---|---|
標準(aid_ 來自儀表板) | 10 | 30 |
| 進階(付費 Catalog API 方案、管理員授權或發行的合作夥伴金鑰) | 60 | 120 |
MCP 預算較大,因為代理會分散:使用者的一個問題通常會變成多個並行的工具呼叫。
握手是免費的
initialize、notifications/initialized、ping 和 tools/list 不花費任何費用。連接客戶端或重新啟動客戶端不會消耗您的配額 — 只有 tools/call 會。格式錯誤的請求主體也不會收費。
每個回應都包含 X-RateLimit-Limit、X-RateLimit-Remaining 和 X-RateLimit-Reset。429 也會傳送 Retry-After。
從 您的開發者儀表板 升級(每月 $9)。請勿冒充搜尋引擎或助理爬蟲來傾倒目錄。
需要更高的限制?請寄送電子郵件至 support@thedirectori.es。
合作夥伴提交/支援金鑰有自己的寫入限制;讀取時使用進階目錄預算。
Reference / Errors
Errors
JSON 錯誤格式和 HTTP 狀態碼。
{ "success": false, "error": "Tool not found." }
| HTTP | 意義 |
|---|---|
| 400 | 錯誤的請求 |
| 401 | 缺少或無效的 API 金鑰 |
| 403 | 金鑰有效但功能未啟用 |
| 404 | 找不到工具、目錄或對話 |
| 429 | 速率限制 |
| 500 / 503 | 伺服器或資料庫問題 — 請重試 |
MCP 使用 JSON-RPC 錯誤(-32601 方法找不到、-32603 內部錯誤,以及工具 isError payload)。