{
  "name": "Paddle",
  "slug": "paddle",
  "website_url": "https://www.paddle.com",
  "vendor_description": "\"As the complete Merchant of Record, Paddle helps digital product companies to operate and grow, automatically.\"",
  "categories": [
    "billing"
  ],
  "summary": "Paddle is a Merchant of Record platform built for SaaS and digital product companies, handling subscription billing, global tax calculation and remittance, failed payment recovery, and B2B invoicing across 300+ markets. Pricing is usage-based, charged as a percentage of billing volume, with published rates and self-serve signup available. The REST API supports webhooks and official SDKs for Node.js, Python, Go, PHP, and JavaScript, and an MCP server is available. Paddle holds SOC 2 Type 2 and PCI DSS certifications and is GDPR compliant.",
  "capabilities": {
    "supported_actions": [
      "create_subscription",
      "update_subscription",
      "cancel_subscription",
      "pause_subscription",
      "resume_subscription",
      "proration",
      "usage_based_billing",
      "flat_rate_pricing",
      "per_seat_pricing",
      "tiered_pricing",
      "multi_product_subscriptions",
      "invoicing",
      "dunning",
      "failed_payment_recovery",
      "tax_calculation",
      "tax_remittance",
      "customer_portal",
      "hosted_checkout",
      "multicurrency",
      "discounts_and_coupons",
      "trials",
      "webhooks",
      "pricing_preview",
      "adjustments_and_credits",
      "revenue_reporting",
      "fraud_prevention",
      "chargeback_protection",
      "payment_method_management",
      "subscription_metrics",
      "webhook_simulation",
      "api_key_management",
      "client_side_tokens"
    ],
    "supported_regions": [
      "Global (300+ markets)",
      "USA",
      "EU",
      "UK",
      "Australia",
      "Canada",
      "Brazil",
      "India",
      "Japan",
      "South Korea",
      "Singapore",
      "Hong Kong",
      "New Zealand",
      "Switzerland",
      "Poland",
      "Sweden",
      "Mexico",
      "South Africa",
      "Czech Republic",
      "Hungary",
      "Denmark",
      "Norway",
      "Taiwan",
      "Argentina",
      "China"
    ],
    "supported_languages": [],
    "input_types": [
      "subscription objects",
      "transaction events",
      "customer records",
      "product catalog",
      "price configurations",
      "discount definitions",
      "adjustment requests",
      "invoice line items",
      "usage events",
      "webhook notification settings"
    ],
    "output_types": [
      "JSON API responses",
      "hosted checkout (Paddle.js)",
      "customer portal",
      "invoices (PDF/B2B)",
      "webhook events",
      "revenue reports",
      "subscription metrics",
      "adjustments and credit notes",
      "pricing previews"
    ],
    "webhooks_supported": true,
    "sandbox_available": true,
    "sdk_languages": [
      "Node.js",
      "Python",
      "Go",
      "PHP",
      "JavaScript (client-side)"
    ],
    "mcp_server_available": true
  },
  "integration": {
    "api_style": "rest",
    "base_url": "https://api.paddle.com",
    "api_version": "1",
    "versioning_scheme": "header",
    "stability": "ga",
    "deprecation_policy_url": "https://developer.paddle.com/api-reference/about/versioning",
    "auth_methods": [
      "api_key"
    ],
    "auth_docs_url": "https://developer.paddle.com/api-reference/about/authentication",
    "idempotency_supported": false,
    "error_format": "vendor-specific",
    "webhook_signing": "hmac_sha256",
    "webhook_events_url": "https://developer.paddle.com/api-reference/event-types/overview",
    "rate_limit_requests": 240,
    "rate_limit_window": "minute",
    "sdk_packages": [
      {
        "package": "@paddle/paddle-node-sdk",
        "language": "Node.js",
        "official": true,
        "repo_url": "https://github.com/PaddleHQ/paddle-node-sdk"
      },
      {
        "package": "paddle-python-sdk",
        "language": "Python",
        "official": true,
        "repo_url": "https://github.com/PaddleHQ/paddle-python-sdk"
      },
      {
        "package": "github.com/PaddleHQ/paddle-go-sdk/v5",
        "language": "Go",
        "official": true,
        "repo_url": "https://github.com/PaddleHQ/paddle-go-sdk"
      },
      {
        "package": "paddlehq/paddle-php-sdk",
        "language": "PHP",
        "official": true,
        "repo_url": "https://github.com/PaddleHQ/paddle-php-sdk"
      },
      {
        "package": "@paddle/paddle-js",
        "language": "JavaScript (client-side)",
        "official": true,
        "repo_url": "https://github.com/PaddleHQ/paddle-js"
      }
    ],
    "mcp_url": "https://mcp.paddle.com/mcp",
    "quickstart_url": "https://developer.paddle.com/get-started/quickstart"
  },
  "pricing": {
    "pricing_model": "usage_based",
    "has_published_pricing": true,
    "starting_price_usd": null,
    "price_basis": "% of billing volume",
    "free_tier_available": false,
    "free_tier_limit": null,
    "free_tier_details": null,
    "minimum_commitment": null,
    "self_serve_signup": true,
    "requires_sales_call": false,
    "requires_verification": true,
    "enterprise_plan_available": true,
    "price_points": [
      {
        "plan": "Pay-as-you-go",
        "item": "Merchant-of-record fee (all-inclusive: payments, tax, billing, fraud)",
        "amount_usd": "0.5000",
        "amount_percent": "5.0000",
        "per": "transaction",
        "currency": "USD",
        "source_url": "https://www.paddle.com/pricing"
      },
      {
        "plan": "Enterprise",
        "item": "Custom pricing for large-scale businesses",
        "amount_usd": null,
        "amount_percent": null,
        "per": null,
        "currency": "USD",
        "source_url": "https://www.paddle.com/pricing"
      }
    ]
  },
  "compliance": {
    "soc2": "type_2",
    "hipaa": false,
    "gdpr": true,
    "iso_27001": false,
    "pci_dss": true,
    "sla_published": false,
    "sla_url": null,
    "data_retention_policy_url": "https://www.paddle.com/legal/privacy",
    "documented_rate_limits": "240 requests per minute per IP address (standard); 1,000 requests per minute per IP for pricing preview endpoints; subscription immediate charges capped at 20 per hour and 100 per 24-hour period per subscription",
    "known_restrictions": [
      "Paddle is the Merchant of Record - sellers receive payouts, not direct card payments",
      "Products under $10 or requiring invoicing require contacting sales for custom pricing",
      "No lock-in periods but sellers cannot process payments independently through Paddle",
      "Payout currencies limited to USD, EUR, GBP, AUD, CAD",
      "Invoice creation limited to USD, EUR, GBP",
      "Platform not available in ~28 sanctioned/restricted countries (Russia, Iran, North Korea, Cuba, Belarus, etc.)",
      "5% + 50¢ per transaction fee covers all features - no modular pricing"
    ]
  },
  "developer": {
    "docs_url": "https://developer.paddle.com/",
    "api_reference_url": "https://developer.paddle.com/api-reference/overview",
    "openapi_spec_url": null,
    "postman_collection_url": null,
    "changelog_url": null,
    "status_page_url": "https://status.paddle.com",
    "llms_txt_url": null,
    "markdown_docs_url": null,
    "rendering": "static"
  },
  "adoption": {
    "launched_at": "2012-01-01",
    "ga_date": "2023-08-09",
    "github_stars": null,
    "github_stars_at": null,
    "notable_customers": [
      "Fortinet",
      "MacPaw",
      "Laravel",
      "Adaptavist",
      "GeoGuessr",
      "n8n.io",
      "Tailwind Labs",
      "removebg"
    ]
  },
  "scores": {
    "agent_friendliness": 60,
    "pricing_transparency": 60,
    "setup_speed": 75,
    "docs_quality": 35,
    "procurement_friction": 75,
    "trust_readiness": 50,
    "best_for": [
      "Regulated or enterprise workloads - compliance attestations and an enterprise plan",
      "AI agents and automation - an agent-ready surface (MCP / llms.txt)",
      "Teams needing broad API coverage out of the box"
    ],
    "avoid_if": [
      "You want to try it free before paying"
    ]
  },
  "sources": [
    {
      "field": "supported_regions",
      "url": "https://www.paddle.com",
      "excerpt": "managing payments, tax, compliance, and billing across 300+ markets",
      "confidence": "high"
    },
    {
      "field": "categories",
      "url": "https://www.paddle.com/about",
      "excerpt": "As the complete Merchant of Record, Paddle helps digital product companies to operate and grow, automatically.",
      "confidence": "high"
    },
    {
      "field": "pricing_model",
      "url": "https://www.paddle.com/pricing",
      "excerpt": "5% + 50¢ per Checkout transaction",
      "confidence": "high"
    },
    {
      "field": "has_published_pricing",
      "url": "https://www.paddle.com/pricing",
      "excerpt": "5% + 50¢ per Checkout transaction",
      "confidence": "high"
    },
    {
      "field": "enterprise_plan_available",
      "url": "https://www.paddle.com/pricing",
      "excerpt": "Custom pricing to fit your business model and products for rapidly scaling and established large-scale businesses",
      "confidence": "high"
    },
    {
      "field": "requires_sales_call",
      "url": "https://www.paddle.com/pricing",
      "excerpt": "If you're selling products under $10 or require invoicing book a demo for custom pricing",
      "confidence": "high"
    },
    {
      "field": "soc2",
      "url": "https://www.paddle.com/blog/paddle-achieves-soc-2-type-2-audit",
      "excerpt": "we successfully completed the SOC 2 Type 2 audit for 2023, following the SOC 2 Type 1 audit in 2021.",
      "confidence": "high"
    },
    {
      "field": "gdpr",
      "url": "https://www.paddle.com/legal/gdpr",
      "excerpt": "Paddle is fully compliant and always up to date with GDPR, CCPA, Swiss data protection law and more",
      "confidence": "high"
    },
    {
      "field": "hipaa",
      "url": "https://www.paddle.com/legal/soc-2-compliance",
      "excerpt": "successfully completed Service Organization Control (SOC) 2 Type 2 audit for 2023, following the SOC 2 Type 1 audit in 2021",
      "confidence": "high"
    },
    {
      "field": "iso_27001",
      "url": "https://trust.paddle.com/",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "sla_published",
      "url": "https://paddlestatus.com/",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "documented_rate_limits",
      "url": "https://developer.paddle.com/api-reference/about/rate-limiting",
      "excerpt": "Price and transaction preview operations now support up to 1,000 requests per minute per IP address.",
      "confidence": "high"
    },
    {
      "field": "sdk_languages",
      "url": "https://developer.paddle.com/resources/overview",
      "excerpt": "Node.js - Latest v3.8.0, Python - Latest v1.14.1, Go - Latest v5.2.0, PHP - Latest v1.17.1, JavaScript - Paddle.js wrapper (v1.6.4)",
      "confidence": "high"
    },
    {
      "field": "mcp_server_available",
      "url": "https://developer.paddle.com/changelog/2026/docs-mcp/",
      "excerpt": "Paddle released a Paddle docs MCP server on March 10, 2026, a hosted Model Context Protocol (MCP) server that gives your AI assistant up-to-date knowledge of the entire Paddle platform",
      "confidence": "high"
    },
    {
      "field": "webhooks_supported",
      "url": "https://developer.paddle.com/webhooks/overview",
      "excerpt": "Webhooks let you get notified for when events happen in Paddle. Supports customer.created, transaction.completed, subscription.created, subscription.updated across catalog, customer, billing, and platform event categories",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://www.paddle.com/platform",
      "excerpt": "Handles proration, credits, multiple user seats, and one-time purchases. Support for flat-rate, per-seat, and usage-based pricing models. Mid-cycle changes including upgrades, downgrades, and pauses",
      "confidence": "high"
    },
    {
      "field": "vendor_description",
      "url": "https://www.paddle.com/about",
      "excerpt": "As the complete Merchant of Record, Paddle helps digital product companies to operate and grow, automatically.",
      "confidence": "high"
    },
    {
      "field": "categories",
      "url": "https://www.paddle.com/platform/tax-and-compliance",
      "excerpt": "Paddle automatically calculates, collecting, and remitting sales tax and VAT in over 100 jurisdictions",
      "confidence": "high"
    },
    {
      "field": "pricing_model",
      "url": "https://www.paddle.com/pricing",
      "excerpt": "No migration fees, monthly fees, or hidden extras",
      "confidence": "high"
    },
    {
      "field": "free_tier_available",
      "url": "https://www.paddle.com/pricing",
      "excerpt": "No migration fees, monthly fees, or hidden extras",
      "confidence": "high"
    },
    {
      "field": "self_serve_signup",
      "url": "https://www.paddle.com/pricing",
      "excerpt": "5% + 50¢ per Checkout transaction",
      "confidence": "high"
    },
    {
      "field": "soc2",
      "url": "https://www.paddle.com/legal/soc-2-compliance",
      "excerpt": "successfully completed Service Organization Control (SOC) 2 Type 2 audit for 2023, following the SOC 2 Type 1 audit in 2021",
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://www.paddle.com/legal/soc-2-compliance",
      "excerpt": "Paddle is PCI DSS SAQ A Compliant, meaning that they do not directly store card information and are PCI Compliant for web transactions only. Additionally, Paddle's current PCI DSS v4.0.1 responsibility matrix was last updated in 2025",
      "confidence": "high"
    },
    {
      "field": "hipaa",
      "url": "https://www.paddle.com/legal/gdpr",
      "excerpt": "Paddle is fully compliant and always up to date with GDPR, CCPA, Swiss data protection law",
      "confidence": "high"
    },
    {
      "field": "iso_27001",
      "url": "https://www.paddle.com/legal/soc-2-compliance",
      "excerpt": "successfully completed Service Organization Control (SOC) 2 Type 2 audit for 2023",
      "confidence": "high"
    },
    {
      "field": "sla_published",
      "url": "https://www.paddle.com/legal/terms",
      "excerpt": "Paddle does not make, and has not made, any representation or warranty that the Services are accurate, complete, reliable, current, error-free, or virus-free or that the operation of the Services will be uninterrupted.",
      "confidence": "high"
    },
    {
      "field": "documented_rate_limits",
      "url": "https://developer.paddle.com/api-reference/about/rate-limiting",
      "excerpt": "An IP address can make up to 240 requests per minute. If exceeded, subsequent requests return a too_many_requests error (429).",
      "confidence": "high"
    },
    {
      "field": "documented_rate_limits",
      "url": "https://developer.paddle.com/api-reference/about/rate-limiting",
      "excerpt": "An account can make up to 20 chargeable updates to a subscription per hour, with a maximum of 100 per 24-hour period.",
      "confidence": "high"
    },
    {
      "field": "mcp_server_available",
      "url": "https://developer.paddle.com/build/tools/ai/mcp",
      "excerpt": "The Paddle MCP server is an official tool by Paddle, a billing and subscription platform. It's hosted remotely by Paddle as part of their AI tooling suite.",
      "confidence": "high"
    },
    {
      "field": "sandbox_available",
      "url": "https://developer.paddle.com/build/tools/ai/mcp",
      "excerpt": "Separate sandbox (sandbox-mcp.paddle.com) and live (mcp.paddle.com) environments",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://developer.paddle.com/api-reference/overview",
      "excerpt": "The API organizes functionality into six domains: Catalog (Products, prices, discounts), Customers, Billing (Transactions, subscriptions, adjustments, pricing preview), Events (webhooks), Reporting, and Platform",
      "confidence": "high"
    },
    {
      "field": "supported_regions",
      "url": "https://www.paddle.com/help/start/intro-to-paddle/which-countries-are-supported-by-paddle",
      "excerpt": "Paddle works with software businesses anywhere in the world with the exception of the unsupported countries listed below",
      "confidence": "high"
    },
    {
      "field": "known_restrictions",
      "url": "https://developer.paddle.com/concepts/sell/supported-currencies/",
      "excerpt": "For payouts, Paddle accepts only five currencies: US Dollar, euro, Pound Sterling, Australian Dollar, and Canadian Dollar",
      "confidence": "high"
    },
    {
      "field": "minimum_commitment",
      "url": "https://www.paddle.com/pricing",
      "excerpt": "We don't do any lock-in periods",
      "confidence": "high"
    },
    {
      "field": "base_url",
      "url": "https://developer.paddle.com/api-reference/about/versioning",
      "excerpt": "The documentation references https://api.paddle.com as the API endpoint (shown in the cURL example with the event-types resource).",
      "confidence": "high"
    },
    {
      "field": "versioning_scheme",
      "url": "https://developer.paddle.com/api-reference/about/versioning",
      "excerpt": "To specify a version of the Paddle API when making a request, include a Paddle-Version header.",
      "confidence": "high"
    },
    {
      "field": "sdk_packages",
      "url": "https://developer.paddle.com/resources/overview",
      "excerpt": "Node.js @paddle/paddle-node-sdk v3.8.0; Python paddle-python-sdk v1.14.1; Go paddle-go-sdk v5.2.0; PHP paddlehq/paddle-php-sdk v1.17.1; JavaScript @paddle/paddle-js v1.6.4",
      "confidence": "high"
    },
    {
      "field": "mcp_url",
      "url": "https://developer.paddle.com/build/tools/ai/mcp",
      "excerpt": "Your agent connects to it over HTTPS using your Paddle API key as a Bearer token. Sandbox: https://sandbox-mcp.paddle.com/mcp — Live: https://mcp.paddle.com/mcp",
      "confidence": "high"
    },
    {
      "field": "error_format",
      "url": "https://developer.paddle.com/api-reference/about/errors",
      "excerpt": "Paddle returns errors as an error object (rather than data) with fields: type, code, detail, documentation_url, and meta.request_id. The documentation does not explicitly reference RFC 7807 (Problem Details for HTTP APIs) or problem+json format.",
      "confidence": "high"
    },
    {
      "field": "webhook_events_url",
      "url": "https://developer.paddle.com/api-reference/event-types/overview",
      "excerpt": "Event types are actions that Paddle creates events for. When something notable occurs in your system, Paddle creates an event entity with information about what happened.",
      "confidence": "high"
    },
    {
      "field": "rate_limit_window",
      "url": "https://developer.paddle.com/api-reference/about/rate-limiting",
      "excerpt": "An IP address can make up to 240 requests per minute.",
      "confidence": "high"
    },
    {
      "field": "data_retention_policy_url",
      "url": "https://www.paddle.com/legal/privacy",
      "excerpt": "Personal Data is only Processed for the minimum period necessary for the purposes. After applicable retention periods conclude, Paddle will permanently delete or destroy your Personal Data or anonymise it.",
      "confidence": "high"
    },
    {
      "field": "ga_date",
      "url": "https://developer.paddle.com/changelog/2023/enable-paddle-billing/",
      "excerpt": "Released August 9, 2023. Paddle Billing is the default Paddle experience for customers who sign up from now on.",
      "confidence": "high"
    },
    {
      "field": "notable_customers",
      "url": "https://www.paddle.com/about",
      "excerpt": "Companies listed as trusting Paddle: Fortinet, MacPaw, Laravel, Adaptavist, GeoGuessr, n8n.io, Tailwind Labs, removebg, BeyondCode, Daylite, GETBLOCK",
      "confidence": "high"
    },
    {
      "field": "known_restrictions",
      "url": "https://www.paddle.com/pricing",
      "excerpt": "If you're selling products under $10 or require invoicing book a demo for custom pricing",
      "confidence": "high"
    },
    {
      "field": "known_restrictions",
      "url": "https://www.paddle.com/help/start/intro-to-paddle/which-countries-are-supported-by-paddle",
      "excerpt": "Paddle works with software businesses anywhere in the world with the exception of the unsupported countries listed below",
      "confidence": "high"
    },
    {
      "field": "auth_methods",
      "url": "https://developer.paddle.com/api-reference/about/authentication",
      "excerpt": "Use Bearer authentication when making requests to the Paddle API. To authenticate, pass your Paddle API key using the Authorization header and the Bearer prefix.",
      "confidence": "high"
    },
    {
      "field": "api_version",
      "url": "https://developer.paddle.com/api-reference/about/versioning",
      "excerpt": "The current version of the Paddle API is version 1. We version using sequential numbering.",
      "confidence": "high"
    },
    {
      "field": "deprecation_policy_url",
      "url": "https://developer.paddle.com/api-reference/about/versioning",
      "excerpt": "We don't deprecate older versions of our API right now. We'll communicate future announcements around deprecation in plenty of time.",
      "confidence": "high"
    },
    {
      "field": "sdk_packages",
      "url": "https://github.com/PaddleHQ/paddle-node-sdk",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "quickstart_url",
      "url": "https://developer.paddle.com/get-started/quickstart",
      "excerpt": "The guide walks developers through integrating Paddle end-to-end, covering sandbox setup, product catalogs, pricing pages, checkout implementation, and webhook handling.",
      "confidence": "high"
    },
    {
      "field": "webhook_signing",
      "url": "https://developer.paddle.com/webhooks/about/signature-verification",
      "excerpt": "Compute the HMAC of your signed payload using the SHA256 algorithm, using the secret key for this notification destination as the key. The Paddle-Signature header contains ts (Unix timestamp) and h1 (hexadecimal HMAC-SHA256 signature).",
      "confidence": "high"
    },
    {
      "field": "rate_limit_requests",
      "url": "https://developer.paddle.com/api-reference/about/rate-limiting",
      "excerpt": "An IP address can make up to 240 requests per minute. When you get this error, that IP address can't make another request for 60 seconds.",
      "confidence": "high"
    },
    {
      "field": "requires_verification",
      "url": "https://www.paddle.com/pricing",
      "excerpt": "Business verification is required as a prerequisite: Here's what we need before you can start selling with Paddle.",
      "confidence": "high"
    },
    {
      "field": "price_basis",
      "url": "https://www.paddle.com/pricing",
      "excerpt": "5% + 50¢ per Checkout transaction. All-inclusive pricing with no hidden fees or monthly charges.",
      "confidence": "high"
    },
    {
      "field": "launched_at",
      "url": "https://www.paddle.com/about",
      "excerpt": "© 2012—2026 (footer indicating company founded 2012)",
      "confidence": "medium"
    },
    {
      "field": "stability",
      "url": "https://developer.paddle.com/changelog/2023/enable-paddle-billing/",
      "excerpt": "Released August 9, 2023. Paddle Billing is the default Paddle experience for customers who sign up from now on.",
      "confidence": "high"
    }
  ],
  "fields_not_found": [
    "idempotency_supported (no idempotency key header documented in API reference)",
    "sla_url (no public SLA/uptime commitment page found)",
    "starting_price_usd (revenue-share model, no fixed USD starting price - 5% + $0.50/transaction)"
  ],
  "source_confidence": "high",
  "last_verified_at": "2026-06-21T00:00:00.000Z",
  "contribute": {
    "note": "This data is crowd-editable. Suggest corrections or leave a review via these endpoints - no auth required, requests are rate-limited, and every submission is reviewed before it goes live. For a field edit, {field} is any key in this response and a citation is required.",
    "endpoints": [
      {
        "action": "review",
        "label": "Leave a review or comment",
        "method": "POST",
        "url": "https://apio.sh/api/feedback/paddle",
        "example_body": {
          "kind": "review",
          "rating": 5,
          "body": "Your experience with this API…"
        }
      },
      {
        "action": "field_edit",
        "label": "Suggest a correction to a field (cite a source)",
        "method": "POST",
        "url": "https://apio.sh/api/suggest/paddle/{field}",
        "example_body": {
          "value": "corrected value",
          "citations": [
            {
              "url": "https://source.example/page",
              "excerpt": "supporting quote"
            }
          ],
          "note": "what changed and why"
        }
      },
      {
        "action": "new_api",
        "label": "Suggest a new API to add (only name is required - send as much as you can cite)",
        "method": "POST",
        "url": "https://apio.sh/api/suggest/api",
        "example_body": {
          "value": {
            "name": "Acme Email API",
            "website_url": "https://acme.example",
            "vendor_name": "Acme",
            "categories": [
              "email"
            ],
            "pricing_model": "usage_based",
            "has_published_pricing": true,
            "free_tier_available": true,
            "price_points": [
              {
                "plan": "Pay as you go",
                "item": "1,000 emails",
                "amount_usd": 1,
                "per": "1,000 emails",
                "source_url": "https://acme.example/pricing"
              }
            ],
            "soc2": "type_2",
            "docs_url": "https://docs.acme.example"
          },
          "citations": [
            {
              "url": "https://acme.example/pricing",
              "excerpt": "$1 per 1,000 emails"
            }
          ]
        },
        "value_schema": [
          {
            "field": "name",
            "type": "string",
            "label": "Product name (the only required field)"
          },
          {
            "field": "website_url",
            "type": "string",
            "label": "Marketing website URL"
          },
          {
            "field": "vendor_name",
            "type": "string",
            "label": "Company/vendor name behind the product"
          },
          {
            "field": "vendor_description",
            "type": "string",
            "label": "One-line description, quoted from the vendor"
          },
          {
            "field": "categories",
            "type": "string[]",
            "label": "Category/leaf slugs it belongs to, e.g. [\"email\",\"sms\"]"
          },
          {
            "field": "primary_use_cases",
            "type": "string[]",
            "label": "What it's used for"
          },
          {
            "field": "supported_actions",
            "type": "string[]",
            "label": "Concrete API actions/capabilities"
          },
          {
            "field": "supported_regions",
            "type": "string[]",
            "label": "Countries/regions/data-residency"
          },
          {
            "field": "supported_languages",
            "type": "string[]",
            "label": "Human/spoken languages supported"
          },
          {
            "field": "input_types",
            "type": "string[]",
            "label": "Accepted input types/formats"
          },
          {
            "field": "output_types",
            "type": "string[]",
            "label": "Produced output types/formats"
          },
          {
            "field": "webhooks_supported",
            "type": "bool",
            "label": "Supports webhooks?"
          },
          {
            "field": "sandbox_available",
            "type": "bool",
            "label": "Dedicated sandbox/test mode?"
          },
          {
            "field": "sdk_languages",
            "type": "string[]",
            "label": "Languages with an official SDK"
          },
          {
            "field": "mcp_server_available",
            "type": "bool",
            "label": "Official MCP server?"
          },
          {
            "field": "pricing_model",
            "type": "enum",
            "label": "Pricing model",
            "values": [
              "usage_based",
              "subscription",
              "seat_based",
              "hybrid",
              "contact_sales"
            ]
          },
          {
            "field": "has_published_pricing",
            "type": "bool",
            "label": "Concrete prices published publicly?"
          },
          {
            "field": "free_tier_available",
            "type": "bool",
            "label": "Recurring/perpetual free tier (not a trial)?"
          },
          {
            "field": "free_tier_details",
            "type": "string",
            "label": "What the free tier includes"
          },
          {
            "field": "minimum_commitment",
            "type": "string",
            "label": "Any stated minimum spend/commitment"
          },
          {
            "field": "self_serve_signup",
            "type": "bool",
            "label": "Get an API key without talking to sales?"
          },
          {
            "field": "requires_sales_call",
            "type": "bool",
            "label": "Does going live require sales?"
          },
          {
            "field": "enterprise_plan_available",
            "type": "bool",
            "label": "Named enterprise tier?"
          },
          {
            "field": "starting_price_usd",
            "type": "number",
            "label": "Lowest published paid entry price (USD number)"
          },
          {
            "field": "price_basis",
            "type": "string",
            "label": "Unit the starting price is per, e.g. '1,000 emails'"
          },
          {
            "field": "free_tier_limit",
            "type": "string",
            "label": "Free-tier ceiling in literal terms"
          },
          {
            "field": "price_points",
            "type": "object[]",
            "label": "Structured prices: [{plan,item,amount_usd,amount_percent,per,source_url}]"
          },
          {
            "field": "soc2",
            "type": "enum",
            "label": "SOC 2 status",
            "values": [
              "type_2",
              "type_1",
              "in_progress",
              "none",
              "unknown"
            ]
          },
          {
            "field": "hipaa",
            "type": "bool",
            "label": "HIPAA (e.g. BAA available)?"
          },
          {
            "field": "gdpr",
            "type": "bool",
            "label": "GDPR compliance stated?"
          },
          {
            "field": "iso_27001",
            "type": "bool",
            "label": "ISO 27001 certified?"
          },
          {
            "field": "pci_dss",
            "type": "bool",
            "label": "PCI DSS compliant?"
          },
          {
            "field": "sla_published",
            "type": "bool",
            "label": "Published SLA / uptime commitment?"
          },
          {
            "field": "documented_rate_limits",
            "type": "string",
            "label": "Documented rate limits, quoted"
          },
          {
            "field": "known_restrictions",
            "type": "string[]",
            "label": "Notable documented restrictions/limits"
          },
          {
            "field": "auth_methods",
            "type": "string[]",
            "label": "Auth methods",
            "values": [
              "api_key",
              "oauth2",
              "jwt",
              "basic",
              "hmac_signature",
              "mtls",
              "session"
            ]
          },
          {
            "field": "api_style",
            "type": "enum",
            "label": "Primary API style",
            "values": [
              "rest",
              "graphql",
              "grpc",
              "soap",
              "websocket"
            ]
          },
          {
            "field": "base_url",
            "type": "string",
            "label": "API root/base URL"
          },
          {
            "field": "api_version",
            "type": "string",
            "label": "Current API version string"
          },
          {
            "field": "quickstart_url",
            "type": "string",
            "label": "Quickstart / hello-world URL"
          },
          {
            "field": "docs_url",
            "type": "string",
            "label": "Developer docs URL"
          },
          {
            "field": "api_reference_url",
            "type": "string",
            "label": "API reference URL"
          },
          {
            "field": "openapi_spec_url",
            "type": "string",
            "label": "OpenAPI spec URL"
          },
          {
            "field": "changelog_url",
            "type": "string",
            "label": "Changelog URL"
          },
          {
            "field": "status_page_url",
            "type": "string",
            "label": "Status page URL"
          },
          {
            "field": "notable_customers",
            "type": "string[]",
            "label": "Named public customers"
          },
          {
            "field": "launched_at",
            "type": "string",
            "label": "Launch date (ISO date or year)"
          }
        ]
      },
      {
        "action": "token",
        "label": "Optional - raise your rate limit",
        "method": "GET",
        "url": "https://apio.sh/api/feedback/token"
      }
    ]
  }
}