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 + developers

Submit a product

End-to-end workflow for programmatic submission into the MadeWithStack review queue.

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/schema

Reference

Error codes and rate limits

This workflow is the canonical path for agents submitting products without using the browser form.

Before you send the request

  • Confirm the URL is the canonical product homepage.
  • Fetch valid tool slugs from GET /api/v1/tools.
  • Prepare a short description that clearly states what the product does.
  • Decide whether you need any custom_tools in addition to directory tools.

What happens after a successful submit

A 201 response means the submission was accepted into the pending queue. It does not mean the product is live in the public directory yet.

Main failure modes

  • VALIDATION_ERROR: required fields are missing or invalid
  • INVALID_TOOL_SLUGS: at least one slug does not exist
  • DUPLICATE_DOMAIN: the domain already exists in the directory or queue
  • RATE_LIMITED: you exceeded the public write limits

What not to do

  • Do not submit a docs URL, asset URL, or changelog URL as the product homepage.
  • Do not rely on tool_ids unless you already have valid UUIDs.
  • Do not assume a successful submit created a public listing.
GET/api/v1/tools

Use this endpoint as the source of truth for valid tool slugs before calling the submit endpoint.

Auth

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

Review model

Read-only endpoint. No review-state implications.

Cache

5 minute revalidation.

Example request

curl https://www.madewithstack.com/api/v1/tools

Responses

200

Success

Returns the ordered tool inventory used by the submission flow.

{
  "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."
    }
  ]
}

Error codes

CodeStatusMeaning
INTERNAL_ERROR500Unexpected server error. Retry later.

Operational notes

  • Call this before building a submission payload or when refreshing a local tool cache.
  • Use tool_slugs from this endpoint instead of hardcoding UUIDs.
  • Responses are cached for 5 minutes.
POST/api/v1/submit

This is the agent-facing write endpoint for creating pending submissions without using the browser form.

Auth

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

Review model

Submit is write-only into the manual review queue. Listings do not publish instantly.

Cache

No caching. Write endpoint with separate IP and email rate-limit buckets.

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"]
  }'

Request body

FieldTypeRequiredDescription
namestringYesProduct name.
urlabsolute http/https URLYesCanonical product homepage URL.
descriptionstringYesShort description. Maximum 240 characters.
emailstringYesSubmitter email used for review updates and pending-status checks.
tool_slugsstring[]NoPreferred tool identifiers. Discover valid values from GET /api/v1/tools.
tool_idsUUID[]NoAlternative to tool_slugs. Every value must be a valid UUID string.
custom_toolsstring[]NoCustom tool names. Maximum 5 entries, each 40 characters or less.
founder_namestringNoFounder or team name.
founder_twitterstringNoX/Twitter handle.
favicon_urlabsolute http/https URLNoManual logo override.
screenshot_urlabsolute http/https URLNoManual screenshot override.
audience_tags("for-developers" | "for-founders" | "b2b" | "consumer")[]NoOptional audience tags.
qualification_type"agent_native" | "agent_built" | "agentic_workflow"NoOptional Agent Directory qualification type. If provided, the related claim fields become required.
agent_use_case"support" | "research" | "operations" | "sales" | "voice" | "browser_automation"NoPrimary use case for Agent Directory review.
qualification_statementstringNoShort public justification for Agent Directory eligibility.
workflow_summarystringNoHow the agent or agentic workflow is central to the product.
agent_tools_usedstring[]NoNamed agent-building tools used in the product or build process.
supporting_linksstring[]NoSupporting public links reviewers can inspect for the claim.
referral_codestringNoOptional referral code from an existing listing.

Responses

201

Submission created

The submission was accepted into pending review. The product is not public yet.

{
  "success": true,
  "slug": "agentflow",
  "receiptSent": true,
  "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"
}

Error codes

CodeStatusMeaning
VALIDATION_ERROR400Missing, malformed, or unsupported request data.
INVALID_TOOL_SLUGS400One or more submitted tool slugs are not present in the directory.
DUPLICATE_DOMAIN409A product with the same normalized domain already exists.
RATE_LIMITED429The request exceeded the public API rate limit window.
INTERNAL_ERROR500Unexpected server error. Retry later.

Operational notes

  • Call this when you have a valid product homepage, a short description, a submitter email, and stack metadata ready for review.
  • At least one of tool_slugs, tool_ids, or custom_tools must be non-empty.
  • If qualification_type is provided, agent_use_case, qualification_statement, workflow_summary, agent_tools_used, and supporting_links are required.
  • tool_slugs is preferred over tool_ids.
  • API submissions are free-tier only. paid_fast_track is not exposed through the API.
  • Listings require manual approval before they appear in the public catalog.
  • Use review_status_url from the response to poll review, claim state, and badge availability.
  • Recommended polling interval is 300 seconds, with longer backoff after repeated unchanged responses.
  • 429 responses include a Retry-After header in seconds.

Quick links

Getting startedAPI schemallms.txtllms-full.txt

Related pages

Getting startedCheck review statusGET /api/v1/toolsPOST /api/v1/submit

Why this exists

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