MadeWithStack
Agent DirectoryCatalogDevelopersDocsSubmit
Submit

Reviewed directory

MadeWithStack© 2026 MadeWithStack

Professional directory of reviewed agent-built and agent-native products, with programmatic submission, manual review, and public trust signals grounded in real evidence.

Submit a productDocsTermsPrivacyTwitterAboutBlogAdvertiseContact

As listed on

Featured on EarlyHuntFeatured AI Agents on AI Agents DirectoryListed on Turbo0MadeWithStack - Featured on Startup FameGood AI ToolsFeatured on Findly.toolsFazier badgeBest Digital Marketing Companies - OnToplist.com
Featured on EarlyHuntFeatured AI Agents on AI Agents DirectoryListed on Turbo0MadeWithStack - Featured on Startup FameGood AI ToolsFeatured on Findly.toolsFazier badgeBest Digital Marketing Companies - OnToplist.com
Documentationagents

GET /api/v1/recommend

Reference for task and stack-based product recommendations from the approved MadeWithStack catalog.

Docs

Overview

Agent and API DocumentationGetting started

Workflows

Submit a productCheck review status

API Reference

GET /api/v1/toolsGET /api/v1/productsGET /api/v1/products/:slugGET /api/v1/searchPOST /api/v1/submitGET /api/v1/openapiGET /api/v1/recommendGET /api/v1/schemaGET /api/v1/compareGET /api/v1/changelog

Reference

Error codes and rate limitsMCP Server

Use this endpoint when an agent needs ranked directory candidates instead of a raw catalog page.

Input model

Provide at least one of:

  • task
  • stack

You can also set limit to constrain the number of returned recommendations.

Output model

The response includes normalized query data, resolved tool matches, and ranked recommendations with machine-readable reasoning fields so downstream agents can explain why a product was suggested.

GET/api/v1/recommend

Use this endpoint when an agent needs shortlist-style recommendations instead of a generic catalog page.

Auth

No API keys. No account auth. Public JSON endpoints only.

Review model

Read-only endpoint over approved catalog and trust metadata.

Cache

Dynamic server response.

Example request

curl "https://www.madewithstack.com/api/v1/recommend?task=customer-support&stack=nextjs,supabase"

Query parameters

FieldTypeRequiredDescription
taskfree-text task or canonical use case such as "support", "research", or "customer-support"NoTask intent to match against agent use case and public workflow metadata.
stackcomma-separated tool slugs or names such as "nextjs,supabase"NoPreferred stack terms to resolve against known directory tools.
limitnumberNoMaximum number of recommendations to return. Defaults to 10 and caps at 24.

Responses

200

Success

Returns query normalization metadata plus ranked products and explicit match reasons.

{
  "query": {
    "task": "string | null",
    "normalized_task": "\"support\" | \"research\" | \"operations\" | \"sales\" | \"voice\" | \"browser_automation\" | null",
    "stack": [
      "string"
    ],
    "resolved_tools": [
      {
        "slug": "string",
        "name": "string",
        "category": "string"
      }
    ],
    "unresolved_stack_terms": [
      "string"
    ]
  },
  "recommendations": [
    {
      "rank": "number",
      "score": "number",
      "product": {
        "id": "string",
        "name": "string",
        "slug": "string",
        "description": "string",
        "url": "string",
        "favicon_url": "string | null",
        "founder_name": "string | null",
        "founder_twitter": "string | null",
        "founder_profile_slug": "string | null",
        "launch_date": "string | null",
        "status": "\"approved\"",
        "created_at": "string",
        "approved_at": "string | null",
        "view_count": "number",
        "is_featured": "boolean",
        "featured_rank": "number",
        "screenshot_url": "string | null",
        "submission_tier": "\"free\" | \"paid_fast_track\"",
        "review_priority": "number",
        "audience_tags": [
          "\"for-developers\" | \"for-founders\" | \"b2b\" | \"consumer\""
        ],
        "badge_verified": "boolean",
        "is_agent_product": "boolean",
        "qualification_type": "\"agent_native\" | \"agent_built\" | \"agentic_workflow\" | null",
        "agent_use_case": "\"support\" | \"research\" | \"operations\" | \"sales\" | \"voice\" | \"browser_automation\" | null",
        "qualification_statement": "string | null",
        "workflow_summary": "string | null",
        "agent_tools_used": "string[]",
        "supporting_links": "string[]",
        "claim_review_status": "\"submitted\" | \"verified\" | \"not_verified\" | \"needs_revision\" | null",
        "claim_reviewed_at": "string | null",
        "claim_review_notes": "string | null",
        "claim_verified_by": "string | null",
        "claim_evidence_summary": "string | null",
        "tools": [
          {
            "id": "string",
            "name": "string",
            "slug": "string",
            "description": "string | null",
            "icon_url": "string | null",
            "category": "string",
            "product_count": "number",
            "created_at": "string"
          }
        ]
      },
      "match": {
        "task_match": "\"exact\" | \"text\" | \"none\"",
        "matched_tool_slugs": [
          "string"
        ],
        "matched_tool_count": "number",
        "reasons": [
          "string"
        ]
      }
    }
  ]
}

Error codes

CodeStatusMeaning
VALIDATION_ERROR400Missing, malformed, or unsupported request data.
INTERNAL_ERROR500Unexpected server error. Retry later.

Operational notes

  • Call this before choosing an agent product for a workflow such as support, research, or sales, optionally constrained by a preferred stack.
  • Provide at least one of task or stack.
  • Task aliases such as customer-support resolve to the canonical use case when possible.
  • Recommendations are built from approved public listings only.

Quick links

Getting startedAPI schemallms.txtllms-full.txt

Related pages

GET /api/v1/toolsGET /api/v1/productsGET /api/v1/products/:slugGET /api/v1/searchPOST /api/v1/submitGET /api/v1/openapi

Why this exists

The public API is agent-first, versioned, and manually reviewed. These docs separate the acquisition path from the exact operational contract.