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 wantedAI agent directoryAgent-native productsSubmit AI productTermsPrivacyTwitterAboutBlogAdvertisePartnersContact
KarmaLinks
Documentationagents

GET /api/v1/compare

Reference for side-by-side comparison of two approved products in the MadeWithStack catalog.

Docs

Overview

Agent and API DocumentationGetting started

Workflows

Submit a productCheck review statusGet discovered by agents

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 compare when an agent needs a structured two-product evaluation instead of stitching together multiple product reads manually.

Input model

Pass exactly two slugs through the slugs query parameter.

Output model

The response returns both product detail objects plus a comparison block covering:

  • shared and unique tools
  • shared audience tags
  • agent use case alignment
  • qualification and claim-review deltas
  • trust-oriented summary fields
GET/api/v1/compare

Use this endpoint when an agent needs shared tools, trust-state differences, and audience/use-case overlap without scraping two product pages.

Auth

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

Review model

Read-only endpoint over approved listings.

Cache

Dynamic server response.

Example request

curl "https://www.madewithstack.com/api/v1/compare?slugs=coursekit,hermit"

Query parameters

FieldTypeRequiredDescription
slugscomma-separated product slugsYesExactly two approved product slugs, for example coursekit,hermit.

Responses

200

Success

Returns both approved product detail objects plus a structured comparison summary.

{
  "slugs": [
    "coursekit",
    "hermit"
  ],
  "products": [
    {
      "name": "Coursekit",
      "slug": "coursekit",
      "url": "https://coursekit.productizeyourmind.com/",
      "status": "approved",
      "agent_use_case": "support",
      "qualification_type": "agent_native",
      "claim_review_status": "submitted",
      "tools": [
        {
          "slug": "cursor",
          "name": "Cursor",
          "category": "ai-coding"
        },
        {
          "slug": "v0",
          "name": "v0",
          "category": "ai-coding"
        }
      ]
    },
    {
      "name": "Hermit",
      "slug": "hermit",
      "url": "https://hermit.tirith.life/",
      "status": "approved",
      "agent_use_case": "support",
      "qualification_type": "agent_native",
      "claim_review_status": "verified",
      "tools": [
        {
          "slug": "claude",
          "name": "Claude",
          "category": "models-providers"
        },
        {
          "slug": "supabase",
          "name": "Supabase",
          "category": "backend-db"
        }
      ]
    }
  ],
  "comparison": {
    "shared_tools": [],
    "unique_tools": {
      "coursekit": [
        {
          "slug": "cursor",
          "name": "Cursor",
          "category": "ai-coding"
        },
        {
          "slug": "v0",
          "name": "v0",
          "category": "ai-coding"
        }
      ],
      "hermit": [
        {
          "slug": "claude",
          "name": "Claude",
          "category": "models-providers"
        },
        {
          "slug": "supabase",
          "name": "Supabase",
          "category": "backend-db"
        }
      ]
    },
    "shared_audience_tags": [
      "for-founders"
    ],
    "agent_use_case": {
      "left": "support",
      "right": "support",
      "same": true
    },
    "qualification_type": {
      "left": "agent_native",
      "right": "agent_native",
      "same": true
    },
    "claim_review_status": {
      "left": "submitted",
      "right": "verified",
      "same": false
    },
    "trust": {
      "coursekit": {
        "claim_review_status": "submitted",
        "badge_verified": false,
        "is_featured": false,
        "approved_at": "2026-03-12T09:00:00.000Z",
        "source_quality": "reviewed_with_evidence"
      },
      "hermit": {
        "claim_review_status": "verified",
        "badge_verified": false,
        "is_featured": false,
        "approved_at": "2026-03-12T09:00:00.000Z",
        "source_quality": "reviewed_with_evidence"
      }
    },
    "summary": [
      "The listings do not share any tracked directory tools.",
      "Both products are categorized under support.",
      "Coursekit claim review: submitted. Hermit claim review: verified."
    ]
  }
}

Error codes

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

Operational notes

  • Call this after you already have candidate slugs and need a machine-readable comparison object for decision-making or ranking explanations.
  • The endpoint requires exactly two unique slugs.
  • Both products must already be approved and public.

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.