MadeWithStack
DirectoryBlogAPISubmit
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 productDocsMost wantedTermsPrivacyTwitterAboutBlogAdvertiseContact
KarmaLinks

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
Public API

Programmatic access to the Agent Directory and catalog.

Discover valid tools, submit products, attach structured Agent Directory claims, check review state, and browse the approved catalog through a versioned JSON API or native MCP tools. No API keys. No accounts. Manual review stays in the loop.

Recommended workflow

Step 1

Discover valid tools

Fetch the current tool inventory before submitting so you can use valid tool slugs instead of guessing category names.

Step 2

Submit the product

Send a JSON payload to the submit endpoint. API submissions always enter the manual review queue as free-tier pending listings.

Step 3

Poll review status

Use the product slug and submitter email to check whether a pending listing has been approved yet.

Step 4

Browse and verify the catalog

Use products and search endpoints to inspect approved listings, tool coverage, and agent-native inventory already in the directory.

Step 5

Recommend or compare listings

Call recommend and compare when an agent needs ranked candidates for a task or a structured side-by-side evaluation of two approved products.

Step 6

Subscribe to catalog changes

Poll the changelog feed for approvals, verification updates, and published issue snapshots instead of crawling the site for changes.

Start here

Read docsMCP endpointOpenAPI specFetch toolsAgent manifestMCP reference

Live demo

Watch an agent submit a product

This walkthrough shows the two-step workflow: discover valid tools, then submit a product for review.

agent-terminal
$▌

Request and response shapes

The landing page should be enough to evaluate the contract before you open the docs. The full field-by-field reference still lives under /docs.

GET/api/v1/tools

Discover valid tool slugs

Pull the current tool inventory before you submit or build filtered catalog views.

Key fields

no required input
Example request
curl https://www.madewithstack.com/api/v1/tools
Success
{
  "tools": [
    {
      "slug": "claude",
      "name": "Claude",
      "category": "models-providers",
      "description": "Model provider for conversational and agent workflows."
    },
    {
      "slug": "supabase",
      "name": "Supabase",
      "category": "backend-db",
      "description": "Postgres backend, auth, and storage platform."
    }
  ]
}
POST/api/v1/submit

Submit a product

Programmatic intake for new listings and optional Agent Directory claims.

Key fields

nameurldescriptionemail
Example request
curl -X POST https://www.madewithstack.com/api/v1/submit \
  -H "Content-Type: application/json" \
  -d '{
    "name": "AgentFlow",
    "url": "https://agentflow.dev",
    "description": "Workflow automation for multi-agent pipelines.",
    "email": "founder@agentflow.dev",
    "tool_slugs": ["langchain", "claude"],
    "qualification_type": "agent_built",
    "agent_use_case": "operations",
    "qualification_statement": "Agents handled substantial parts of the workflow and build process.",
    "workflow_summary": "The product routes operational work through an agentic workflow.",
    "agent_tools_used": ["Cursor", "Claude"],
    "supporting_links": ["https://agentflow.dev/docs"],
    "founder_name": "Ada Smith",
    "audience_tags": ["b2b", "for-developers"]
  }'
Submission created
{
  "success": true,
  "slug": "agentflow",
  "receiptSent": true,
  "badge_opt_in": false,
  "review_status_url": "https://www.madewithstack.com/api/v1/products/agentflow?email=founder%40agentflow.dev",
  "owner_claim": {
    "email": "founder@agentflow.dev",
    "status": "unverified",
    "verification_email_sent": true
  },
  "claim_status": "submitted",
  "claim_eligibility": "agent_directory",
  "next_action_code": "UNDER_EDITORIAL_REVIEW"
}
GET/api/v1/products

Browse approved catalog data

Filtered product inventory for discovery, integrations, and mirrored directories.

Key fields

Example request
curl "https://www.madewithstack.com/api/v1/products?limit=10&sort=newest&is_agent=true"
Success
{
  "products": [
    {
      "id": "prod_123",
      "name": "AgentFlow",
      "slug": "agentflow",
      "description": "Workflow automation for multi-agent pipelines.",
      "url": "https://agentflow.dev",
      "favicon_url": "https://agentflow.dev/icon.png",
      "founder_name": "Ada Smith",
      "founder_twitter": "ada_smith",
      "founder_profile_slug": "ada-smith",
      "launch_date": null,
      "status": "approved",
      "created_at": "2026-03-10T08:00:00.000Z",
      "approved_at": "2026-03-11T09:15:00.000Z",
      "view_count": 42,
      "is_featured": false,
      "featured_rank": 100,
      "screenshot_url": "https://agentflow.dev/shot.png",
      "submission_tier": "free",
      "review_priority": 100,
      "audience_tags": [
        "b2b",
        "for-developers"
      ],
      "badge_verified": false,
      "is_agent_product": true,
      "qualification_type": "agent_native",
      "agent_use_case": "operations",
      "qualification_statement": "Agent-led workflow is central to the product.",
      "workflow_summary": "The product uses an agentic workflow as the main user experience.",
      "agent_tools_used": [
        "Claude",
        "LangChain"
      ],
      "supporting_links": [
        "https://agentflow.dev/docs"
      ],
      "claim_review_status": "verified",
      "claim_reviewed_at": "2026-03-11T09:20:00.000Z",
      "claim_review_notes": null,
      "claim_verified_by": "editor@madewithstack.com",
      "claim_evidence_summary": "Reviewed against public docs and product workflow pages.",
      "tools": [
        {
          "id": "tool_1",
          "name": "Claude",
          "slug": "claude",
          "description": "Model provider",
          "icon_url": null,
          "category": "models-providers",
          "product_count": 12,
          "created_at": "2026-03-01T00:00:00.000Z"
        }
      ]
    }
  ],
  "total": 1,
  "offset": 0,
  "limit": 24,
  "hasMore": false
}
GET/api/v1/products/:slug

Check review status

Pending review polling for the original submitter or public approved listing detail by slug.

Key fields

Example request
curl "https://www.madewithstack.com/api/v1/products/agentflow?email=founder@agentflow.dev"
Pending submission
{
  "product": {
    "slug": "agentflow",
    "name": "AgentFlow",
    "status": "pending",
    "created_at": "2026-03-11T09:15:00.000Z"
  },
  "badge": {
    "available": "boolean",
    "image_url": "string",
    "verification": {
      "status": "\"pending_approval\" | \"awaiting_verification\" | \"verified\" | \"paid_dofollow\"",
      "is_dofollow": "boolean",
      "requires_badge_install": "boolean",
      "requires_manual_review": "boolean",
      "detail": "string"
    }
  },
  "claim_status": "submitted",
  "claim_eligibility": "agent_directory",
  "next_action_code": "UNDER_EDITORIAL_REVIEW"
}

Endpoint summary

The detailed request and response contracts live under /docs.

Open docs
GET/api/v1/tools

List every currently known tool slug, name, category, and description.

No request parameters.

GET/api/v1/products

Browse approved listings with pagination, sorting, and composable filters.

Query: offset, limit, sort, category, audience

GET/api/v1/products/:slug

Fetch an approved listing by slug or check the status of a pending submission with email verification.

Query: email

GET/api/v1/search

Search tools and approved products by keyword and receive absolute URLs.

Query: q

GET/api/v1/recommend

Return ranked approved products for a task and optional stack combination.

Query: task, stack, limit

GET/api/v1/compare

Return a structured side-by-side comparison of exactly two approved products.

Query: slugs

GET/api/v1/changelog

Feed of approvals, claim-review updates, and published weekly catalog issues.

Query: since, limit

POST/api/v1/submit

Submit a product programmatically into the manual review queue.

Body: name, url, description, email, tool_slugs

GET/api/v1/openapi

Return the OpenAPI 3.1 specification for the public API.

No request parameters.

GET/api/v1/schema

Return the machine-readable specification for the public API.

No request parameters.

Shared error model

VALIDATION_ERROR

Missing, malformed, or unsupported request data.

DUPLICATE_DOMAIN

A product with the same normalized domain already exists.

INVALID_TOOL_SLUGS

One or more submitted tool slugs are not present in the directory.

PUBLIC_API_TEMPORARILY_RESTRICTED

Anonymous public API access is temporarily restricted while abuse controls are active.

RATE_LIMITED

The request exceeded the public API rate limit window.

INTERNAL_ERROR

Unexpected server error. Retry later.

Rate limits

  • Per IP: 1 submission per hour. Applies to POST /api/v1/submit only.
  • Per email: 3 submissions per 24 hours. Applies to POST /api/v1/submit only.
  • Retry-After: Returned on 429 responses. The value is the wait time in seconds before retrying.

Need the full contract?

Use the docs hub for request fields, response shapes, workflow guides, and the root machine-readable manifests.

Open docsView llms-full.txt