AI Directories
chính thứcTìm kiếm danh mục AI Directories, tra cứu một mục niêm yết và duyệt qua các thư mục gửi bài
Bạn có thể làm gì với AI Directories MCP?
- Tìm kiếm công cụ AI — Yêu cầu tìm công cụ AI theo từ khóa, danh mục, thẻ hoặc mức giá bằng
search_tools. - Lấy chi tiết công cụ — Yêu cầu bản niêm yết công khai đầy đủ cho bất kỳ công cụ nào theo slug qua
get_tool, bao gồm ảnh chụp màn hình và câu hỏi thường gặp. - Duyệt các công cụ hàng đầu — Yêu cầu các công cụ AI phổ biến nhất theo số lượt mở, tùy chọn lọc theo danh mục, bằng
get_top_tools. - Khám phá danh mục và thẻ — Yêu cầu trợ lý liệt kê tất cả danh mục hoặc thẻ công cụ AI kèm số lượng bằng
list_categorieshoặclist_tags. - Tìm thư mục gửi bài — Tìm kiếm thư mục theo tên, chi phí hoặc danh mục bằng
search_directoriesđể xác định mục tiêu gửi bài. - Lấy hồ sơ thư mục — Truy xuất hồ sơ đầy đủ của một thư mục, bao gồm Xếp hạng tên miền và yêu cầu huy hiệu, qua
get_directory.
Tài liệu
Developers
API & MCP
Danh mục AI Directories chính thức — tìm kiếm công cụ AI và thư mục gửi bài từ curl hoặc một agent. Miễn phí, có tài liệu đầy đủ, và tốt hơn việc scrape.
RESTGET · Bearer aid_
MCPStreamable HTTP
OpenAPImachine spec
Tìm kiếm danh mục AI Directories, tra cứu một listing, và duyệt các thư mục gửi bài — từ một agent hoặc từ curl. REST và MCP dùng chung một backend. Các bên scrape bên thứ ba bọc các trang công khai của chúng tôi và tính phí cho dữ liệu dump. Đây là nguồn chính thức.
Ví dụ — 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"
}
}
Những gì bạn có thể làm
- Tìm kiếm công cụ AI theo từ khóa, danh mục, tag, hoặc giá
- Lấy một công cụ theo slug (listing công khai đầy đủ)
- Liệt kê danh mục và tag
- Tìm kiếm thư mục gửi bài (DR, chi phí, huy hiệu)
- Lấy một hồ sơ thư mục với khóa aid_ của bạn
Những gì bạn không thể làm
- Đọc email của nhà sáng lập hoặc dữ liệu phân tích riêng tư
- Scrape trang HTML hoặc giả mạo crawler
- Tái xuất bản danh mục như một thư mục cạnh tranh
- Gọi API ghi của đối tác mà không có khóa được cấp
Vì sao tính năng này tồn tại
Mọi người đã scrape aidirectori.es và bán dữ liệu export. API chính thức miễn phí cho sản phẩm, nghiên cứu, và agent — với ghi nhận nguồn, giới hạn tốc độ, và giấy phép: bạn không được tái xuất bản toàn bộ danh mục như một thư mục cạnh tranh hoặc dịch vụ scrape trả phí.
Tích hợp vào agent
Cursor: .cursor/mcp.json hoặc ~/.cursor/mcp.json. Không có khoảng trắng sau Authorization: — mcp-remote tách theo khoảng trắng. Xem Cài đặt MCP.
{
"mcpServers": {
"aidirectories": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://www.aidirectori.es/api/mcp",
"--header", "Authorization:Bearer aid_your_real_key"
]
}
}
}
Cũng có thể đọc bằng máy
- /llms.txt — tóm tắt trang cho agent
- /sitemap.xml
- 60 req/phút · 400/giờ mỗi IP
Bắt đầu / Khởi động nhanh
Khởi động nhanh
Tạo một khóa aid_, sau đó tìm kiếm công cụ, lấy một listing, và tìm kiếm thư mục.
Tạo khóa trên bảng điều khiển nhà phát triển, sau đó sao chép các bước này.
1. Tìm kiếm công cụ AI
curl -s "https://www.aidirectori.es/api/v1/tools?q=image&limit=5" \
-H "Authorization: Bearer aid_your_api_key"
2. Lấy một listing
curl -s "https://www.aidirectori.es/api/v1/tools/transclipper" \
-H "Authorization: Bearer aid_your_api_key"
3. Tìm kiếm thư mục
curl -s "https://www.aidirectori.es/api/v1/directories?q=ai&limit=5" \
-H "Authorization: Bearer aid_your_api_key"
Các thao tác tương tự qua MCP: thêm server với cùng Bearer token, sau đó gọi search_tools, get_tool, và search_directories. Xem Cài đặt MCP.
Bắt đầu / Xác thực
Xác thực
Bearer token qua API key. Tạo khóa từ bảng điều khiển nhà phát triển của bạn. Tiêu chuẩn 10/phút, cao cấp 60/phút.
Xác thực
Bearer token qua API key. Tạo khóa từ bảng điều khiển nhà phát triển của bạn.
Giới hạn tốc độ
Khóa tiêu chuẩn nhận 10 yêu cầu mỗi phút. Khóa cao cấp nhận 60. Nâng cấp từ bảng điều khiển nhà phát triển của bạn. Header giới hạn tốc độ có trên mọi phản hồi.
Base URL
https://www.aidirectori.es/api/v1
-
1 Lấy API key của bạn
Đi tới bảng điều khiển nhà phát triển và tạo một API key. Khóa bắt đầu bằngaid_. Lưu trữ an toàn — bạn sẽ không thể xem lại toàn bộ khóa. Yêu cầu chấp nhận sử dụng hợp lệ Việc tạo khóa yêu cầu đồng ý với Chính sách sử dụng hợp lệ API. Sao chép doanh nghiệp, xây dựng lại AI Directories, tái xuất bản hàng loạt, trang SEO công khai trái phép, nhắm mục tiêu lạm dụng, chia sẻ thông tin xác thực, và trốn tránh kiểm soát truy cập đều bị cấm và có thể dẫn đến lệnh cấm vĩnh viễn khỏi nền tảng. -
2 Thực hiện yêu cầu đầu tiên của bạn
Truyền khóa của bạn như một Bearer token trong headerAuthorization.X-API-Keycũng được chấp nhận, trên mọi endpoint. Hai cách này có thể hoán đổi cho nhau — những gì một khóa có thể truy cập phụ thuộc vào khóa, không phải header mà nó được gửi qua. Một khóaaid_từ bảng điều khiển vẫn nhận403trên các endpoint đối tác khi được gửi dưới dạngX-API-Key; nếu bạn thấy 403, bạn cần một khóa khác, không phải một header khác.curl -s "https://www.aidirectori.es/api/v1/tools?q=ai&limit=5" \ -H "Authorization: Bearer aid_your_api_key" -
3 Phân tích phản hồi
Các thao tác đọc thành công trả về{ success: true, data }. Các endpoint danh sách cũng bao gồmpagination— các trường của nó và quy tắc giới hạn đáng đọc trước khi bạn viết vòng lặp phân trang. Theo dõiX-RateLimit-Remaining.{ "success": true, "data": [ { "slug": "transclipper", "name": "TransClipper", "website": "https://transclipper.ai" } ] }
Khóa đối tác
Các đối tác thư mục gửi công cụ cho chúng tôi cho dịch vụ gửi bài vẫn sử dụng khóa được cấp cho POST /submit-ai-tool, trạng thái, webhook, và hỗ trợ. Các khóa đó cũng hoạt động trên các thao tác đọc danh mục. Xem Bạn có một thư mục?.
MCP / Cài đặt
Cài đặt MCP
MCP Streamable HTTP được lưu trữ — gửi cùng Bearer key như REST.
Server nói Giao thức Ngữ cảnh Mô hình qua Streamable HTTP. Nó được lưu trữ. Mọi công cụ bao bọc các hàm giống như REST API. Gửi Authorization: Bearer aid_… từ bảng điều khiển nhà phát triển của bạn.
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
Phạm vi dự án: .cursor/mcp.json. Toàn cục: ~/.cursor/mcp.json. Claude Desktop: claude_desktop_config.json (chỉ stdio — cùng khối này).
{
"mcpServers": {
"aidirectories": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://www.aidirectori.es/api/mcp",
"--header", "Authorization:Bearer aid_your_real_key"
]
}
}
}
Không có khoảng trắng sau Authorization: — mcp-remote tách đối số theo khoảng trắng, vì vậy "Authorization: Bearer …" làm hỏng header. Khởi động lại client hoàn toàn sau khi chỉnh sửa tệp.
Sau khi thêm server, yêu cầu agent liệt kê các công cụ. Bạn sẽ thấy search_tools, get_top_tools, get_tool, list_categories, list_tags, search_directories, get_directory, và list_directory_categories.
Xác minh
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 / Công cụ
Công cụ MCP
Mọi công cụ MCP là một lớp bọc mỏng trên danh mục REST.
Xác thực là cùng Bearer aid_ key như REST.
| Công cụ | REST | Đầu vào |
|---|---|---|
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 | — |
Ghi chú trường đầy đủ nằm dưới Công cụ AI và Thư mục.
REST API / Tổng quan
REST API
HTTP thuần cho script, CI, và tích hợp đối tác. Server MCP gọi chính các đường dẫn này — vì vậy kết quả không bao giờ phụ thuộc vào transport nào đã yêu cầu nó.
| Thao tác | Phương thức | Đường dẫn | Xác thực | Đầu vào |
|---|---|---|---|---|
| search_tools Tìm kiếm từ khóa với bộ lọc danh mục, tag, giá, và nổi bật tùy chọn. | GET | /tools | Bearer | q, category, tag, pricing, featured, includeAdult, page, limit |
| get_top_tools Top N listing theo số lần mở — không yêu cầu từ khóa. | GET | /tools/top | Bearer | limit, category, includeAdult |
| list_categories Danh mục công cụ AI với số lượng công cụ — sử dụng trước khi lọc tìm kiếm. | GET | /categories | Bearer | q, limit |
| list_tags Tag công cụ AI với số lượng công cụ. | GET | /tags | Bearer | q, limit |
| get_tool Listing công khai đầy đủ cho một công cụ AI. | GET | /tools/{slug} | Bearer | slug |
| search_directories Tìm kiếm thư mục gửi bài theo tên, danh mục, hoặc chi phí. | GET | /directories | Bearer | q, category, cost, featured, page, limit |
| get_directory Hồ sơ công khai đầy đủ cho một thư mục. | GET | /directories/{slug} | Bearer | slug |
| list_directory_categories Nhãn danh mục thư mục để khám phá bộ lọc. | GET | /directory-categories | Bearer | — |
| submit_ai_tool Tạo một listing công cụ AI (và tùy chọn xếp hàng gửi thư mục). | POST | /submit-ai-tool | X-API-Key | name, website, tagline, description, category, pricing, founderName, founderEmail, tags, paymentType, … |
| get_tool_status Kiểm tra tiến trình gửi thư mục cho một công cụ mà khóa của bạn đã gửi. | GET | /ai-tools/status | X-API-Key | id | slug | website |
Khám phá nằm tại GET / và tài liệu OpenAPI tại GET /openapi.json. Ghi chú trường cho phản hồi danh mục nằm trên Công cụ AI và Thư mục.
Envelope, phân trang, và giới hạn
Mọi phản hồi là cùng một envelope. data là một mảng trong tìm kiếm và một đối tượng trong tra cứu một mục. Kiểm tra success trước khi đọc data.
{ "success": true, "data": [], "pagination": { "page": 1, "limit": 20, "total": 0, "pages": 0 } }
{ "success": false, "error": "Invalid or revoked API key." }
GET /tools và GET /directories trả về một đối tượng pagination. Các endpoint phân loại — /categories, /tags, /directory-categories — trả về toàn bộ danh sách và không có khóa pagination nào cả.
| page | Trang bạn nhận được, bắt đầu từ 1 |
|---|---|
| limit | Số mục mỗi trang thực sự được áp dụng |
| total | Số mục khớp trên tất cả các trang |
| pages | ceil(total / limit), hoặc 0 khi không có gì khớp |
Một giới hạn quá lớn bị kẹp, không bị từ chối. Yêu cầu nhiều hơn mức tối đa và bạn nhận được mức tối đa, với 200 — không có lỗi nào cho bạn biết điều đó đã xảy ra. /tools và /directories mặc định là 20 và giới hạn ở 100; /categories và /tags giới hạn ở 500. Một limit thiếu, bằng 0, âm, hoặc không phải số sẽ rơi về mặc định, và page tối thiểu là 1. Vì vậy hãy đọc pagination.limit từ phản hồi thay vì giả định bạn nhận được kích thước trang bạn yêu cầu — giả định đó là thứ biến một vòng lặp phân trang thành vòng lặp vô hạn.
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
Công cụ AI
Duyệt, tìm kiếm, và lọc danh mục trực tiếp, hoặc lấy một listing theo slug. Ánh xạ tới MCP search_tools, get_top_tools, get_tool, list_categories, và list_tags.
list_categories
Danh mục công cụ AI với số lượng công cụ — sử dụng trước khi lọc tìm kiếm.
| REST | GET /categories |
|---|---|
| MCP | tools/call → list_categories |
| Xác thực | Bearer |
| Đầu vào | q, limit |
curl -s "https://www.aidirectori.es/api/v1/categories" \
-H "Authorization: Bearer aid_your_api_key"
get_top_tools
Top N listing theo số lần mở — không yêu cầu từ khóa.
| REST | GET /tools/top |
|---|---|
| MCP | tools/call → get_top_tools |
| Xác thực | Bearer |
| Đầu vào | 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
Tìm kiếm từ khóa với bộ lọc danh mục, tag, giá, và nổi bật tùy chọn.
| REST | GET /tools |
|---|---|
| MCP | tools/call → search_tools |
| Xác thực | Bearer |
| Đầu vào | 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 công khai đầy đủ cho một công cụ AI.
| REST | GET /tools/{slug} |
|---|---|
| MCP | tools/call → get_tool |
| Xác thực | Bearer |
| Đầu vào | slug |
curl -s "https://www.aidirectori.es/api/v1/tools/transclipper" \
-H "Authorization: Bearer aid_your_api_key"
list_tags
Tag công cụ AI với số lượng công cụ.
| REST | GET /tags |
|---|---|
| MCP | tools/call → list_tags |
| Xác thực | Bearer |
| Đầu vào | q, limit |
curl -s "https://www.aidirectori.es/api/v1/tags" \
-H "Authorization: Bearer aid_your_api_key"
Thư mục
Danh mục thư mục gửi bài — Domain Rating, chi phí, huy hiệu, và danh mục. Ánh xạ tới MCP search_directories, get_directory, và list_directory_categories.
search_directories
Tìm kiếm thư mục gửi bài theo tên, danh mục, hoặc chi phí.
| REST | GET /directories |
|---|---|
| MCP | tools/call → search_directories |
| Xác thực | Bearer |
| Đầu vào | 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
Hồ sơ công khai đầy đủ cho một thư mục.
| REST | GET /directories/{slug} |
|---|---|
| MCP | tools/call → get_directory |
| Xác thực | Bearer |
| Đầu vào | 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
Nhãn danh mục thư mục để khám phá bộ lọc.
| REST | GET /directory-categories |
|---|---|
| MCP | tools/call → list_directory_categories |
| Xác thực | Bearer |
| Đầu vào | — |
curl -s "https://www.aidirectori.es/api/v1/directory-categories" \
-H "Authorization: Bearer aid_your_api_key"
Đối tác
Các endpoint ghi và trạng thái cần một X-API-Key được cấp. Giữ nó trên server của bạn. MCP không gọi các endpoint này. Danh sách trường đầy đủ nằm dưới Gửi bài & đối tác.
submit_ai_tool
Tạo một listing công cụ AI (và tùy chọn xếp hàng gửi thư mục).
| 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
Kiểm tra tiến trình gửi danh bạ cho một công cụ mà khóa của bạn đã gửi.
| 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 / Công cụ AI
Công cụ AI
Duyệt, tìm kiếm và lấy danh sách công cụ AI đã xuất bản.
search_tools
Tìm kiếm theo từ khóa với bộ lọc danh mục, thẻ, giá và nổi bật.
| REST | GET /tools |
|---|---|
| MCP | search_tools |
| Auth | Bearer aid_ |
| Input | q, category, tag, pricing (FREE | FREEMIUM | PAID), featured, includeAdult, page, limit (tối đa 100) |
curl -s "https://www.aidirectori.es/api/v1/tools?q=transclipper&limit=5" \
-H "Authorization: Bearer aid_your_api_key"
Mỗi mục bao gồm tên, slug, URL danh sách, website, tagline, mô tả, danh mục, thẻ, giá, xếp hạng, số lượt mở, biểu tượng và dấu thời gian. Không có email người sáng lập.
Danh sách người lớn bị loại trừ theo mặc định. search_tools và get_top_tools giữ lại danh sách người lớn trừ khi bạn yêu cầu chúng.
Việc loại trừ dựa trên danh mục và thẻ, vì các công cụ người lớn thường được xếp vào danh mục chung — image, writing, video — trong khi gắn thẻ chính xác. Vì vậy, category=image trả về các công cụ hình ảnh mà không có các ứng dụng chỉnh sửa ảnh không mong muốn.
Ba cách để chọn tham gia: includeAdult=true, category=nsfw, hoặc đặt tên một thẻ người lớn như tag=ai-undressing. Không có gì bị ẩn hoặc không thể truy cập — chỉ đơn giản là bạn không nhận được chúng khi bạn không yêu cầu.
get_top_tools
Các công cụ đã xuất bản được mở nhiều nhất. Có thể có slug danh mục tùy chọn.
curl -s "https://www.aidirectori.es/api/v1/tools/top?limit=10&category=image" \
-H "Authorization: Bearer aid_your_api_key"
get_tool
Danh sách công khai đầy đủ: ảnh chụp màn hình, câu hỏi thường gặp, mạng xã hội, tính năng.
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"
Danh mục trả về slug, name, description, icon, toolsCount. Thẻ trả về slug, name, toolsCount. Không phân trang — bạn nhận toàn bộ danh sách, vì vậy hãy lưu vào bộ nhớ cache và lọc cục bộ.
Trường của công cụ
Được trả về bởi /tools, /tools/top và /tools/{slug} giống nhau:
| Trường | Loại | Ghi chú |
|---|---|---|
id | string | Định danh ổn định |
slug | string | Sử dụng cái này cho /tools/{slug} |
name, tagline, description | string | |
url | string | Danh sách trên aidirectori.es |
website | string | Trang web của sản phẩm |
category | object | { slug, name }, hoặc null |
tags | array | [{ slug, name }] |
pricing | string | FREE | FREEMIUM | PAID |
rating | number | 0 khi chưa được xếp hạng |
opens | number | Số lần nhấp; thứ mà /tools/top sắp xếp theo |
featured | boolean | |
icon, frame | string | URL hình ảnh, có thể null |
founderName, location | string | Có thể null. Không bao giờ có email người sáng lập |
domainRating | number | Có thể null |
isForSale, askingPrice | boolean, number | Danh sách được đánh dấu để mua lại |
discountCode, affiliate | string, boolean | |
createdAt, updatedAt | string | ISO 8601, có thể null |
GET /tools/{slug} thêm screenshots (mảng URL), video, socials, faqs, features và affiliateLink. Sáu trường đó chỉ có trên điểm cuối công cụ đơn — đừng mong đợi chúng từ tìm kiếm.
Bất kỳ trường nào cũng có thể là null khi danh sách chưa điền. Hãy viết mã phòng thủ.
REST API / Danh bạ
Danh bạ
Nửa còn lại của danh mục — danh bạ gửi startup và SaaS, với DR và giá.
Các trình thu thập thường bỏ lỡ phần này. Đây là danh sách mà chúng tôi thực sự gửi sản phẩm đến.
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"
Các trường bao gồm tên, URL danh sách, website, Domain Rating, lượt truy cập hàng tháng, loại liên kết, yêu cầu huy hiệu, giá tối thiểu và danh mục.
get_directory
Thêm mô tả, câu hỏi thường gặp, liên kết gửi và nội dung ưu đãi.
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"
Trả về slug và name chỉ. Không phân trang. Đây là các giá trị mà ?category= chấp nhận — hãy đọc chúng thay vì đoán.
Trường của danh bạ
| Trường | Loại | Ghi chú |
|---|---|---|
id, slug, name | string | |
url | string | Hồ sơ trên aidirectori.es |
website | string | Trang web của danh bạ |
icon | string | Có thể null |
cost | string | Free | Paid | Freemium |
type | string | Loại liên kết |
domainRating | number | Có thể null — con số mà hầu hết mọi người sắp xếp theo |
monthlyVisits | number | Có thể null |
requiresBadge | boolean | Liệu họ có yêu cầu huy hiệu backlink không |
minimumPrice | number | 0 khi miễn phí |
submissionExperience | string | Có thể null |
featured | boolean | |
categories | array | [{ slug, name }] |
smallDescription | string | Có thể null |
createdAt, updatedAt | string | ISO 8601 |
GET /directories/{slug} thêm fullDescription, features, useCases, faq, deal ({ text, code } hoặc null), frame và socials.
Lưu ý hai trường url: url là trang hồ sơ của chúng tôi, website là danh bạ. URL biểu mẫu gửi trực tiếp (submissionLink) không có trong API danh mục hoặc MCP — chúng là một phần của sản phẩm danh sách trả phí trên trang web và bảng điều khiển.
Chọn mục tiêu gửi
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'
Miễn phí, không yêu cầu huy hiệu, các tên miền mạnh nhất trước.
REST API / Gửi & đối tác
Gửi & đối tác
Các điểm cuối khóa API để gửi công cụ, kiểm tra trạng thái, webhook và hỗ trợ.
Đây không phải là ẩn danh. Chúng tôi cấp một khóa cho mỗi đối tác. MCP không gọi chúng.
Gửi một công cụ
POST https://www.aidirectori.es/api/v1/submit-ai-tool
Tạo một danh sách. Gửi paymentType để xếp hàng gửi danh bạ cho gói đó. Bỏ qua và công cụ được tạo ở trạng thái chờ để gói có thể được đặt sau trong quản trị.
Bắt buộc
9
Thiếu bất kỳ trường nào trong số này sẽ trả về 400.
TrườngLoạiGhi chú
namestring Tối đa 100 ký tự.websiteurl URL công khai của sản phẩm.taglinestring Tối đa 200 ký tự.descriptionstring Sản phẩm làm gì.categorystring Slug hoặc tên. Chúng tôi ánh xạ nó vào một danh mục hiện có.pricingenumFREEPAIDFREEMIUMGiá của sản phẩm — không phải gói danh bạ.founderNamestring Bạn thu thập cái này trước khi POST.founderEmailemail Bạn thu thập cái này. Không bao giờ được trả về trong các lần đọc danh mục công khai. Không gửi từ trình duyệt.tagsstring[] Slug hoặc tên.
Khuyến nghị
5
Yêu cầu thành công mà không có những trường này — chúng tôi tạo slug, lấy biểu tượng/og:image và để gói ở trạng thái chờ. Gửi chúng khi bạn có.
TrườngLoạiGhi chú
paymentTypeenumstarterpropremiumGói danh bạ: 30+, 60+ hoặc 100+ lần gửi. Gửi cái này nếu khách hàng đã chọn gói. Chỉ bỏ qua nếu bạn muốn công cụ được tạo ở trạng thái chờ để quản trị đặt sau.slugstring Slug URL công khai. Được tạo từ tên (và làm duy nhất) nếu bỏ qua — gửi khi bạn đã có slug ổn định.iconurl Logo vuông. Nếu bỏ qua, chúng tôi lấy favicon trang web — gửi logo của bạn để có danh sách tốt hơn.frameurl Ảnh chụp màn hình chính. Nếu bỏ qua, chúng tôi lấy og:image — gửi ảnh sản phẩm khi bạn có.screenshotsurl[] Ảnh thư viện, được phản chiếu đến Cloudflare. Không bắt buộc; khung bao phủ ảnh chính nếu trường này trống.
Tùy chọn
11
Hình ảnh tại URL công khai được phản chiếu đến Cloudflare.
TrườngLoạiGhi chú
videourl YouTube hoặc Vimeo.socialsobject Khóa đến URL, ví dụ{ "twitter": "https://x.com/…" }.featuresobject Bản đồ chuỗi, ví dụ{ "Templates": "50+" }. Được tạo nếu bỏ qua.faqarray Nếu bỏ qua, được thu thập từ trang web hoặc tạo.affiliatestring Nội dung chương trình liên kết.affiliateLinkurldiscountCodestring Mã khuyến mãi hiển thị trên danh sách.locationstring Nơi công ty đặt trụ sở.foundingDatestring Ngày thành lập, dạng tự do.isCustomerboolean Liệu họ đã là khách hàng chưa.isLaunchedboolean Liệu sản phẩm có hoạt động không.
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"]
}'
Kiểm tra trạng thái gửi
GET https://www.aidirectori.es/api/v1/ai-tools/status — tra cứu một công cụ mà khóa của bạn đã gửi với chính xác một trong id, slug hoặc website. Công cụ của khách hàng khác trả về 404.
Sử dụng bất cứ lúc nào — không chỉ khi webhook kích hoạt. Kiểm tra trong khi summary.isComplete là false, sau đó dừng (hoặc chờ Done). submissionState là IN_QUEUE, ASSIGNED, IN_PROGRESS, REVIEW, DONE hoặc null khi không có quy trình danh bạ.
curl -s "https://www.aidirectori.es/api/v1/ai-tools/status?slug=my-ai-tool" \
-H "X-API-Key: YOUR_API_KEY"
Webhook
Chúng tôi POST JSON đến một URL HTTPS được lưu trên máy khách API của bạn — không gửi trên mỗi lần gửi. Cung cấp cho chúng tôi URL khi bạn đăng ký; chúng tôi lưu nó dưới dạng webhookUrl và gửi cho bạn một bí mật ký. Cả phản hồi directory-Done và hỗ trợ đều đến cùng điểm cuối đó.
Sự kiện danh bạ kích hoạt khi quản trị viên nhấp Done trên một công cụ mà khóa của bạn đã gửi và webhookUrl được đặt. Thiếu URL: chúng tôi không gửi gì. Điểm cuối của bạn ngừng hoạt động hoặc không phải 2xx: công cụ vẫn được đánh dấu Done. Chúng tôi chưa thử lại — kiểm tra trạng thái nếu bạn cần dự phòng.
Sự kiện
2
Đọc X-AI-Directories-Event trước khi phân tích nội dung.
TrườngLoạiGhi chú
directory_submissions.completedDone Quản trị viên đánh dấu công việc danh bạ Done cho một công cụ mà khóa của bạn đã gửi. Payload là { event, occurredAt, tool, summary, submissions }.support.repliedreply Một phản hồi hỗ trợ đã sẵn sàng (AI hoặc con người). Payload là { event, occurredAt, conversation }. Chỉ khi hỗ trợ được bật.
Yêu cầu
| Phương thức | POST |
|---|---|
| Content-Type | application/json |
| Auth | Tiêu đề HMAC — không phải khóa API của bạn |
Tiêu đề
3
TrườngLoạiGhi chú
X-AI-Directories-Eventstring Payload nào bạn nhận được. Phân nhánh trên cái này — cùng một URL nhận cả hai sự kiện.X-AI-Directories-Signaturestring sha256=<hex> HMAC của nội dung thô với bí mật ký của bạn. Hiện diện khi chúng tôi cấp một bí mật.User-Agentstring AI-Directories-Webhook/1.0
Xác minh chữ ký
HMAC-SHA256 trên nội dung yêu cầu thô với bí mật chúng tôi đã cấp. So sánh băm hex với X-AI-Directories-Signature sau khi loại bỏ tiền tố sha256=. Sử dụng so sánh an toàn về thời gian.
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 chỉ bao gồm các danh bạ mà chúng tôi thực sự đã gửi. Mỗi hàng có thể bao gồm listingUrl trực tiếp, ảnh chụp màn hình bằng chứng, xếp hạng tên miền và ai đã gửi (ADMIN hoặc OWNER). Trả về 2xx để xác nhận.
{
"event": "directory_submissions.completed",
"occurredAt": "2026-09-01T13:00:00.000Z",
"tool": {
"id": "64a1b2c3d4e5f6789012345",
"name": "My AI Tool",
"slug": "my-ai-tool",
"website": "https://myaitool.com",
"paymentStatus": "prolist",
"paymentLabel": "Pro · 60+",
"targetDirectoriesCount": 60
},
"summary": {
"submittedCount": 62,
"recordedSubmissions": 62,
"notes": "All high-DR directories completed"
},
"submissions": [
{
"name": "There's An AI For That",
"slug": "theres-an-ai-for-that",
"url": "https://theresanaiforthat.com",
"listingUrl": "https://theresanaiforthat.com/ai/my-ai-tool",
"domainRating": 81,
"isSubmitted": true,
"submittedBy": "ADMIN",
"submittedAt": "2026-09-01T12:00:00.000Z"
}
]
}
Hỗ trợ khách hàng
Chuyển tiếp một câu hỏi từ giao diện sản phẩm của bạn; chúng tôi trả lời từ cơ sở kiến thức của bạn khi có thể, hoặc một con người trả lời trong bảng điều khiển của chúng tôi. Tắt theo mặc định — cho đến khi chúng tôi bật, POST /support/ask trả về 403. Cùng X-API-Key như gửi. MCP không thể gọi cái này.
Chế độ mặc định là kết hợp: AI trả lời khi có thể, nếu không cuộc trò chuyện vẫn ở pending cho một con người. Chúng tôi có thể đặt máy khách chỉ dành cho con người (không có AI). Không có kiến thức sản phẩm, câu hỏi chờ một người.
Gửi một câu hỏi
POST https://www.aidirectori.es/api/v1/support/ask
Nội dung
5 question là bắt buộc. Dùng lại conversationId hoặc externalId để tiếp tục một chuỗi hội thoại. Client chỉ dành cho con người có thể gửi metadata.peerPushMessageId để thử lại một cách idempotent.
FieldTypeNotes
questionstring Câu hỏi của khách hàng. Tối đa 4000 ký tự. message cũng được chấp nhận.conversationIdstring Tiếp tục một chuỗi hội thoại mà chúng tôi đã trả về trước đó.externalIdstring ID ticket hoặc chuỗi hội thoại của bạn. Dùng lại nó sẽ tiếp tục cùng một cuộc trò chuyện.customerobject Tùy chọn{ name, email, id }cho khách hàng cuối — không phải founder từ submit.metadataobject JSON tùy ý được lưu trên cuộc trò chuyện.
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 với status: "answered" nghĩa là reply đã sẵn sàng (replySource là ai hoặc human). pending nghĩa là poll hoặc chờ 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" }
]
}
}
Client chỉ dành cho con người nhận một envelope gọn nhẹ — không có lịch sử, customer, hoặc messages[]. message là null cho đến khi một con người trả lời, sau đó là một tin nhắn agent duy nhất.
{
"success": true,
"data": {
"id": "64a1b2c3d4e5f6789012345",
"externalId": "ticket-123",
"status": "pending",
"message": null
}
}
Poll một cuộc trò chuyện
GET https://www.aidirectori.es/api/v1/support/conversations/:id — hoặc liệt kê với ?id=, ?externalId=, hoặc ?status=pending. Khoảng thời gian đề xuất trong khi chờ: 5–15 giây. Kết quả danh sách Hybrid bỏ qua mảng messages đầy đủ; human-only trả về cùng hình dạng gọn nhẹ như ask.
curl -s "https://www.aidirectori.es/api/v1/support/conversations/64a1b2c3d4e5f6789012345" \
-H "X-API-Key: YOUR_API_KEY"
Webhook khi có câu trả lời sẵn sàng
Nếu webhookUrl được đặt, chúng tôi POST support.replied — cùng HMAC như directory Done. Payload Hybrid/AI dùng reply / replySource. Human-only dùng một conversation.message số ít với role: "agent" và 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 để lấy key, URL webhook, signing secret, hoặc quyền truy cập hỗ trợ — hoặc đăng ký từ Got a directory?.
Reference / Rate limits
Rate limits
Key tiêu chuẩn nhận 10 yêu cầu mỗi phút. Key cao cấp nhận 60. Headers trên mọi phản hồi.
Giới hạn áp dụng cho từng API key, không phải theo IP — và REST và MCP dùng các hạn mức riêng biệt, vì vậy một đợt bùng nổ agent không thể làm cạn kiệt script phía máy chủ của bạn.
| Key | REST / phút | MCP / phút |
|---|---|---|
Tiêu chuẩn (aid_ từ dashboard) | 10 | 30 |
| Cao cấp (gói Catalog API trả phí, cấp quyền admin, hoặc key đối tác được phát hành) | 60 | 120 |
Hạn mức MCP lớn hơn vì các agent phân nhánh: một câu hỏi từ người dùng thường trở thành nhiều lệnh gọi tool song song.
Bắt tay miễn phí
initialize, notifications/initialized, ping, và tools/list không tốn chi phí. Kết nối một client, hoặc khởi động lại, không tiêu tốn hạn mức của bạn — chỉ tools/call mới tốn. Một body yêu cầu sai định dạng cũng không bị tính phí.
Mọi phản hồi bao gồm X-RateLimit-Limit, X-RateLimit-Remaining, và X-RateLimit-Reset. 429 cũng gửi Retry-After.
Nâng cấp từ developer dashboard của bạn ($9/tháng). Không giả mạo crawler của công cụ tìm kiếm hoặc trợ lý để tải xuống catalog.
Cần hạn mức cao hơn? Email support@thedirectori.es.
Key submit/hỗ trợ đối tác có giới hạn ghi riêng; chúng dùng hạn mức catalog cao cấp khi đọc.
Reference / Errors
Errors
Hình dạng lỗi JSON và mã trạng thái HTTP.
{ "success": false, "error": "Tool not found." }
| HTTP | Ý nghĩa |
|---|---|
| 400 | Yêu cầu sai |
| 401 | Thiếu hoặc API key không hợp lệ |
| 403 | Key hợp lệ nhưng tính năng chưa được bật |
| 404 | Không tìm thấy tool, directory, hoặc cuộc trò chuyện |
| 429 | Giới hạn tốc độ |
| 500 / 503 | Sự cố máy chủ hoặc cơ sở dữ liệu — thử lại |
MCP dùng lỗi JSON-RPC (-32601 method not found, -32603 internal, và tool isError payloads).