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

在 Claude 中開啟

API 與 MCP

官方 AI Directories 目錄 — 可從 curl 或代理程式搜尋 AI 工具與提交目錄。免費、有完整文件,且比爬蟲更好用。

RESTGET · Bearer aid_

www.aidirectori.es/api/v1

MCPStreamable HTTP

api/mcp

OpenAPI機器規格

openapi.json

從代理程式或 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"
      ]
    }
  }
}

也可機器讀取

開始使用 / 快速入門

快速入門

建立一個 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. 1 取得你的 API 金鑰

    前往開發者儀表板並建立 API 金鑰。金鑰以 aid_ 開頭。請安全儲存 — 之後你將無法再看到完整金鑰。 必須同意可接受使用政策 建立金鑰需要同意 API 可接受使用政策。禁止複製業務、重建 AI Directories、大量重新發布、未授權的公開 SEO 頁面、惡意鎖定、共享憑證以及規避存取控制,違反者可能導致永久平台封鎖。
  2. 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. 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_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—

完整的欄位說明位於 AI 工具 與 目錄 之下。

REST API / 總覽

REST API

適用於腳本、CI 與合作夥伴整合的純 HTTP。MCP 伺服器呼叫的是相同的路徑 — 因此結果永遠不會因為使用哪種傳輸方式而有所不同。

操作方法路徑驗證輸入
search_tools 依關鍵字搜尋,可選類別、標籤、定價與精選篩選。GET/toolsBearerq、category、tag、pricing、featured、includeAdult、page、limit
get_top_tools 依開啟次數取得前 N 筆列表 — 不需關鍵字。GET/tools/topBearerlimit、category、includeAdult
list_categories 附工具計數的 AI 工具類別 — 在篩選搜尋前使用。GET/categoriesBearerq、limit
list_tags 附工具計數的 AI 工具標籤。GET/tagsBearerq、limit
get_tool 單一 AI 工具的完整公開列表。GET/tools/{slug}Bearerslug
search_directories 依名稱、類別或費用搜尋提交目錄。GET/directoriesBearerq、category、cost、featured、page、limit
get_directory 單一目錄的完整公開設定檔。GET/directories/{slug}Bearerslug
list_directory_categories 用於探索篩選條件的目錄類別標籤。GET/directory-categoriesBearer—
submit_ai_tool 建立 AI 工具列表(並可選擇排入目錄提交佇列)。POST/submit-ai-toolX-API-Keyname、website、tagline、description、category、pricing、founderName、founderEmail、tags、paymentType、…
get_tool_status 輪詢你的金鑰所提交工具的目錄提交進度。GET/ai-tools/statusX-API-Keyid | 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所有頁面的符合項目總數
pagesceil(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 工具類別 — 在篩選搜尋前使用。

RESTGET /categories
MCPtools/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 筆列表 — 不需關鍵字。

RESTGET /tools/top
MCPtools/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

依關鍵字搜尋,可選類別、標籤、定價與精選篩選。

RESTGET /tools
MCPtools/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 工具的完整公開列表。

RESTGET /tools/{slug}
MCPtools/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 工具標籤。

RESTGET /tags
MCPtools/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

依名稱、類別或費用搜尋提交目錄。

RESTGET /directories
MCPtools/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

單一目錄的完整公開設定檔。

RESTGET /directories/{slug}
MCPtools/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

用於探索篩選條件的目錄類別標籤。

RESTGET /directory-categories
MCPtools/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 工具列表(並可選擇排入目錄提交佇列)。

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

輪詢您金鑰提交之工具在目錄提交的進度。

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 工具

AI 工具

瀏覽、搜尋及取得已發布的 AI 工具列表。

search_tools

以關鍵字搜尋,並可依分類、標籤、定價及精選篩選。

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

欄位型別備註
idstring穩定識別碼
slugstring用於 /tools/{slug}
name、tagline、descriptionstring
urlstring在 aidirectori.es 上的列表
websitestring產品本身的網站
categoryobject{ slug, name },或 null
tagsarray[{ slug, name }]
pricingstringFREE | FREEMIUM | PAID
ratingnumber未評分時為 0
opensnumber點擊次數;/tools/top 依此排序
featuredboolean
icon、framestring圖片 URL,可為 null
founderName、locationstring可為 null。永遠不包含創辦人電子郵件
domainRatingnumber可為 null
isForSale、askingPriceboolean, number標記為收購的列表
discountCode、affiliatestring, boolean
createdAt、updatedAtstringISO 8601,可為 null

GET /tools/{slug} 新增 screenshots(URL 陣列)、video、socials、faqs、features 和 affiliateLink。這六個僅存在於單一工具端點——請勿期望從搜尋中取得。

任何欄位在列表未填寫時都可能為 null。請撰寫防禦性程式碼。

REST API / 目錄

目錄

目錄的另一半——新創及 SaaS 提交目錄,含 DR 和定價。

爬蟲通常會漏掉這部分。這是我們實際提交產品的清單。

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"

欄位包含名稱、列表 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、namestring
urlstring在 aidirectori.es 上的個人檔案
websitestring目錄本身的網站
iconstring可為 null
coststringFree | Paid | Freemium
typestring連結類型
domainRatingnumber可為 null——多數人排序依據的數字
monthlyVisitsnumber可為 null
requiresBadgeboolean是否要求反向連結徽章
minimumPricenumber免費時為 0
submissionExperiencestring可為 null
featuredboolean
categoriesarray[{ slug, name }]
smallDescriptionstring可為 null
createdAt、updatedAtstringISO 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。

欄位型別備註

  • name string 最多 100 個字元。
  • website url 產品的公開 URL。
  • tagline string 最多 200 個字元。
  • description string 產品功能描述。
  • category string Slug 或名稱。我們會對應到現有分類。
  • pricing enum FREE PAID FREEMIUM 產品本身的定價——非目錄套件。
  • founderName string 您在 POST 前收集此項。
  • founderEmail email 您收集此項。絕不會在公開目錄讀取中回傳。請勿從瀏覽器傳送。
  • tags string[] Slug 或名稱。

建議填寫

5

沒有這些請求仍會成功——我們會產生 slug、取得 favicon/og:image,並將套件保留為等待狀態。當您有這些資料時請傳送。

欄位型別備註

  • paymentType enum starter pro premium 目錄套件:30+、60+ 或 100+ 次提交。若客戶已選擇套件請傳送此項。僅在您希望工具以等待狀態建立以便管理員稍後設定時省略。
  • slug string 公開 URL slug。省略時會從名稱產生(並去重)——當您已有穩定 slug 時請傳送。
  • icon url 方形標誌。省略時我們會取得網站 favicon——請傳送您自己的以獲得更好的列表。
  • frame url 主要截圖。省略時我們會取得 og:image——有產品截圖時請傳送。
  • screenshots url[] 畫廊圖片,鏡像至 Cloudflare。非必填;此欄位為空時封面會涵蓋主視覺。

選填

11

公開 URL 的圖片會鏡像至 Cloudflare。

欄位型別備註

  • video url YouTube 或 Vimeo。
  • socials object 鍵對應 URL,例如 { "twitter": "https://x.com/…" }。
  • features object 字串對應,例如 { "Templates": "50+" }。省略時自動產生。
  • faq array 省略時從網站擷取或產生。
  • affiliate string 聯盟計畫文案。
  • affiliateLink url
  • discountCode string 顯示在列表上的促銷代碼。
  • location string 公司所在地。
  • foundingDate string 成立日期,自由格式。
  • isCustomer boolean 是否已是客戶。
  • isLaunched boolean 產品是否已上線。
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.completed Done 管理員已將您金鑰提交之工具的目錄工作標記為 Done。Payload 為 { event, occurredAt, tool, summary, submissions }。
  • support.replied reply 支援回覆已就緒(AI 或人工)。Payload 為 { event, occurredAt, conversation }。僅在啟用支援時。

請求

方法POST
Content-Typeapplication/json
AuthHMAC 標頭——非您的 API 金鑰

標頭

3

欄位型別備註

  • X-AI-Directories-Event string 您收到的 payload 類型。依此分支——同一 URL 會收到兩種事件。
  • X-AI-Directories-Signature string sha256=<hex> 原始 body 搭配您的簽章密鑰的 HMAC。當我們已發行密鑰時存在。
  • User-Agent string 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

  • question string 客戶的問題。最多 4000 個字元。message 也可接受。
  • conversationId string 繼續我們先前回傳的對話。
  • externalId string 您的工單或對話 ID。重複使用它會繼續同一對話。
  • customer object 可選的 { name, email, id },供終端客戶使用 — 不是 submit 中的創辦人。
  • metadata object 儲存在對話上的任意 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_ 來自儀表板)1030
進階(付費 Catalog API 方案、管理員授權或發行的合作夥伴金鑰)60120

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)。