{"api_version":"1.1","staleness_threshold_days":90,"tool_fields":{"name":"string","slug":"string","category":"string","type":["cloud","self-hosted","hybrid"],"pricing":["free","freemium","paid","open-source"],"open_source":"boolean","self_hosted":"boolean","sdk_languages":["csharp","dart","elixir","go","java","javascript","kotlin","php","python","ruby","rust","swift","typescript"],"frameworks":["gatsby","langchain","llamaindex","nextjs","openai-agents","remix","vercel-ai"],"agent_features":"Record<string, true | false | null> — keys vary by category, see feature_definitions","feature_labels":"Record<string, string> — human-readable descriptions of each agent_features key (included in tool responses)","comparisons":"Array of { slug, title, vs } — editorial comparisons available for this tool (included in tool responses)","compliance":["fedramp","gdpr","hipaa","iso27001","pci-dss","soc2"],"best_for":"string","limitations":"string","verified_by":["editorial","community","vendor"],"last_verified":"ISO 8601 date (YYYY-MM-DD)","source_urls":"Record<string, url>"},"feature_definitions_by_category":{"auth":{"agent_sdk":"Dedicated SDK for agentic workflows — agent sessions, token lifecycle, and authorization requests","token_delegation":"Issue scoped tokens an agent can use downstream without exposing user credentials","human_in_the_loop":"Pause agent execution and require explicit user approval before proceeding","fga":"Fine-Grained Authorization — relationship-based or attribute-based access control, not just role-based","mcp_support":"Native OAuth/OIDC authorization layer for Model Context Protocol servers","async_authorization":"Non-blocking approval workflows — agent continues and gets notified when approval is granted"},"cms":{"rest_api":"Full CRUD REST API for programmatic content operations","graphql_api":"GraphQL API for flexible content queries","real_time":"Real-time content subscriptions or live updates","content_versioning":"Version history and rollback for content changes","webhooks":"Outbound webhooks triggered by content events"},"email":{"transactional":"Send triggered emails — receipts, notifications, approval requests","marketing":"Send bulk campaigns and newsletters","inbound_parsing":"Receive and parse incoming emails via webhook","template_engine":"Built-in email template builder or rendering engine","deliverability_tools":"Dedicated IP, domain authentication, and reputation monitoring"},"hosting":{"serverless":"Serverless function execution with auto-scaling","containers":"Run persistent containers or Docker images","edge_compute":"Execute code at the edge, close to users globally","ai_tooling":"Built-in AI/LLM inference or AI-specific SDK","mcp_hosting":"First-party support for deploying MCP servers"},"observability":{"llm_tracing":"Trace LLM calls, tool invocations, and agent reasoning steps end-to-end","cost_tracking":"Track token usage and cost per request, per agent run, and per model","evaluation":"Score agent outputs against test datasets with automated evaluators","prompt_management":"Version, manage, and A/B test prompts in production","real_time_monitoring":"Live dashboards and alerting for agent performance metrics"}},"feature_aliases":{"mcp":{"auth":"mcp_support","hosting":"mcp_hosting"},"self_host":{"auth":"self_hosted","cms":"self_hosted","observability":"self_hosted"}},"categories":["auth","cms","email","hosting","observability"],"null_semantics":"null on any agent_features field means unverified — not the same as false (confirmed unsupported). Agents should surface this distinction.","endpoints":{"GET /api/json/tools":"List all tools. Supports filtering: ?category=auth&language=python&open_source=true&agent_sdk=true. Returns warnings when feature keys don't match the category.","GET /api/json/tools/:slug":"Get a single tool with feature_labels and available comparisons","GET /api/json/tools/compare?tools=auth0,clerk":"Compare 2+ tools. Returns both tool profiles, editorial comparison if available, and feature_definitions for the category. Order doesn't matter.","GET /api/json/categories":"List all categories","GET /api/json/categories/:slug":"Get a category with all tools embedded","GET /api/json/comparisons":"List all editorial comparisons","GET /api/json/comparisons/:slug":"Get a comparison with both tools embedded","GET /api/json/schema":"This endpoint — API schema and metadata"},"skills":{"repo":"https://github.com/agenticstack-sh/agenticstack-skills","description":"Agent-agnostic skills that wrap this API, compatible with any AI assistant: /recommend-tool, /compare-tools, /search-tools, /explore-category, /setup-tool, /add-tool"}}