{
  "name": "Metronome",
  "slug": "metronome",
  "website_url": "https://metronome.com",
  "vendor_description": "\"Infrastructure for Modern Monetization\" - the only monetization infrastructure built for product-led scale and sales-led complexity.",
  "categories": [
    "billing"
  ],
  "summary": "Metronome is a usage-based and subscription billing infrastructure API built for software companies that need to handle complex pricing models, including hybrid, seat-based, and enterprise contract billing with prepaid commits and cloud marketplace support. It offers a free Starter plan with core features and self-serve signup, with published pricing and an enterprise tier available. The REST API supports Python, Node.js, Ruby, and Go SDKs, includes webhooks and idempotency, and carries SOC 2 Type 2 certification with GDPR compliance. Acquired by Stripe in December 2025, it counts OpenAI, Anthropic, Databricks, and NVIDIA among its customers.",
  "capabilities": {
    "supported_actions": [
      "usage_metering",
      "event_ingestion",
      "billable_metrics",
      "rate_cards",
      "create_subscription",
      "invoicing",
      "credits_and_commits",
      "proration",
      "tiered_pricing",
      "seat_based_pricing",
      "usage_based_pricing",
      "hybrid_pricing",
      "customer_provisioning",
      "contract_management",
      "entitlements",
      "trials",
      "coupons",
      "revenue_recognition",
      "dunning",
      "webhooks",
      "notifications_and_alerts",
      "spend_controls",
      "embeddable_dashboards",
      "tax_calculation",
      "multicurrency",
      "data_warehouse_export",
      "audit_logs",
      "RBAC_for_API_tokens",
      "package_management",
      "cloud_marketplace_integration"
    ],
    "supported_regions": [
      "Global (multi-currency support)",
      "EEA (GDPR compliance)",
      "UK",
      "Switzerland",
      "United States"
    ],
    "supported_languages": [],
    "input_types": [
      "usage events",
      "metered events",
      "customer objects",
      "contract terms",
      "rate cards",
      "subscription objects",
      "invoice line items"
    ],
    "output_types": [
      "JSON",
      "invoices",
      "webhook events",
      "revenue recognition reports",
      "embeddable billing dashboards",
      "data warehouse exports",
      "audit logs"
    ],
    "webhooks_supported": true,
    "sandbox_available": true,
    "sdk_languages": [
      "Python",
      "Node.js",
      "Ruby",
      "Go"
    ],
    "mcp_server_available": true
  },
  "integration": {
    "api_style": "rest",
    "base_url": "https://api.metronome.com/v1",
    "api_version": "v1",
    "versioning_scheme": "url",
    "stability": "ga",
    "deprecation_policy_url": null,
    "auth_methods": [
      "api_key"
    ],
    "auth_docs_url": "https://docs.metronome.com/api-reference/authentication",
    "idempotency_supported": true,
    "error_format": "vendor-specific",
    "webhook_signing": "hmac_sha256",
    "webhook_events_url": "https://docs.metronome.com/guides/platform-configuration/setup-webhooks",
    "rate_limit_requests": null,
    "rate_limit_window": null,
    "sdk_packages": [
      {
        "package": "metronome-sdk",
        "language": "Python",
        "official": true,
        "repo_url": "https://github.com/Metronome-Industries/metronome-python"
      },
      {
        "package": "@metronome/sdk",
        "language": "Node.js",
        "official": true,
        "repo_url": "https://github.com/Metronome-Industries/metronome-node"
      },
      {
        "package": "metronome-sdk",
        "language": "Ruby",
        "official": true,
        "repo_url": "https://github.com/Metronome-Industries/metronome-ruby"
      },
      {
        "package": "github.com/Metronome-Industries/metronome-go",
        "language": "Go",
        "official": true,
        "repo_url": "https://github.com/Metronome-Industries/metronome-go"
      }
    ],
    "mcp_url": "https://www.npmjs.com/package/@metronome/mcp",
    "quickstart_url": "https://docs.metronome.com/guides/get-started/api-quickstart"
  },
  "pricing": {
    "pricing_model": "hybrid",
    "has_published_pricing": true,
    "starting_price_usd": null,
    "price_basis": null,
    "free_tier_available": true,
    "free_tier_limit": "Starter plan free with core features (real-time event ingestion, multiple pricing models, Stripe integration)",
    "free_tier_details": "Starter plan is free: includes real-time event ingestion, multiple pricing models (usage-based, seat-based, subscription, hybrid), self-serve and enterprise contract support, real-time alerting, native Stripe integration, and embeddable billing dashboards. No dollar amounts or volume caps published.",
    "minimum_commitment": null,
    "self_serve_signup": true,
    "requires_sales_call": false,
    "requires_verification": false,
    "enterprise_plan_available": true,
    "price_points": [
      {
        "plan": "Starter",
        "item": "Platform access — free tier",
        "amount_usd": "0.0000",
        "amount_percent": null,
        "per": "month",
        "currency": "USD",
        "source_url": "https://metronome.com/pricing"
      }
    ]
  },
  "compliance": {
    "soc2": "type_2",
    "hipaa": false,
    "gdpr": true,
    "iso_27001": false,
    "pci_dss": false,
    "sla_published": false,
    "sla_url": null,
    "data_retention_policy_url": "https://metronome.com/privacy-policy",
    "documented_rate_limits": "Approximately 6.6 million events per minute with batching (practical throughput guidance, not a strict throttling limit); up to 100 events per request in batch ingestion.",
    "known_restrictions": [
      "Azure Marketplace listings support USD pricing only - other fiat currencies not currently supported for marketplace listings",
      "Sandbox API tokens only work with sandbox data; production tokens only work with production data",
      "Events must be within the last 34 days and cannot be future-dated in sandbox testing",
      "Metronome does not create revenue journal entries - it provides data for downstream ERP processing",
      "Acquired by Stripe in December 2025; now part of Stripe's monetization infrastructure",
      "Not HIPAA certified; not suitable for use cases involving protected health information",
      "ISO 27001 and PCI DSS certifications belong to Metronome's cloud providers, not Metronome itself"
    ]
  },
  "developer": {
    "docs_url": "https://docs.metronome.com/guides/get-started/home",
    "api_reference_url": null,
    "openapi_spec_url": null,
    "postman_collection_url": null,
    "changelog_url": "https://metronome.com/changelog",
    "status_page_url": "https://status.metronome.com",
    "llms_txt_url": null,
    "markdown_docs_url": null,
    "rendering": "static"
  },
  "adoption": {
    "launched_at": "2020-01-01",
    "ga_date": null,
    "github_stars": null,
    "github_stars_at": null,
    "notable_customers": [
      "OpenAI",
      "Anthropic",
      "Databricks",
      "Confluent",
      "NVIDIA",
      "Cribl",
      "Starburst",
      "Fly.io",
      "Ideogram"
    ]
  },
  "scores": {
    "agent_friendliness": 60,
    "pricing_transparency": 75,
    "setup_speed": 100,
    "docs_quality": 25,
    "procurement_friction": 90,
    "trust_readiness": 40,
    "best_for": [
      "Prototypes and side projects - free to start, no sales call",
      "Regulated or enterprise workloads - compliance attestations and an enterprise plan",
      "AI agents and automation - an agent-ready surface (MCP / llms.txt)"
    ],
    "avoid_if": []
  },
  "sources": [
    {
      "field": "vendor_description",
      "url": "https://metronome.com/",
      "excerpt": "Infrastructure for Modern Monetization — the only monetization infrastructure built for product-led scale and sales-led complexity.",
      "confidence": "high"
    },
    {
      "field": "has_published_pricing",
      "url": "https://metronome.com/pricing",
      "excerpt": "Starter plan: Start for free. Custom plan: Talk to an expert. No specific dollar amounts or percentage fees are listed on the pricing page.",
      "confidence": "high"
    },
    {
      "field": "pricing_model",
      "url": "https://pricingsaas.com/companies/metronome",
      "excerpt": "Metronome currently offers 2 pricing plans: Starter (pricing not disclosed) and Custom (pricing not disclosed).",
      "confidence": "medium"
    },
    {
      "field": "soc2",
      "url": "https://metronome.com/security",
      "excerpt": "SOC 1 Type 2 — Certified. SOC 2 Type 2 — Certified.",
      "confidence": "high"
    },
    {
      "field": "hipaa",
      "url": "https://metronome.com/security",
      "excerpt": "The security page lists SOC 1 Type 2 and SOC 2 Type 2 certifications. HIPAA is not mentioned.",
      "confidence": "high"
    },
    {
      "field": "gdpr",
      "url": "https://metronome.com/privacy-policy",
      "excerpt": "These disclosures supplement the information contained in our Privacy Notice by providing additional information about our personal data processing practices relating to individuals who access our services or otherwise interact with us from the European Economic Area.",
      "confidence": "high"
    },
    {
      "field": "iso_27001",
      "url": "https://metronome.com/security",
      "excerpt": "Our cloud providers comply with industry-leading security practices and frameworks, including SOC 2, ISO 27001, and PCI DSS.",
      "confidence": "high"
    },
    {
      "field": "sla_published",
      "url": "https://metronome.com/terms-of-service",
      "excerpt": "NONE OF THE METRONOME INDEMNITEES WARRANTS THAT...THE SERVICE WILL BE AVAILABLE AT ANY PARTICULAR TIME OR LOCATION, UNINTERRUPTED, OR SECURE",
      "confidence": "high"
    },
    {
      "field": "sdk_languages",
      "url": "https://docs.metronome.com/api-reference/sdks",
      "excerpt": "pip install --pre metronome-sdk ... npm install @metronome/sdk ... gem install metronome-sdk ... go get -u 'github.com/Metronome-Industries/metronome-go'",
      "confidence": "high"
    },
    {
      "field": "mcp_server_available",
      "url": "https://www.npmjs.com/package/@metronome/mcp",
      "excerpt": "The official MCP Server for the Metronome API... npx -y @metronome/mcp@latest",
      "confidence": "high"
    },
    {
      "field": "sandbox_available",
      "url": "https://docs.metronome.com/launch-guides/quickstart/",
      "excerpt": "The environment is determined entirely by your API token. A sandbox token only works with sandbox data; a production token only works with production data.",
      "confidence": "high"
    },
    {
      "field": "documented_rate_limits",
      "url": "https://docs.metronome.com/launch-guides/quickstart/",
      "excerpt": "You can batch up to 100 events per request",
      "confidence": "medium"
    },
    {
      "field": "known_restrictions",
      "url": "https://metronome.com/security",
      "excerpt": "Our cloud providers comply with industry-leading security practices and frameworks, including SOC 2, ISO 27001, and PCI DSS.",
      "confidence": "high"
    },
    {
      "field": "auth_methods",
      "url": "https://docs.metronome.com/api-reference/authentication",
      "excerpt": "Metronome's API uses bearer tokens to authenticate requests. When making API calls, provide the token using the Authorization header.",
      "confidence": "high"
    },
    {
      "field": "base_url",
      "url": "https://docs.metronome.com/guides/get-started/api-quickstart",
      "excerpt": "The guide demonstrates API requests using https://api.metronome.com/v1 for operations like creating billable metrics, products, rate cards, customers, contracts, and ingesting usage events.",
      "confidence": "high"
    },
    {
      "field": "api_version",
      "url": "https://docs.metronome.com/api-reference/api-quickstart",
      "excerpt": "v1 (evident from SDK usage patterns like client.v1.customers.list())",
      "confidence": "high"
    },
    {
      "field": "versioning_scheme",
      "url": "https://docs.metronome.com/guides/get-started/api-quickstart",
      "excerpt": "The API uses https://api.metronome.com/v1 as its endpoint foundation across all documented examples.",
      "confidence": "high"
    },
    {
      "field": "sdk_packages",
      "url": "https://pypi.org/project/metronome-sdk/",
      "excerpt": "The official Python library for the metronome API",
      "confidence": "high"
    },
    {
      "field": "mcp_url",
      "url": "https://www.npmjs.com/package/@metronome/mcp",
      "excerpt": "The @metronome/mcp package is the official MCP Server for the Metronome API. The server exposes a docs search tool for querying documentation about the API/SDK, and a code tool where the agent can write code against the TypeScript SDK.",
      "confidence": "high"
    },
    {
      "field": "quickstart_url",
      "url": "https://docs.metronome.com/guides/get-started/api-quickstart",
      "excerpt": "This guide walks through setting up billing programmatically, covering the complete flow from creating your first billable metric to seeing a working invoice.",
      "confidence": "high"
    },
    {
      "field": "idempotency_supported",
      "url": "https://docs.metronome.com/api-reference/idempotency",
      "excerpt": "Once a usage event has been accepted with a given transaction ID, Metronome ignores subsequent events with the same transaction ID within the next 34 days.",
      "confidence": "high"
    },
    {
      "field": "free_tier_available",
      "url": "https://metronome.com/pricing",
      "excerpt": "Start for free — For teams launching usage-based products. Includes real-time event ingestion, multiple pricing models, self-serve and enterprise contract support, real-time alerting, native Stripe integration, and embeddable billing dashboards.",
      "confidence": "high"
    },
    {
      "field": "pricing_model",
      "url": "https://metronome.com/pricing",
      "excerpt": "Billing built to grow with you. Start free, scale confidently. Never outgrow your billing infrastructure.",
      "confidence": "medium"
    },
    {
      "field": "enterprise_plan_available",
      "url": "https://metronome.com/pricing",
      "excerpt": "Custom: For companies scaling revenue or transforming pricing. Includes dedicated account manager, enhanced SLAs and priority support, tailored pricing for high-volume usage and scale.",
      "confidence": "high"
    },
    {
      "field": "soc2",
      "url": "https://metronome.com/solutions/finance",
      "excerpt": "SOC 1 and SOC 2 compliance certifications. Fully auditable for peace of mind.",
      "confidence": "high"
    },
    {
      "field": "hipaa",
      "url": "https://metronome.com/terms-of-service",
      "excerpt": "No HIPAA or Business Associate Agreement (BAA) references appear in the Terms of Service.",
      "confidence": "high"
    },
    {
      "field": "gdpr",
      "url": "https://metronome.com/privacy-policy",
      "excerpt": "For transfers outside the EEA/UK/Switzerland, Metronome implements safeguards including adequacy decisions, standard contractual clauses, and the EU-U.S. Data Privacy Framework.",
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://metronome.com/security",
      "excerpt": "Our cloud providers comply with industry-leading security practices and frameworks, including SOC 2, ISO 27001, and PCI DSS.",
      "confidence": "high"
    },
    {
      "field": "sla_published",
      "url": "https://metronome.com/pricing",
      "excerpt": "Custom plan includes enhanced SLAs with priority support — these are negotiated, not publicly published.",
      "confidence": "high"
    },
    {
      "field": "sdk_languages",
      "url": "https://docs.metronome.com/changelog",
      "excerpt": "Java SDK Released (May 15, 2026): First official Metronome Java SDK now available through Maven and Gradle.",
      "confidence": "high"
    },
    {
      "field": "webhooks_supported",
      "url": "https://docs.metronome.com/enhance-customer-experience/customer-controls/",
      "excerpt": "Taking action on alerts in real time requires the use of webhooks—dedicated endpoints in your application for receiving and processing alert notifications, which can be configured in Metronome under Connections - API tokens & webhooks.",
      "confidence": "high"
    },
    {
      "field": "documented_rate_limits",
      "url": "https://docs.metronome.com/launch-guides/quickstart/",
      "excerpt": "Metronome supports approximately 6.6 million events per minute with batching",
      "confidence": "medium"
    },
    {
      "field": "known_restrictions",
      "url": "https://docs.metronome.com/invoicing/how-invoicing-works/invoicing-with-azure-marketplace/",
      "excerpt": "Only USD pricing is currently supported in Marketplace listings - Metronome-powered marketplace listings can only use USD for listing price",
      "confidence": "high"
    },
    {
      "field": "supported_regions",
      "url": "https://metronome.com/privacy-policy",
      "excerpt": "These disclosures supplement the information contained in our Privacy Notice by providing additional information about our personal data processing practices relating to individuals who access our services or otherwise interact with us from the European Economic Area.",
      "confidence": "medium"
    },
    {
      "field": "auth_methods",
      "url": "https://docs.metronome.com/developer-resources/use-api/authorization/",
      "excerpt": "All calls to the Metronome API require an authorization token, which you can create in the Metronome app.",
      "confidence": "high"
    },
    {
      "field": "base_url",
      "url": "https://github.com/Metronome-Industries/metronome-python",
      "excerpt": "The library uses v1 endpoints (e.g., client.v1.usage.ingest(), client.v1.contracts.create()), indicating version 1 of the Metronome REST API",
      "confidence": "high"
    },
    {
      "field": "api_version",
      "url": "https://docs.metronome.com/guides/get-started/api-quickstart",
      "excerpt": "The API uses https://api.metronome.com/v1 as its endpoint foundation across all documented examples.",
      "confidence": "high"
    },
    {
      "field": "sdk_packages",
      "url": "https://docs.metronome.com/developer-resources/sdks/",
      "excerpt": "Metronome provides official SDKs for Python (metronome-sdk), Node.js (@metronome/sdk), Ruby (metronome-sdk), and Go (github.com/Metronome-Industries/metronome-go)",
      "confidence": "high"
    },
    {
      "field": "sdk_packages",
      "url": "https://github.com/Metronome-Industries/metronome-node",
      "excerpt": "This library provides convenient access to the Metronome REST API from server-side TypeScript or JavaScript",
      "confidence": "high"
    },
    {
      "field": "quickstart_url",
      "url": "https://docs.metronome.com/launch-guides/quickstart/",
      "excerpt": "Quickstart - Metronome Docs, walks through setup from creating your first billable metric to seeing a working invoice",
      "confidence": "high"
    },
    {
      "field": "idempotency_supported",
      "url": "https://docs.metronome.com/api-reference/idempotency",
      "excerpt": "Two approaches handle idempotency on REST endpoints—uniqueness keys for select resources and the Idempotency-Key header for POST requests.",
      "confidence": "high"
    },
    {
      "field": "error_format",
      "url": "https://docs.metronome.com/api-reference/status-codes",
      "excerpt": "All 4XX errors use application/json format with this structure: {\"message\": \"Descriptive error text\"}",
      "confidence": "high"
    },
    {
      "field": "webhook_signing",
      "url": "https://docs.metronome.com/guides/platform-configuration/setup-webhooks",
      "excerpt": "concatenate the value of the request's X-Metronome-Date header and the exact bytes of the request body, separated by a newline character (\\n), then compute HMAC-SHA256 using the webhook's secret key",
      "confidence": "high"
    },
    {
      "field": "free_tier_limit",
      "url": "https://metronome.com/pricing",
      "excerpt": "Starter: Free entry-level plan with core features like real-time event ingestion, multiple pricing models, and Stripe integration",
      "confidence": "high"
    },
    {
      "field": "notable_customers",
      "url": "https://metronome.com/company/about-us",
      "excerpt": "Notable publicly cited customers include OpenAI, Anthropic, Databricks, Confluent, NVIDIA, Cribl, Starburst, Fly.io, and Ideogram",
      "confidence": "high"
    },
    {
      "field": "notable_customers",
      "url": "https://metronome.com/customer-stories/open-ai",
      "excerpt": "OpenAI uses Metronome for scalable billing infrastructure",
      "confidence": "high"
    },
    {
      "field": "auth_docs_url",
      "url": "https://docs.metronome.com/api-reference/authentication",
      "excerpt": "API Authentication - Metronome — describes bearer token creation and usage",
      "confidence": "high"
    },
    {
      "field": "webhook_signing",
      "url": "https://docs.metronome.com/guides/platform-configuration/setup-webhooks",
      "excerpt": "Metronome uses HMAC-SHA256 to cryptographically sign webhook requests. The signature is transmitted via the Metronome-Webhook-Signature HTTP header.",
      "confidence": "high"
    },
    {
      "field": "webhook_events_url",
      "url": "https://docs.metronome.com/guides/platform-configuration/setup-webhooks",
      "excerpt": "Metronome sends multiple categories of notifications: Threshold Alerts (alerts.*), System Notifications (contract.*, commit.*, credit.*), invoice.finalized, invoice.billing_provider_error, integration.issue, and payment gating events.",
      "confidence": "high"
    },
    {
      "field": "launched_at",
      "url": "https://techcrunch.com/2022/02/01/metronome-raises-30m-to-help-software-companies-shift-to-usage-based-pricing-models/",
      "excerpt": "Metronome was founded in 2020 by two former Dropbox employees — Kevin Liu and Scott Woody",
      "confidence": "medium"
    },
    {
      "field": "notable_customers",
      "url": "https://metronome.com/blog/metronome-raises-50m-series-c-to-redefine-billing-as-a-growth-engine",
      "excerpt": "OpenAI, Anthropic, Databricks, Confluent, NVIDIA, Ideogram are among customers Metronome powers billing for 150M+ end users",
      "confidence": "high"
    },
    {
      "field": "data_retention_policy_url",
      "url": "https://metronome.com/privacy-policy",
      "excerpt": "Metronome retains personal data for no longer than reasonably necessary to fulfil the purposes for which it was collected, and in accordance with our legitimate business interests and applicable law.",
      "confidence": "medium"
    }
  ],
  "fields_not_found": [
    "minimum_commitment",
    "specific pricing amounts or percentage-of-revenue fees for Custom plan",
    "deprecation_policy_url",
    "rate_limit_requests",
    "rate_limit_window",
    "sla_url",
    "starting_price_usd",
    "price_basis",
    "ga_date"
  ],
  "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/metronome",
        "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/metronome/{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"
      }
    ]
  }
}